@xyo-network/diviner-evm-call-result-to-token-uri 2.97.0 → 2.97.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/browser/index.cjs +59 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +36 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/index.cjs +59 -1
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +36 -1
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/index.cjs +66 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +37 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +10 -10
package/dist/browser/index.cjs
CHANGED
|
@@ -1,2 +1,60 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
EvmCallResultToNftTokenUriDiviner: () => EvmCallResultToNftTokenUriDiviner,
|
|
24
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema: () => EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
25
|
+
EvmCallResultToNftTokenUriDivinerSchema: () => EvmCallResultToNftTokenUriDivinerSchema
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(src_exports);
|
|
28
|
+
|
|
29
|
+
// src/Schema.ts
|
|
30
|
+
var EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
31
|
+
|
|
32
|
+
// src/Config.ts
|
|
33
|
+
var EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`;
|
|
34
|
+
|
|
35
|
+
// src/Diviner.ts
|
|
36
|
+
var import_diviner_abstract = require("@xyo-network/diviner-abstract");
|
|
37
|
+
var import_evm_call_witness = require("@xyo-network/evm-call-witness");
|
|
38
|
+
var import_evm_nft_id_payload_plugin = require("@xyo-network/evm-nft-id-payload-plugin");
|
|
39
|
+
var import_payload_model = require("@xyo-network/payload-model");
|
|
40
|
+
var EvmCallResultToNftTokenUriDiviner = class extends import_diviner_abstract.AbstractDiviner {
|
|
41
|
+
static configSchemas = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
42
|
+
static defaultConfigSchema = EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
43
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
44
|
+
divineHandler(payloads = []) {
|
|
45
|
+
const evmCallResults = payloads.filter((0, import_payload_model.isPayloadOfSchemaType)(import_evm_call_witness.EvmCallResultsSchema));
|
|
46
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
47
|
+
const casted = p;
|
|
48
|
+
return casted.results?.tokenURI?.result !== void 0 && (p.results?.tokenURI?.args?.length ?? 0) > 0;
|
|
49
|
+
}).map((p) => {
|
|
50
|
+
const { address, chainId, results } = p;
|
|
51
|
+
const { args, result } = results.tokenURI;
|
|
52
|
+
const tokenId = args[0];
|
|
53
|
+
const num = Number(BigInt(tokenId)).toString();
|
|
54
|
+
const metadataUri = result?.includes("{id}") ? result.replace("{id}", num) : result;
|
|
55
|
+
return { address, chainId, metadataUri, schema: import_evm_nft_id_payload_plugin.NftMetadataUriSchema, tokenId };
|
|
56
|
+
});
|
|
57
|
+
return erc721CallResults;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
2
60
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Config'\nexport * from './Diviner'\nexport * from './Params'\nexport * from './Payload'\nexport * from './Schema'\n","/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Config'\nexport * from './Diviner'\nexport * from './Params'\nexport * from './Payload'\nexport * from './Schema'\n","/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,0CAA0C;;;ACIhD,IAAM,gDAAgD,GAAG,uCAAuC;;;ACPvG,8BAAgC;AAEhC,8BAAqD;AACrD,uCAAqD;AACrD,2BAAuD;AAMhD,IAAM,oCAAN,cAEG,wCAAkD;AAAA,EAC1D,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6CAA6C;AAAA,EACzH,OAAyB,sBAA8B;AAAA;AAAA,EAGpC,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,WAAO,4CAAsB,4CAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AAC1C,YAAM,SAAS;AACf,aAAO,OAAO,SAAS,UAAU,WAAW,WAAc,EAAE,SAAS,UAAU,MAAM,UAAU,KAAK;AAAA,IACtG,CAAC,EACA,IAAoB,CAAC,MAAM;AAC1B,YAAM,EAAE,SAAS,SAAS,QAAQ,IAAI;AACtC,YAAM,EAAE,MAAM,OAAO,IAAI,QAAQ;AACjC,YAAM,UAAU,KAAK,CAAC;AACtB,YAAM,MAAM,OAAO,OAAO,OAAO,CAAC,EAAE,SAAS;AAC7C,YAAM,cAAc,QAAQ,SAAS,MAAM,IAAI,OAAO,QAAQ,QAAQ,GAAG,IAAI;AAC7E,aAAO,EAAE,SAAS,SAAS,aAAa,QAAQ,uDAAsB,QAAQ;AAAA,IAChF,CAAC;AACH,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/browser/index.js
CHANGED
|
@@ -1,2 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
// src/Schema.ts
|
|
2
|
+
var EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
3
|
+
|
|
4
|
+
// src/Config.ts
|
|
5
|
+
var EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`;
|
|
6
|
+
|
|
7
|
+
// src/Diviner.ts
|
|
8
|
+
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
9
|
+
import { EvmCallResultsSchema } from "@xyo-network/evm-call-witness";
|
|
10
|
+
import { NftMetadataUriSchema } from "@xyo-network/evm-nft-id-payload-plugin";
|
|
11
|
+
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
12
|
+
var EvmCallResultToNftTokenUriDiviner = class extends AbstractDiviner {
|
|
13
|
+
static configSchemas = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
14
|
+
static defaultConfigSchema = EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
15
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
16
|
+
divineHandler(payloads = []) {
|
|
17
|
+
const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema));
|
|
18
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
19
|
+
const casted = p;
|
|
20
|
+
return casted.results?.tokenURI?.result !== void 0 && (p.results?.tokenURI?.args?.length ?? 0) > 0;
|
|
21
|
+
}).map((p) => {
|
|
22
|
+
const { address, chainId, results } = p;
|
|
23
|
+
const { args, result } = results.tokenURI;
|
|
24
|
+
const tokenId = args[0];
|
|
25
|
+
const num = Number(BigInt(tokenId)).toString();
|
|
26
|
+
const metadataUri = result?.includes("{id}") ? result.replace("{id}", num) : result;
|
|
27
|
+
return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId };
|
|
28
|
+
});
|
|
29
|
+
return erc721CallResults;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
EvmCallResultToNftTokenUriDiviner,
|
|
34
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
35
|
+
EvmCallResultToNftTokenUriDivinerSchema
|
|
36
|
+
};
|
|
2
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":"AAGO,
|
|
1
|
+
{"version":3,"sources":["../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":";AAGO,IAAM,0CAA0C;;;ACIhD,IAAM,gDAAgD,GAAG,uCAAuC;;;ACPvG,SAAS,uBAAuB;AAEhC,SAAyB,4BAA4B;AACrD,SAAyB,4BAA4B;AACrD,SAAS,6BAA8C;AAMhD,IAAM,oCAAN,cAEG,gBAAkD;AAAA,EAC1D,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6CAA6C;AAAA,EACzH,OAAyB,sBAA8B;AAAA;AAAA,EAGpC,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,OAAO,sBAAsB,oBAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AAC1C,YAAM,SAAS;AACf,aAAO,OAAO,SAAS,UAAU,WAAW,WAAc,EAAE,SAAS,UAAU,MAAM,UAAU,KAAK;AAAA,IACtG,CAAC,EACA,IAAoB,CAAC,MAAM;AAC1B,YAAM,EAAE,SAAS,SAAS,QAAQ,IAAI;AACtC,YAAM,EAAE,MAAM,OAAO,IAAI,QAAQ;AACjC,YAAM,UAAU,KAAK,CAAC;AACtB,YAAM,MAAM,OAAO,OAAO,OAAO,CAAC,EAAE,SAAS;AAC7C,YAAM,cAAc,QAAQ,SAAS,MAAM,IAAI,OAAO,QAAQ,QAAQ,GAAG,IAAI;AAC7E,aAAO,EAAE,SAAS,SAAS,aAAa,QAAQ,sBAAsB,QAAQ;AAAA,IAChF,CAAC;AACH,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/neutral/index.cjs
CHANGED
|
@@ -1,2 +1,60 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
EvmCallResultToNftTokenUriDiviner: () => EvmCallResultToNftTokenUriDiviner,
|
|
24
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema: () => EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
25
|
+
EvmCallResultToNftTokenUriDivinerSchema: () => EvmCallResultToNftTokenUriDivinerSchema
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(src_exports);
|
|
28
|
+
|
|
29
|
+
// src/Schema.ts
|
|
30
|
+
var EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
31
|
+
|
|
32
|
+
// src/Config.ts
|
|
33
|
+
var EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`;
|
|
34
|
+
|
|
35
|
+
// src/Diviner.ts
|
|
36
|
+
var import_diviner_abstract = require("@xyo-network/diviner-abstract");
|
|
37
|
+
var import_evm_call_witness = require("@xyo-network/evm-call-witness");
|
|
38
|
+
var import_evm_nft_id_payload_plugin = require("@xyo-network/evm-nft-id-payload-plugin");
|
|
39
|
+
var import_payload_model = require("@xyo-network/payload-model");
|
|
40
|
+
var EvmCallResultToNftTokenUriDiviner = class extends import_diviner_abstract.AbstractDiviner {
|
|
41
|
+
static configSchemas = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
42
|
+
static defaultConfigSchema = EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
43
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
44
|
+
divineHandler(payloads = []) {
|
|
45
|
+
const evmCallResults = payloads.filter((0, import_payload_model.isPayloadOfSchemaType)(import_evm_call_witness.EvmCallResultsSchema));
|
|
46
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
47
|
+
const casted = p;
|
|
48
|
+
return casted.results?.tokenURI?.result !== void 0 && (p.results?.tokenURI?.args?.length ?? 0) > 0;
|
|
49
|
+
}).map((p) => {
|
|
50
|
+
const { address, chainId, results } = p;
|
|
51
|
+
const { args, result } = results.tokenURI;
|
|
52
|
+
const tokenId = args[0];
|
|
53
|
+
const num = Number(BigInt(tokenId)).toString();
|
|
54
|
+
const metadataUri = result?.includes("{id}") ? result.replace("{id}", num) : result;
|
|
55
|
+
return { address, chainId, metadataUri, schema: import_evm_nft_id_payload_plugin.NftMetadataUriSchema, tokenId };
|
|
56
|
+
});
|
|
57
|
+
return erc721CallResults;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
2
60
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Config'\nexport * from './Diviner'\nexport * from './Params'\nexport * from './Payload'\nexport * from './Schema'\n","/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Config'\nexport * from './Diviner'\nexport * from './Params'\nexport * from './Payload'\nexport * from './Schema'\n","/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,0CAA0C;;;ACIhD,IAAM,gDAAgD,GAAG,uCAAuC;;;ACPvG,8BAAgC;AAEhC,8BAAqD;AACrD,uCAAqD;AACrD,2BAAuD;AAMhD,IAAM,oCAAN,cAEG,wCAAkD;AAAA,EAC1D,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6CAA6C;AAAA,EACzH,OAAyB,sBAA8B;AAAA;AAAA,EAGpC,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,WAAO,4CAAsB,4CAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AAC1C,YAAM,SAAS;AACf,aAAO,OAAO,SAAS,UAAU,WAAW,WAAc,EAAE,SAAS,UAAU,MAAM,UAAU,KAAK;AAAA,IACtG,CAAC,EACA,IAAoB,CAAC,MAAM;AAC1B,YAAM,EAAE,SAAS,SAAS,QAAQ,IAAI;AACtC,YAAM,EAAE,MAAM,OAAO,IAAI,QAAQ;AACjC,YAAM,UAAU,KAAK,CAAC;AACtB,YAAM,MAAM,OAAO,OAAO,OAAO,CAAC,EAAE,SAAS;AAC7C,YAAM,cAAc,QAAQ,SAAS,MAAM,IAAI,OAAO,QAAQ,QAAQ,GAAG,IAAI;AAC7E,aAAO,EAAE,SAAS,SAAS,aAAa,QAAQ,uDAAsB,QAAQ;AAAA,IAChF,CAAC;AACH,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/neutral/index.js
CHANGED
|
@@ -1,2 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
// src/Schema.ts
|
|
2
|
+
var EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
3
|
+
|
|
4
|
+
// src/Config.ts
|
|
5
|
+
var EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`;
|
|
6
|
+
|
|
7
|
+
// src/Diviner.ts
|
|
8
|
+
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
9
|
+
import { EvmCallResultsSchema } from "@xyo-network/evm-call-witness";
|
|
10
|
+
import { NftMetadataUriSchema } from "@xyo-network/evm-nft-id-payload-plugin";
|
|
11
|
+
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
12
|
+
var EvmCallResultToNftTokenUriDiviner = class extends AbstractDiviner {
|
|
13
|
+
static configSchemas = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
14
|
+
static defaultConfigSchema = EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
15
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
16
|
+
divineHandler(payloads = []) {
|
|
17
|
+
const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema));
|
|
18
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
19
|
+
const casted = p;
|
|
20
|
+
return casted.results?.tokenURI?.result !== void 0 && (p.results?.tokenURI?.args?.length ?? 0) > 0;
|
|
21
|
+
}).map((p) => {
|
|
22
|
+
const { address, chainId, results } = p;
|
|
23
|
+
const { args, result } = results.tokenURI;
|
|
24
|
+
const tokenId = args[0];
|
|
25
|
+
const num = Number(BigInt(tokenId)).toString();
|
|
26
|
+
const metadataUri = result?.includes("{id}") ? result.replace("{id}", num) : result;
|
|
27
|
+
return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId };
|
|
28
|
+
});
|
|
29
|
+
return erc721CallResults;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
EvmCallResultToNftTokenUriDiviner,
|
|
34
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
35
|
+
EvmCallResultToNftTokenUriDivinerSchema
|
|
36
|
+
};
|
|
2
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":"AAGO,
|
|
1
|
+
{"version":3,"sources":["../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":";AAGO,IAAM,0CAA0C;;;ACIhD,IAAM,gDAAgD,GAAG,uCAAuC;;;ACPvG,SAAS,uBAAuB;AAEhC,SAAyB,4BAA4B;AACrD,SAAyB,4BAA4B;AACrD,SAAS,6BAA8C;AAMhD,IAAM,oCAAN,cAEG,gBAAkD;AAAA,EAC1D,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6CAA6C;AAAA,EACzH,OAAyB,sBAA8B;AAAA;AAAA,EAGpC,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,OAAO,sBAAsB,oBAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AAC1C,YAAM,SAAS;AACf,aAAO,OAAO,SAAS,UAAU,WAAW,WAAc,EAAE,SAAS,UAAU,MAAM,UAAU,KAAK;AAAA,IACtG,CAAC,EACA,IAAoB,CAAC,MAAM;AAC1B,YAAM,EAAE,SAAS,SAAS,QAAQ,IAAI;AACtC,YAAM,EAAE,MAAM,OAAO,IAAI,QAAQ;AACjC,YAAM,UAAU,KAAK,CAAC;AACtB,YAAM,MAAM,OAAO,OAAO,OAAO,CAAC,EAAE,SAAS;AAC7C,YAAM,cAAc,QAAQ,SAAS,MAAM,IAAI,OAAO,QAAQ,QAAQ,GAAG,IAAI;AAC7E,aAAO,EAAE,SAAS,SAAS,aAAa,QAAQ,sBAAsB,QAAQ;AAAA,IAChF,CAAC;AACH,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/node/index.cjs
CHANGED
|
@@ -1,2 +1,67 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
EvmCallResultToNftTokenUriDiviner: () => EvmCallResultToNftTokenUriDiviner,
|
|
24
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema: () => EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
25
|
+
EvmCallResultToNftTokenUriDivinerSchema: () => EvmCallResultToNftTokenUriDivinerSchema
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(src_exports);
|
|
28
|
+
|
|
29
|
+
// src/Schema.ts
|
|
30
|
+
var EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
31
|
+
|
|
32
|
+
// src/Config.ts
|
|
33
|
+
var EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`;
|
|
34
|
+
|
|
35
|
+
// src/Diviner.ts
|
|
36
|
+
var import_diviner_abstract = require("@xyo-network/diviner-abstract");
|
|
37
|
+
var import_evm_call_witness = require("@xyo-network/evm-call-witness");
|
|
38
|
+
var import_evm_nft_id_payload_plugin = require("@xyo-network/evm-nft-id-payload-plugin");
|
|
39
|
+
var import_payload_model = require("@xyo-network/payload-model");
|
|
40
|
+
var EvmCallResultToNftTokenUriDiviner = class extends import_diviner_abstract.AbstractDiviner {
|
|
41
|
+
static configSchemas = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
42
|
+
static defaultConfigSchema = EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
43
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
44
|
+
divineHandler(payloads = []) {
|
|
45
|
+
const evmCallResults = payloads.filter((0, import_payload_model.isPayloadOfSchemaType)(import_evm_call_witness.EvmCallResultsSchema));
|
|
46
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
47
|
+
var _a, _b, _c, _d, _e;
|
|
48
|
+
const casted = p;
|
|
49
|
+
return ((_b = (_a = casted.results) == null ? void 0 : _a.tokenURI) == null ? void 0 : _b.result) !== void 0 && (((_e = (_d = (_c = p.results) == null ? void 0 : _c.tokenURI) == null ? void 0 : _d.args) == null ? void 0 : _e.length) ?? 0) > 0;
|
|
50
|
+
}).map((p) => {
|
|
51
|
+
const { address, chainId, results } = p;
|
|
52
|
+
const { args, result } = results.tokenURI;
|
|
53
|
+
const tokenId = args[0];
|
|
54
|
+
const num = Number(BigInt(tokenId)).toString();
|
|
55
|
+
const metadataUri = (result == null ? void 0 : result.includes("{id}")) ? result.replace("{id}", num) : result;
|
|
56
|
+
return { address, chainId, metadataUri, schema: import_evm_nft_id_payload_plugin.NftMetadataUriSchema, tokenId };
|
|
57
|
+
});
|
|
58
|
+
return erc721CallResults;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
62
|
+
0 && (module.exports = {
|
|
63
|
+
EvmCallResultToNftTokenUriDiviner,
|
|
64
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
65
|
+
EvmCallResultToNftTokenUriDivinerSchema
|
|
66
|
+
});
|
|
2
67
|
//# sourceMappingURL=index.cjs.map
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Config'\nexport * from './Diviner'\nexport * from './Params'\nexport * from './Payload'\nexport * from './Schema'\n","/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Config'\nexport * from './Diviner'\nexport * from './Params'\nexport * from './Payload'\nexport * from './Schema'\n","/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,0CAA0C;;;ACIhD,IAAM,gDAAgD,GAAG,uCAAuC;;;ACPvG,8BAAgC;AAEhC,8BAAqD;AACrD,uCAAqD;AACrD,2BAAuD;AAMhD,IAAM,oCAAN,cAEG,wCAAkD;AAAA,EAC1D,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6CAA6C;AAAA,EACzH,OAAyB,sBAA8B;AAAA;AAAA,EAGpC,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,WAAO,4CAAsB,4CAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AApBlD;AAqBQ,YAAM,SAAS;AACf,eAAO,kBAAO,YAAP,mBAAgB,aAAhB,mBAA0B,YAAW,aAAc,mBAAE,YAAF,mBAAW,aAAX,mBAAqB,SAArB,mBAA2B,WAAU,KAAK;AAAA,IACtG,CAAC,EACA,IAAoB,CAAC,MAAM;AAC1B,YAAM,EAAE,SAAS,SAAS,QAAQ,IAAI;AACtC,YAAM,EAAE,MAAM,OAAO,IAAI,QAAQ;AACjC,YAAM,UAAU,KAAK,CAAC;AACtB,YAAM,MAAM,OAAO,OAAO,OAAO,CAAC,EAAE,SAAS;AAC7C,YAAM,eAAc,iCAAQ,SAAS,WAAU,OAAO,QAAQ,QAAQ,GAAG,IAAI;AAC7E,aAAO,EAAE,SAAS,SAAS,aAAa,QAAQ,uDAAsB,QAAQ;AAAA,IAChF,CAAC;AACH,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/node/index.js
CHANGED
|
@@ -1,2 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
// src/Schema.ts
|
|
2
|
+
var EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
3
|
+
|
|
4
|
+
// src/Config.ts
|
|
5
|
+
var EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`;
|
|
6
|
+
|
|
7
|
+
// src/Diviner.ts
|
|
8
|
+
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
9
|
+
import { EvmCallResultsSchema } from "@xyo-network/evm-call-witness";
|
|
10
|
+
import { NftMetadataUriSchema } from "@xyo-network/evm-nft-id-payload-plugin";
|
|
11
|
+
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
12
|
+
var EvmCallResultToNftTokenUriDiviner = class extends AbstractDiviner {
|
|
13
|
+
static configSchemas = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
14
|
+
static defaultConfigSchema = EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
15
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
16
|
+
divineHandler(payloads = []) {
|
|
17
|
+
const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema));
|
|
18
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
19
|
+
var _a, _b, _c, _d, _e;
|
|
20
|
+
const casted = p;
|
|
21
|
+
return ((_b = (_a = casted.results) == null ? void 0 : _a.tokenURI) == null ? void 0 : _b.result) !== void 0 && (((_e = (_d = (_c = p.results) == null ? void 0 : _c.tokenURI) == null ? void 0 : _d.args) == null ? void 0 : _e.length) ?? 0) > 0;
|
|
22
|
+
}).map((p) => {
|
|
23
|
+
const { address, chainId, results } = p;
|
|
24
|
+
const { args, result } = results.tokenURI;
|
|
25
|
+
const tokenId = args[0];
|
|
26
|
+
const num = Number(BigInt(tokenId)).toString();
|
|
27
|
+
const metadataUri = (result == null ? void 0 : result.includes("{id}")) ? result.replace("{id}", num) : result;
|
|
28
|
+
return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId };
|
|
29
|
+
});
|
|
30
|
+
return erc721CallResults;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
EvmCallResultToNftTokenUriDiviner,
|
|
35
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
36
|
+
EvmCallResultToNftTokenUriDivinerSchema
|
|
37
|
+
};
|
|
2
38
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":"AAGO,
|
|
1
|
+
{"version":3,"sources":["../../src/Schema.ts","../../src/Config.ts","../../src/Diviner.ts"],"sourcesContent":["/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'\n/**\n * The schema for the EVM call result to NFT token URI diviner.\n */\nexport type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'\n\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`\n/**\n * The config schema for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema\n\n/**\n * The config for the EVM call result to NFT token URI diviner\n */\nexport type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\n// eslint-disable-next-line workspaces/no-absolute-imports\nimport { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'\nimport { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'\nimport { isPayloadOfSchemaType, Payload, Schema } from '@xyo-network/payload-model'\n\nimport { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'\nimport { EvmCallResultToNftTokenUriDivinerParams } from './Params'\nimport { EvmTokenUriCallResults } from './Payload'\n\nexport class EvmCallResultToNftTokenUriDiviner<\n TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,\n> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallResultToNftTokenUriDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallResultToNftTokenUriDivinerConfigSchema\n\n // TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support\n protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {\n const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]\n const erc721CallResults = evmCallResults\n .filter((p): p is EvmTokenUriCallResults => {\n const casted = p as EvmTokenUriCallResults\n return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0\n })\n .map<NftMetadataUri>((p) => {\n const { address, chainId, results } = p\n const { args, result } = results.tokenURI\n const tokenId = args[0]\n const num = Number(BigInt(tokenId)).toString()\n const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result\n return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }\n })\n return erc721CallResults\n }\n}\n"],"mappings":";AAGO,IAAM,0CAA0C;;;ACIhD,IAAM,gDAAgD,GAAG,uCAAuC;;;ACPvG,SAAS,uBAAuB;AAEhC,SAAyB,4BAA4B;AACrD,SAAyB,4BAA4B;AACrD,SAAS,6BAA8C;AAMhD,IAAM,oCAAN,cAEG,gBAAkD;AAAA,EAC1D,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6CAA6C;AAAA,EACzH,OAAyB,sBAA8B;AAAA;AAAA,EAGpC,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,OAAO,sBAAsB,oBAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AApBlD;AAqBQ,YAAM,SAAS;AACf,eAAO,kBAAO,YAAP,mBAAgB,aAAhB,mBAA0B,YAAW,aAAc,mBAAE,YAAF,mBAAW,aAAX,mBAAqB,SAArB,mBAA2B,WAAU,KAAK;AAAA,IACtG,CAAC,EACA,IAAoB,CAAC,MAAM;AAC1B,YAAM,EAAE,SAAS,SAAS,QAAQ,IAAI;AACtC,YAAM,EAAE,MAAM,OAAO,IAAI,QAAQ;AACjC,YAAM,UAAU,KAAK,CAAC;AACtB,YAAM,MAAM,OAAO,OAAO,OAAO,CAAC,EAAE,SAAS;AAC7C,YAAM,eAAc,iCAAQ,SAAS,WAAU,OAAO,QAAQ,QAAQ,GAAG,IAAI;AAC7E,aAAO,EAAE,SAAS,SAAS,aAAa,QAAQ,sBAAsB,QAAQ;AAAA,IAChF,CAAC;AACH,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -10,19 +10,19 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/plugins/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xyo-network/diviner-abstract": "^2.107.
|
|
14
|
-
"@xyo-network/diviner-model": "^2.107.
|
|
15
|
-
"@xyo-network/evm-call-witness": "~2.97.
|
|
16
|
-
"@xyo-network/evm-nft-id-payload-plugin": "~2.97.
|
|
17
|
-
"@xyo-network/module-model": "^2.107.
|
|
18
|
-
"@xyo-network/payload-model": "^2.107.
|
|
13
|
+
"@xyo-network/diviner-abstract": "^2.107.4",
|
|
14
|
+
"@xyo-network/diviner-model": "^2.107.4",
|
|
15
|
+
"@xyo-network/evm-call-witness": "~2.97.1",
|
|
16
|
+
"@xyo-network/evm-nft-id-payload-plugin": "~2.97.1",
|
|
17
|
+
"@xyo-network/module-model": "^2.107.4",
|
|
18
|
+
"@xyo-network/payload-model": "^2.107.4",
|
|
19
19
|
"ethers": "^6.13.1"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@xylabs/jest-helpers": "^3.5.1",
|
|
23
|
-
"@xylabs/ts-scripts-yarn3": "^3.11.
|
|
24
|
-
"@xylabs/tsconfig": "^3.11.
|
|
25
|
-
"@xyo-network/evm-nft-id-payload-plugin": "~2.97.
|
|
23
|
+
"@xylabs/ts-scripts-yarn3": "^3.11.10",
|
|
24
|
+
"@xylabs/tsconfig": "^3.11.10",
|
|
25
|
+
"@xyo-network/evm-nft-id-payload-plugin": "~2.97.1",
|
|
26
26
|
"jest": "^29.7.0",
|
|
27
27
|
"typescript": "^5.5.2"
|
|
28
28
|
},
|
|
@@ -65,6 +65,6 @@
|
|
|
65
65
|
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
66
66
|
},
|
|
67
67
|
"sideEffects": false,
|
|
68
|
-
"version": "2.97.
|
|
68
|
+
"version": "2.97.1",
|
|
69
69
|
"type": "module"
|
|
70
70
|
}
|