@helium/spl-utils 0.2.20 → 0.2.22-next.33

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 (62) hide show
  1. package/package.json +9 -9
  2. package/lib/cjs/anchorError.js +0 -265
  3. package/lib/cjs/anchorError.js.map +0 -1
  4. package/lib/cjs/constants.js +0 -11
  5. package/lib/cjs/constants.js.map +0 -1
  6. package/lib/cjs/executeRemoteTxn.js +0 -109
  7. package/lib/cjs/executeRemoteTxn.js.map +0 -1
  8. package/lib/cjs/extendBorsh.js +0 -33
  9. package/lib/cjs/extendBorsh.js.map +0 -1
  10. package/lib/cjs/index.js +0 -32
  11. package/lib/cjs/index.js.map +0 -1
  12. package/lib/cjs/mplAssetAPI.js +0 -146
  13. package/lib/cjs/mplAssetAPI.js.map +0 -1
  14. package/lib/cjs/proofArgsAndAccounts.js +0 -52
  15. package/lib/cjs/proofArgsAndAccounts.js.map +0 -1
  16. package/lib/cjs/token.js +0 -235
  17. package/lib/cjs/token.js.map +0 -1
  18. package/lib/cjs/transaction.js +0 -479
  19. package/lib/cjs/transaction.js.map +0 -1
  20. package/lib/cjs/utils.js +0 -116
  21. package/lib/cjs/utils.js.map +0 -1
  22. package/lib/esm/src/anchorError.js +0 -262
  23. package/lib/esm/src/anchorError.js.map +0 -1
  24. package/lib/esm/src/constants.js +0 -8
  25. package/lib/esm/src/constants.js.map +0 -1
  26. package/lib/esm/src/executeRemoteTxn.js +0 -79
  27. package/lib/esm/src/executeRemoteTxn.js.map +0 -1
  28. package/lib/esm/src/extendBorsh.js +0 -26
  29. package/lib/esm/src/extendBorsh.js.map +0 -1
  30. package/lib/esm/src/index.js +0 -10
  31. package/lib/esm/src/index.js.map +0 -1
  32. package/lib/esm/src/mplAssetAPI.js +0 -125
  33. package/lib/esm/src/mplAssetAPI.js.map +0 -1
  34. package/lib/esm/src/proofArgsAndAccounts.js +0 -37
  35. package/lib/esm/src/proofArgsAndAccounts.js.map +0 -1
  36. package/lib/esm/src/token.js +0 -208
  37. package/lib/esm/src/token.js.map +0 -1
  38. package/lib/esm/src/transaction.js +0 -415
  39. package/lib/esm/src/transaction.js.map +0 -1
  40. package/lib/esm/src/utils.js +0 -73
  41. package/lib/esm/src/utils.js.map +0 -1
  42. package/lib/esm/tsconfig.esm.tsbuildinfo +0 -1
  43. package/lib/types/src/anchorError.d.ts +0 -9
  44. package/lib/types/src/anchorError.d.ts.map +0 -1
  45. package/lib/types/src/constants.d.ts +0 -7
  46. package/lib/types/src/constants.d.ts.map +0 -1
  47. package/lib/types/src/executeRemoteTxn.d.ts +0 -23
  48. package/lib/types/src/executeRemoteTxn.d.ts.map +0 -1
  49. package/lib/types/src/extendBorsh.d.ts +0 -3
  50. package/lib/types/src/extendBorsh.d.ts.map +0 -1
  51. package/lib/types/src/index.d.ts +0 -12
  52. package/lib/types/src/index.d.ts.map +0 -1
  53. package/lib/types/src/mplAssetAPI.d.ts +0 -69
  54. package/lib/types/src/mplAssetAPI.d.ts.map +0 -1
  55. package/lib/types/src/proofArgsAndAccounts.d.ts +0 -21
  56. package/lib/types/src/proofArgsAndAccounts.d.ts.map +0 -1
  57. package/lib/types/src/token.d.ts +0 -21
  58. package/lib/types/src/token.d.ts.map +0 -1
  59. package/lib/types/src/transaction.d.ts +0 -37
  60. package/lib/types/src/transaction.d.ts.map +0 -1
  61. package/lib/types/src/utils.d.ts +0 -19
  62. package/lib/types/src/utils.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mplAssetAPI.js","sourceRoot":"","sources":["../../src/mplAssetAPI.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.proofArgsAndAccounts = void 0;
13
- const mplAssetAPI_1 = require("./mplAssetAPI");
14
- const spl_account_compression_1 = require("@solana/spl-account-compression");
15
- function proofArgsAndAccounts({ connection, assetId, assetEndpoint, getAssetFn = mplAssetAPI_1.getAsset, getAssetProofFn = mplAssetAPI_1.getAssetProof, }) {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- // @ts-ignore
18
- const endpoint = assetEndpoint || connection._rpcEndpoint;
19
- const asset = yield getAssetFn(endpoint, assetId);
20
- if (!asset) {
21
- throw new Error("No asset with ID " + assetId.toBase58());
22
- }
23
- const assetProof = yield getAssetProofFn(endpoint, assetId);
24
- if (!assetProof) {
25
- throw new Error("No asset proof with ID " + assetId.toBase58());
26
- }
27
- const { compression: { leafId }, } = asset;
28
- const { root, proof, leaf, treeId } = assetProof;
29
- const canopy = yield (yield spl_account_compression_1.ConcurrentMerkleTreeAccount.fromAccountAddress(connection, treeId)).getCanopyDepth();
30
- return {
31
- asset,
32
- args: {
33
- dataHash: asset.compression.dataHash.toJSON().data,
34
- creatorHash: asset.compression.creatorHash.toJSON().data,
35
- root: root.toBuffer().toJSON().data,
36
- index: leafId,
37
- },
38
- accounts: {
39
- merkleTree: treeId,
40
- },
41
- remainingAccounts: proof.slice(0, proof.length - canopy).map((p) => {
42
- return {
43
- pubkey: p,
44
- isWritable: false,
45
- isSigner: false,
46
- };
47
- }),
48
- };
49
- });
50
- }
51
- exports.proofArgsAndAccounts = proofArgsAndAccounts;
52
- //# sourceMappingURL=proofArgsAndAccounts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proofArgsAndAccounts.js","sourceRoot":"","sources":["../../src/proofArgsAndAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA2E;AAC3E,6EAA8E;AAa9E,SAAsB,oBAAoB,CAAC,EACzC,UAAU,EACV,OAAO,EACP,aAAa,EACb,UAAU,GAAG,sBAAQ,EACrB,eAAe,GAAG,2BAAa,GACN;;QAWzB,aAAa;QACb,MAAM,QAAQ,GAAG,aAAa,IAAI,UAAU,CAAC,YAAY,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjE;QACD,MAAM,EACJ,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,KAAK,CAAC;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,qDAA2B,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CACzE,CAAC,cAAc,EAAE,CAAC;QAEnB,OAAO;YACL,KAAK;YACL,IAAI,EAAE;gBACJ,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAS,CAAC,MAAM,EAAE,CAAC,IAAI;gBACnD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAY,CAAC,MAAM,EAAE,CAAC,IAAI;gBACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;gBACnC,KAAK,EAAE,MAAO;aACf;YACD,QAAQ,EAAE;gBACR,UAAU,EAAE,MAAM;aACnB;YACD,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjE,OAAO;oBACL,MAAM,EAAE,CAAC;oBACT,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;CAAA;AAtDD,oDAsDC"}
package/lib/cjs/token.js DELETED
@@ -1,235 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createNft = exports.createMint = exports.createMintInstructions = exports.createAtaAndMint = exports.createAtaAndMintInstructions = exports.createAtaAndTransfer = exports.createAtaAndTransferInstructions = exports.mintTo = void 0;
13
- const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
14
- const spl_token_1 = require("@solana/spl-token");
15
- const web3_js_1 = require("@solana/web3.js");
16
- function mintTo(provider, mint, amount, destination) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const mintTx = new web3_js_1.Transaction();
19
- mintTx.add((0, spl_token_1.createMintToInstruction)(mint, destination, provider.wallet.publicKey, amount));
20
- try {
21
- yield provider.sendAndConfirm(mintTx);
22
- }
23
- catch (e) {
24
- console.log("Error", e, e.logs);
25
- if (e.logs) {
26
- console.error(e.logs.join("\n"));
27
- }
28
- throw e;
29
- }
30
- });
31
- }
32
- exports.mintTo = mintTo;
33
- function createAtaAndTransferInstructions(provider, mint, amount, from = provider.wallet.publicKey, to = provider.wallet.publicKey, payer = provider.wallet.publicKey) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const toAta = yield (0, spl_token_1.getAssociatedTokenAddress)(mint, to, true);
36
- const instructions = [];
37
- if (!(yield provider.connection.getAccountInfo(toAta))) {
38
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payer, toAta, to, mint));
39
- }
40
- const fromAta = yield (0, spl_token_1.getAssociatedTokenAddress)(mint, from, true);
41
- if (amount != 0) {
42
- instructions.push((0, spl_token_1.createTransferInstruction)(fromAta, toAta, from, BigInt(amount.toString())));
43
- }
44
- return {
45
- instructions,
46
- toAta,
47
- };
48
- });
49
- }
50
- exports.createAtaAndTransferInstructions = createAtaAndTransferInstructions;
51
- function createAtaAndTransfer(provider, mint, amount, from = provider.wallet.publicKey, to = provider.wallet.publicKey, authority = provider.wallet.publicKey, payer = provider.wallet.publicKey, confirmOptions) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const transferIx = new web3_js_1.Transaction();
54
- const { instructions, toAta } = yield createAtaAndTransferInstructions(provider, mint, amount, from, to, payer);
55
- if (instructions.length > 0)
56
- transferIx.add(...instructions);
57
- try {
58
- if (instructions.length > 0)
59
- yield provider.sendAndConfirm(transferIx, undefined, confirmOptions);
60
- }
61
- catch (e) {
62
- console.log("Error", e, e.logs);
63
- if (e.logs) {
64
- console.error(e.logs.join("\n"));
65
- }
66
- throw e;
67
- }
68
- return toAta;
69
- });
70
- }
71
- exports.createAtaAndTransfer = createAtaAndTransfer;
72
- function createAtaAndMintInstructions(provider, mint, amount, to = provider.wallet.publicKey, authority = provider.wallet.publicKey, payer = provider.wallet.publicKey) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const ata = yield (0, spl_token_1.getAssociatedTokenAddress)(mint, to, true);
75
- const instructions = [];
76
- if (!(yield provider.connection.getAccountInfo(ata))) {
77
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payer, ata, to, mint));
78
- }
79
- if (amount != 0) {
80
- instructions.push((0, spl_token_1.createMintToInstruction)(mint, ata, authority, BigInt(amount.toString())));
81
- }
82
- return {
83
- instructions,
84
- ata,
85
- };
86
- });
87
- }
88
- exports.createAtaAndMintInstructions = createAtaAndMintInstructions;
89
- function createAtaAndMint(provider, mint, amount, to = provider.wallet.publicKey, authority = provider.wallet.publicKey, payer = provider.wallet.publicKey, confirmOptions) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- const mintTx = new web3_js_1.Transaction();
92
- const { instructions, ata } = yield createAtaAndMintInstructions(provider, mint, amount, to, authority, payer);
93
- if (instructions.length > 0)
94
- mintTx.add(...instructions);
95
- try {
96
- if (instructions.length > 0)
97
- yield provider.sendAndConfirm(mintTx, undefined, confirmOptions);
98
- }
99
- catch (e) {
100
- console.log("Error", e, e.logs);
101
- if (e.logs) {
102
- console.error(e.logs.join("\n"));
103
- }
104
- throw e;
105
- }
106
- return ata;
107
- });
108
- }
109
- exports.createAtaAndMint = createAtaAndMint;
110
- function createMintInstructions(provider, decimals, mintAuthority, freezeAuthority = null, mintKeypair = web3_js_1.Keypair.generate()) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- const mintKey = mintKeypair.publicKey;
113
- return [
114
- web3_js_1.SystemProgram.createAccount({
115
- fromPubkey: provider.wallet.publicKey,
116
- newAccountPubkey: mintKey,
117
- space: 82,
118
- lamports: yield provider.connection.getMinimumBalanceForRentExemption(82),
119
- programId: spl_token_1.TOKEN_PROGRAM_ID,
120
- }),
121
- yield (0, spl_token_1.createInitializeMintInstruction)(mintKeypair.publicKey, decimals, mintAuthority, freezeAuthority),
122
- ];
123
- });
124
- }
125
- exports.createMintInstructions = createMintInstructions;
126
- function createMint(provider, decimals, mintAuthority, freezeAuthority = null, mintKeypair = web3_js_1.Keypair.generate()) {
127
- return __awaiter(this, void 0, void 0, function* () {
128
- const tx = new web3_js_1.Transaction();
129
- tx.add(...(yield createMintInstructions(provider, decimals, mintAuthority, freezeAuthority, mintKeypair)));
130
- try {
131
- yield provider.sendAndConfirm(tx, [mintKeypair]);
132
- }
133
- catch (e) {
134
- console.log("Error", e, e.logs);
135
- if (e.logs) {
136
- console.error(e.logs.join("\n"));
137
- }
138
- throw e;
139
- }
140
- return mintKeypair.publicKey;
141
- });
142
- }
143
- exports.createMint = createMint;
144
- function createNft(provider, recipient, data = {}, collectionKey, mintKeypair = web3_js_1.Keypair.generate(), holderKey = provider.wallet.publicKey) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- const mintKey = mintKeypair.publicKey;
147
- const instructions = yield createMintInstructions(provider, 0, provider.wallet.publicKey, provider.wallet.publicKey, mintKeypair);
148
- const [metadata] = web3_js_1.PublicKey.findProgramAddressSync([
149
- Buffer.from("metadata", "utf8"),
150
- mpl_token_metadata_1.PROGRAM_ID.toBuffer(),
151
- mintKey.toBuffer(),
152
- ], mpl_token_metadata_1.PROGRAM_ID);
153
- instructions.push(yield (0, mpl_token_metadata_1.createCreateMetadataAccountV3Instruction)({
154
- metadata,
155
- mint: mintKey,
156
- mintAuthority: provider.wallet.publicKey,
157
- payer: provider.wallet.publicKey,
158
- updateAuthority: provider.wallet.publicKey,
159
- }, {
160
- createMetadataAccountArgsV3: {
161
- data: Object.assign({ name: "test", symbol: "TST", uri: "https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP/dc.json", sellerFeeBasisPoints: 10, creators: [
162
- {
163
- address: holderKey,
164
- verified: true,
165
- share: 100,
166
- },
167
- ], collection: collectionKey
168
- ? { key: collectionKey, verified: false }
169
- : null, uses: null }, data),
170
- isMutable: true,
171
- collectionDetails: null,
172
- },
173
- }));
174
- const { instructions: mintInstrs } = yield createAtaAndMintInstructions(provider, mintKeypair.publicKey, 1, recipient);
175
- instructions.push(...mintInstrs);
176
- if (collectionKey) {
177
- const [collectionMetadataAccount] = web3_js_1.PublicKey.findProgramAddressSync([
178
- Buffer.from("metadata", "utf8"),
179
- mpl_token_metadata_1.PROGRAM_ID.toBuffer(),
180
- collectionKey.toBuffer(),
181
- ], mpl_token_metadata_1.PROGRAM_ID);
182
- const [collectionMasterEdition] = web3_js_1.PublicKey.findProgramAddressSync([
183
- Buffer.from("metadata", "utf8"),
184
- mpl_token_metadata_1.PROGRAM_ID.toBuffer(),
185
- collectionKey.toBuffer(),
186
- Buffer.from("edition", "utf8"),
187
- ], mpl_token_metadata_1.PROGRAM_ID);
188
- const instruction = (0, mpl_token_metadata_1.createVerifyCollectionInstruction)({
189
- metadata: metadata,
190
- collectionAuthority: provider.wallet.publicKey,
191
- payer: provider.wallet.publicKey,
192
- collectionMint: collectionKey,
193
- collection: collectionMetadataAccount,
194
- collectionMasterEditionAccount: collectionMasterEdition,
195
- });
196
- instructions.push(instruction);
197
- }
198
- const [edition] = web3_js_1.PublicKey.findProgramAddressSync([
199
- Buffer.from("metadata", "utf8"),
200
- mpl_token_metadata_1.PROGRAM_ID.toBuffer(),
201
- mintKey.toBuffer(),
202
- Buffer.from("edition", "utf8"),
203
- ], mpl_token_metadata_1.PROGRAM_ID);
204
- instructions.push((0, mpl_token_metadata_1.createCreateMasterEditionV3Instruction)({
205
- edition,
206
- mint: mintKey,
207
- updateAuthority: provider.wallet.publicKey,
208
- mintAuthority: provider.wallet.publicKey,
209
- payer: provider.wallet.publicKey,
210
- metadata,
211
- }, {
212
- createMasterEditionArgs: {
213
- maxSupply: 0,
214
- },
215
- }));
216
- const tx = new web3_js_1.Transaction();
217
- tx.add(...instructions);
218
- try {
219
- yield provider.sendAndConfirm(tx, [mintKeypair]);
220
- }
221
- catch (e) {
222
- console.log("Error", e, e.logs);
223
- if (e.logs) {
224
- console.error(e.logs.join("\n"));
225
- }
226
- throw e;
227
- }
228
- return {
229
- mintKey,
230
- collectionKey,
231
- };
232
- });
233
- }
234
- exports.createNft = createNft;
235
- //# sourceMappingURL=token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/token.ts"],"names":[],"mappings":"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"}