0.9.530 • Published 10 months ago

royco v0.9.530

Weekly downloads
-
License
MIT
Repository
github
Last release
10 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

1 year ago

0.8.9

1 year ago

0.9.57

1 year ago

0.8.8

1 year ago

0.9.431

11 months ago

0.9.310

12 months ago

0.9.58

1 year ago

0.9.430

11 months ago

0.9.59

1 year ago

0.9.52

1 year ago

0.8.5

1 year ago

0.9.53

1 year ago

0.8.4

1 year ago

0.9.54

1 year ago

0.8.7

1 year ago

0.9.55

1 year ago

0.8.6

1 year ago

0.9.309

12 months ago

0.9.429

11 months ago

0.9.308

12 months ago

0.9.426

11 months ago

0.9.305

12 months ago

0.9.425

11 months ago

0.9.304

12 months ago

0.9.428

11 months ago

0.9.307

12 months ago

0.9.427

11 months ago

0.9.306

12 months ago

0.9.51

1 year ago

0.9.422

11 months ago

0.9.301

12 months ago

0.9.421

11 months ago

0.9.300

12 months ago

0.9.424

11 months ago

0.9.303

12 months ago

0.9.423

11 months ago

0.9.302

12 months ago

0.9.440

11 months ago

0.9.45

1 year ago

0.9.46

1 year ago

0.9.442

11 months ago

0.9.321

12 months ago

0.9.200

12 months ago

0.9.47

1 year ago

0.9.441

11 months ago

0.9.320

12 months ago

0.9.48

1 year ago

0.9.41

1 year ago

0.9.42

1 year ago

0.9.43

1 year ago

0.9.44

1 year ago

0.9.49

1 year ago

0.9.319

12 months ago

0.9.437

11 months ago

0.9.316

12 months ago

0.7.2

1 year ago

0.9.436

11 months ago

0.9.315

12 months ago

0.7.1

1 year ago

0.9.439

11 months ago

0.9.318

12 months ago

0.7.4

1 year ago

0.9.438

11 months ago

0.9.317

12 months ago

0.9.40

1 year ago

0.7.3

1 year ago

0.9.433

11 months ago

0.9.312

12 months ago

0.9.432

11 months ago

0.9.311

12 months ago

0.9.435

11 months ago

0.9.314

12 months ago

0.7.0

1 year ago

0.9.434

11 months ago

0.9.313

12 months ago

0.9.451

11 months ago

0.9.330

12 months ago

0.9.34

1 year ago

0.9.8

1 year ago

0.9.450

11 months ago

0.9.35

1 year ago

0.9.7

1 year ago

0.9.453

11 months ago

0.9.332

12 months ago

0.9.211

12 months ago

0.9.36

1 year ago

0.9.452

11 months ago

0.9.331

12 months ago

0.9.210

12 months ago

0.9.37

1 year ago

0.9.9

1 year ago

0.9.30

1 year ago

0.9.4

1 year ago

0.9.31

1 year ago

0.9.3

1 year ago

0.9.32

1 year ago

0.9.6

1 year ago

0.9.33

1 year ago

0.9.5

1 year ago

0.9.38

1 year ago

0.9.39

1 year ago

0.9.209

12 months ago

0.9.448

11 months ago

0.9.327

12 months ago

0.9.206

12 months ago

0.9.447

11 months ago

0.9.326

12 months ago

0.9.205

12 months ago

0.9.329

12 months ago

0.9.208

12 months ago

0.9.449

11 months ago

0.9.328

12 months ago

0.9.207

12 months ago

0.9.444

11 months ago

0.9.323

12 months ago

0.9.202

12 months ago

0.9.443

11 months ago

0.9.322

12 months ago

0.9.201

12 months ago

0.9.446

11 months ago

0.9.325

12 months ago

0.9.204

12 months ago

0.9.445

11 months ago

0.9.324

12 months ago

0.9.203

12 months ago

0.9.462

11 months ago

0.9.341

12 months ago

0.9.220

12 months ago

0.9.23

1 year ago

0.9.461

11 months ago

0.9.340

12 months ago

0.9.24

1 year ago

0.9.464

11 months ago

0.9.343

12 months ago

0.9.222

12 months ago

0.9.101

1 year ago

0.9.25

1 year ago

0.9.463

11 months ago

0.9.342

12 months ago

0.9.221

12 months ago

0.9.100

1 year ago

0.9.26

1 year ago

0.9.20

1 year ago

0.9.460

11 months ago

0.9.21

1 year ago

0.9.22

1 year ago

0.9.27

1 year ago

0.9.28

1 year ago

0.9.29

1 year ago

0.9.459

11 months ago

0.9.338

12 months ago

0.9.217

12 months ago

0.8.1

1 year ago

0.9.458

11 months ago

0.9.337

12 months ago

0.9.216

12 months ago

0.8.0

1 year ago

0.9.219

12 months ago

0.8.3

1 year ago

0.9.339

12 months ago

0.9.218

12 months ago

0.8.2

1 year ago

0.9.455

11 months ago

0.9.334

12 months ago

0.9.213

12 months ago

0.9.454

11 months ago

0.9.333

12 months ago

0.9.212

12 months ago

0.9.457

11 months ago

0.9.336

12 months ago

0.9.215

12 months ago

0.9.456

11 months ago

0.9.335

12 months ago

0.9.214

12 months ago

0.9.473

10 months ago

0.9.352

12 months ago

0.9.231

12 months ago

0.9.110

1 year ago

0.9.472

10 months ago

0.9.351

12 months ago

0.9.230

12 months ago

0.9.475

10 months ago

0.9.354

12 months ago

0.9.233

12 months ago

0.9.112

1 year ago

0.9.474

10 months ago

0.9.353

12 months ago

0.9.232

12 months ago

0.9.111

1 year ago

0.9.96

1 year ago

0.9.97

1 year ago

0.9.471

10 months ago

0.9.350

12 months ago

0.9.98

1 year ago

0.9.470

10 months ago

0.9.99

1 year ago

0.9.349

12 months ago

0.9.228

12 months ago

0.9.107

1 year ago

0.9.92

1 year ago

0.9.469

10 months ago

0.9.348

12 months ago

0.9.227

12 months ago

0.9.106

1 year ago

0.9.93

1 year ago

0.9.109

1 year ago

0.9.94

1 year ago

0.9.229

12 months ago

0.9.108

1 year ago

0.9.466

11 months ago

0.9.345

12 months ago

0.9.224

12 months ago

0.9.103

1 year ago

0.9.465

11 months ago

0.9.344

12 months ago

0.9.223

12 months ago

0.9.102

1 year ago

0.9.468

10 months ago

0.9.347

12 months ago

0.9.226

12 months ago

0.9.105

1 year ago

0.9.90

1 year ago

0.9.467

10 months ago

0.9.346

12 months ago

0.9.225

12 months ago

0.9.104

1 year ago

0.9.91

1 year ago

0.9.484

10 months ago

0.9.363

12 months ago

0.9.242

12 months ago

0.9.121

1 year ago

0.9.89

1 year ago

0.9.483

10 months ago

0.9.362

12 months ago

0.9.241

12 months ago

0.9.120

1 year ago

0.9.486

10 months ago

0.9.365

12 months ago

0.9.244

12 months ago

0.9.123

1 year ago

0.9.485

10 months ago

0.9.364

12 months ago

0.9.243

12 months ago

0.9.122

1 year ago

0.9.480

10 months ago

0.9.85

1 year ago

0.9.86

1 year ago

0.9.482

10 months ago

0.9.361

12 months ago

0.9.240

12 months ago

0.9.87

1 year ago

0.9.481

10 months ago

0.9.360

12 months ago

0.9.88

1 year ago

0.9.239

12 months ago

0.9.118

1 year ago

0.9.81

1 year ago

0.5.4

1 year ago

0.9.359

12 months ago

0.9.238

12 months ago

0.9.117

1 year ago

0.9.82

1 year ago

0.5.3

1 year ago

0.9.83

1 year ago

0.5.6

1 year ago

0.9.119

1 year ago

0.9.84

1 year ago

0.5.5

1 year ago

0.9.477

10 months ago

0.9.356

12 months ago

0.9.235

12 months ago

0.9.114

1 year ago

0.5.0

1 year ago

0.9.476

10 months ago

0.9.355

12 months ago

0.9.234

12 months ago

0.9.113

1 year ago

0.9.479

10 months ago

0.9.358

12 months ago

0.9.237

12 months ago

0.9.116

1 year ago

0.5.2

1 year ago

0.9.478

10 months ago

0.9.357

12 months ago

0.9.236

12 months ago

0.9.115

1 year ago

0.9.80

1 year ago

0.5.1

1 year ago

0.9.495

10 months ago

0.9.374

11 months ago

0.9.253

12 months ago

0.9.132

1 year ago

0.9.78

1 year ago

0.9.494

10 months ago

0.9.373

11 months ago

0.9.252

12 months ago

0.9.131

1 year ago

0.9.79

1 year ago

0.7.9

1 year ago

0.9.497

10 months ago

0.9.376

11 months ago

0.9.255

12 months ago

0.9.134

1 year ago

0.9.496

10 months ago

0.9.375

11 months ago

0.9.254

12 months ago

0.9.133

1 year ago

0.9.491

10 months ago

0.9.370

11 months ago

0.9.74

1 year ago

0.7.6

1 year ago

0.9.490

10 months ago

0.9.75

1 year ago

0.7.5

1 year ago

0.9.493

10 months ago

0.9.372

11 months ago

0.9.251

12 months ago

0.9.130

1 year ago

0.9.76

1 year ago

0.9.492

10 months ago

0.9.371

11 months ago

0.9.250

12 months ago

0.9.77

1 year ago

0.7.7

1 year ago

0.9.129

1 year ago

0.9.70

1 year ago

0.9.249

12 months ago

0.9.128

1 year ago

0.9.71

1 year ago

0.9.72

1 year ago

0.9.73

1 year ago

0.9.488

10 months ago

0.9.367

11 months ago

0.9.246

12 months ago

0.9.125

1 year ago

0.9.487

10 months ago

0.9.366

11 months ago

0.9.245

12 months ago

0.9.124

1 year ago

0.9.369

11 months ago

0.9.248

12 months ago

0.9.127

1 year ago

0.9.489

10 months ago

0.9.368

11 months ago

0.9.247

12 months ago

0.9.126

1 year ago

0.9.385

11 months ago

0.9.264

12 months ago

0.9.143

1 year ago

0.9.67

1 year ago

0.9.384

11 months ago

0.9.263

12 months ago

0.9.142

1 year ago

0.9.68

1 year ago

0.9.387

11 months ago

0.9.266

12 months ago

0.9.145

1 year ago

0.9.69

1 year ago

0.9.386

11 months ago

0.9.265

12 months ago

0.9.144

1 year ago

0.9.381

11 months ago

0.9.260

12 months ago

0.9.63

1 year ago

0.9.380

11 months ago

0.9.64

1 year ago

0.9.383

11 months ago

0.9.262

12 months ago

0.9.141

1 year ago

0.9.65

1 year ago

0.9.382

11 months ago

0.9.261

12 months ago

0.9.140

1 year ago

0.9.66

1 year ago

0.9.139

1 year ago

0.9.60

1 year ago

0.9.61

1 year ago

0.9.62

1 year ago

0.9.499

10 months ago

0.9.378

11 months ago

0.9.257

12 months ago

0.9.136

1 year ago

0.9.498

10 months ago

0.9.377

11 months ago

0.9.256

12 months ago

0.9.135

1 year ago

0.9.259

12 months ago

0.9.138

1 year ago

0.9.379

11 months ago

0.9.258

12 months ago

0.9.137

1 year ago

0.6.0

1 year ago

0.7.11

1 year ago

0.7.10

1 year ago

0.7.12

1 year ago

0.9.12

1 year ago

0.9.13

1 year ago

0.9.14

1 year ago

0.9.15

1 year ago

0.9.10

1 year ago

0.9.11

1 year ago

0.9.16

1 year ago

0.9.17

1 year ago

0.9.18

1 year ago

0.9.19

1 year ago

0.9.507

10 months ago

0.9.506

10 months ago

0.9.509

10 months ago

0.9.508

10 months ago

0.9.503

10 months ago

0.9.502

10 months ago

0.9.505

10 months ago

0.9.504

10 months ago

0.9.501

10 months ago

0.9.500

10 months ago

0.9.518

10 months ago

0.9.517

10 months ago

0.9.519

10 months ago

0.9.514

10 months ago

0.9.0

1 year ago

0.9.513

10 months ago

0.9.516

10 months ago

0.9.515

10 months ago

0.9.510

10 months ago

0.9.512

10 months ago

0.9.511

10 months ago

0.9.530

10 months ago

0.9.529

10 months ago

0.9.408

11 months ago

0.9.528

10 months ago

0.9.407

11 months ago

0.9.409

11 months ago

0.9.525

10 months ago

0.9.404

11 months ago

0.9.524

10 months ago

0.9.403

11 months ago

0.9.527

10 months ago

0.9.406

11 months ago

0.9.526

10 months ago

0.9.405

11 months ago

0.9.521

10 months ago

0.9.400

11 months ago

0.9.520

10 months ago

0.9.523

10 months ago

0.9.402

11 months ago

0.9.522

10 months ago

0.9.401

11 months ago

0.8.11

1 year ago

0.9.420

11 months ago

0.8.10

1 year ago

0.9.419

11 months ago

0.9.418

11 months ago

0.9.415

11 months ago

0.9.414

11 months ago

0.9.417

11 months ago

0.9.416

11 months ago

0.9.411

11 months ago

0.9.410

11 months ago

0.9.413

11 months ago

0.9.412

11 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

11 months ago

0.9.275

12 months ago

0.9.154

1 year ago

0.9.395

11 months ago

0.9.274

12 months ago

0.9.153

1 year ago

0.9.398

11 months ago

0.9.277

12 months ago

0.9.156

1 year ago

0.9.397

11 months ago

0.9.276

12 months ago

0.9.155

1 year ago

0.9.392

11 months ago

0.9.271

12 months ago

0.9.150

1 year ago

0.9.391

11 months ago

0.9.270

12 months ago

0.9.394

11 months ago

0.9.273

12 months ago

0.9.152

1 year ago

0.9.393

11 months ago

0.9.272

12 months ago

0.9.151

1 year ago

0.9.390

11 months ago

0.9.389

11 months ago

0.9.268

12 months ago

0.9.147

1 year ago

0.9.388

11 months ago

0.9.267

12 months ago

0.9.146

1 year ago

0.9.149

1 year ago

0.9.269

12 months ago

0.9.148

1 year ago

0.9.286

12 months ago

0.9.165

1 year ago

0.9.285

12 months ago

0.9.164

1 year ago

0.9.288

12 months ago

0.9.167

1 year ago

0.9.287

12 months ago

0.9.166

1 year ago

0.9.282

12 months ago

0.9.161

1 year ago

0.9.281

12 months ago

0.9.160

1 year ago

0.9.284

12 months ago

0.9.163

1 year ago

0.9.283

12 months ago

0.9.162

1 year ago

0.9.280

12 months ago

0.3.0

1 year ago

0.9.279

12 months ago

0.9.158

1 year ago

0.9.399

11 months ago

0.9.278

12 months ago

0.9.157

1 year ago

0.9.159

1 year ago

0.9.297

12 months ago

0.9.176

1 year ago

0.9.296

12 months ago

0.9.175

1 year ago

0.9.299

12 months ago

0.9.178

1 year ago

0.9.298

12 months ago

0.9.177

1 year ago

0.9.293

12 months ago

0.9.172

1 year ago

0.5.8

1 year ago

0.9.292

12 months ago

0.9.171

1 year ago

0.5.7

1 year ago

0.9.295

12 months ago

0.9.174

1 year ago

0.9.294

12 months ago

0.9.173

1 year ago

0.5.9

1 year ago

0.9.291

12 months ago

0.9.170

1 year ago

0.9.290

12 months ago

0.9.169

1 year ago

0.9.289

12 months ago

0.9.168

1 year ago

0.9.187

1 year ago

0.9.186

1 year ago

0.9.189

12 months ago

0.9.188

1 year ago

0.9.183

1 year ago

0.9.182

1 year ago

0.9.185

1 year ago

0.9.184

1 year ago

0.9.181

1 year ago

0.9.180

1 year ago

0.9.179

1 year ago

0.4.0

1 year ago

0.9.198

12 months ago

0.9.197

12 months ago

0.9.199

12 months ago

0.9.194

12 months ago

0.9.193

12 months ago

0.9.196

12 months ago

0.9.195

12 months ago

0.9.190

12 months ago

0.9.192

12 months ago

0.9.191

12 months ago

0.2.0

1 year ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.1

2 years ago