0.9.530 • Published 9 months ago

royco v0.9.530

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

WIP (Work in Progress)

Getting Started

Royco SDK is divided into 3 modular components which can be hooked together to create a fully functional frontend application on top of Royco Protocol.

1. Provider

Under the hood, it's a wrapper around our Supabase client for fetching data and React Query for caching it on client-side. In order to use Royco SDK, you need to wrap your application with RoycoProvider and provide two values -- roycoUrl and roycoKey which are the URL and API key of your Royco Protocol instance respectively. It also takes an optional defaultOptions prop which can be used to configure the default options for React Query Provider.

import { RoycoProvider } from "royco";

const App = () => {
  return (
    <RoycoProvider roycoUrl="YOUR_ACCESS_URL" roycoKey="YOUR_ACCESS_API_KEY">
      <YourApp />
    </RoycoProvider>
  );
};

2. Hooks

These are used to fetch relevant data and interact with Royco Protocol. They take care of caching and invalidating data on client-side using React Query. Hooks are available for most of the common operations like fetching pools, fetching tokens, fetching user data, etc.

import { useRoycoHook } from "royco/hooks";

const YourComponent = () => {
  const { data, isLoading, isError } = useRoycoHook();

  if (isLoading) return <div>Loading...</div>;
  if (isError) return <div>Error fetching data</div>;
  return <div>{JSON.stringify(data)}</div>;
};

3. Queries

These are your entry point into our managed data endpoints. They are used to fetch data from Royco Protocol and are used internally by hooks. You can also use them directly to fetch data without caching. Queries return the type options provided to useQuery from React Query.

You can use these queryOptions in 2 ways:

a. Pass them directly to useQuery and build your own custom hooks

import { useQuery } from "react-query";
import { getRoycoQueryOptions1, getRoycoQueryOptions2 } from "royco/queries";

const useCustomRoycoHook = () => {
  const {
    data: data1,
    isLoading: isLoadingData1,
    isError: isErrorData1,
  } = useQuery(getRoycoQueryOptions1);

  const {
    data: data2,
    isLoading: isLoadingData2,
    isError: isErrorData2,
  } = useQuery(getRoycoQueryOptions2);

  const isLoading = isLoadingData1 || isLoadingData2;
  const isError = isErrorData1 || isErrorData2;

  let data = null;

  if (!isLoading && !isError && !!data1 && !!data2) {
    data = {
      ...data1,
      ...data2,
    };
  }

  return { data, isLoading, isError };
};

b. Destrucutre the correponding object and only use a subset of them by overriding the default options

import { useQuery } from "react-query";
import { getRoycoQueryOptions } from "royco/queries";

const YourComponent = () => {
  const { data, isLoading, isError } = useQuery({
    ...getRoycoQueryOptions,
    yourCustomOptions: "yourCustomOptions",
  });

  if (isLoading) return <div>Loading...</div>;
  if (isError) return <div>Error fetching data</div>;
  return <div>{JSON.stringify(data)}</div>;
};

Additional Features

1. Custom Hooks

You can create custom hooks by combining multiple queries and hooks together. This can be useful when you want to fetch multiple data points and show them in a single component without repeating the same logic and worrying about caching -- because we have already taken care of keys and data invalidation at regular intervals, so you can keep building your custom components and all the relevant data will be automatically fetched and updated in the most efficient way.

import { useQuery } from "react-query";
import { getReactQueryOptions } from "royco/queries";
import { useRoycoHook } from "royco/hooks";

const useCustomRoycoHook = () => {
  const {
    data: data1,
    isLoading: isLoadingData1,
    isError: isErrorData1,
  } = useQuery(getReactQueryOptions);
  const {
    data: data2,
    isLoading: isLoadingData2,
    isError: isErrorData2,
  } = useRoycoHook();

  const isLoading = isLoadingData1 || isLoadingData2;
  const isError = isErrorData1 || isErrorData2;

  let data = null;

  if (!isLoading && !isError && !!data1 && !!data2) {
    data = {
      ...data1,
      ...data2,
    };
  }

  return { data, isLoading, isError };
};

2. Custom Queries

You can write on your own queries on top of our existing tables and views to match your requirements. In order to do that, you can refer the type Database which is a generic type that lists out all the tables & views available along with their corresponding columns. You will need to write a custom query and pass that to royco client from useRoycoClient to fetch the data.

import { useRoycoClient } from "royco/client";

const YourComponent = () => {
  const client = useRoycoClient();

  const { data, isLoading, isError } = client
    .from("table_name")
    .select("column1, column2, etc.")
    .throwOnError()
    .then((result) => result.data);

  if (isLoading) return <div>Loading...</div>;
  if (isError) return <div>Error fetching data</div>;
  return <div>{JSON.stringify(data)}</div>;
};
0.9.56

12 months ago

0.8.9

12 months ago

0.9.57

12 months ago

0.8.8

12 months ago

0.9.431

9 months ago

0.9.310

10 months ago

0.9.58

12 months ago

0.9.430

9 months ago

0.9.59

12 months ago

0.9.52

12 months ago

0.8.5

12 months ago

0.9.53

12 months ago

0.8.4

12 months ago

0.9.54

12 months ago

0.8.7

12 months ago

0.9.55

12 months ago

0.8.6

12 months ago

0.9.309

10 months ago

0.9.429

9 months ago

0.9.308

10 months ago

0.9.426

9 months ago

0.9.305

10 months ago

0.9.425

9 months ago

0.9.304

10 months ago

0.9.428

9 months ago

0.9.307

10 months ago

0.9.427

9 months ago

0.9.306

10 months ago

0.9.51

12 months ago

0.9.422

9 months ago

0.9.301

10 months ago

0.9.421

9 months ago

0.9.300

10 months ago

0.9.424

9 months ago

0.9.303

10 months ago

0.9.423

9 months ago

0.9.302

10 months ago

0.9.440

9 months ago

0.9.45

12 months ago

0.9.46

12 months ago

0.9.442

9 months ago

0.9.321

10 months ago

0.9.200

11 months ago

0.9.47

12 months ago

0.9.441

9 months ago

0.9.320

10 months ago

0.9.48

12 months ago

0.9.41

12 months ago

0.9.42

12 months ago

0.9.43

12 months ago

0.9.44

12 months ago

0.9.49

12 months ago

0.9.319

10 months ago

0.9.437

9 months ago

0.9.316

10 months ago

0.7.2

12 months ago

0.9.436

9 months ago

0.9.315

10 months ago

0.7.1

12 months ago

0.9.439

9 months ago

0.9.318

10 months ago

0.7.4

12 months ago

0.9.438

9 months ago

0.9.317

10 months ago

0.9.40

12 months ago

0.7.3

12 months ago

0.9.433

9 months ago

0.9.312

10 months ago

0.9.432

9 months ago

0.9.311

10 months ago

0.9.435

9 months ago

0.9.314

10 months ago

0.7.0

12 months ago

0.9.434

9 months ago

0.9.313

10 months ago

0.9.451

9 months ago

0.9.330

10 months ago

0.9.34

12 months ago

0.9.8

12 months ago

0.9.450

9 months ago

0.9.35

12 months ago

0.9.7

12 months ago

0.9.453

9 months ago

0.9.332

10 months ago

0.9.211

11 months ago

0.9.36

12 months ago

0.9.452

9 months ago

0.9.331

10 months ago

0.9.210

11 months ago

0.9.37

12 months ago

0.9.9

12 months ago

0.9.30

12 months ago

0.9.4

12 months ago

0.9.31

12 months ago

0.9.3

12 months ago

0.9.32

12 months ago

0.9.6

12 months ago

0.9.33

12 months ago

0.9.5

12 months ago

0.9.38

12 months ago

0.9.39

12 months ago

0.9.209

11 months ago

0.9.448

9 months ago

0.9.327

10 months ago

0.9.206

11 months ago

0.9.447

9 months ago

0.9.326

10 months ago

0.9.205

11 months ago

0.9.329

10 months ago

0.9.208

11 months ago

0.9.449

9 months ago

0.9.328

10 months ago

0.9.207

11 months ago

0.9.444

9 months ago

0.9.323

10 months ago

0.9.202

11 months ago

0.9.443

9 months ago

0.9.322

10 months ago

0.9.201

11 months ago

0.9.446

9 months ago

0.9.325

10 months ago

0.9.204

11 months ago

0.9.445

9 months ago

0.9.324

10 months ago

0.9.203

11 months ago

0.9.462

9 months ago

0.9.341

10 months ago

0.9.220

11 months ago

0.9.23

12 months ago

0.9.461

9 months ago

0.9.340

10 months ago

0.9.24

12 months ago

0.9.464

9 months ago

0.9.343

10 months ago

0.9.222

11 months ago

0.9.101

11 months ago

0.9.25

12 months ago

0.9.463

9 months ago

0.9.342

10 months ago

0.9.221

11 months ago

0.9.100

11 months ago

0.9.26

12 months ago

0.9.20

12 months ago

0.9.460

9 months ago

0.9.21

12 months ago

0.9.22

12 months ago

0.9.27

12 months ago

0.9.28

12 months ago

0.9.29

12 months ago

0.9.459

9 months ago

0.9.338

10 months ago

0.9.217

11 months ago

0.8.1

12 months ago

0.9.458

9 months ago

0.9.337

10 months ago

0.9.216

11 months ago

0.8.0

12 months ago

0.9.219

11 months ago

0.8.3

12 months ago

0.9.339

10 months ago

0.9.218

11 months ago

0.8.2

12 months ago

0.9.455

9 months ago

0.9.334

10 months ago

0.9.213

11 months ago

0.9.454

9 months ago

0.9.333

10 months ago

0.9.212

11 months ago

0.9.457

9 months ago

0.9.336

10 months ago

0.9.215

11 months ago

0.9.456

9 months ago

0.9.335

10 months ago

0.9.214

11 months ago

0.9.473

9 months ago

0.9.352

10 months ago

0.9.231

11 months ago

0.9.110

11 months ago

0.9.472

9 months ago

0.9.351

10 months ago

0.9.230

11 months ago

0.9.475

9 months ago

0.9.354

10 months ago

0.9.233

11 months ago

0.9.112

11 months ago

0.9.474

9 months ago

0.9.353

10 months ago

0.9.232

11 months ago

0.9.111

11 months ago

0.9.96

11 months ago

0.9.97

11 months ago

0.9.471

9 months ago

0.9.350

10 months ago

0.9.98

11 months ago

0.9.470

9 months ago

0.9.99

11 months ago

0.9.349

10 months ago

0.9.228

11 months ago

0.9.107

11 months ago

0.9.92

11 months ago

0.9.469

9 months ago

0.9.348

10 months ago

0.9.227

11 months ago

0.9.106

11 months ago

0.9.93

11 months ago

0.9.109

11 months ago

0.9.94

11 months ago

0.9.229

11 months ago

0.9.108

11 months ago

0.9.466

9 months ago

0.9.345

10 months ago

0.9.224

11 months ago

0.9.103

11 months ago

0.9.465

9 months ago

0.9.344

10 months ago

0.9.223

11 months ago

0.9.102

11 months ago

0.9.468

9 months ago

0.9.347

10 months ago

0.9.226

11 months ago

0.9.105

11 months ago

0.9.90

11 months ago

0.9.467

9 months ago

0.9.346

10 months ago

0.9.225

11 months ago

0.9.104

11 months ago

0.9.91

11 months ago

0.9.484

9 months ago

0.9.363

10 months ago

0.9.242

11 months ago

0.9.121

11 months ago

0.9.89

11 months ago

0.9.483

9 months ago

0.9.362

10 months ago

0.9.241

11 months ago

0.9.120

11 months ago

0.9.486

9 months ago

0.9.365

10 months ago

0.9.244

11 months ago

0.9.123

11 months ago

0.9.485

9 months ago

0.9.364

10 months ago

0.9.243

11 months ago

0.9.122

11 months ago

0.9.480

9 months ago

0.9.85

12 months ago

0.9.86

11 months ago

0.9.482

9 months ago

0.9.361

10 months ago

0.9.240

11 months ago

0.9.87

11 months ago

0.9.481

9 months ago

0.9.360

10 months ago

0.9.88

11 months ago

0.9.239

11 months ago

0.9.118

11 months ago

0.9.81

12 months ago

0.5.4

1 year ago

0.9.359

10 months ago

0.9.238

11 months ago

0.9.117

11 months ago

0.9.82

12 months ago

0.5.3

1 year ago

0.9.83

12 months ago

0.5.6

1 year ago

0.9.119

11 months ago

0.9.84

12 months ago

0.5.5

1 year ago

0.9.477

9 months ago

0.9.356

10 months ago

0.9.235

11 months ago

0.9.114

11 months ago

0.5.0

1 year ago

0.9.476

9 months ago

0.9.355

10 months ago

0.9.234

11 months ago

0.9.113

11 months ago

0.9.479

9 months ago

0.9.358

10 months ago

0.9.237

11 months ago

0.9.116

11 months ago

0.5.2

1 year ago

0.9.478

9 months ago

0.9.357

10 months ago

0.9.236

11 months ago

0.9.115

11 months ago

0.9.80

12 months ago

0.5.1

1 year ago

0.9.495

9 months ago

0.9.374

10 months ago

0.9.253

11 months ago

0.9.132

11 months ago

0.9.78

12 months ago

0.9.494

9 months ago

0.9.373

10 months ago

0.9.252

11 months ago

0.9.131

11 months ago

0.9.79

12 months ago

0.7.9

12 months ago

0.9.497

9 months ago

0.9.376

10 months ago

0.9.255

11 months ago

0.9.134

11 months ago

0.9.496

9 months ago

0.9.375

10 months ago

0.9.254

11 months ago

0.9.133

11 months ago

0.9.491

9 months ago

0.9.370

10 months ago

0.9.74

12 months ago

0.7.6

12 months ago

0.9.490

9 months ago

0.9.75

12 months ago

0.7.5

12 months ago

0.9.493

9 months ago

0.9.372

10 months ago

0.9.251

11 months ago

0.9.130

11 months ago

0.9.76

12 months ago

0.9.492

9 months ago

0.9.371

10 months ago

0.9.250

11 months ago

0.9.77

12 months ago

0.7.7

12 months ago

0.9.129

11 months ago

0.9.70

12 months ago

0.9.249

11 months ago

0.9.128

11 months ago

0.9.71

12 months ago

0.9.72

12 months ago

0.9.73

12 months ago

0.9.488

9 months ago

0.9.367

10 months ago

0.9.246

11 months ago

0.9.125

11 months ago

0.9.487

9 months ago

0.9.366

10 months ago

0.9.245

11 months ago

0.9.124

11 months ago

0.9.369

10 months ago

0.9.248

11 months ago

0.9.127

11 months ago

0.9.489

9 months ago

0.9.368

10 months ago

0.9.247

11 months ago

0.9.126

11 months ago

0.9.385

10 months ago

0.9.264

10 months ago

0.9.143

11 months ago

0.9.67

12 months ago

0.9.384

10 months ago

0.9.263

10 months ago

0.9.142

11 months ago

0.9.68

12 months ago

0.9.387

10 months ago

0.9.266

10 months ago

0.9.145

11 months ago

0.9.69

12 months ago

0.9.386

10 months ago

0.9.265

10 months ago

0.9.144

11 months ago

0.9.381

10 months ago

0.9.260

10 months ago

0.9.63

12 months ago

0.9.380

10 months ago

0.9.64

12 months ago

0.9.383

10 months ago

0.9.262

10 months ago

0.9.141

11 months ago

0.9.65

12 months ago

0.9.382

10 months ago

0.9.261

10 months ago

0.9.140

11 months ago

0.9.66

12 months ago

0.9.139

11 months ago

0.9.60

12 months ago

0.9.61

12 months ago

0.9.62

12 months ago

0.9.499

9 months ago

0.9.378

10 months ago

0.9.257

10 months ago

0.9.136

11 months ago

0.9.498

9 months ago

0.9.377

10 months ago

0.9.256

10 months ago

0.9.135

11 months ago

0.9.259

10 months ago

0.9.138

11 months ago

0.9.379

10 months ago

0.9.258

10 months ago

0.9.137

11 months ago

0.6.0

1 year ago

0.7.11

12 months ago

0.7.10

12 months ago

0.7.12

12 months ago

0.9.12

12 months ago

0.9.13

12 months ago

0.9.14

12 months ago

0.9.15

12 months ago

0.9.10

12 months ago

0.9.11

12 months ago

0.9.16

12 months ago

0.9.17

12 months ago

0.9.18

12 months ago

0.9.19

12 months ago

0.9.507

9 months ago

0.9.506

9 months ago

0.9.509

9 months ago

0.9.508

9 months ago

0.9.503

9 months ago

0.9.502

9 months ago

0.9.505

9 months ago

0.9.504

9 months ago

0.9.501

9 months ago

0.9.500

9 months ago

0.9.518

9 months ago

0.9.517

9 months ago

0.9.519

9 months ago

0.9.514

9 months ago

0.9.0

12 months ago

0.9.513

9 months ago

0.9.516

9 months ago

0.9.515

9 months ago

0.9.510

9 months ago

0.9.512

9 months ago

0.9.511

9 months ago

0.9.530

9 months ago

0.9.529

9 months ago

0.9.408

9 months ago

0.9.528

9 months ago

0.9.407

9 months ago

0.9.409

9 months ago

0.9.525

9 months ago

0.9.404

9 months ago

0.9.524

9 months ago

0.9.403

9 months ago

0.9.527

9 months ago

0.9.406

9 months ago

0.9.526

9 months ago

0.9.405

9 months ago

0.9.521

9 months ago

0.9.400

9 months ago

0.9.520

9 months ago

0.9.523

9 months ago

0.9.402

9 months ago

0.9.522

9 months ago

0.9.401

9 months ago

0.8.11

12 months ago

0.9.420

9 months ago

0.8.10

12 months ago

0.9.419

9 months ago

0.9.418

9 months ago

0.9.415

9 months ago

0.9.414

9 months ago

0.9.417

9 months ago

0.9.416

9 months ago

0.9.411

9 months ago

0.9.410

9 months ago

0.9.413

9 months ago

0.9.412

9 months ago

0.5.10

1 year ago

0.5.11

1 year ago

0.5.14

1 year ago

0.5.13

1 year ago

0.5.22

1 year ago

0.5.27

1 year ago

0.5.28

1 year ago

0.5.26

1 year ago

0.9.396

10 months ago

0.9.275

10 months ago

0.9.154

11 months ago

0.9.395

10 months ago

0.9.274

10 months ago

0.9.153

11 months ago

0.9.398

9 months ago

0.9.277

10 months ago

0.9.156

11 months ago

0.9.397

10 months ago

0.9.276

10 months ago

0.9.155

11 months ago

0.9.392

10 months ago

0.9.271

10 months ago

0.9.150

11 months ago

0.9.391

10 months ago

0.9.270

10 months ago

0.9.394

10 months ago

0.9.273

10 months ago

0.9.152

11 months ago

0.9.393

10 months ago

0.9.272

10 months ago

0.9.151

11 months ago

0.9.390

10 months ago

0.9.389

10 months ago

0.9.268

10 months ago

0.9.147

11 months ago

0.9.388

10 months ago

0.9.267

10 months ago

0.9.146

11 months ago

0.9.149

11 months ago

0.9.269

10 months ago

0.9.148

11 months ago

0.9.286

10 months ago

0.9.165

11 months ago

0.9.285

10 months ago

0.9.164

11 months ago

0.9.288

10 months ago

0.9.167

11 months ago

0.9.287

10 months ago

0.9.166

11 months ago

0.9.282

10 months ago

0.9.161

11 months ago

0.9.281

10 months ago

0.9.160

11 months ago

0.9.284

10 months ago

0.9.163

11 months ago

0.9.283

10 months ago

0.9.162

11 months ago

0.9.280

10 months ago

0.3.0

1 year ago

0.9.279

10 months ago

0.9.158

11 months ago

0.9.399

9 months ago

0.9.278

10 months ago

0.9.157

11 months ago

0.9.159

11 months ago

0.9.297

10 months ago

0.9.176

11 months ago

0.9.296

10 months ago

0.9.175

11 months ago

0.9.299

10 months ago

0.9.178

11 months ago

0.9.298

10 months ago

0.9.177

11 months ago

0.9.293

10 months ago

0.9.172

11 months ago

0.5.8

1 year ago

0.9.292

10 months ago

0.9.171

11 months ago

0.5.7

1 year ago

0.9.295

10 months ago

0.9.174

11 months ago

0.9.294

10 months ago

0.9.173

11 months ago

0.5.9

1 year ago

0.9.291

10 months ago

0.9.170

11 months ago

0.9.290

10 months ago

0.9.169

11 months ago

0.9.289

10 months ago

0.9.168

11 months ago

0.9.187

11 months ago

0.9.186

11 months ago

0.9.189

11 months ago

0.9.188

11 months ago

0.9.183

11 months ago

0.9.182

11 months ago

0.9.185

11 months ago

0.9.184

11 months ago

0.9.181

11 months ago

0.9.180

11 months ago

0.9.179

11 months ago

0.4.0

1 year ago

0.9.198

11 months ago

0.9.197

11 months ago

0.9.199

11 months ago

0.9.194

11 months ago

0.9.193

11 months ago

0.9.196

11 months ago

0.9.195

11 months ago

0.9.190

11 months ago

0.9.192

11 months ago

0.9.191

11 months ago

0.2.0

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.1

2 years ago