@helium/spl-utils 0.2.22-next.37 → 0.2.22-next.42

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.
package/lib/cjs/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.proofArgsAndAccounts = exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProof = exports.getAssets = exports.getAsset = void 0;
17
+ exports.proofArgsAndAccounts = exports.getAssetProofBatch = exports.getAssetBatch = exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProof = exports.getAssets = exports.getAsset = void 0;
18
18
  __exportStar(require("./extendBorsh"), exports);
19
19
  __exportStar(require("./transaction"), exports);
20
20
  __exportStar(require("./anchorError"), exports);
@@ -28,6 +28,8 @@ Object.defineProperty(exports, "getAssets", { enumerable: true, get: function ()
28
28
  Object.defineProperty(exports, "getAssetProof", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetProof; } });
29
29
  Object.defineProperty(exports, "getAssetsByOwner", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetsByOwner; } });
30
30
  Object.defineProperty(exports, "searchAssets", { enumerable: true, get: function () { return mplAssetAPI_1.searchAssets; } });
31
+ Object.defineProperty(exports, "getAssetBatch", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetBatch; } });
32
+ Object.defineProperty(exports, "getAssetProofBatch", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetProofBatch; } });
31
33
  var proofArgsAndAccounts_1 = require("./proofArgsAndAccounts");
32
34
  Object.defineProperty(exports, "proofArgsAndAccounts", { enumerable: true, get: function () { return proofArgsAndAccounts_1.proofArgsAndAccounts; } });
33
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,qDAAmC;AACnC,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B;AAQ5B,6CAMuB;AALrB,uGAAA,QAAQ,OAAA;AACR,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AAGd,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,qDAAmC;AACnC,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B;AAQ5B,6CAQuB;AAPrB,uGAAA,QAAQ,OAAA;AACR,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,iHAAA,kBAAkB,OAAA;AAGpB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProof = exports.getAssets = exports.getAsset = void 0;
26
+ exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProofBatch = exports.getAssetProof = exports.getAssets = exports.getAssetBatch = exports.getAsset = void 0;
27
27
  const web3_js_1 = require("@solana/web3.js");
28
28
  const axios_1 = __importDefault(require("axios"));
29
29
  // @ts-ignore
@@ -32,14 +32,14 @@ function getAsset(url, assetId) {
32
32
  return __awaiter(this, void 0, void 0, function* () {
33
33
  try {
34
34
  const response = yield axios_1.default.post(url, {
35
- jsonrpc: '2.0',
36
- method: 'getAsset',
37
- id: 'rpd-op-123',
35
+ jsonrpc: "2.0",
36
+ method: "getAsset",
37
+ id: "rpd-op-123",
38
38
  params: { id: assetId.toBase58() },
39
39
  headers: {
40
- 'Cache-Control': 'no-cache',
41
- Pragma: 'no-cache',
42
- Expires: '0',
40
+ "Cache-Control": "no-cache",
41
+ Pragma: "no-cache",
42
+ Expires: "0",
43
43
  },
44
44
  });
45
45
  const result = response.data.result;
@@ -54,6 +54,32 @@ function getAsset(url, assetId) {
54
54
  });
55
55
  }
56
56
  exports.getAsset = getAsset;
57
+ function getAssetBatch(url, assetIds) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ try {
60
+ const response = yield axios_1.default.post(url, {
61
+ jsonrpc: "2.0",
62
+ method: "getAssetBatch",
63
+ id: "rpd-op-123",
64
+ params: { ids: assetIds.map((assetId) => assetId.toBase58()) },
65
+ headers: {
66
+ "Cache-Control": "no-cache",
67
+ Pragma: "no-cache",
68
+ Expires: "0",
69
+ },
70
+ });
71
+ const result = response.data.result;
72
+ if (result) {
73
+ return result.map(toAsset);
74
+ }
75
+ }
76
+ catch (error) {
77
+ console.error(error);
78
+ throw error;
79
+ }
80
+ });
81
+ }
82
+ exports.getAssetBatch = getAssetBatch;
57
83
  function getAssets(url, assetIds) {
58
84
  return __awaiter(this, void 0, void 0, function* () {
59
85
  try {
@@ -61,21 +87,21 @@ function getAssets(url, assetIds) {
61
87
  throw new Error(`Can only batch 1000 at a time, was given ${assetIds.length}`);
62
88
  }
63
89
  const batch = assetIds.map((assetId, i) => ({
64
- jsonrpc: '2.0',
90
+ jsonrpc: "2.0",
65
91
  id: `get-asset-${i}`,
66
- method: 'getAsset',
92
+ method: "getAsset",
67
93
  params: {
68
94
  id: assetId.toBase58(),
69
95
  },
70
96
  }));
71
97
  const response = yield (0, axios_1.default)({
72
98
  url,
73
- method: 'POST',
99
+ method: "POST",
74
100
  headers: {
75
- 'Content-Type': 'application/json',
76
- 'Cache-Control': 'no-cache',
77
- Pragma: 'no-cache',
78
- Expires: '0',
101
+ "Content-Type": "application/json",
102
+ "Cache-Control": "no-cache",
103
+ Pragma: "no-cache",
104
+ Expires: "0",
79
105
  },
80
106
  data: JSON.stringify(batch),
81
107
  });
@@ -106,14 +132,14 @@ function getAssetProof(url, assetId) {
106
132
  return __awaiter(this, void 0, void 0, function* () {
107
133
  try {
108
134
  const response = yield axios_1.default.post(url, {
109
- jsonrpc: '2.0',
110
- method: 'getAssetProof',
111
- id: 'rpd-op-123',
135
+ jsonrpc: "2.0",
136
+ method: "getAssetProof",
137
+ id: "rpd-op-123",
112
138
  params: { id: assetId.toBase58() },
113
139
  headers: {
114
- 'Cache-Control': 'no-cache',
115
- Pragma: 'no-cache',
116
- Expires: '0',
140
+ "Cache-Control": "no-cache",
141
+ Pragma: "no-cache",
142
+ Expires: "0",
117
143
  },
118
144
  });
119
145
  const result = response.data.result;
@@ -134,19 +160,54 @@ function getAssetProof(url, assetId) {
134
160
  });
135
161
  }
136
162
  exports.getAssetProof = getAssetProof;
137
- function getAssetsByOwner(url, wallet, { sortBy = { sortBy: 'created', sortDirection: 'asc' }, limit = 50, page = 1, before = '', after = '', } = {}) {
163
+ function getAssetProofBatch(url, assetIds) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ try {
166
+ const response = yield axios_1.default.post(url, {
167
+ jsonrpc: "2.0",
168
+ method: "getAssetProofBatch",
169
+ id: "rpd-op-123",
170
+ params: { ids: assetIds.map((assetId) => assetId.toBase58()) },
171
+ headers: {
172
+ "Cache-Control": "no-cache",
173
+ Pragma: "no-cache",
174
+ Expires: "0",
175
+ },
176
+ });
177
+ const result = response.data.result;
178
+ if (result) {
179
+ return Object.entries(result).reduce((acc, [k, r]) => {
180
+ acc[k] = {
181
+ root: new web3_js_1.PublicKey(r.root),
182
+ proof: r.proof.map((p) => new web3_js_1.PublicKey(p)),
183
+ nodeIndex: r.node_index,
184
+ leaf: new web3_js_1.PublicKey(r.leaf),
185
+ treeId: new web3_js_1.PublicKey(r.tree_id),
186
+ };
187
+ return acc;
188
+ }, {});
189
+ }
190
+ }
191
+ catch (error) {
192
+ console.error(error);
193
+ throw error;
194
+ }
195
+ });
196
+ }
197
+ exports.getAssetProofBatch = getAssetProofBatch;
198
+ function getAssetsByOwner(url, wallet, { sortBy = { sortBy: "created", sortDirection: "asc" }, limit = 50, page = 1, before = "", after = "", } = {}) {
138
199
  var _a;
139
200
  return __awaiter(this, void 0, void 0, function* () {
140
201
  try {
141
202
  const response = yield axios_1.default.post(url, {
142
- jsonrpc: '2.0',
143
- method: 'getAssetsByOwner',
144
- id: 'rpd-op-123',
203
+ jsonrpc: "2.0",
204
+ method: "getAssetsByOwner",
205
+ id: "rpd-op-123",
145
206
  params: [wallet, sortBy, limit, page, before, after],
146
207
  headers: {
147
- 'Cache-Control': 'no-cache',
148
- Pragma: 'no-cache',
149
- Expires: '0',
208
+ "Cache-Control": "no-cache",
209
+ Pragma: "no-cache",
210
+ Expires: "0",
150
211
  },
151
212
  });
152
213
  return (_a = response.data.result) === null || _a === void 0 ? void 0 : _a.items.map(toAsset);
@@ -160,20 +221,20 @@ function getAssetsByOwner(url, wallet, { sortBy = { sortBy: 'created', sortDirec
160
221
  exports.getAssetsByOwner = getAssetsByOwner;
161
222
  function searchAssets(url, _a) {
162
223
  var _b;
163
- var { creatorVerified = true, sortBy = { sortBy: 'created', sortDirection: 'asc' }, page = 1 } = _a, rest = __rest(_a, ["creatorVerified", "sortBy", "page"]);
224
+ var { creatorVerified = true, sortBy = { sortBy: "created", sortDirection: "asc" }, page = 1 } = _a, rest = __rest(_a, ["creatorVerified", "sortBy", "page"]);
164
225
  return __awaiter(this, void 0, void 0, function* () {
165
226
  try {
166
227
  const response = yield axios_1.default.post(url, {
167
- jsonrpc: '2.0',
168
- method: 'searchAssets',
169
- id: 'get-assets-op-1',
228
+ jsonrpc: "2.0",
229
+ method: "searchAssets",
230
+ id: "get-assets-op-1",
170
231
  params: Object.assign({ page,
171
232
  creatorVerified,
172
233
  sortBy }, rest),
173
234
  headers: {
174
- 'Cache-Control': 'no-cache',
175
- Pragma: 'no-cache',
176
- Expires: '0',
235
+ "Cache-Control": "no-cache",
236
+ Pragma: "no-cache",
237
+ Expires: "0",
177
238
  },
178
239
  });
179
240
  return (_b = response.data.result) === null || _b === void 0 ? void 0 : _b.items.map(toAsset);
@@ -1 +1 @@
1
- {"version":3,"file":"mplAssetAPI.js","sourceRoot":"","sources":["../../src/mplAssetAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mplAssetAPI.js","sourceRoot":"","sources":["../../src/mplAssetAPI.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.proofArgsAndAccounts = void 0;
13
13
  const mplAssetAPI_1 = require("./mplAssetAPI");
14
14
  const spl_account_compression_1 = require("@solana/spl-account-compression");
15
+ // Cache canopy depths so we don't parse large tree accounts over and over
16
+ const canopyToDepthCache = {};
15
17
  function proofArgsAndAccounts({ connection, assetId, assetEndpoint, getAssetFn = mplAssetAPI_1.getAsset, getAssetProofFn = mplAssetAPI_1.getAssetProof, }) {
16
18
  return __awaiter(this, void 0, void 0, function* () {
17
19
  // @ts-ignore
@@ -25,8 +27,11 @@ function proofArgsAndAccounts({ connection, assetId, assetEndpoint, getAssetFn =
25
27
  throw new Error("No asset proof with ID " + assetId.toBase58());
26
28
  }
27
29
  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
+ const { root, proof, treeId } = assetProof;
31
+ if (typeof canopyToDepthCache[treeId.toBase58()] === "undefined") {
32
+ canopyToDepthCache[treeId.toBase58()] = yield (yield spl_account_compression_1.ConcurrentMerkleTreeAccount.fromAccountAddress(connection, treeId)).getCanopyDepth();
33
+ }
34
+ const canopy = canopyToDepthCache[treeId.toBase58()];
30
35
  return {
31
36
  asset,
32
37
  args: {
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"proofArgsAndAccounts.js","sourceRoot":"","sources":["../../src/proofArgsAndAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA2E;AAC3E,6EAA8E;AAa9E,0EAA0E;AAC1E,MAAM,kBAAkB,GAA2B,EAAE,CAAC;AACtD,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,MAAM,EAAE,GAAG,UAAU,CAAC;QAC3C,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,WAAW,EAAE;YAChE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAC5C,MAAM,qDAA2B,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CACzE,CAAC,cAAc,EAAE,CAAC;SACpB;QACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,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;AAxDD,oDAwDC"}
@@ -5,6 +5,6 @@ export * from './executeRemoteTxn';
5
5
  export * from './utils';
6
6
  export * from './token';
7
7
  export * from './constants';
8
- export { getAsset, getAssets, getAssetProof, getAssetsByOwner, searchAssets, } from './mplAssetAPI';
8
+ export { getAsset, getAssets, getAssetProof, getAssetsByOwner, searchAssets, getAssetBatch, getAssetProofBatch, } from './mplAssetAPI';
9
9
  export { proofArgsAndAccounts } from './proofArgsAndAccounts';
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAQ5B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAQ5B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,18 +1,18 @@
1
- import { PublicKey } from '@solana/web3.js';
2
- import axios from 'axios';
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import axios from "axios";
3
3
  // @ts-ignore
4
- import base58 from 'bs58';
4
+ import base58 from "bs58";
5
5
  export async function getAsset(url, assetId) {
6
6
  try {
7
7
  const response = await axios.post(url, {
8
- jsonrpc: '2.0',
9
- method: 'getAsset',
10
- id: 'rpd-op-123',
8
+ jsonrpc: "2.0",
9
+ method: "getAsset",
10
+ id: "rpd-op-123",
11
11
  params: { id: assetId.toBase58() },
12
12
  headers: {
13
- 'Cache-Control': 'no-cache',
14
- Pragma: 'no-cache',
15
- Expires: '0',
13
+ "Cache-Control": "no-cache",
14
+ Pragma: "no-cache",
15
+ Expires: "0",
16
16
  },
17
17
  });
18
18
  const result = response.data.result;
@@ -25,27 +25,50 @@ export async function getAsset(url, assetId) {
25
25
  throw error;
26
26
  }
27
27
  }
28
+ export async function getAssetBatch(url, assetIds) {
29
+ try {
30
+ const response = await axios.post(url, {
31
+ jsonrpc: "2.0",
32
+ method: "getAssetBatch",
33
+ id: "rpd-op-123",
34
+ params: { ids: assetIds.map((assetId) => assetId.toBase58()) },
35
+ headers: {
36
+ "Cache-Control": "no-cache",
37
+ Pragma: "no-cache",
38
+ Expires: "0",
39
+ },
40
+ });
41
+ const result = response.data.result;
42
+ if (result) {
43
+ return result.map(toAsset);
44
+ }
45
+ }
46
+ catch (error) {
47
+ console.error(error);
48
+ throw error;
49
+ }
50
+ }
28
51
  export async function getAssets(url, assetIds) {
29
52
  try {
30
53
  if (assetIds.length > 1000) {
31
54
  throw new Error(`Can only batch 1000 at a time, was given ${assetIds.length}`);
32
55
  }
33
56
  const batch = assetIds.map((assetId, i) => ({
34
- jsonrpc: '2.0',
57
+ jsonrpc: "2.0",
35
58
  id: `get-asset-${i}`,
36
- method: 'getAsset',
59
+ method: "getAsset",
37
60
  params: {
38
61
  id: assetId.toBase58(),
39
62
  },
40
63
  }));
41
64
  const response = await axios({
42
65
  url,
43
- method: 'POST',
66
+ method: "POST",
44
67
  headers: {
45
- 'Content-Type': 'application/json',
46
- 'Cache-Control': 'no-cache',
47
- Pragma: 'no-cache',
48
- Expires: '0',
68
+ "Content-Type": "application/json",
69
+ "Cache-Control": "no-cache",
70
+ Pragma: "no-cache",
71
+ Expires: "0",
49
72
  },
50
73
  data: JSON.stringify(batch),
51
74
  });
@@ -93,14 +116,14 @@ function toAsset(result) {
93
116
  export async function getAssetProof(url, assetId) {
94
117
  try {
95
118
  const response = await axios.post(url, {
96
- jsonrpc: '2.0',
97
- method: 'getAssetProof',
98
- id: 'rpd-op-123',
119
+ jsonrpc: "2.0",
120
+ method: "getAssetProof",
121
+ id: "rpd-op-123",
99
122
  params: { id: assetId.toBase58() },
100
123
  headers: {
101
- 'Cache-Control': 'no-cache',
102
- Pragma: 'no-cache',
103
- Expires: '0',
124
+ "Cache-Control": "no-cache",
125
+ Pragma: "no-cache",
126
+ Expires: "0",
104
127
  },
105
128
  });
106
129
  const result = response.data.result;
@@ -119,17 +142,49 @@ export async function getAssetProof(url, assetId) {
119
142
  throw error;
120
143
  }
121
144
  }
122
- export async function getAssetsByOwner(url, wallet, { sortBy = { sortBy: 'created', sortDirection: 'asc' }, limit = 50, page = 1, before = '', after = '', } = {}) {
145
+ export async function getAssetProofBatch(url, assetIds) {
146
+ try {
147
+ const response = await axios.post(url, {
148
+ jsonrpc: "2.0",
149
+ method: "getAssetProofBatch",
150
+ id: "rpd-op-123",
151
+ params: { ids: assetIds.map((assetId) => assetId.toBase58()) },
152
+ headers: {
153
+ "Cache-Control": "no-cache",
154
+ Pragma: "no-cache",
155
+ Expires: "0",
156
+ },
157
+ });
158
+ const result = response.data.result;
159
+ if (result) {
160
+ return Object.entries(result).reduce((acc, [k, r]) => {
161
+ acc[k] = {
162
+ root: new PublicKey(r.root),
163
+ proof: r.proof.map((p) => new PublicKey(p)),
164
+ nodeIndex: r.node_index,
165
+ leaf: new PublicKey(r.leaf),
166
+ treeId: new PublicKey(r.tree_id),
167
+ };
168
+ return acc;
169
+ }, {});
170
+ }
171
+ }
172
+ catch (error) {
173
+ console.error(error);
174
+ throw error;
175
+ }
176
+ }
177
+ export async function getAssetsByOwner(url, wallet, { sortBy = { sortBy: "created", sortDirection: "asc" }, limit = 50, page = 1, before = "", after = "", } = {}) {
123
178
  try {
124
179
  const response = await axios.post(url, {
125
- jsonrpc: '2.0',
126
- method: 'getAssetsByOwner',
127
- id: 'rpd-op-123',
180
+ jsonrpc: "2.0",
181
+ method: "getAssetsByOwner",
182
+ id: "rpd-op-123",
128
183
  params: [wallet, sortBy, limit, page, before, after],
129
184
  headers: {
130
- 'Cache-Control': 'no-cache',
131
- Pragma: 'no-cache',
132
- Expires: '0',
185
+ "Cache-Control": "no-cache",
186
+ Pragma: "no-cache",
187
+ Expires: "0",
133
188
  },
134
189
  });
135
190
  return response.data.result?.items.map(toAsset);
@@ -139,12 +194,12 @@ export async function getAssetsByOwner(url, wallet, { sortBy = { sortBy: 'create
139
194
  throw error;
140
195
  }
141
196
  }
142
- export async function searchAssets(url, { creatorVerified = true, sortBy = { sortBy: 'created', sortDirection: 'asc' }, page = 1, ...rest }) {
197
+ export async function searchAssets(url, { creatorVerified = true, sortBy = { sortBy: "created", sortDirection: "asc" }, page = 1, ...rest }) {
143
198
  try {
144
199
  const response = await axios.post(url, {
145
- jsonrpc: '2.0',
146
- method: 'searchAssets',
147
- id: 'get-assets-op-1',
200
+ jsonrpc: "2.0",
201
+ method: "searchAssets",
202
+ id: "get-assets-op-1",
148
203
  params: {
149
204
  page,
150
205
  creatorVerified,
@@ -152,9 +207,9 @@ export async function searchAssets(url, { creatorVerified = true, sortBy = { sor
152
207
  ...rest,
153
208
  },
154
209
  headers: {
155
- 'Cache-Control': 'no-cache',
156
- Pragma: 'no-cache',
157
- Expires: '0',
210
+ "Cache-Control": "no-cache",
211
+ Pragma: "no-cache",
212
+ Expires: "0",
158
213
  },
159
214
  });
160
215
  return response.data.result?.items.map(toAsset);
@@ -1 +1 @@
1
- {"version":3,"file":"mplAssetAPI.js","sourceRoot":"","sources":["../../../src/mplAssetAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mplAssetAPI.js","sourceRoot":"","sources":["../../../src/mplAssetAPI.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { getAsset, getAssetProof } from "./mplAssetAPI";
2
2
  import { ConcurrentMerkleTreeAccount } from "@solana/spl-account-compression";
3
+ // Cache canopy depths so we don't parse large tree accounts over and over
4
+ const canopyToDepthCache = {};
3
5
  export async function proofArgsAndAccounts({ connection, assetId, assetEndpoint, getAssetFn = getAsset, getAssetProofFn = getAssetProof, }) {
4
6
  // @ts-ignore
5
7
  const endpoint = assetEndpoint || connection._rpcEndpoint;
@@ -12,8 +14,11 @@ export async function proofArgsAndAccounts({ connection, assetId, assetEndpoint,
12
14
  throw new Error("No asset proof with ID " + assetId.toBase58());
13
15
  }
14
16
  const { compression: { leafId }, } = asset;
15
- const { root, proof, leaf, treeId } = assetProof;
16
- const canopy = await (await ConcurrentMerkleTreeAccount.fromAccountAddress(connection, treeId)).getCanopyDepth();
17
+ const { root, proof, treeId } = assetProof;
18
+ if (typeof canopyToDepthCache[treeId.toBase58()] === "undefined") {
19
+ canopyToDepthCache[treeId.toBase58()] = await (await ConcurrentMerkleTreeAccount.fromAccountAddress(connection, treeId)).getCanopyDepth();
20
+ }
21
+ const canopy = canopyToDepthCache[treeId.toBase58()];
17
22
  return {
18
23
  asset,
19
24
  args: {
@@ -1 +1 @@
1
- {"version":3,"file":"proofArgsAndAccounts.js","sourceRoot":"","sources":["../../../src/proofArgsAndAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAa9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,UAAU,EACV,OAAO,EACP,aAAa,EACb,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,aAAa,GACN;IAWzB,aAAa;IACb,MAAM,QAAQ,GAAG,aAAa,IAAI,UAAU,CAAC,YAAY,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D;IACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjE;IACD,MAAM,EACJ,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,2BAA2B,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CACzE,CAAC,cAAc,EAAE,CAAC;IAEnB,OAAO;QACL,KAAK;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAS,CAAC,MAAM,EAAE,CAAC,IAAI;YACnD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAY,CAAC,MAAM,EAAE,CAAC,IAAI;YACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,KAAK,EAAE,MAAO;SACf;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,MAAM;SACnB;QACD,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"proofArgsAndAccounts.js","sourceRoot":"","sources":["../../../src/proofArgsAndAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAa9E,0EAA0E;AAC1E,MAAM,kBAAkB,GAA2B,EAAE,CAAC;AACtD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,UAAU,EACV,OAAO,EACP,aAAa,EACb,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,aAAa,GACN;IAWzB,aAAa;IACb,MAAM,QAAQ,GAAG,aAAa,IAAI,UAAU,CAAC,YAAY,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D;IACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjE;IACD,MAAM,EACJ,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC3C,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,WAAW,EAAE;QAChE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAC5C,MAAM,2BAA2B,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CACzE,CAAC,cAAc,EAAE,CAAC;KACpB;IACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrD,OAAO;QACL,KAAK;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAS,CAAC,MAAM,EAAE,CAAC,IAAI;YACnD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAY,CAAC,MAAM,EAAE,CAAC,IAAI;YACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,KAAK,EAAE,MAAO;SACf;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,MAAM;SACnB;QACD,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}