@niftykit/redeemable 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +63 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -19,3 +19,66 @@ yarn add @niftykit/redeemable
19
19
  ```html
20
20
  <script async src='https://unpkg.com/@niftykit/redeemable/dist/umd/index.js'></script>
21
21
  ```
22
+
23
+ ## How to use
24
+
25
+ Ensure you have your redeemable `tokenId` and your `signature`. Once you generate your redeemable link from NiiftyKit, you can get these values from your URL.
26
+
27
+ Example URL:
28
+
29
+ ```bash
30
+ https://app.niftykit.com/collections/your-collection/redeemables/1/0x5f635ae4051272d477a6ebbcdfd32d2d55a300004512c01873315194d853f15b29087799de88530240a0a0f17f5e9f8d6881b4b248ebc83c06ce7c33b9ef01971b
31
+ ```
32
+
33
+ In this case the `tokenId` is `1` and the signature is `0x5f635ae4051272d477a6ebbcdfd32d2d55a300004512c01873315194d853f15b29087799de88530240a0a0f17f5e9f8d6881b4b248ebc83c06ce7c33b9ef01971b`.
34
+
35
+ > Note: if you re-generate your redeemable link, you will get a new `signature` and need to update your code.
36
+
37
+ ```typescript
38
+ // using ethers.js
39
+ import { ethers } from 'ethers';
40
+
41
+ const provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
42
+ await provider.send('eth_requestAccounts', []);
43
+ const signer = provider.getSigner();
44
+
45
+ const tokenId = 1;
46
+ const signature = '0x5f635ae4051272d477a6ebbcdfd32d2d55a300004512c01873315194d853f15b29087799de88530240a0a0f17f5e9f8d6881b4b248ebc83c06ce7c33b9ef01971b';
47
+
48
+ const drop = await Redeemable.create(signer, contractAddress);
49
+
50
+ // get NFT
51
+ const nft = await drop.getRedeemable(tokenId);
52
+
53
+ // redeem 1 NFT
54
+ const trx = await drop.redeem(tokenId, 1, signature);
55
+ await trx.wait();
56
+
57
+ // burn NFT
58
+ await drop.burn(tokenId);
59
+
60
+ ```
61
+
62
+ ## API
63
+
64
+ ```typescript
65
+ class Redeemable {
66
+ static create(signerOrProvider: Signer | Provider, contractAddress: string): Promise<Redeemable | null>;
67
+ getRedeemable(tokenId: number): Promise<RedeemableData>;
68
+ redeem(tokenId: number, quantity: number, signature: string): Promise<ContractTransaction>;
69
+ burn(tokenId: number): Promise<ContractTransaction>;
70
+ }
71
+
72
+ interface RedeemableData {
73
+ index: number;
74
+ tokenURI: string;
75
+ price: ethers.BigNumber;
76
+ maxAmount: number;
77
+ maxPerWallet: number;
78
+ maxPerMint: number;
79
+ redeemedCount: number;
80
+ merkleRoot: string;
81
+ active: boolean;
82
+ nonce: ethers.BigNumber;
83
+ }
84
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@niftykit/redeemable",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "NiftyKit Redeemable SDK",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",