1.0.2 • Published 8 months ago

@niftory/sdk v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

Niftory SDK

Simple wrapper SDK for easily interacting with Niftory API

 

Getting Started

Follow the getting started here

 

Serverside (Client Auth)

import { NiftoryClient } from "@niftory/sdk"


...

const client =
    new NiftoryClient({
      environmentName: process.env.ENVIRONMENT //testnet or mainnet,
      appId: process.env.CLIENT_ID,
      apiKey: process.env.API_KEY,
      clientSecret: process.env.CLIENT_SECRET,
    })

await client.createNiftoryWallet()

You can find an API reference of the available methods here

React (Token Auth)

Setup provider

You need to wrap your entire app with a NiftoryProvider and pass in an instance of NiftoryClient as follows:

  import { NiftoryClient } from "@niftory/sdk"
  import { NiftoryProvider } from "@niftory/sdk/react"


  // _app.tsx
  const authToken = "YOUR_AUTH_TOKEN"
  const client = useMemo(() => {
    return new NiftoryClient({
      appId: process.env.NEXT_PUBLIC_CLIENT_ID,
      environmentName: process.env.NEXT_PUBLIC_ENV,
      apiKey: process.env.NEXT_PUBLIC_API_KEY,
      authToken,
    })
  }, [authToken])

  return (
    <NiftoryProvider client={client}>
     ....
    </NiftoryProvider>)

Important Note: to use the react imports (providers and hooks) you need your compilerOptions in tsconfig moduleResolution to be set as nodenext

// tsconfig.json
{
  "compilerOptions": {
    ....

    "moduleResolution": "nodenext",
    ...
  },
  ...
}

Calling api with React hooks

The hooks are urql generated hooks and are always named in the format use[APIName]Query for queries and use[APIName]Mutation for mutations. For APIName you can view Niftory API docs here.

Example:

import { useWalletQuery, useRegisterWalletMutation, useNiftoryClient } from "@niftory/sdk/react"

const MyComponent = () => {
  // Query
  const [userWalletResponse, reExecuteQuery] = useWalletQuery()
  // Mutation
  const [{ data, fetching }, registerWallet] = useRegisterWalletMutation()
  // Use client directly
  const niftoryClient = useNiftoryClient()

  if (userWalletResponse.fetching) {
    return <div>...Loading</div>
  }

  const { wallet } = userWalletResponse.data

  return (
    <>
      {wallet && <p>Your wallet address is {wallet.address}</p>}{" "}
      {<button onClick={() => registerWallet({ address: "0x123456" })}>Register Wallet</button>}
    </>
  )
}
1.0.2

8 months ago

0.0.4-alpha.5

11 months ago

1.0.1

10 months ago

0.0.4-alpha.6

11 months ago

1.0.0

10 months ago

0.0.4-alpha.7

11 months ago

0.0.4-alpha.8

10 months ago

0.0.4-alpha.9

10 months ago

1.0.0-alpha.5

9 months ago

1.0.0-alpha.3

9 months ago

1.0.0-alpha.2

10 months ago

1.0.0-alpha.1

10 months ago

0.0.4-alpha.19

10 months ago

0.0.4-alpha.18

10 months ago

0.0.4-alpha.14

10 months ago

0.0.4-alpha.17

10 months ago

0.0.4-alpha.16

10 months ago

0.0.4-alpha.11

10 months ago

0.0.4-alpha.10

10 months ago

0.0.4-alpha.13

10 months ago

0.0.4-alpha.12

10 months ago

0.0.4-alpha.21

10 months ago

0.0.4-alpha.20

10 months ago

0.0.4-alpha.4

11 months ago

0.0.4-alpha.3

11 months ago

0.0.4-alpha.2

11 months ago

0.0.4-alpha.1

11 months ago

0.0.4-alpha.0

11 months ago

0.0.4

11 months ago

0.0.3-alpha.3

11 months ago

0.0.3-alpha.2

11 months ago

0.0.3-alpha.1

11 months ago

0.0.3

11 months ago

0.0.2-alpha.2

11 months ago

0.0.2-alpha.1

11 months ago

0.0.2

11 months ago

0.0.3-alpha.0

11 months ago

0.0.1-alpha.6

11 months ago

0.0.1-alpha.5

11 months ago

0.0.1-alpha.4

11 months ago

0.0.1-alpha.3

11 months ago

0.0.1-alpha.2

11 months ago

0.0.1-alpha.1

11 months ago

0.0.1-alpha.0

11 months ago

0.0.0

11 months ago

0.0.0-alpha.20

12 months ago

0.0.0-alpha.19

12 months ago

0.0.0-alpha.18

12 months ago

0.0.0-alpha.17

12 months ago

0.0.0-alpha.16

12 months ago

0.0.0-alpha.15

12 months ago

0.0.0-alpha.14

12 months ago

0.0.0-alpha.13

12 months ago

0.0.0-alpha.12

12 months ago

0.0.0-alpha.11

12 months ago

0.0.0-alpha.10

12 months ago

0.0.0-alpha.9

12 months ago

0.0.0-alpha.8

12 months ago

0.0.0-alpha.7

12 months ago

0.0.0-alpha.6

12 months ago

0.0.0-alpha.5

12 months ago

0.0.0-alpha.4

12 months ago

0.0.0-alpha.3

1 year ago

0.0.0-alpha.1

1 year ago

0.0.0-alpha.0

1 year ago