0.9.530 • Published 11 months ago

royco v0.9.530

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

12 months ago

0.9.310

1 year ago

0.9.58

1 year ago

0.9.430

12 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

1 year ago

0.9.429

12 months ago

0.9.308

1 year ago

0.9.426

12 months ago

0.9.305

1 year ago

0.9.425

12 months ago

0.9.304

1 year ago

0.9.428

12 months ago

0.9.307

1 year ago

0.9.427

12 months ago

0.9.306

1 year ago

0.9.51

1 year ago

0.9.422

12 months ago

0.9.301

1 year ago

0.9.421

12 months ago

0.9.300

1 year ago

0.9.424

12 months ago

0.9.303

1 year ago

0.9.423

12 months ago

0.9.302

1 year ago

0.9.440

12 months ago

0.9.45

1 year ago

0.9.46

1 year ago

0.9.442

12 months ago

0.9.321

1 year ago

0.9.200

1 year ago

0.9.47

1 year ago

0.9.441

12 months 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

12 months ago

0.9.316

1 year ago

0.7.2

1 year ago

0.9.436

12 months ago

0.9.315

1 year ago

0.7.1

1 year ago

0.9.439

12 months ago

0.9.318

1 year ago

0.7.4

1 year ago

0.9.438

12 months ago

0.9.317

1 year ago

0.9.40

1 year ago

0.7.3

1 year ago

0.9.433

12 months ago

0.9.312

1 year ago

0.9.432

12 months ago

0.9.311

1 year ago

0.9.435

12 months ago

0.9.314

1 year ago

0.7.0

1 year ago

0.9.434

12 months ago

0.9.313

1 year ago

0.9.451

12 months ago

0.9.330

1 year ago

0.9.34

1 year ago

0.9.8

1 year ago

0.9.450

12 months ago

0.9.35

1 year ago

0.9.7

1 year ago

0.9.453

12 months ago

0.9.332

1 year ago

0.9.211

1 year ago

0.9.36

1 year ago

0.9.452

12 months 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

12 months ago

0.9.327

1 year ago

0.9.206

1 year ago

0.9.447

12 months 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

12 months ago

0.9.328

1 year ago

0.9.207

1 year ago

0.9.444

12 months ago

0.9.323

1 year ago

0.9.202

1 year ago

0.9.443

12 months ago

0.9.322

1 year ago

0.9.201

1 year ago

0.9.446

12 months ago

0.9.325

1 year ago

0.9.204

1 year ago

0.9.445

12 months ago

0.9.324

1 year ago

0.9.203

1 year ago

0.9.462

12 months ago

0.9.341

1 year ago

0.9.220

1 year ago

0.9.23

1 year ago

0.9.461

12 months ago

0.9.340

1 year ago

0.9.24

1 year ago

0.9.464

12 months 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

12 months 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

12 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

12 months ago

0.9.338

1 year ago

0.9.217

1 year ago

0.8.1

1 year ago

0.9.458

12 months 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

12 months ago

0.9.334

1 year ago

0.9.213

1 year ago

0.9.454

12 months ago

0.9.333

1 year ago

0.9.212

1 year ago

0.9.457

12 months ago

0.9.336

1 year ago

0.9.215

1 year ago

0.9.456

12 months ago

0.9.335

1 year ago

0.9.214

1 year ago

0.9.473

11 months ago

0.9.352

1 year ago

0.9.231

1 year ago

0.9.110

1 year ago

0.9.472

11 months ago

0.9.351

1 year ago

0.9.230

1 year ago

0.9.475

11 months ago

0.9.354

1 year ago

0.9.233

1 year ago

0.9.112

1 year ago

0.9.474

11 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

11 months ago

0.9.350

1 year ago

0.9.98

1 year ago

0.9.470

11 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

11 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

12 months ago

0.9.345

1 year ago

0.9.224

1 year ago

0.9.103

1 year ago

0.9.465

12 months ago

0.9.344

1 year ago

0.9.223

1 year ago

0.9.102

1 year ago

0.9.468

11 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

12 months 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

11 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

11 months ago

0.9.362

1 year ago

0.9.241

1 year ago

0.9.120

1 year ago

0.9.486

11 months ago

0.9.365

1 year ago

0.9.244

1 year ago

0.9.123

1 year ago

0.9.485

11 months ago

0.9.364

1 year ago

0.9.243

1 year ago

0.9.122

1 year ago

0.9.480

11 months ago

0.9.85

1 year ago

0.9.86

1 year ago

0.9.482

11 months ago

0.9.361

1 year ago

0.9.240

1 year ago

0.9.87

1 year ago

0.9.481

11 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

11 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

11 months ago

0.9.355

1 year ago

0.9.234

1 year ago

0.9.113

1 year ago

0.9.479

11 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

11 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

11 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

11 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

11 months ago

0.9.376

1 year ago

0.9.255

1 year ago

0.9.134

1 year ago

0.9.496

11 months ago

0.9.375

1 year ago

0.9.254

1 year ago

0.9.133

1 year ago

0.9.491

11 months ago

0.9.370

1 year ago

0.9.74

1 year ago

0.7.6

1 year ago

0.9.490

11 months ago

0.9.75

1 year ago

0.7.5

1 year ago

0.9.493

11 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

11 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

11 months ago

0.9.367

1 year ago

0.9.246

1 year ago

0.9.125

1 year ago

0.9.487

11 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

11 months ago

0.9.368

1 year ago

0.9.247

1 year ago

0.9.126

1 year ago

0.9.385

12 months ago

0.9.264

1 year ago

0.9.143

1 year ago

0.9.67

1 year ago

0.9.384

12 months ago

0.9.263

1 year ago

0.9.142

1 year ago

0.9.68

1 year ago

0.9.387

12 months ago

0.9.266

1 year ago

0.9.145

1 year ago

0.9.69

1 year ago

0.9.386

12 months 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

12 months 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

11 months ago

0.9.378

1 year ago

0.9.257

1 year ago

0.9.136

1 year ago

0.9.498

11 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

11 months ago

0.9.506

11 months ago

0.9.509

11 months ago

0.9.508

11 months ago

0.9.503

11 months ago

0.9.502

11 months ago

0.9.505

11 months ago

0.9.504

11 months ago

0.9.501

11 months ago

0.9.500

11 months ago

0.9.518

11 months ago

0.9.517

11 months ago

0.9.519

11 months ago

0.9.514

11 months ago

0.9.0

1 year ago

0.9.513

11 months ago

0.9.516

11 months ago

0.9.515

11 months ago

0.9.510

11 months ago

0.9.512

11 months ago

0.9.511

11 months ago

0.9.530

11 months ago

0.9.529

11 months ago

0.9.408

12 months ago

0.9.528

11 months ago

0.9.407

12 months ago

0.9.409

12 months ago

0.9.525

11 months ago

0.9.404

12 months ago

0.9.524

11 months ago

0.9.403

12 months ago

0.9.527

11 months ago

0.9.406

12 months ago

0.9.526

11 months ago

0.9.405

12 months ago

0.9.521

11 months ago

0.9.400

12 months ago

0.9.520

11 months ago

0.9.523

11 months ago

0.9.402

12 months ago

0.9.522

11 months ago

0.9.401

12 months ago

0.8.11

1 year ago

0.9.420

12 months ago

0.8.10

1 year ago

0.9.419

12 months ago

0.9.418

12 months ago

0.9.415

12 months ago

0.9.414

12 months ago

0.9.417

12 months ago

0.9.416

12 months ago

0.9.411

12 months ago

0.9.410

12 months ago

0.9.413

12 months ago

0.9.412

12 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

12 months ago

0.9.275

1 year ago

0.9.154

1 year ago

0.9.395

12 months ago

0.9.274

1 year ago

0.9.153

1 year ago

0.9.398

12 months ago

0.9.277

1 year ago

0.9.156

1 year ago

0.9.397

12 months ago

0.9.276

1 year ago

0.9.155

1 year ago

0.9.392

12 months ago

0.9.271

1 year ago

0.9.150

1 year ago

0.9.391

12 months ago

0.9.270

1 year ago

0.9.394

12 months ago

0.9.273

1 year ago

0.9.152

1 year ago

0.9.393

12 months ago

0.9.272

1 year ago

0.9.151

1 year ago

0.9.390

12 months ago

0.9.389

12 months ago

0.9.268

1 year ago

0.9.147

1 year ago

0.9.388

12 months 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

12 months 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