@xyo-network/diviner-evm-call-result-to-token-uri 2.85.2
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/LICENSE +165 -0
- package/README.md +13 -0
- package/dist/browser/Config.d.cts +16 -0
- package/dist/browser/Config.d.cts.map +1 -0
- package/dist/browser/Config.d.mts +16 -0
- package/dist/browser/Config.d.mts.map +1 -0
- package/dist/browser/Config.d.ts +16 -0
- package/dist/browser/Config.d.ts.map +1 -0
- package/dist/browser/Diviner.d.cts +9 -0
- package/dist/browser/Diviner.d.cts.map +1 -0
- package/dist/browser/Diviner.d.mts +9 -0
- package/dist/browser/Diviner.d.mts.map +1 -0
- package/dist/browser/Diviner.d.ts +9 -0
- package/dist/browser/Diviner.d.ts.map +1 -0
- package/dist/browser/Params.d.cts +8 -0
- package/dist/browser/Params.d.cts.map +1 -0
- package/dist/browser/Params.d.mts +8 -0
- package/dist/browser/Params.d.mts.map +1 -0
- package/dist/browser/Params.d.ts +8 -0
- package/dist/browser/Params.d.ts.map +1 -0
- package/dist/browser/Payload.d.cts +10 -0
- package/dist/browser/Payload.d.cts.map +1 -0
- package/dist/browser/Payload.d.mts +10 -0
- package/dist/browser/Payload.d.mts.map +1 -0
- package/dist/browser/Payload.d.ts +10 -0
- package/dist/browser/Payload.d.ts.map +1 -0
- package/dist/browser/Schema.d.cts +9 -0
- package/dist/browser/Schema.d.cts.map +1 -0
- package/dist/browser/Schema.d.mts +9 -0
- package/dist/browser/Schema.d.mts.map +1 -0
- package/dist/browser/Schema.d.ts +9 -0
- package/dist/browser/Schema.d.ts.map +1 -0
- package/dist/browser/index.cjs +59 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.cts +6 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/index.d.mts +6 -0
- package/dist/browser/index.d.mts.map +1 -0
- package/dist/browser/index.d.ts +6 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +36 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/node/Config.d.cts +16 -0
- package/dist/node/Config.d.cts.map +1 -0
- package/dist/node/Config.d.mts +16 -0
- package/dist/node/Config.d.mts.map +1 -0
- package/dist/node/Config.d.ts +16 -0
- package/dist/node/Config.d.ts.map +1 -0
- package/dist/node/Diviner.d.cts +9 -0
- package/dist/node/Diviner.d.cts.map +1 -0
- package/dist/node/Diviner.d.mts +9 -0
- package/dist/node/Diviner.d.mts.map +1 -0
- package/dist/node/Diviner.d.ts +9 -0
- package/dist/node/Diviner.d.ts.map +1 -0
- package/dist/node/Params.d.cts +8 -0
- package/dist/node/Params.d.cts.map +1 -0
- package/dist/node/Params.d.mts +8 -0
- package/dist/node/Params.d.mts.map +1 -0
- package/dist/node/Params.d.ts +8 -0
- package/dist/node/Params.d.ts.map +1 -0
- package/dist/node/Payload.d.cts +10 -0
- package/dist/node/Payload.d.cts.map +1 -0
- package/dist/node/Payload.d.mts +10 -0
- package/dist/node/Payload.d.mts.map +1 -0
- package/dist/node/Payload.d.ts +10 -0
- package/dist/node/Payload.d.ts.map +1 -0
- package/dist/node/Schema.d.cts +9 -0
- package/dist/node/Schema.d.cts.map +1 -0
- package/dist/node/Schema.d.mts +9 -0
- package/dist/node/Schema.d.mts.map +1 -0
- package/dist/node/Schema.d.ts +9 -0
- package/dist/node/Schema.d.ts.map +1 -0
- package/dist/node/index.cjs +66 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +6 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.d.mts +6 -0
- package/dist/node/index.d.mts.map +1 -0
- package/dist/node/index.d.ts +6 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +37 -0
- package/dist/node/index.js.map +1 -0
- package/package.json +70 -0
- package/src/Config.ts +17 -0
- package/src/Diviner.ts +34 -0
- package/src/Params.ts +9 -0
- package/src/Payload.ts +4 -0
- package/src/Schema.ts +8 -0
- package/src/index.ts +5 -0
- package/typedoc.json +5 -0
- package/xy.config.ts +14 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DivinerConfig } from '@xyo-network/diviner-model';
|
|
2
|
+
/**
|
|
3
|
+
* The config schema for the EVM call result to NFT token URI diviner
|
|
4
|
+
*/
|
|
5
|
+
export declare const EvmCallResultToNftTokenUriDivinerConfigSchema = "network.xyo.evm.call.results.metadata.uri.diviner.config";
|
|
6
|
+
/**
|
|
7
|
+
* The config schema for the EVM call result to NFT token URI diviner
|
|
8
|
+
*/
|
|
9
|
+
export type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
10
|
+
/**
|
|
11
|
+
* The config for the EVM call result to NFT token URI diviner
|
|
12
|
+
*/
|
|
13
|
+
export type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{
|
|
14
|
+
schema: EvmCallResultToNftTokenUriDivinerConfigSchema;
|
|
15
|
+
}>;
|
|
16
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D;;GAEG;AACH,eAAO,MAAM,6CAA6C,6DAAsD,CAAA;AAChH;;GAEG;AACH,MAAM,MAAM,6CAA6C,GAAG,OAAO,6CAA6C,CAAA;AAEhH;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,aAAa,CAAC;IAAE,MAAM,EAAE,6CAA6C,CAAA;CAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
2
|
+
import { NftMetadataUri } from '@xyo-network/evm-nft-id-payload-plugin';
|
|
3
|
+
import { Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import { EvmCallResultToNftTokenUriDivinerParams } from './Params';
|
|
5
|
+
export declare class EvmCallResultToNftTokenUriDiviner<TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {
|
|
6
|
+
static configSchemas: string[];
|
|
7
|
+
protected divineHandler(payloads?: Payload[]): NftMetadataUri[];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,cAAc,EAAwB,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAG3E,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAA;AAGlE,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;IACzD,OAAgB,aAAa,WAAkD;cAG5D,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,cAAc,EAAE;CAiB7E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
2
|
+
import { NftMetadataUri } from '@xyo-network/evm-nft-id-payload-plugin';
|
|
3
|
+
import { Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import { EvmCallResultToNftTokenUriDivinerParams } from './Params';
|
|
5
|
+
export declare class EvmCallResultToNftTokenUriDiviner<TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {
|
|
6
|
+
static configSchemas: string[];
|
|
7
|
+
protected divineHandler(payloads?: Payload[]): NftMetadataUri[];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,cAAc,EAAwB,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAG3E,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAA;AAGlE,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;IACzD,OAAgB,aAAa,WAAkD;cAG5D,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,cAAc,EAAE;CAiB7E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
2
|
+
import { NftMetadataUri } from '@xyo-network/evm-nft-id-payload-plugin';
|
|
3
|
+
import { Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import { EvmCallResultToNftTokenUriDivinerParams } from './Params';
|
|
5
|
+
export declare class EvmCallResultToNftTokenUriDiviner<TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {
|
|
6
|
+
static configSchemas: string[];
|
|
7
|
+
protected divineHandler(payloads?: Payload[]): NftMetadataUri[];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,cAAc,EAAwB,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAG3E,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAA;AAGlE,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;IACzD,OAAgB,aAAa,WAAkD;cAG5D,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,cAAc,EAAE;CAiB7E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DivinerParams } from '@xyo-network/diviner-model';
|
|
2
|
+
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
3
|
+
import { EvmCallResultToNftTokenUriDivinerConfig } from './Config';
|
|
4
|
+
/**
|
|
5
|
+
* The params for the EVM call result to NFT token URI diviner
|
|
6
|
+
*/
|
|
7
|
+
export type EvmCallResultToNftTokenUriDivinerParams = DivinerParams<AnyConfigSchema<EvmCallResultToNftTokenUriDivinerConfig>>;
|
|
8
|
+
//# sourceMappingURL=Params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,aAAa,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DivinerParams } from '@xyo-network/diviner-model';
|
|
2
|
+
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
3
|
+
import { EvmCallResultToNftTokenUriDivinerConfig } from './Config';
|
|
4
|
+
/**
|
|
5
|
+
* The params for the EVM call result to NFT token URI diviner
|
|
6
|
+
*/
|
|
7
|
+
export type EvmCallResultToNftTokenUriDivinerParams = DivinerParams<AnyConfigSchema<EvmCallResultToNftTokenUriDivinerConfig>>;
|
|
8
|
+
//# sourceMappingURL=Params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,aAAa,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DivinerParams } from '@xyo-network/diviner-model';
|
|
2
|
+
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
3
|
+
import { EvmCallResultToNftTokenUriDivinerConfig } from './Config';
|
|
4
|
+
/**
|
|
5
|
+
* The params for the EVM call result to NFT token URI diviner
|
|
6
|
+
*/
|
|
7
|
+
export type EvmCallResultToNftTokenUriDivinerParams = DivinerParams<AnyConfigSchema<EvmCallResultToNftTokenUriDivinerConfig>>;
|
|
8
|
+
//# sourceMappingURL=Params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,aAAa,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IAAE,OAAO,EAAE;QAAE,QAAQ,EAAE;YAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IAAE,OAAO,EAAE;QAAE,QAAQ,EAAE;YAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IAAE,OAAO,EAAE;QAAE,QAAQ,EAAE;YAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
3
|
+
*/
|
|
4
|
+
export declare const EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
5
|
+
/**
|
|
6
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
7
|
+
*/
|
|
8
|
+
export type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema;
|
|
9
|
+
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,uCAAuC,sDAAsD,CAAA;AAC1G;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,OAAO,uCAAuC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
3
|
+
*/
|
|
4
|
+
export declare const EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
5
|
+
/**
|
|
6
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
7
|
+
*/
|
|
8
|
+
export type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema;
|
|
9
|
+
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,uCAAuC,sDAAsD,CAAA;AAC1G;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,OAAO,uCAAuC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
3
|
+
*/
|
|
4
|
+
export declare const EvmCallResultToNftTokenUriDivinerSchema = "network.xyo.evm.call.results.metadata.uri.diviner";
|
|
5
|
+
/**
|
|
6
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
7
|
+
*/
|
|
8
|
+
export type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema;
|
|
9
|
+
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,uCAAuC,sDAAsD,CAAA;AAC1G;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,OAAO,uCAAuC,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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 = [EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
42
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
43
|
+
divineHandler(payloads = []) {
|
|
44
|
+
const evmCallResults = payloads.filter((0, import_payload_model.isPayloadOfSchemaType)(import_evm_call_witness.EvmCallResultsSchema));
|
|
45
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
46
|
+
var _a, _b, _c, _d, _e;
|
|
47
|
+
const casted = p;
|
|
48
|
+
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;
|
|
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 == null ? void 0 : 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
|
+
};
|
|
60
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
+
0 && (module.exports = {
|
|
62
|
+
EvmCallResultToNftTokenUriDiviner,
|
|
63
|
+
EvmCallResultToNftTokenUriDivinerConfigSchema,
|
|
64
|
+
EvmCallResultToNftTokenUriDivinerSchema
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +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 } 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 configSchemas = [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,2BAA+C;AAMxC,IAAM,oCAAN,cAEG,wCAAkD;AAAA,EAC1D,OAAgB,gBAAgB,CAAC,6CAA6C;AAAA;AAAA,EAG3D,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,WAAO,4CAAsB,4CAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AAnBlD;AAoBQ,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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 = [EvmCallResultToNftTokenUriDivinerConfigSchema];
|
|
14
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
15
|
+
divineHandler(payloads = []) {
|
|
16
|
+
const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema));
|
|
17
|
+
const erc721CallResults = evmCallResults.filter((p) => {
|
|
18
|
+
var _a, _b, _c, _d, _e;
|
|
19
|
+
const casted = p;
|
|
20
|
+
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;
|
|
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 == null ? void 0 : 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
|
+
};
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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 } 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 configSchemas = [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,6BAAsC;AAMxC,IAAM,oCAAN,cAEG,gBAAkD;AAAA,EAC1D,OAAgB,gBAAgB,CAAC,6CAA6C;AAAA;AAAA,EAG3D,cAAc,WAAsB,CAAC,GAAqB;AAC3E,UAAM,iBAAiB,SAAS,OAAO,sBAAsB,oBAAoB,CAAC;AAClF,UAAM,oBAAoB,eACvB,OAAO,CAAC,MAAmC;AAnBlD;AAoBQ,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
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xyo-network/diviner-evm-call-result-to-token-uri",
|
|
3
|
+
"author": {
|
|
4
|
+
"email": "support@xyo.network",
|
|
5
|
+
"name": "XYO Development Team",
|
|
6
|
+
"url": "https://xyo.network"
|
|
7
|
+
},
|
|
8
|
+
"bugs": {
|
|
9
|
+
"email": "support@xyo.network",
|
|
10
|
+
"url": "https://github.com/XYOracleNetwork/plugins/issues"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@xyo-network/diviner-abstract": "^2.85.8",
|
|
14
|
+
"@xyo-network/diviner-model": "^2.85.8",
|
|
15
|
+
"@xyo-network/evm-call-witness": "~2.85.2",
|
|
16
|
+
"@xyo-network/evm-nft-id-payload-plugin": "~2.85.2",
|
|
17
|
+
"@xyo-network/module-model": "^2.85.8",
|
|
18
|
+
"@xyo-network/payload-model": "^2.85.8",
|
|
19
|
+
"ethers": "^6.9.2"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@xylabs/jest-helpers": "^2.13.23",
|
|
23
|
+
"@xylabs/ts-scripts-yarn3": "^3.2.25",
|
|
24
|
+
"@xylabs/tsconfig": "^3.2.25",
|
|
25
|
+
"@xyo-network/evm-nft-id-payload-plugin": "~2.85.2",
|
|
26
|
+
"jest": "^29.7.0",
|
|
27
|
+
"typescript": "^5.3.3"
|
|
28
|
+
},
|
|
29
|
+
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
30
|
+
"types": "dist/node/index.d.ts",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"browser": {
|
|
34
|
+
"require": {
|
|
35
|
+
"types": "./dist/browser/index.d.cts",
|
|
36
|
+
"default": "./dist/browser/index.cjs"
|
|
37
|
+
},
|
|
38
|
+
"import": {
|
|
39
|
+
"types": "./dist/browser/index.d.mts",
|
|
40
|
+
"default": "./dist/browser/index.js"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"node": {
|
|
44
|
+
"require": {
|
|
45
|
+
"types": "./dist/node/index.d.cts",
|
|
46
|
+
"default": "./dist/node/index.cjs"
|
|
47
|
+
},
|
|
48
|
+
"import": {
|
|
49
|
+
"types": "./dist/node/index.d.mts",
|
|
50
|
+
"default": "./dist/node/index.js"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"./package.json": "./package.json"
|
|
55
|
+
},
|
|
56
|
+
"main": "dist/node/index.cjs",
|
|
57
|
+
"module": "dist/node/index.js",
|
|
58
|
+
"homepage": "https://xyo.network",
|
|
59
|
+
"license": "LGPL-3.0-only",
|
|
60
|
+
"publishConfig": {
|
|
61
|
+
"access": "public"
|
|
62
|
+
},
|
|
63
|
+
"repository": {
|
|
64
|
+
"type": "git",
|
|
65
|
+
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
66
|
+
},
|
|
67
|
+
"sideEffects": false,
|
|
68
|
+
"version": "2.85.2",
|
|
69
|
+
"type": "module"
|
|
70
|
+
}
|
package/src/Config.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DivinerConfig } from '@xyo-network/diviner-model'
|
|
2
|
+
|
|
3
|
+
import { EvmCallResultToNftTokenUriDivinerSchema } from './Schema'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The config schema for the EVM call result to NFT token URI diviner
|
|
7
|
+
*/
|
|
8
|
+
export const EvmCallResultToNftTokenUriDivinerConfigSchema = `${EvmCallResultToNftTokenUriDivinerSchema}.config`
|
|
9
|
+
/**
|
|
10
|
+
* The config schema for the EVM call result to NFT token URI diviner
|
|
11
|
+
*/
|
|
12
|
+
export type EvmCallResultToNftTokenUriDivinerConfigSchema = typeof EvmCallResultToNftTokenUriDivinerConfigSchema
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The config for the EVM call result to NFT token URI diviner
|
|
16
|
+
*/
|
|
17
|
+
export type EvmCallResultToNftTokenUriDivinerConfig = DivinerConfig<{ schema: EvmCallResultToNftTokenUriDivinerConfigSchema }>
|
package/src/Diviner.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AbstractDiviner } from '@xyo-network/diviner-abstract'
|
|
2
|
+
// eslint-disable-next-line workspaces/no-absolute-imports
|
|
3
|
+
import { EvmCallResults, EvmCallResultsSchema } from '@xyo-network/evm-call-witness'
|
|
4
|
+
import { NftMetadataUri, NftMetadataUriSchema } from '@xyo-network/evm-nft-id-payload-plugin'
|
|
5
|
+
import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'
|
|
6
|
+
|
|
7
|
+
import { EvmCallResultToNftTokenUriDivinerConfigSchema } from './Config'
|
|
8
|
+
import { EvmCallResultToNftTokenUriDivinerParams } from './Params'
|
|
9
|
+
import { EvmTokenUriCallResults } from './Payload'
|
|
10
|
+
|
|
11
|
+
export class EvmCallResultToNftTokenUriDiviner<
|
|
12
|
+
TParams extends EvmCallResultToNftTokenUriDivinerParams = EvmCallResultToNftTokenUriDivinerParams,
|
|
13
|
+
> extends AbstractDiviner<TParams, Payload, NftMetadataUri> {
|
|
14
|
+
static override configSchemas = [EvmCallResultToNftTokenUriDivinerConfigSchema]
|
|
15
|
+
|
|
16
|
+
// TODO: Add support for ERC1155 with `uri` function in addition to current ERC721 `tokenURI` support
|
|
17
|
+
protected override divineHandler(payloads: Payload[] = []): NftMetadataUri[] {
|
|
18
|
+
const evmCallResults = payloads.filter(isPayloadOfSchemaType(EvmCallResultsSchema)) as EvmCallResults[]
|
|
19
|
+
const erc721CallResults = evmCallResults
|
|
20
|
+
.filter((p): p is EvmTokenUriCallResults => {
|
|
21
|
+
const casted = p as EvmTokenUriCallResults
|
|
22
|
+
return casted.results?.tokenURI?.result !== undefined && (p.results?.tokenURI?.args?.length ?? 0) > 0
|
|
23
|
+
})
|
|
24
|
+
.map<NftMetadataUri>((p) => {
|
|
25
|
+
const { address, chainId, results } = p
|
|
26
|
+
const { args, result } = results.tokenURI
|
|
27
|
+
const tokenId = args[0]
|
|
28
|
+
const num = Number(BigInt(tokenId)).toString()
|
|
29
|
+
const metadataUri = result?.includes('{id}') ? result.replace('{id}', num) : result
|
|
30
|
+
return { address, chainId, metadataUri, schema: NftMetadataUriSchema, tokenId }
|
|
31
|
+
})
|
|
32
|
+
return erc721CallResults
|
|
33
|
+
}
|
|
34
|
+
}
|
package/src/Params.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DivinerParams } from '@xyo-network/diviner-model'
|
|
2
|
+
import { AnyConfigSchema } from '@xyo-network/module-model'
|
|
3
|
+
|
|
4
|
+
import { EvmCallResultToNftTokenUriDivinerConfig } from './Config'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The params for the EVM call result to NFT token URI diviner
|
|
8
|
+
*/
|
|
9
|
+
export type EvmCallResultToNftTokenUriDivinerParams = DivinerParams<AnyConfigSchema<EvmCallResultToNftTokenUriDivinerConfig>>
|
package/src/Payload.ts
ADDED
package/src/Schema.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
3
|
+
*/
|
|
4
|
+
export const EvmCallResultToNftTokenUriDivinerSchema = 'network.xyo.evm.call.results.metadata.uri.diviner'
|
|
5
|
+
/**
|
|
6
|
+
* The schema for the EVM call result to NFT token URI diviner.
|
|
7
|
+
*/
|
|
8
|
+
export type EvmCallResultToNftTokenUriDivinerSchema = typeof EvmCallResultToNftTokenUriDivinerSchema
|
package/src/index.ts
ADDED
package/typedoc.json
ADDED
package/xy.config.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
|
|
2
|
+
const config: XyTsupConfig = {
|
|
3
|
+
compile: {
|
|
4
|
+
browser: {
|
|
5
|
+
src: true,
|
|
6
|
+
},
|
|
7
|
+
node: {
|
|
8
|
+
src: true,
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// eslint-disable-next-line import/no-default-export
|
|
14
|
+
export default config
|