1.0.2 • Published 2 years ago

@niftory/sdk v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years 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

2 years ago

0.0.4-alpha.5

2 years ago

1.0.1

2 years ago

0.0.4-alpha.6

2 years ago

1.0.0

2 years ago

0.0.4-alpha.7

2 years ago

0.0.4-alpha.8

2 years ago

0.0.4-alpha.9

2 years ago

1.0.0-alpha.5

2 years ago

1.0.0-alpha.3

2 years ago

1.0.0-alpha.2

2 years ago

1.0.0-alpha.1

2 years ago

0.0.4-alpha.19

2 years ago

0.0.4-alpha.18

2 years ago

0.0.4-alpha.14

2 years ago

0.0.4-alpha.17

2 years ago

0.0.4-alpha.16

2 years ago

0.0.4-alpha.11

2 years ago

0.0.4-alpha.10

2 years ago

0.0.4-alpha.13

2 years ago

0.0.4-alpha.12

2 years ago

0.0.4-alpha.21

2 years ago

0.0.4-alpha.20

2 years ago

0.0.4-alpha.4

2 years ago

0.0.4-alpha.3

2 years ago

0.0.4-alpha.2

2 years ago

0.0.4-alpha.1

2 years ago

0.0.4-alpha.0

2 years ago

0.0.4

2 years ago

0.0.3-alpha.3

2 years ago

0.0.3-alpha.2

2 years ago

0.0.3-alpha.1

2 years ago

0.0.3

2 years ago

0.0.2-alpha.2

2 years ago

0.0.2-alpha.1

2 years ago

0.0.2

2 years ago

0.0.3-alpha.0

2 years ago

0.0.1-alpha.6

2 years ago

0.0.1-alpha.5

2 years ago

0.0.1-alpha.4

2 years ago

0.0.1-alpha.3

2 years ago

0.0.1-alpha.2

2 years ago

0.0.1-alpha.1

2 years ago

0.0.1-alpha.0

2 years ago

0.0.0

2 years ago

0.0.0-alpha.20

2 years ago

0.0.0-alpha.19

2 years ago

0.0.0-alpha.18

2 years ago

0.0.0-alpha.17

2 years ago

0.0.0-alpha.16

2 years ago

0.0.0-alpha.15

2 years ago

0.0.0-alpha.14

2 years ago

0.0.0-alpha.13

2 years ago

0.0.0-alpha.12

2 years ago

0.0.0-alpha.11

2 years ago

0.0.0-alpha.10

2 years ago

0.0.0-alpha.9

2 years ago

0.0.0-alpha.8

2 years ago

0.0.0-alpha.7

2 years ago

0.0.0-alpha.6

2 years ago

0.0.0-alpha.5

2 years ago

0.0.0-alpha.4

2 years ago

0.0.0-alpha.3

2 years ago

0.0.0-alpha.1

2 years ago

0.0.0-alpha.0

2 years ago