@taquito/tzip12 17.3.2 → 17.4.0

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.
@@ -16,4 +16,3 @@ function tzip12(abs, context) {
16
16
  });
17
17
  }
18
18
  exports.tzip12 = tzip12;
19
- //# sourceMappingURL=composer.js.map
@@ -41,4 +41,3 @@ class InvalidTokenMetadata extends core_1.TaquitoError {
41
41
  }
42
42
  }
43
43
  exports.InvalidTokenMetadata = InvalidTokenMetadata;
44
- //# sourceMappingURL=errors.js.map
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -21,4 +25,3 @@ __exportStar(require("./errors"), exports);
21
25
  __exportStar(require("./tzip12-extension"), exports);
22
26
  var version_1 = require("./version");
23
27
  Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
24
- //# sourceMappingURL=taquito-tzip12.js.map
@@ -115,12 +115,12 @@ class Tzip12ContractAbstraction {
115
115
  const uri = tokenMetadata.get('');
116
116
  if (uri) {
117
117
  try {
118
- const metadataFromUri = yield this.context.metadataProvider.provideMetadata(this.contractAbstraction, tzip16_1.bytes2Char(uri), this.context);
118
+ const metadataFromUri = yield this.context.metadataProvider.provideMetadata(this.contractAbstraction, (0, tzip16_1.bytes2Char)(uri), this.context);
119
119
  return metadataFromUri.metadata;
120
120
  }
121
121
  catch (e) {
122
122
  if (e.name === 'InvalidUriError') {
123
- console.warn(`The URI ${tzip16_1.bytes2Char(uri)} is present in the token metadata, but is invalid.`);
123
+ console.warn(`The URI ${(0, tzip16_1.bytes2Char)(uri)} is present in the token metadata, but is invalid.`);
124
124
  }
125
125
  else {
126
126
  throw e;
@@ -137,13 +137,13 @@ class Tzip12ContractAbstraction {
137
137
  if (keyTokenMetadata === 'decimals') {
138
138
  Object.assign(tokenMetadataDecoded, {
139
139
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
140
- [keyTokenMetadata]: Number(tzip16_1.bytes2Char(metadataTokenMap.get(keyTokenMetadata))),
140
+ [keyTokenMetadata]: Number((0, tzip16_1.bytes2Char)(metadataTokenMap.get(keyTokenMetadata))),
141
141
  });
142
142
  }
143
143
  else if (!(keyTokenMetadata === '')) {
144
144
  Object.assign(tokenMetadataDecoded, {
145
145
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
146
- [keyTokenMetadata]: tzip16_1.bytes2Char(metadataTokenMap.get(keyTokenMetadata)),
146
+ [keyTokenMetadata]: (0, tzip16_1.bytes2Char)(metadataTokenMap.get(keyTokenMetadata)),
147
147
  });
148
148
  }
149
149
  }
@@ -188,4 +188,3 @@ class Tzip12ContractAbstraction {
188
188
  }
189
189
  }
190
190
  exports.Tzip12ContractAbstraction = Tzip12ContractAbstraction;
191
- //# sourceMappingURL=tzip12-contract-abstraction.js.map
@@ -12,4 +12,3 @@ class Tzip12Module {
12
12
  }
13
13
  }
14
14
  exports.Tzip12Module = Tzip12Module;
15
- //# sourceMappingURL=tzip12-extension.js.map
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
5
5
  exports.VERSION = {
6
- "commitHash": "a97e506efd61b86e39ae30db588401b8fda46553",
7
- "version": "17.3.2"
6
+ "commitHash": "a908ab176a8c52c025fd43e7acd452415396f54e",
7
+ "version": "17.4.0"
8
8
  };
9
- //# sourceMappingURL=version.js.map
@@ -16,6 +16,8 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
16
16
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17
17
  PERFORMANCE OF THIS SOFTWARE.
18
18
  ***************************************************************************** */
19
+ /* global Reflect, Promise, SuppressedError, Symbol */
20
+
19
21
 
20
22
  function __awaiter(thisArg, _arguments, P, generator) {
21
23
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -32,246 +34,246 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
32
34
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
33
35
  };
34
36
 
35
- /**
36
- * @category Error
37
- * @description Error that indicates the metadata not being found on the contract
38
- */
39
- class TokenMetadataNotFound extends TaquitoError {
40
- constructor(address) {
41
- super();
42
- this.address = address;
43
- this.name = 'TokenMetadataNotFound';
44
- this.message = `No token metadata was found for the contract: ${address}`;
45
- }
46
- }
47
- /**
48
- * @category Error
49
- * @description Error that indicates the token ID not being found
50
- */
51
- class TokenIdNotFound extends TaquitoError {
52
- constructor(tokenId) {
53
- super(`Could not find token metadata for the token ID: ${tokenId}`);
54
- this.tokenId = tokenId;
55
- this.name = 'TokenIdNotFound';
56
- }
57
- }
58
- /**
59
- * @category Error
60
- * @description Error that indicates that the token metadata is invalid (not compliant with the TZIP-12 standard)
61
- */
62
- class InvalidTokenMetadata extends TaquitoError {
63
- constructor(invalidMetadata) {
64
- super();
65
- this.invalidMetadata = invalidMetadata;
66
- this.name = 'InvalidTokenMetadata';
67
- this.message =
68
- 'Non-compliance with the TZIP-012 standard. The required property `decimals` is missing.';
69
- }
37
+ /**
38
+ * @category Error
39
+ * @description Error that indicates the metadata not being found on the contract
40
+ */
41
+ class TokenMetadataNotFound extends TaquitoError {
42
+ constructor(address) {
43
+ super();
44
+ this.address = address;
45
+ this.name = 'TokenMetadataNotFound';
46
+ this.message = `No token metadata was found for the contract: ${address}`;
47
+ }
48
+ }
49
+ /**
50
+ * @category Error
51
+ * @description Error that indicates the token ID not being found
52
+ */
53
+ class TokenIdNotFound extends TaquitoError {
54
+ constructor(tokenId) {
55
+ super(`Could not find token metadata for the token ID: ${tokenId}`);
56
+ this.tokenId = tokenId;
57
+ this.name = 'TokenIdNotFound';
58
+ }
59
+ }
60
+ /**
61
+ * @category Error
62
+ * @description Error that indicates that the token metadata is invalid (not compliant with the TZIP-12 standard)
63
+ */
64
+ class InvalidTokenMetadata extends TaquitoError {
65
+ constructor(invalidMetadata) {
66
+ super();
67
+ this.invalidMetadata = invalidMetadata;
68
+ this.name = 'InvalidTokenMetadata';
69
+ this.message =
70
+ 'Non-compliance with the TZIP-012 standard. The required property `decimals` is missing.';
71
+ }
70
72
  }
71
73
 
72
- const tokenMetadataBigMapType = {
73
- prim: 'big_map',
74
- args: [
75
- { prim: 'nat' },
76
- {
77
- prim: 'pair',
78
- args: [
79
- { prim: 'nat', annots: ['%token_id'] },
80
- { prim: 'map', args: [{ prim: 'string' }, { prim: 'bytes' }], annots: ['%token_info'] },
81
- ],
82
- },
83
- ],
84
- annots: ['%token_metadata'],
85
- };
86
- class Tzip12ContractAbstraction {
87
- constructor(contractAbstraction, context) {
88
- this.contractAbstraction = contractAbstraction;
89
- this.context = context;
90
- this._tzip16ContractAbstraction = new Tzip16ContractAbstraction(this.contractAbstraction, this.context);
91
- }
92
- /**
93
- * @description Fetches the contract metadata (according to the Tzip-016 standard)
94
- * @returns An object containing the metadata, the uri, an optional integrity check result and an optional sha256 hash
95
- * or `Undefined` if the contract has no metadata (non-compliant with Tzip-016)
96
- */
97
- getContractMetadata() {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- try {
100
- const contractMetadata = yield this._tzip16ContractAbstraction.getMetadata();
101
- return contractMetadata.metadata;
102
- }
103
- catch (err) {
104
- // The contract is not compliant with Tzip-016. There is no contract metadata.
105
- }
106
- });
107
- }
108
- /**
109
- * @description The Tzip-016 "interfaces" field MUST be present in the contract metadata. It should contain "TZIP-012[version-info]"
110
- * @returns True if "interfaces" field is present and contains "TZIP-012", false otherwise
111
- */
112
- isTzip12Compliant() {
113
- var _a;
114
- return __awaiter(this, void 0, void 0, function* () {
115
- let isCompliant = false;
116
- const metadata = yield this.getContractMetadata();
117
- if (metadata) {
118
- const tzip12Interface = (_a = metadata.interfaces) === null || _a === void 0 ? void 0 : _a.filter((x) => {
119
- return x.substring(0, 8) === 'TZIP-012';
120
- });
121
- isCompliant = tzip12Interface && tzip12Interface.length !== 0 ? true : false;
122
- }
123
- return isCompliant;
124
- });
125
- }
126
- /**
127
- * @description Fetches the token metadata for a specified token ID.
128
- * The function first tries to find a `token_metadata` view in the contract metadata and to execute it with the token ID.
129
- * If there is no view, the function tries to find a `token_metadata` bigmap in the top-level pairs of the storage.
130
- * @param tokenId The ID of the token for which we want to retrieve token metadata
131
- * @returns An object of type `TokenMetadata`
132
- * @throws {@link TokenIdNotFound, TokenMetadataNotFound, InvalidTokenMetadata}
133
- */
134
- getTokenMetadata(tokenId) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- const tokenMetadata = yield this.retrieveTokenMetadataFromView(tokenId);
137
- return !tokenMetadata ? this.retrieveTokenMetadataFromBigMap(tokenId) : tokenMetadata;
138
- });
139
- }
140
- retrieveTokenMetadataFromView(tokenId) {
141
- return __awaiter(this, void 0, void 0, function* () {
142
- if (yield this.getContractMetadata()) {
143
- const views = yield this._tzip16ContractAbstraction.metadataViews();
144
- if (views && this.hasTokenMetadataView(views)) {
145
- return this.executeTokenMetadataView(views['token_metadata'](), tokenId);
146
- }
147
- }
148
- });
149
- }
150
- hasTokenMetadataView(views) {
151
- for (const view of Object.keys(views)) {
152
- if (view === 'token_metadata') {
153
- return true;
154
- }
155
- }
156
- return false;
157
- }
158
- executeTokenMetadataView(tokenMetadataView, tokenId) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- const tokenMetadata = yield tokenMetadataView.executeView(tokenId);
161
- const tokenMap = Object.values(tokenMetadata)[1];
162
- if (!MichelsonMap.isMichelsonMap(tokenMap)) {
163
- throw new TokenMetadataNotFound(this.contractAbstraction.address);
164
- }
165
- const metadataFromUri = yield this.fetchTokenMetadataFromUri(tokenMap);
166
- return this.formatMetadataToken(tokenId, tokenMap, metadataFromUri);
167
- });
168
- }
169
- fetchTokenMetadataFromUri(tokenMetadata) {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- const uri = tokenMetadata.get('');
172
- if (uri) {
173
- try {
174
- const metadataFromUri = yield this.context.metadataProvider.provideMetadata(this.contractAbstraction, bytes2Char(uri), this.context);
175
- return metadataFromUri.metadata;
176
- }
177
- catch (e) {
178
- if (e.name === 'InvalidUriError') {
179
- console.warn(`The URI ${bytes2Char(uri)} is present in the token metadata, but is invalid.`);
180
- }
181
- else {
182
- throw e;
183
- }
184
- }
185
- }
186
- });
187
- }
188
- formatMetadataToken(tokenId, metadataTokenMap, metadataFromUri) {
189
- const tokenMetadataDecoded = {
190
- token_id: tokenId,
191
- };
192
- for (const keyTokenMetadata of metadataTokenMap.keys()) {
193
- if (keyTokenMetadata === 'decimals') {
194
- Object.assign(tokenMetadataDecoded, {
195
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
196
- [keyTokenMetadata]: Number(bytes2Char(metadataTokenMap.get(keyTokenMetadata))),
197
- });
198
- }
199
- else if (!(keyTokenMetadata === '')) {
200
- Object.assign(tokenMetadataDecoded, {
201
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
202
- [keyTokenMetadata]: bytes2Char(metadataTokenMap.get(keyTokenMetadata)),
203
- });
204
- }
205
- }
206
- // if an URI is present, add the fetched properties to the object
207
- // if a property is in the URI and the map, prevalence is accorded to value from the URI
208
- if (metadataFromUri) {
209
- for (const property in metadataFromUri) {
210
- Object.assign(tokenMetadataDecoded, { [property]: metadataFromUri[property] });
211
- }
212
- }
213
- if (!('decimals' in tokenMetadataDecoded)) {
214
- throw new InvalidTokenMetadata(tokenMetadataDecoded);
215
- }
216
- return tokenMetadataDecoded;
217
- }
218
- retrieveTokenMetadataFromBigMap(tokenId) {
219
- return __awaiter(this, void 0, void 0, function* () {
220
- const bigmapTokenMetadataId = yield this.findTokenMetadataBigMap();
221
- let pairNatMap;
222
- try {
223
- pairNatMap = yield this.context.contract.getBigMapKeyByID(bigmapTokenMetadataId['int'].toString(), tokenId.toString(), new Schema(tokenMetadataBigMapType));
224
- }
225
- catch (err) {
226
- throw new TokenIdNotFound(tokenId);
227
- }
228
- const michelsonMap = pairNatMap['token_info'];
229
- if (!MichelsonMap.isMichelsonMap(michelsonMap)) {
230
- throw new TokenIdNotFound(tokenId);
231
- }
232
- const metadataFromUri = yield this.fetchTokenMetadataFromUri(michelsonMap);
233
- return this.formatMetadataToken(tokenId, michelsonMap, metadataFromUri);
234
- });
235
- }
236
- findTokenMetadataBigMap() {
237
- return __awaiter(this, void 0, void 0, function* () {
238
- const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair(yield this.context.readProvider.getStorage(this.contractAbstraction.address, 'head'), tokenMetadataBigMapType);
239
- if (!tokenMetadataBigMapId || !tokenMetadataBigMapId.int) {
240
- throw new TokenMetadataNotFound(this.contractAbstraction.address);
241
- }
242
- return { int: tokenMetadataBigMapId.int };
243
- });
244
- }
74
+ const tokenMetadataBigMapType = {
75
+ prim: 'big_map',
76
+ args: [
77
+ { prim: 'nat' },
78
+ {
79
+ prim: 'pair',
80
+ args: [
81
+ { prim: 'nat', annots: ['%token_id'] },
82
+ { prim: 'map', args: [{ prim: 'string' }, { prim: 'bytes' }], annots: ['%token_info'] },
83
+ ],
84
+ },
85
+ ],
86
+ annots: ['%token_metadata'],
87
+ };
88
+ class Tzip12ContractAbstraction {
89
+ constructor(contractAbstraction, context) {
90
+ this.contractAbstraction = contractAbstraction;
91
+ this.context = context;
92
+ this._tzip16ContractAbstraction = new Tzip16ContractAbstraction(this.contractAbstraction, this.context);
93
+ }
94
+ /**
95
+ * @description Fetches the contract metadata (according to the Tzip-016 standard)
96
+ * @returns An object containing the metadata, the uri, an optional integrity check result and an optional sha256 hash
97
+ * or `Undefined` if the contract has no metadata (non-compliant with Tzip-016)
98
+ */
99
+ getContractMetadata() {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ try {
102
+ const contractMetadata = yield this._tzip16ContractAbstraction.getMetadata();
103
+ return contractMetadata.metadata;
104
+ }
105
+ catch (err) {
106
+ // The contract is not compliant with Tzip-016. There is no contract metadata.
107
+ }
108
+ });
109
+ }
110
+ /**
111
+ * @description The Tzip-016 "interfaces" field MUST be present in the contract metadata. It should contain "TZIP-012[version-info]"
112
+ * @returns True if "interfaces" field is present and contains "TZIP-012", false otherwise
113
+ */
114
+ isTzip12Compliant() {
115
+ var _a;
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ let isCompliant = false;
118
+ const metadata = yield this.getContractMetadata();
119
+ if (metadata) {
120
+ const tzip12Interface = (_a = metadata.interfaces) === null || _a === void 0 ? void 0 : _a.filter((x) => {
121
+ return x.substring(0, 8) === 'TZIP-012';
122
+ });
123
+ isCompliant = tzip12Interface && tzip12Interface.length !== 0 ? true : false;
124
+ }
125
+ return isCompliant;
126
+ });
127
+ }
128
+ /**
129
+ * @description Fetches the token metadata for a specified token ID.
130
+ * The function first tries to find a `token_metadata` view in the contract metadata and to execute it with the token ID.
131
+ * If there is no view, the function tries to find a `token_metadata` bigmap in the top-level pairs of the storage.
132
+ * @param tokenId The ID of the token for which we want to retrieve token metadata
133
+ * @returns An object of type `TokenMetadata`
134
+ * @throws {@link TokenIdNotFound, TokenMetadataNotFound, InvalidTokenMetadata}
135
+ */
136
+ getTokenMetadata(tokenId) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ const tokenMetadata = yield this.retrieveTokenMetadataFromView(tokenId);
139
+ return !tokenMetadata ? this.retrieveTokenMetadataFromBigMap(tokenId) : tokenMetadata;
140
+ });
141
+ }
142
+ retrieveTokenMetadataFromView(tokenId) {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ if (yield this.getContractMetadata()) {
145
+ const views = yield this._tzip16ContractAbstraction.metadataViews();
146
+ if (views && this.hasTokenMetadataView(views)) {
147
+ return this.executeTokenMetadataView(views['token_metadata'](), tokenId);
148
+ }
149
+ }
150
+ });
151
+ }
152
+ hasTokenMetadataView(views) {
153
+ for (const view of Object.keys(views)) {
154
+ if (view === 'token_metadata') {
155
+ return true;
156
+ }
157
+ }
158
+ return false;
159
+ }
160
+ executeTokenMetadataView(tokenMetadataView, tokenId) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ const tokenMetadata = yield tokenMetadataView.executeView(tokenId);
163
+ const tokenMap = Object.values(tokenMetadata)[1];
164
+ if (!MichelsonMap.isMichelsonMap(tokenMap)) {
165
+ throw new TokenMetadataNotFound(this.contractAbstraction.address);
166
+ }
167
+ const metadataFromUri = yield this.fetchTokenMetadataFromUri(tokenMap);
168
+ return this.formatMetadataToken(tokenId, tokenMap, metadataFromUri);
169
+ });
170
+ }
171
+ fetchTokenMetadataFromUri(tokenMetadata) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const uri = tokenMetadata.get('');
174
+ if (uri) {
175
+ try {
176
+ const metadataFromUri = yield this.context.metadataProvider.provideMetadata(this.contractAbstraction, bytes2Char(uri), this.context);
177
+ return metadataFromUri.metadata;
178
+ }
179
+ catch (e) {
180
+ if (e.name === 'InvalidUriError') {
181
+ console.warn(`The URI ${bytes2Char(uri)} is present in the token metadata, but is invalid.`);
182
+ }
183
+ else {
184
+ throw e;
185
+ }
186
+ }
187
+ }
188
+ });
189
+ }
190
+ formatMetadataToken(tokenId, metadataTokenMap, metadataFromUri) {
191
+ const tokenMetadataDecoded = {
192
+ token_id: tokenId,
193
+ };
194
+ for (const keyTokenMetadata of metadataTokenMap.keys()) {
195
+ if (keyTokenMetadata === 'decimals') {
196
+ Object.assign(tokenMetadataDecoded, {
197
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
198
+ [keyTokenMetadata]: Number(bytes2Char(metadataTokenMap.get(keyTokenMetadata))),
199
+ });
200
+ }
201
+ else if (!(keyTokenMetadata === '')) {
202
+ Object.assign(tokenMetadataDecoded, {
203
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
204
+ [keyTokenMetadata]: bytes2Char(metadataTokenMap.get(keyTokenMetadata)),
205
+ });
206
+ }
207
+ }
208
+ // if an URI is present, add the fetched properties to the object
209
+ // if a property is in the URI and the map, prevalence is accorded to value from the URI
210
+ if (metadataFromUri) {
211
+ for (const property in metadataFromUri) {
212
+ Object.assign(tokenMetadataDecoded, { [property]: metadataFromUri[property] });
213
+ }
214
+ }
215
+ if (!('decimals' in tokenMetadataDecoded)) {
216
+ throw new InvalidTokenMetadata(tokenMetadataDecoded);
217
+ }
218
+ return tokenMetadataDecoded;
219
+ }
220
+ retrieveTokenMetadataFromBigMap(tokenId) {
221
+ return __awaiter(this, void 0, void 0, function* () {
222
+ const bigmapTokenMetadataId = yield this.findTokenMetadataBigMap();
223
+ let pairNatMap;
224
+ try {
225
+ pairNatMap = yield this.context.contract.getBigMapKeyByID(bigmapTokenMetadataId['int'].toString(), tokenId.toString(), new Schema(tokenMetadataBigMapType));
226
+ }
227
+ catch (err) {
228
+ throw new TokenIdNotFound(tokenId);
229
+ }
230
+ const michelsonMap = pairNatMap['token_info'];
231
+ if (!MichelsonMap.isMichelsonMap(michelsonMap)) {
232
+ throw new TokenIdNotFound(tokenId);
233
+ }
234
+ const metadataFromUri = yield this.fetchTokenMetadataFromUri(michelsonMap);
235
+ return this.formatMetadataToken(tokenId, michelsonMap, metadataFromUri);
236
+ });
237
+ }
238
+ findTokenMetadataBigMap() {
239
+ return __awaiter(this, void 0, void 0, function* () {
240
+ const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair(yield this.context.readProvider.getStorage(this.contractAbstraction.address, 'head'), tokenMetadataBigMapType);
241
+ if (!tokenMetadataBigMapId || !tokenMetadataBigMapId.int) {
242
+ throw new TokenMetadataNotFound(this.contractAbstraction.address);
243
+ }
244
+ return { int: tokenMetadataBigMapId.int };
245
+ });
246
+ }
245
247
  }
246
248
 
247
- const ABSTRACTION_KEY = Symbol('Tzip12ContractAbstractionObjectKey');
248
- function tzip12(abs, context) {
249
- return Object.assign(abs, {
250
- // namespace tzip12
251
- tzip12() {
252
- if (!this[ABSTRACTION_KEY]) {
253
- this[ABSTRACTION_KEY] = new Tzip12ContractAbstraction(this, context);
254
- }
255
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
256
- return this[ABSTRACTION_KEY];
257
- },
258
- });
249
+ const ABSTRACTION_KEY = Symbol('Tzip12ContractAbstractionObjectKey');
250
+ function tzip12(abs, context) {
251
+ return Object.assign(abs, {
252
+ // namespace tzip12
253
+ tzip12() {
254
+ if (!this[ABSTRACTION_KEY]) {
255
+ this[ABSTRACTION_KEY] = new Tzip12ContractAbstraction(this, context);
256
+ }
257
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
258
+ return this[ABSTRACTION_KEY];
259
+ },
260
+ });
259
261
  }
260
262
 
261
- // The same default metadataProvider is used for tzip16 and tzip12
262
- class Tzip12Module {
263
- constructor(metadataProvider) {
264
- this._metadataProvider = metadataProvider ? metadataProvider : new MetadataProvider(DEFAULT_HANDLERS);
265
- }
266
- configureContext(context) {
267
- Object.assign(context, { metadataProvider: this._metadataProvider });
268
- }
263
+ // The same default metadataProvider is used for tzip16 and tzip12
264
+ class Tzip12Module {
265
+ constructor(metadataProvider) {
266
+ this._metadataProvider = metadataProvider ? metadataProvider : new MetadataProvider(DEFAULT_HANDLERS);
267
+ }
268
+ configureContext(context) {
269
+ Object.assign(context, { metadataProvider: this._metadataProvider });
270
+ }
269
271
  }
270
272
 
271
- // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
272
- const VERSION = {
273
- "commitHash": "a97e506efd61b86e39ae30db588401b8fda46553",
274
- "version": "17.3.2"
273
+ // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
274
+ const VERSION = {
275
+ "commitHash": "a908ab176a8c52c025fd43e7acd452415396f54e",
276
+ "version": "17.4.0"
275
277
  };
276
278
 
277
279
  export { InvalidTokenMetadata, TokenIdNotFound, TokenMetadataNotFound, Tzip12ContractAbstraction, Tzip12Module, VERSION, tzip12 };
@@ -1 +1 @@
1
- {"version":3,"file":"taquito-tzip12.es6.js","sources":["../src/errors.ts","../src/tzip12-contract-abstraction.ts","../src/composer.ts","../src/tzip12-extension.ts","../src/version.ts"],"sourcesContent":["import { TaquitoError } from '@taquito/core';\n\n/**\n * @category Error\n * @description Error that indicates the metadata not being found on the contract\n */\nexport class TokenMetadataNotFound extends TaquitoError {\n constructor(public readonly address: string) {\n super();\n this.name = 'TokenMetadataNotFound';\n this.message = `No token metadata was found for the contract: ${address}`;\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates the token ID not being found\n */\nexport class TokenIdNotFound extends TaquitoError {\n constructor(public readonly tokenId: number) {\n super(`Could not find token metadata for the token ID: ${tokenId}`);\n this.name = 'TokenIdNotFound';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates that the token metadata is invalid (not compliant with the TZIP-12 standard)\n */\nexport class InvalidTokenMetadata extends TaquitoError {\n constructor(public readonly invalidMetadata: any) {\n super();\n this.name = 'InvalidTokenMetadata';\n this.message =\n 'Non-compliance with the TZIP-012 standard. The required property `decimals` is missing.';\n }\n}\n","import { MichelsonMap, Schema } from '@taquito/michelson-encoder';\nimport { ContractAbstraction, ContractProvider, Wallet } from '@taquito/taquito';\nimport {\n Tzip16ContractAbstraction,\n MetadataContext,\n View,\n bytes2Char,\n BigMapId,\n} from '@taquito/tzip16';\nimport { InvalidTokenMetadata, TokenIdNotFound, TokenMetadataNotFound } from './errors';\n\nconst tokenMetadataBigMapType = {\n prim: 'big_map',\n args: [\n { prim: 'nat' },\n {\n prim: 'pair',\n args: [\n { prim: 'nat', annots: ['%token_id'] },\n { prim: 'map', args: [{ prim: 'string' }, { prim: 'bytes' }], annots: ['%token_info'] },\n ],\n },\n ],\n annots: ['%token_metadata'],\n};\n\nexport interface TokenMetadata {\n token_id: number;\n decimals: number;\n name?: string;\n symbol?: string;\n}\n\nexport class Tzip12ContractAbstraction {\n private _tzip16ContractAbstraction: Tzip16ContractAbstraction;\n\n constructor(\n private contractAbstraction: ContractAbstraction<ContractProvider | Wallet>,\n private context: MetadataContext\n ) {\n this._tzip16ContractAbstraction = new Tzip16ContractAbstraction(\n this.contractAbstraction,\n this.context\n );\n }\n\n /**\n * @description Fetches the contract metadata (according to the Tzip-016 standard)\n * @returns An object containing the metadata, the uri, an optional integrity check result and an optional sha256 hash\n * or `Undefined` if the contract has no metadata (non-compliant with Tzip-016)\n */\n private async getContractMetadata() {\n try {\n const contractMetadata = await this._tzip16ContractAbstraction.getMetadata();\n return contractMetadata.metadata;\n } catch (err) {\n // The contract is not compliant with Tzip-016. There is no contract metadata.\n }\n }\n\n /**\n * @description The Tzip-016 \"interfaces\" field MUST be present in the contract metadata. It should contain \"TZIP-012[version-info]\"\n * @returns True if \"interfaces\" field is present and contains \"TZIP-012\", false otherwise\n */\n async isTzip12Compliant() {\n let isCompliant = false;\n const metadata = await this.getContractMetadata();\n if (metadata) {\n const tzip12Interface = metadata.interfaces?.filter((x) => {\n return x.substring(0, 8) === 'TZIP-012';\n });\n isCompliant = tzip12Interface && tzip12Interface.length !== 0 ? true : false;\n }\n return isCompliant;\n }\n\n /**\n * @description Fetches the token metadata for a specified token ID.\n * The function first tries to find a `token_metadata` view in the contract metadata and to execute it with the token ID.\n * If there is no view, the function tries to find a `token_metadata` bigmap in the top-level pairs of the storage.\n * @param tokenId The ID of the token for which we want to retrieve token metadata\n * @returns An object of type `TokenMetadata`\n * @throws {@link TokenIdNotFound, TokenMetadataNotFound, InvalidTokenMetadata}\n */\n async getTokenMetadata(tokenId: number) {\n const tokenMetadata = await this.retrieveTokenMetadataFromView(tokenId);\n return !tokenMetadata ? this.retrieveTokenMetadataFromBigMap(tokenId) : tokenMetadata;\n }\n\n private async retrieveTokenMetadataFromView(tokenId: number) {\n if (await this.getContractMetadata()) {\n const views = await this._tzip16ContractAbstraction.metadataViews();\n if (views && this.hasTokenMetadataView(views)) {\n return this.executeTokenMetadataView(views['token_metadata'](), tokenId);\n }\n }\n }\n\n private hasTokenMetadataView(views: object) {\n for (const view of Object.keys(views)) {\n if (view === 'token_metadata') {\n return true;\n }\n }\n return false;\n }\n\n private async executeTokenMetadataView(\n tokenMetadataView: View,\n tokenId: number\n ): Promise<TokenMetadata> {\n const tokenMetadata = await tokenMetadataView.executeView(tokenId);\n const tokenMap = Object.values(tokenMetadata)[1];\n if (!MichelsonMap.isMichelsonMap(tokenMap)) {\n throw new TokenMetadataNotFound(this.contractAbstraction.address);\n }\n const metadataFromUri = await this.fetchTokenMetadataFromUri(\n tokenMap as MichelsonMap<string, string>\n );\n return this.formatMetadataToken(\n tokenId,\n tokenMap as MichelsonMap<string, string>,\n metadataFromUri\n );\n }\n\n private async fetchTokenMetadataFromUri(tokenMetadata: MichelsonMap<string, string>) {\n const uri = tokenMetadata.get('');\n if (uri) {\n try {\n const metadataFromUri = await this.context.metadataProvider.provideMetadata(\n this.contractAbstraction,\n bytes2Char(uri),\n this.context\n );\n return metadataFromUri.metadata;\n } catch (e: any) {\n if (e.name === 'InvalidUriError') {\n console.warn(\n `The URI ${bytes2Char(uri)} is present in the token metadata, but is invalid.`\n );\n } else {\n throw e;\n }\n }\n }\n }\n\n private formatMetadataToken(\n tokenId: number,\n metadataTokenMap: MichelsonMap<string, string>,\n metadataFromUri?: any\n ): TokenMetadata {\n const tokenMetadataDecoded = {\n token_id: tokenId,\n };\n for (const keyTokenMetadata of metadataTokenMap.keys()) {\n if (keyTokenMetadata === 'decimals') {\n Object.assign(tokenMetadataDecoded, {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n [keyTokenMetadata]: Number(bytes2Char(metadataTokenMap.get(keyTokenMetadata)!)),\n });\n } else if (!(keyTokenMetadata === '')) {\n Object.assign(tokenMetadataDecoded, {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n [keyTokenMetadata]: bytes2Char(metadataTokenMap.get(keyTokenMetadata)!),\n });\n }\n }\n // if an URI is present, add the fetched properties to the object\n // if a property is in the URI and the map, prevalence is accorded to value from the URI\n if (metadataFromUri) {\n for (const property in metadataFromUri) {\n Object.assign(tokenMetadataDecoded, { [property]: metadataFromUri[property] });\n }\n }\n if (!('decimals' in tokenMetadataDecoded)) {\n throw new InvalidTokenMetadata(tokenMetadataDecoded);\n }\n return tokenMetadataDecoded as TokenMetadata;\n }\n\n private async retrieveTokenMetadataFromBigMap(tokenId: number) {\n const bigmapTokenMetadataId = await this.findTokenMetadataBigMap();\n let pairNatMap;\n try {\n pairNatMap = await this.context.contract.getBigMapKeyByID<{\n token_info: MichelsonMap<string, string>;\n }>(\n bigmapTokenMetadataId['int'].toString(),\n tokenId.toString(),\n new Schema(tokenMetadataBigMapType)\n );\n } catch (err) {\n throw new TokenIdNotFound(tokenId);\n }\n\n const michelsonMap = pairNatMap['token_info'];\n if (!MichelsonMap.isMichelsonMap(michelsonMap)) {\n throw new TokenIdNotFound(tokenId);\n }\n const metadataFromUri = await this.fetchTokenMetadataFromUri(\n michelsonMap as MichelsonMap<string, string>\n );\n return this.formatMetadataToken(\n tokenId,\n michelsonMap as MichelsonMap<string, string>,\n metadataFromUri\n );\n }\n\n private async findTokenMetadataBigMap(): Promise<BigMapId> {\n const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair<BigMapId>(\n await this.context.readProvider.getStorage(this.contractAbstraction.address, 'head'),\n tokenMetadataBigMapType\n );\n if (!tokenMetadataBigMapId || !tokenMetadataBigMapId.int) {\n throw new TokenMetadataNotFound(this.contractAbstraction.address);\n }\n return { int: tokenMetadataBigMapId.int };\n }\n}\n","import { Context, ContractAbstraction, ContractProvider, Wallet } from '@taquito/taquito';\nimport { Tzip12ContractAbstraction } from './tzip12-contract-abstraction';\nimport { MetadataContext } from '@taquito/tzip16';\n\nconst ABSTRACTION_KEY = Symbol('Tzip12ContractAbstractionObjectKey');\n\nexport function tzip12<T extends ContractAbstraction<ContractProvider | Wallet>>(\n abs: T,\n context: Context\n) {\n return Object.assign(abs, {\n // namespace tzip12\n tzip12(\n this: ContractAbstraction<ContractProvider | Wallet> & {\n [ABSTRACTION_KEY]?: Tzip12ContractAbstraction;\n }\n ) {\n if (!this[ABSTRACTION_KEY]) {\n this[ABSTRACTION_KEY] = new Tzip12ContractAbstraction(this, context as MetadataContext);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this[ABSTRACTION_KEY]!;\n },\n });\n}\n","import { Context, Extension } from \"@taquito/taquito\";\nimport { DEFAULT_HANDLERS, MetadataProviderInterface, MetadataProvider } from '@taquito/tzip16'\n\n// The same default metadataProvider is used for tzip16 and tzip12\nexport class Tzip12Module implements Extension {\n private _metadataProvider: MetadataProviderInterface;\n\n constructor(metadataProvider?: MetadataProviderInterface) {\n this._metadataProvider = metadataProvider ? metadataProvider : new MetadataProvider(DEFAULT_HANDLERS);\n }\n\n configureContext(context: Context) {\n Object.assign(context, { metadataProvider: this._metadataProvider });\n }\n}","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"a97e506efd61b86e39ae30db588401b8fda46553\",\n \"version\": \"17.3.2\"\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taquito-tzip12.es6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}