0.9.530 • Published 12 months ago

royco v0.9.530

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

1 year ago

0.9.310

1 year ago

0.9.58

1 year ago

0.9.430

1 year 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

1 year ago

0.9.429

1 year ago

0.9.308

1 year ago

0.9.426

1 year ago

0.9.305

1 year ago

0.9.425

1 year ago

0.9.304

1 year ago

0.9.428

1 year ago

0.9.307

1 year ago

0.9.427

1 year ago

0.9.306

1 year ago

0.9.51

1 year ago

0.9.422

1 year ago

0.9.301

1 year ago

0.9.421

1 year ago

0.9.300

1 year ago

0.9.424

1 year ago

0.9.303

1 year ago

0.9.423

1 year ago

0.9.302

1 year ago

0.9.440

1 year ago

0.9.45

1 year ago

0.9.46

1 year ago

0.9.442

1 year ago

0.9.321

1 year ago

0.9.200

1 year ago

0.9.47

1 year ago

0.9.441

1 year ago

0.9.320

1 year 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

1 year ago

0.9.437

1 year ago

0.9.316

1 year ago

0.7.2

1 year ago

0.9.436

1 year ago

0.9.315

1 year ago

0.7.1

1 year ago

0.9.439

1 year ago

0.9.318

1 year ago

0.7.4

1 year ago

0.9.438

1 year ago

0.9.317

1 year ago

0.9.40

1 year ago

0.7.3

1 year ago

0.9.433

1 year ago

0.9.312

1 year ago

0.9.432

1 year ago

0.9.311

1 year ago

0.9.435

1 year ago

0.9.314

1 year ago

0.7.0

1 year ago

0.9.434

1 year ago

0.9.313

1 year ago

0.9.451

1 year ago

0.9.330

1 year ago

0.9.34

1 year ago

0.9.8

1 year ago

0.9.450

1 year ago

0.9.35

1 year ago

0.9.7

1 year ago

0.9.453

1 year ago

0.9.332

1 year ago

0.9.211

1 year ago

0.9.36

1 year ago

0.9.452

1 year ago

0.9.331

1 year ago

0.9.210

1 year 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

1 year ago

0.9.448

1 year ago

0.9.327

1 year ago

0.9.206

1 year ago

0.9.447

1 year ago

0.9.326

1 year ago

0.9.205

1 year ago

0.9.329

1 year ago

0.9.208

1 year ago

0.9.449

1 year ago

0.9.328

1 year ago

0.9.207

1 year ago

0.9.444

1 year ago

0.9.323

1 year ago

0.9.202

1 year ago

0.9.443

1 year ago

0.9.322

1 year ago

0.9.201

1 year ago

0.9.446

1 year ago

0.9.325

1 year ago

0.9.204

1 year ago

0.9.445

1 year ago

0.9.324

1 year ago

0.9.203

1 year ago

0.9.462

1 year ago

0.9.341

1 year ago

0.9.220

1 year ago

0.9.23

1 year ago

0.9.461

1 year ago

0.9.340

1 year ago

0.9.24

1 year ago

0.9.464

1 year ago

0.9.343

1 year ago

0.9.222

1 year ago

0.9.101

1 year ago

0.9.25

1 year ago

0.9.463

1 year ago

0.9.342

1 year ago

0.9.221

1 year ago

0.9.100

1 year ago

0.9.26

1 year ago

0.9.20

1 year ago

0.9.460

1 year 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

1 year ago

0.9.338

1 year ago

0.9.217

1 year ago

0.8.1

1 year ago

0.9.458

1 year ago

0.9.337

1 year ago

0.9.216

1 year ago

0.8.0

1 year ago

0.9.219

1 year ago

0.8.3

1 year ago

0.9.339

1 year ago

0.9.218

1 year ago

0.8.2

1 year ago

0.9.455

1 year ago

0.9.334

1 year ago

0.9.213

1 year ago

0.9.454

1 year ago

0.9.333

1 year ago

0.9.212

1 year ago

0.9.457

1 year ago

0.9.336

1 year ago

0.9.215

1 year ago

0.9.456

1 year ago

0.9.335

1 year ago

0.9.214

1 year ago

0.9.473

12 months ago

0.9.352

1 year ago

0.9.231

1 year ago

0.9.110

1 year ago

0.9.472

12 months ago

0.9.351

1 year ago

0.9.230

1 year ago

0.9.475

12 months ago

0.9.354

1 year ago

0.9.233

1 year ago

0.9.112

1 year ago

0.9.474

12 months ago

0.9.353

1 year ago

0.9.232

1 year ago

0.9.111

1 year ago

0.9.96

1 year ago

0.9.97

1 year ago

0.9.471

12 months ago

0.9.350

1 year ago

0.9.98

1 year ago

0.9.470

12 months ago

0.9.99

1 year ago

0.9.349

1 year ago

0.9.228

1 year ago

0.9.107

1 year ago

0.9.92

1 year ago

0.9.469

12 months ago

0.9.348

1 year ago

0.9.227

1 year 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

1 year ago

0.9.108

1 year ago

0.9.466

1 year ago

0.9.345

1 year ago

0.9.224

1 year ago

0.9.103

1 year ago

0.9.465

1 year ago

0.9.344

1 year ago

0.9.223

1 year ago

0.9.102

1 year ago

0.9.468

12 months ago

0.9.347

1 year ago

0.9.226

1 year ago

0.9.105

1 year ago

0.9.90

1 year ago

0.9.467

1 year ago

0.9.346

1 year ago

0.9.225

1 year ago

0.9.104

1 year ago

0.9.91

1 year ago

0.9.484

12 months ago

0.9.363

1 year ago

0.9.242

1 year ago

0.9.121

1 year ago

0.9.89

1 year ago

0.9.483

12 months ago

0.9.362

1 year ago

0.9.241

1 year ago

0.9.120

1 year ago

0.9.486

12 months ago

0.9.365

1 year ago

0.9.244

1 year ago

0.9.123

1 year ago

0.9.485

12 months ago

0.9.364

1 year ago

0.9.243

1 year ago

0.9.122

1 year ago

0.9.480

12 months ago

0.9.85

1 year ago

0.9.86

1 year ago

0.9.482

12 months ago

0.9.361

1 year ago

0.9.240

1 year ago

0.9.87

1 year ago

0.9.481

12 months ago

0.9.360

1 year ago

0.9.88

1 year ago

0.9.239

1 year ago

0.9.118

1 year ago

0.9.81

1 year ago

0.5.4

1 year ago

0.9.359

1 year ago

0.9.238

1 year 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

12 months ago

0.9.356

1 year ago

0.9.235

1 year ago

0.9.114

1 year ago

0.5.0

1 year ago

0.9.476

12 months ago

0.9.355

1 year ago

0.9.234

1 year ago

0.9.113

1 year ago

0.9.479

12 months ago

0.9.358

1 year ago

0.9.237

1 year ago

0.9.116

1 year ago

0.5.2

1 year ago

0.9.478

12 months ago

0.9.357

1 year ago

0.9.236

1 year ago

0.9.115

1 year ago

0.9.80

1 year ago

0.5.1

1 year ago

0.9.495

12 months ago

0.9.374

1 year ago

0.9.253

1 year ago

0.9.132

1 year ago

0.9.78

1 year ago

0.9.494

12 months ago

0.9.373

1 year ago

0.9.252

1 year ago

0.9.131

1 year ago

0.9.79

1 year ago

0.7.9

1 year ago

0.9.497

12 months ago

0.9.376

1 year ago

0.9.255

1 year ago

0.9.134

1 year ago

0.9.496

12 months ago

0.9.375

1 year ago

0.9.254

1 year ago

0.9.133

1 year ago

0.9.491

12 months ago

0.9.370

1 year ago

0.9.74

1 year ago

0.7.6

1 year ago

0.9.490

12 months ago

0.9.75

1 year ago

0.7.5

1 year ago

0.9.493

12 months ago

0.9.372

1 year ago

0.9.251

1 year ago

0.9.130

1 year ago

0.9.76

1 year ago

0.9.492

12 months ago

0.9.371

1 year ago

0.9.250

1 year 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

1 year 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

12 months ago

0.9.367

1 year ago

0.9.246

1 year ago

0.9.125

1 year ago

0.9.487

12 months ago

0.9.366

1 year ago

0.9.245

1 year ago

0.9.124

1 year ago

0.9.369

1 year ago

0.9.248

1 year ago

0.9.127

1 year ago

0.9.489

12 months ago

0.9.368

1 year ago

0.9.247

1 year ago

0.9.126

1 year ago

0.9.385

1 year ago

0.9.264

1 year ago

0.9.143

1 year ago

0.9.67

1 year ago

0.9.384

1 year ago

0.9.263

1 year ago

0.9.142

1 year ago

0.9.68

1 year ago

0.9.387

1 year ago

0.9.266

1 year ago

0.9.145

1 year ago

0.9.69

1 year ago

0.9.386

1 year ago

0.9.265

1 year ago

0.9.144

1 year ago

0.9.381

1 year ago

0.9.260

1 year ago

0.9.63

1 year ago

0.9.380

1 year ago

0.9.64

1 year ago

0.9.383

1 year ago

0.9.262

1 year ago

0.9.141

1 year ago

0.9.65

1 year ago

0.9.382

1 year ago

0.9.261

1 year 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

12 months ago

0.9.378

1 year ago

0.9.257

1 year ago

0.9.136

1 year ago

0.9.498

12 months ago

0.9.377

1 year ago

0.9.256

1 year ago

0.9.135

1 year ago

0.9.259

1 year ago

0.9.138

1 year ago

0.9.379

1 year ago

0.9.258

1 year 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

12 months ago

0.9.506

12 months ago

0.9.509

12 months ago

0.9.508

12 months ago

0.9.503

12 months ago

0.9.502

12 months ago

0.9.505

12 months ago

0.9.504

12 months ago

0.9.501

12 months ago

0.9.500

12 months ago

0.9.518

12 months ago

0.9.517

12 months ago

0.9.519

12 months ago

0.9.514

12 months ago

0.9.0

1 year ago

0.9.513

12 months ago

0.9.516

12 months ago

0.9.515

12 months ago

0.9.510

12 months ago

0.9.512

12 months ago

0.9.511

12 months ago

0.9.530

12 months ago

0.9.529

12 months ago

0.9.408

1 year ago

0.9.528

12 months ago

0.9.407

1 year ago

0.9.409

1 year ago

0.9.525

12 months ago

0.9.404

1 year ago

0.9.524

12 months ago

0.9.403

1 year ago

0.9.527

12 months ago

0.9.406

1 year ago

0.9.526

12 months ago

0.9.405

1 year ago

0.9.521

12 months ago

0.9.400

1 year ago

0.9.520

12 months ago

0.9.523

12 months ago

0.9.402

1 year ago

0.9.522

12 months ago

0.9.401

1 year ago

0.8.11

1 year ago

0.9.420

1 year ago

0.8.10

1 year ago

0.9.419

1 year ago

0.9.418

1 year ago

0.9.415

1 year ago

0.9.414

1 year ago

0.9.417

1 year ago

0.9.416

1 year ago

0.9.411

1 year ago

0.9.410

1 year ago

0.9.413

1 year ago

0.9.412

1 year 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

1 year ago

0.9.275

1 year ago

0.9.154

1 year ago

0.9.395

1 year ago

0.9.274

1 year ago

0.9.153

1 year ago

0.9.398

1 year ago

0.9.277

1 year ago

0.9.156

1 year ago

0.9.397

1 year ago

0.9.276

1 year ago

0.9.155

1 year ago

0.9.392

1 year ago

0.9.271

1 year ago

0.9.150

1 year ago

0.9.391

1 year ago

0.9.270

1 year ago

0.9.394

1 year ago

0.9.273

1 year ago

0.9.152

1 year ago

0.9.393

1 year ago

0.9.272

1 year ago

0.9.151

1 year ago

0.9.390

1 year ago

0.9.389

1 year ago

0.9.268

1 year ago

0.9.147

1 year ago

0.9.388

1 year ago

0.9.267

1 year ago

0.9.146

1 year ago

0.9.149

1 year ago

0.9.269

1 year ago

0.9.148

1 year ago

0.9.286

1 year ago

0.9.165

1 year ago

0.9.285

1 year ago

0.9.164

1 year ago

0.9.288

1 year ago

0.9.167

1 year ago

0.9.287

1 year ago

0.9.166

1 year ago

0.9.282

1 year ago

0.9.161

1 year ago

0.9.281

1 year ago

0.9.160

1 year ago

0.9.284

1 year ago

0.9.163

1 year ago

0.9.283

1 year ago

0.9.162

1 year ago

0.9.280

1 year ago

0.3.0

1 year ago

0.9.279

1 year ago

0.9.158

1 year ago

0.9.399

1 year ago

0.9.278

1 year ago

0.9.157

1 year ago

0.9.159

1 year ago

0.9.297

1 year ago

0.9.176

1 year ago

0.9.296

1 year ago

0.9.175

1 year ago

0.9.299

1 year ago

0.9.178

1 year ago

0.9.298

1 year ago

0.9.177

1 year ago

0.9.293

1 year ago

0.9.172

1 year ago

0.5.8

1 year ago

0.9.292

1 year ago

0.9.171

1 year ago

0.5.7

1 year ago

0.9.295

1 year ago

0.9.174

1 year ago

0.9.294

1 year ago

0.9.173

1 year ago

0.5.9

1 year ago

0.9.291

1 year ago

0.9.170

1 year ago

0.9.290

1 year ago

0.9.169

1 year ago

0.9.289

1 year ago

0.9.168

1 year ago

0.9.187

1 year ago

0.9.186

1 year ago

0.9.189

1 year 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

1 year ago

0.9.197

1 year ago

0.9.199

1 year ago

0.9.194

1 year ago

0.9.193

1 year ago

0.9.196

1 year ago

0.9.195

1 year ago

0.9.190

1 year ago

0.9.192

1 year ago

0.9.191

1 year 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