@taquito/tzip12 11.2.0 → 12.0.1
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/dist/lib/tzip12-contract-abstraction.js +8 -6
- package/dist/lib/tzip12-contract-abstraction.js.map +1 -1
- package/dist/lib/version.js +2 -2
- package/dist/taquito-tzip12.es6.js +10 -8
- package/dist/taquito-tzip12.es6.js.map +1 -1
- package/dist/taquito-tzip12.umd.js +10 -8
- package/dist/taquito-tzip12.umd.js.map +1 -1
- package/package.json +5 -5
|
@@ -160,7 +160,7 @@ class Tzip12ContractAbstraction {
|
|
|
160
160
|
}
|
|
161
161
|
retrieveTokenMetadataFromBigMap(tokenId) {
|
|
162
162
|
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
-
const bigmapTokenMetadataId = this.findTokenMetadataBigMap();
|
|
163
|
+
const bigmapTokenMetadataId = yield this.findTokenMetadataBigMap();
|
|
164
164
|
let pairNatMap;
|
|
165
165
|
try {
|
|
166
166
|
pairNatMap = yield this.context.contract.getBigMapKeyByID(bigmapTokenMetadataId['int'].toString(), tokenId.toString(), new michelson_encoder_1.Schema(tokenMetadataBigMapType));
|
|
@@ -177,11 +177,13 @@ class Tzip12ContractAbstraction {
|
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
179
|
findTokenMetadataBigMap() {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair(yield this.context.readProvider.getStorage(this.contractAbstraction.address, 'head'), tokenMetadataBigMapType);
|
|
182
|
+
if (!tokenMetadataBigMapId) {
|
|
183
|
+
throw new tzip12_errors_1.TokenMetadataNotFound(this.contractAbstraction.address);
|
|
184
|
+
}
|
|
185
|
+
return tokenMetadataBigMapId;
|
|
186
|
+
});
|
|
185
187
|
}
|
|
186
188
|
}
|
|
187
189
|
exports.Tzip12ContractAbstraction = Tzip12ContractAbstraction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tzip12-contract-abstraction.js","sourceRoot":"","sources":["../../src/tzip12-contract-abstraction.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tzip12-contract-abstraction.js","sourceRoot":"","sources":["../../src/tzip12-contract-abstraction.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/version.js
CHANGED
|
@@ -3,7 +3,7 @@ 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": "
|
|
7
|
-
"version": "
|
|
6
|
+
"commitHash": "8203ea7669c742797022f1b61f2577bcac50ca55",
|
|
7
|
+
"version": "12.0.1"
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -194,7 +194,7 @@ class Tzip12ContractAbstraction {
|
|
|
194
194
|
}
|
|
195
195
|
retrieveTokenMetadataFromBigMap(tokenId) {
|
|
196
196
|
return __awaiter(this, void 0, void 0, function* () {
|
|
197
|
-
const bigmapTokenMetadataId = this.findTokenMetadataBigMap();
|
|
197
|
+
const bigmapTokenMetadataId = yield this.findTokenMetadataBigMap();
|
|
198
198
|
let pairNatMap;
|
|
199
199
|
try {
|
|
200
200
|
pairNatMap = yield this.context.contract.getBigMapKeyByID(bigmapTokenMetadataId['int'].toString(), tokenId.toString(), new Schema(tokenMetadataBigMapType));
|
|
@@ -211,11 +211,13 @@ class Tzip12ContractAbstraction {
|
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
213
|
findTokenMetadataBigMap() {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
214
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
215
|
+
const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair(yield this.context.readProvider.getStorage(this.contractAbstraction.address, 'head'), tokenMetadataBigMapType);
|
|
216
|
+
if (!tokenMetadataBigMapId) {
|
|
217
|
+
throw new TokenMetadataNotFound(this.contractAbstraction.address);
|
|
218
|
+
}
|
|
219
|
+
return tokenMetadataBigMapId;
|
|
220
|
+
});
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
223
|
|
|
@@ -245,8 +247,8 @@ class Tzip12Module {
|
|
|
245
247
|
|
|
246
248
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
247
249
|
const VERSION = {
|
|
248
|
-
"commitHash": "
|
|
249
|
-
"version": "
|
|
250
|
+
"commitHash": "8203ea7669c742797022f1b61f2577bcac50ca55",
|
|
251
|
+
"version": "12.0.1"
|
|
250
252
|
};
|
|
251
253
|
|
|
252
254
|
export { InvalidTokenMetadata, TokenIdNotFound, TokenMetadataNotFound, Tzip12ContractAbstraction, Tzip12Module, VERSION, tzip12 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taquito-tzip12.es6.js","sources":["../src/tzip12-errors.ts","../src/tzip12-contract-abstraction.ts","../src/composer.ts","../src/tzip12-extension.ts","../src/version.ts"],"sourcesContent":["export class TokenMetadataNotFound extends Error {\n name = 'TokenMetadataNotFound';\n\n constructor(public address: string) {\n super(`No token metadata was found for the contract: ${address}`);\n }\n}\n\nexport class TokenIdNotFound extends Error {\n name = 'TokenIdNotFound';\n\n constructor(public tokenId: number) {\n super(`Could not find token metadata for the token ID: ${tokenId}`);\n }\n}\n\nexport class InvalidTokenMetadata extends Error {\n name = 'InvalidTokenMetadata';\n\n constructor() {\n super(\n 'Non-compliance with the TZIP-012 standard. The required property `decimals` is missing.'\n );\n }\n}\n","import { MichelsonMap, Schema } from '@taquito/michelson-encoder';\nimport { ContractAbstraction, ContractProvider, Wallet } from '@taquito/taquito';\nimport { Tzip16ContractAbstraction, MetadataContext, View, bytes2Char } from '@taquito/tzip16';\nimport { InvalidTokenMetadata, TokenIdNotFound, TokenMetadataNotFound } from './tzip12-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\ntype BigMapId = { int: string };\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 */\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 === 'InvalidUri') {\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();\n }\n return tokenMetadataDecoded as TokenMetadata;\n }\n\n private async retrieveTokenMetadataFromBigMap(tokenId: number) {\n const bigmapTokenMetadataId = this.findTokenMetadataBigMap();\n let pairNatMap;\n try {\n pairNatMap = await this.context.contract.getBigMapKeyByID<any>(\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 findTokenMetadataBigMap(): BigMapId {\n const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair<BigMapId>(\n this.contractAbstraction.script.storage,\n tokenMetadataBigMapType\n );\n if (!tokenMetadataBigMapId) {\n throw new TokenMetadataNotFound(this.contractAbstraction.address);\n }\n return tokenMetadataBigMapId;\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\": \"81f0a5b103f867f57fbe5d526315c375a3788346\",\n \"version\": \"11.2.0\"\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taquito-tzip12.es6.js","sources":["../src/tzip12-errors.ts","../src/tzip12-contract-abstraction.ts","../src/composer.ts","../src/tzip12-extension.ts","../src/version.ts"],"sourcesContent":["export class TokenMetadataNotFound extends Error {\n name = 'TokenMetadataNotFound';\n\n constructor(public address: string) {\n super(`No token metadata was found for the contract: ${address}`);\n }\n}\n\nexport class TokenIdNotFound extends Error {\n name = 'TokenIdNotFound';\n\n constructor(public tokenId: number) {\n super(`Could not find token metadata for the token ID: ${tokenId}`);\n }\n}\n\nexport class InvalidTokenMetadata extends Error {\n name = 'InvalidTokenMetadata';\n\n constructor() {\n super(\n 'Non-compliance with the TZIP-012 standard. The required property `decimals` is missing.'\n );\n }\n}\n","import { MichelsonMap, Schema } from '@taquito/michelson-encoder';\nimport { ContractAbstraction, ContractProvider, Wallet } from '@taquito/taquito';\nimport { Tzip16ContractAbstraction, MetadataContext, View, bytes2Char } from '@taquito/tzip16';\nimport { InvalidTokenMetadata, TokenIdNotFound, TokenMetadataNotFound } from './tzip12-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\ntype BigMapId = { int: string };\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 */\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 === 'InvalidUri') {\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();\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<any>(\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) {\n throw new TokenMetadataNotFound(this.contractAbstraction.address);\n }\n return tokenMetadataBigMapId;\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\": \"8203ea7669c742797022f1b61f2577bcac50ca55\",\n \"version\": \"12.0.1\"\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
}
|
|
198
198
|
retrieveTokenMetadataFromBigMap(tokenId) {
|
|
199
199
|
return __awaiter(this, void 0, void 0, function* () {
|
|
200
|
-
const bigmapTokenMetadataId = this.findTokenMetadataBigMap();
|
|
200
|
+
const bigmapTokenMetadataId = yield this.findTokenMetadataBigMap();
|
|
201
201
|
let pairNatMap;
|
|
202
202
|
try {
|
|
203
203
|
pairNatMap = yield this.context.contract.getBigMapKeyByID(bigmapTokenMetadataId['int'].toString(), tokenId.toString(), new michelsonEncoder.Schema(tokenMetadataBigMapType));
|
|
@@ -214,11 +214,13 @@
|
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
216
|
findTokenMetadataBigMap() {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
217
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
218
|
+
const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair(yield this.context.readProvider.getStorage(this.contractAbstraction.address, 'head'), tokenMetadataBigMapType);
|
|
219
|
+
if (!tokenMetadataBigMapId) {
|
|
220
|
+
throw new TokenMetadataNotFound(this.contractAbstraction.address);
|
|
221
|
+
}
|
|
222
|
+
return tokenMetadataBigMapId;
|
|
223
|
+
});
|
|
222
224
|
}
|
|
223
225
|
}
|
|
224
226
|
|
|
@@ -248,8 +250,8 @@
|
|
|
248
250
|
|
|
249
251
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
250
252
|
const VERSION = {
|
|
251
|
-
"commitHash": "
|
|
252
|
-
"version": "
|
|
253
|
+
"commitHash": "8203ea7669c742797022f1b61f2577bcac50ca55",
|
|
254
|
+
"version": "12.0.1"
|
|
253
255
|
};
|
|
254
256
|
|
|
255
257
|
exports.InvalidTokenMetadata = InvalidTokenMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taquito-tzip12.umd.js","sources":["../src/tzip12-errors.ts","../src/tzip12-contract-abstraction.ts","../src/composer.ts","../src/tzip12-extension.ts","../src/version.ts"],"sourcesContent":["export class TokenMetadataNotFound extends Error {\n name = 'TokenMetadataNotFound';\n\n constructor(public address: string) {\n super(`No token metadata was found for the contract: ${address}`);\n }\n}\n\nexport class TokenIdNotFound extends Error {\n name = 'TokenIdNotFound';\n\n constructor(public tokenId: number) {\n super(`Could not find token metadata for the token ID: ${tokenId}`);\n }\n}\n\nexport class InvalidTokenMetadata extends Error {\n name = 'InvalidTokenMetadata';\n\n constructor() {\n super(\n 'Non-compliance with the TZIP-012 standard. The required property `decimals` is missing.'\n );\n }\n}\n","import { MichelsonMap, Schema } from '@taquito/michelson-encoder';\nimport { ContractAbstraction, ContractProvider, Wallet } from '@taquito/taquito';\nimport { Tzip16ContractAbstraction, MetadataContext, View, bytes2Char } from '@taquito/tzip16';\nimport { InvalidTokenMetadata, TokenIdNotFound, TokenMetadataNotFound } from './tzip12-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\ntype BigMapId = { int: string };\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 */\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 === 'InvalidUri') {\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();\n }\n return tokenMetadataDecoded as TokenMetadata;\n }\n\n private async retrieveTokenMetadataFromBigMap(tokenId: number) {\n const bigmapTokenMetadataId = this.findTokenMetadataBigMap();\n let pairNatMap;\n try {\n pairNatMap = await this.context.contract.getBigMapKeyByID<any>(\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 findTokenMetadataBigMap(): BigMapId {\n const tokenMetadataBigMapId = this.contractAbstraction.schema.FindFirstInTopLevelPair<BigMapId>(\n this.contractAbstraction.script.storage,\n tokenMetadataBigMapType\n );\n if (!tokenMetadataBigMapId) {\n throw new TokenMetadataNotFound(this.contractAbstraction.address);\n }\n return tokenMetadataBigMapId;\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\": \"81f0a5b103f867f57fbe5d526315c375a3788346\",\n \"version\": \"11.2.0\"\n};\n"],"names":["Tzip16ContractAbstraction","MichelsonMap","bytes2Char","Schema","MetadataProvider","DEFAULT_HANDLERS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taquito-tzip12.umd.js","sources":["../src/tzip12-errors.ts","../src/tzip12-contract-abstraction.ts","../src/composer.ts","../src/tzip12-extension.ts","../src/version.ts"],"sourcesContent":["export class TokenMetadataNotFound extends Error {\n name = 'TokenMetadataNotFound';\n\n constructor(public address: string) {\n super(`No token metadata was found for the contract: ${address}`);\n }\n}\n\nexport class TokenIdNotFound extends Error {\n name = 'TokenIdNotFound';\n\n constructor(public tokenId: number) {\n super(`Could not find token metadata for the token ID: ${tokenId}`);\n }\n}\n\nexport class InvalidTokenMetadata extends Error {\n name = 'InvalidTokenMetadata';\n\n constructor() {\n super(\n 'Non-compliance with the TZIP-012 standard. The required property `decimals` is missing.'\n );\n }\n}\n","import { MichelsonMap, Schema } from '@taquito/michelson-encoder';\nimport { ContractAbstraction, ContractProvider, Wallet } from '@taquito/taquito';\nimport { Tzip16ContractAbstraction, MetadataContext, View, bytes2Char } from '@taquito/tzip16';\nimport { InvalidTokenMetadata, TokenIdNotFound, TokenMetadataNotFound } from './tzip12-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\ntype BigMapId = { int: string };\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 */\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 === 'InvalidUri') {\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();\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<any>(\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) {\n throw new TokenMetadataNotFound(this.contractAbstraction.address);\n }\n return tokenMetadataBigMapId;\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\": \"8203ea7669c742797022f1b61f2577bcac50ca55\",\n \"version\": \"12.0.1\"\n};\n"],"names":["Tzip16ContractAbstraction","MichelsonMap","bytes2Char","Schema","MetadataProvider","DEFAULT_HANDLERS"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taquito/tzip12",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.1",
|
|
4
4
|
"description": "Tzip12",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tezos",
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
]
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@taquito/michelson-encoder": "^
|
|
67
|
-
"@taquito/taquito": "^
|
|
68
|
-
"@taquito/tzip16": "^
|
|
66
|
+
"@taquito/michelson-encoder": "^12.0.1",
|
|
67
|
+
"@taquito/taquito": "^12.0.1",
|
|
68
|
+
"@taquito/tzip16": "^12.0.1"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@types/bluebird": "^3.5.36",
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
"typedoc": "^0.20.36",
|
|
98
98
|
"typescript": "~4.1.5"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "3cc5f810d80ab04f18b61ac1932c1897ccc22fea"
|
|
101
101
|
}
|