@xyo-network/evm-token-interface-diviner 3.4.2 → 3.4.4

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.
@@ -0,0 +1,37 @@
1
+ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
+ import type { DivinerConfig, DivinerParams } from '@xyo-network/diviner-model';
3
+ import type { EvmContract } from '@xyo-network/evm-contract-witness';
4
+ import type { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import type { Schema } from '@xyo-network/payload-model';
6
+ import type { JsonFragment } from 'ethers';
7
+ import type { EvmTokenInterfaceImplemented, TokenInterface } from './Payload.ts';
8
+ export declare const EvmTokenInterfaceImplementedDivinerConfigSchema = "network.xyo.evm.token.interface.implemented.diviner.config";
9
+ export type EvmTokenInterfaceImplementedDivinerConfigSchema = typeof EvmTokenInterfaceImplementedDivinerConfigSchema;
10
+ export type EvmTokenInterfaceImplementedDivinerConfig = DivinerConfig<{
11
+ schema: EvmTokenInterfaceImplementedDivinerConfigSchema;
12
+ tokenInterfaces?: TokenInterface[];
13
+ }>;
14
+ export type EvmTokenInterfaceImplementedDivinerParams = DivinerParams<AnyConfigSchema<EvmTokenInterfaceImplementedDivinerConfig>>;
15
+ type DistributiveMappedType<T> = T extends string ? {
16
+ [K in T]: readonly JsonFragment[];
17
+ } : never;
18
+ type TokenInterfaceDictionary = DistributiveMappedType<TokenInterface>;
19
+ /**
20
+ * A diviner that checks if a contract implements a token interface
21
+ */
22
+ export declare class EvmTokenInterfaceImplementedDiviner<TParams extends EvmTokenInterfaceImplementedDivinerParams = EvmTokenInterfaceImplementedDivinerParams> extends AbstractDiviner<TParams, EvmContract, EvmTokenInterfaceImplemented> {
23
+ /**
24
+ * The list of supported token interfaces
25
+ */
26
+ static readonly SupportedTokenInterfaces: Readonly<Record<TokenInterface, readonly JsonFragment[]>>;
27
+ static readonly configSchemas: Schema[];
28
+ static readonly defaultConfigSchema: Schema;
29
+ private _tokenInterfaces?;
30
+ /**
31
+ * The list of token interfaces to check against the contract
32
+ */
33
+ get tokenInterfaces(): TokenInterfaceDictionary;
34
+ protected divineHandler(inPayloads?: EvmContract[]): Promise<EvmTokenInterfaceImplemented[]>;
35
+ }
36
+ export {};
37
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAWhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG1C,OAAO,KAAK,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGhF,eAAO,MAAM,+CAA+C,+DAAyD,CAAA;AACrH,MAAM,MAAM,+CAA+C,GAAG,OAAO,+CAA+C,CAAA;AAEpH,MAAM,MAAM,yCAAyC,GAAG,aAAa,CAAC;IACpE,MAAM,EAAE,+CAA+C,CAAA;IACvD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;CACnC,CAAC,CAAA;AAEF,MAAM,MAAM,yCAAyC,GAAG,aAAa,CAAC,eAAe,CAAC,yCAAyC,CAAC,CAAC,CAAA;AAEjI,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,SAAS,YAAY,EAAE;CAAE,GAAG,KAAK,CAAA;AACjG,KAAK,wBAAwB,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAA;AAEtE;;GAEG;AACH,qBAAa,mCAAmC,CAC9C,OAAO,SAAS,yCAAyC,GAAG,yCAAyC,CACrG,SAAQ,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,4BAA4B,CAAC;IAC3E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,YAAY,EAAE,CAAC,CAAC,CASlG;IAED,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA4E;IAC5H,gBAAyB,mBAAmB,EAAE,MAAM,CAAkD;IAEtG,OAAO,CAAC,gBAAgB,CAAC,CAA0B;IAEnD;;OAEG;IACH,IAAI,eAAe,6BAYlB;cAEwB,aAAa,CAAC,UAAU,GAAE,WAAW,EAAO,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC;CAwChH"}
@@ -0,0 +1,51 @@
1
+ import type { Payload } from '@xyo-network/payload-model';
2
+ /**
3
+ * ERC20 Token Interfaces
4
+ */
5
+ export type ERC20TokenInterfaces = 'ERC20';
6
+ /**
7
+ * ERC721 Token Interfaces
8
+ */
9
+ export type ERC721TokenInterfaces = 'ERC721' | 'ERC721TokenReceiver' | 'ERC721Metadata' | 'ERC721Enumerable';
10
+ /**
11
+ * ERC1155 Token Interfaces
12
+ */
13
+ export type ERC1155TokenInterfaces = 'ERC1155' | 'ERC1155TokenReceiver' | 'ERC1155Metadata_URI';
14
+ /**
15
+ * All Token Interfaces
16
+ */
17
+ export type TokenInterface = ERC20TokenInterfaces | ERC721TokenInterfaces | ERC1155TokenInterfaces;
18
+ /**
19
+ * The schema for the EVM Token Interface Implemented payload
20
+ */
21
+ export declare const EvmTokenInterfaceImplementedSchema = "network.xyo.evm.token.interface.implemented";
22
+ /**
23
+ * The schema for the EVM Token Interface Implemented payload
24
+ */
25
+ export type EvmTokenInterfaceImplementedSchema = typeof EvmTokenInterfaceImplementedSchema;
26
+ /**
27
+ * The EVM Token Interface Implemented payload
28
+ */
29
+ export type EvmTokenInterfaceImplemented = Payload<{
30
+ /**
31
+ * The contract address
32
+ */
33
+ address: string;
34
+ /**
35
+ * The chain id
36
+ */
37
+ chainId: number;
38
+ /**
39
+ * True if the contract implements the interface
40
+ */
41
+ implemented: boolean;
42
+ /**
43
+ * The specific token interface
44
+ */
45
+ tokenInterface: TokenInterface;
46
+ }, EvmTokenInterfaceImplementedSchema>;
47
+ /**
48
+ * Identity function for EvmTokenInterfaceImplemented payload
49
+ */
50
+ export declare const isEvmTokenInterfaceImplemented: (x?: unknown | null) => x is EvmTokenInterfaceImplemented;
51
+ //# sourceMappingURL=Payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAE1C;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;AAE5G;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,sBAAsB,GAAG,qBAAqB,CAAA;AAE/F;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA;AAElG;;GAEG;AACH,eAAO,MAAM,kCAAkC,gDAAgD,CAAA;AAC/F;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,OAAO,kCAAkC,CAAA;AAE1F;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAChD;IACE;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,cAAc,EAAE,cAAc,CAAA;CAC/B,EACD,kCAAkC,CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,2DAA0F,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Diviner.ts';
2
+ export * from './Payload.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/evm-token-interface-diviner",
3
- "version": "3.4.2",
3
+ "version": "3.4.4",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -21,46 +21,46 @@
21
21
  "type": "module",
22
22
  "exports": {
23
23
  ".": {
24
- "types": "./dist/neutral/index.d.ts",
24
+ "types": "./dist/types/index.d.ts",
25
25
  "default": "./dist/neutral/index.mjs"
26
26
  },
27
27
  "./package.json": "./package.json"
28
28
  },
29
29
  "module": "dist/neutral/index.mjs",
30
- "types": "dist/neutral/index.d.ts",
30
+ "types": "dist/types/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/assert": "^4.5.1",
33
- "@xyo-network/diviner-abstract": "^3.9.16",
34
- "@xyo-network/diviner-model": "^3.9.16",
35
- "@xyo-network/evm-contract-witness": "^3.4.2",
36
- "@xyo-network/module-model": "^3.9.16",
37
- "@xyo-network/open-zeppelin-typechain": "^3.4.9",
38
- "@xyo-network/payload-model": "^3.9.16",
32
+ "@xylabs/assert": "^4.6.0",
33
+ "@xyo-network/diviner-abstract": "^3.9.36",
34
+ "@xyo-network/diviner-model": "^3.9.36",
35
+ "@xyo-network/evm-contract-witness": "^3.4.4",
36
+ "@xyo-network/module-model": "^3.9.36",
37
+ "@xyo-network/open-zeppelin-typechain": "^3.4.10",
38
+ "@xyo-network/payload-model": "^3.9.36",
39
39
  "ethers": "^6.13.5"
40
40
  },
41
41
  "devDependencies": {
42
- "@xylabs/delay": "^4.5.1",
43
- "@xylabs/ts-scripts-yarn3": "^5.0.24",
44
- "@xylabs/tsconfig": "^5.0.24",
45
- "@xylabs/vitest-extended": "^4.5.1",
46
- "@xyo-network/account": "^3.9.16",
47
- "@xyo-network/archivist-memory": "^3.9.16",
48
- "@xyo-network/boundwitness-model": "^3.9.16",
49
- "@xyo-network/diviner-boundwitness-memory": "^3.9.16",
50
- "@xyo-network/diviner-jsonpatch": "^3.9.16",
51
- "@xyo-network/diviner-payload-memory": "^3.9.16",
52
- "@xyo-network/diviner-payload-model": "^3.9.16",
53
- "@xyo-network/diviner-stateful": "^3.9.16",
54
- "@xyo-network/diviner-temporal-indexing": "^3.9.16",
55
- "@xyo-network/manifest": "^3.9.16",
56
- "@xyo-network/module-factory-locator": "^3.9.16",
57
- "@xyo-network/node-memory": "^3.9.16",
58
- "@xyo-network/open-zeppelin-typechain": "^3.4.9",
59
- "@xyo-network/sentinel-model": "^3.9.16",
60
- "@xyo-network/witness-evm-abstract": "^3.9.16",
61
- "@xyo-network/witness-timestamp": "^3.9.16",
62
- "typescript": "^5.7.3",
63
- "vitest": "^3.0.6"
42
+ "@xylabs/delay": "^4.6.0",
43
+ "@xylabs/ts-scripts-yarn3": "^6.0.5",
44
+ "@xylabs/tsconfig": "^6.0.5",
45
+ "@xylabs/vitest-extended": "^4.6.0",
46
+ "@xyo-network/account": "^3.9.36",
47
+ "@xyo-network/archivist-memory": "^3.9.36",
48
+ "@xyo-network/boundwitness-model": "^3.9.36",
49
+ "@xyo-network/diviner-boundwitness-memory": "^3.9.36",
50
+ "@xyo-network/diviner-jsonpatch": "^3.9.36",
51
+ "@xyo-network/diviner-payload-memory": "^3.9.36",
52
+ "@xyo-network/diviner-payload-model": "^3.9.36",
53
+ "@xyo-network/diviner-stateful": "^3.9.36",
54
+ "@xyo-network/diviner-temporal-indexing": "^3.9.36",
55
+ "@xyo-network/manifest": "^3.9.36",
56
+ "@xyo-network/module-factory-locator": "^3.9.36",
57
+ "@xyo-network/node-memory": "^3.9.36",
58
+ "@xyo-network/open-zeppelin-typechain": "^3.4.10",
59
+ "@xyo-network/sentinel-model": "^3.9.36",
60
+ "@xyo-network/witness-evm-abstract": "^3.9.36",
61
+ "@xyo-network/witness-timestamp": "^3.9.36",
62
+ "typescript": "^5.8.2",
63
+ "vitest": "^3.0.8"
64
64
  },
65
65
  "publishConfig": {
66
66
  "access": "public"
@@ -1,42 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { DivinerConfig, DivinerParams } from '@xyo-network/diviner-model';
3
- import { EvmContract } from '@xyo-network/evm-contract-witness';
4
- import { AnyConfigSchema } from '@xyo-network/module-model';
5
- import { Payload, Schema } from '@xyo-network/payload-model';
6
- import { JsonFragment } from 'ethers';
7
-
8
- type ERC20TokenInterfaces = 'ERC20';
9
- type ERC721TokenInterfaces = 'ERC721' | 'ERC721TokenReceiver' | 'ERC721Metadata' | 'ERC721Enumerable';
10
- type ERC1155TokenInterfaces = 'ERC1155' | 'ERC1155TokenReceiver' | 'ERC1155Metadata_URI';
11
- type TokenInterface = ERC20TokenInterfaces | ERC721TokenInterfaces | ERC1155TokenInterfaces;
12
- declare const EvmTokenInterfaceImplementedSchema = "network.xyo.evm.token.interface.implemented";
13
- type EvmTokenInterfaceImplementedSchema = typeof EvmTokenInterfaceImplementedSchema;
14
- type EvmTokenInterfaceImplemented = Payload<{
15
- address: string;
16
- chainId: number;
17
- implemented: boolean;
18
- tokenInterface: TokenInterface;
19
- }, EvmTokenInterfaceImplementedSchema>;
20
- declare const isEvmTokenInterfaceImplemented: (x?: unknown | null) => x is EvmTokenInterfaceImplemented;
21
-
22
- declare const EvmTokenInterfaceImplementedDivinerConfigSchema = "network.xyo.evm.token.interface.implemented.diviner.config";
23
- type EvmTokenInterfaceImplementedDivinerConfigSchema = typeof EvmTokenInterfaceImplementedDivinerConfigSchema;
24
- type EvmTokenInterfaceImplementedDivinerConfig = DivinerConfig<{
25
- schema: EvmTokenInterfaceImplementedDivinerConfigSchema;
26
- tokenInterfaces?: TokenInterface[];
27
- }>;
28
- type EvmTokenInterfaceImplementedDivinerParams = DivinerParams<AnyConfigSchema<EvmTokenInterfaceImplementedDivinerConfig>>;
29
- type DistributiveMappedType<T> = T extends string ? {
30
- [K in T]: readonly JsonFragment[];
31
- } : never;
32
- type TokenInterfaceDictionary = DistributiveMappedType<TokenInterface>;
33
- declare class EvmTokenInterfaceImplementedDiviner<TParams extends EvmTokenInterfaceImplementedDivinerParams = EvmTokenInterfaceImplementedDivinerParams> extends AbstractDiviner<TParams, EvmContract, EvmTokenInterfaceImplemented> {
34
- static readonly SupportedTokenInterfaces: Readonly<Record<TokenInterface, readonly JsonFragment[]>>;
35
- static readonly configSchemas: Schema[];
36
- static readonly defaultConfigSchema: Schema;
37
- private _tokenInterfaces?;
38
- get tokenInterfaces(): TokenInterfaceDictionary;
39
- protected divineHandler(inPayloads?: EvmContract[]): Promise<EvmTokenInterfaceImplemented[]>;
40
- }
41
-
42
- export { type ERC1155TokenInterfaces, type ERC20TokenInterfaces, type ERC721TokenInterfaces, type EvmTokenInterfaceImplemented, EvmTokenInterfaceImplementedDiviner, type EvmTokenInterfaceImplementedDivinerConfig, EvmTokenInterfaceImplementedDivinerConfigSchema, type EvmTokenInterfaceImplementedDivinerParams, EvmTokenInterfaceImplementedSchema, type TokenInterface, isEvmTokenInterfaceImplemented };