@xyo-network/evm-abi-diviner 7.0.0 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EvmContract } from '@xyo-network/evm-contract-witness';
|
|
2
|
-
import type { AnyConfigSchema, DivinerConfig, DivinerParams, Schema } from '@xyo-network/sdk
|
|
3
|
-
import { AbstractDiviner } from '@xyo-network/sdk
|
|
2
|
+
import type { AnyConfigSchema, DivinerConfig, DivinerParams, Schema } from '@xyo-network/sdk';
|
|
3
|
+
import { AbstractDiviner } from '@xyo-network/sdk';
|
|
4
4
|
import type { EvmFunctionImplemented, InterfaceAbi } from './Payload.ts';
|
|
5
5
|
export declare const EvmAbiImplementedDivinerConfigSchema: "network.xyo.evm.abi.implemented.diviner.config" & {
|
|
6
6
|
readonly __schema: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAEpE,OAAO,KAAK,EACV,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EACtD,MAAM,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAEpE,OAAO,KAAK,EACV,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EACtD,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGxE,eAAO,MAAM,oCAAoC;;CAAmE,CAAA;AACpH,MAAM,MAAM,oCAAoC,GAAG,OAAO,oCAAoC,CAAA;AAE9F,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,oCAAoC,CAAA;CAAE,CAAC,CAAA;AAEhI,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE3G,qBAAa,wBAAwB,CAAC,OAAO,SAAS,8BAA8B,GAAG,8BAA8B,CAAE,SAAQ,eAAe,CAC5I,OAAO,EACP,WAAW,EACX,sBAAsB,CACvB;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAE3F,IAAI,GAAG,6FAEN;cAEwB,aAAa,CAAC,UAAU,GAAE,WAAW,EAAO,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;CA4B1G"}
|
|
@@ -32,7 +32,7 @@ export declare const asEvmFunctionImplemented: {
|
|
|
32
32
|
implemented: boolean;
|
|
33
33
|
selector: string;
|
|
34
34
|
}) | undefined;
|
|
35
|
-
<T>(value: T, assert: import("@xylabs/sdk
|
|
35
|
+
<T>(value: T, assert: import("@xylabs/sdk").ZodFactoryConfig): T & {
|
|
36
36
|
schema: "network.xyo.evm.function.implemented" & {
|
|
37
37
|
readonly __schema: true;
|
|
38
38
|
};
|
|
@@ -50,7 +50,7 @@ export declare const toEvmFunctionImplemented: {
|
|
|
50
50
|
implemented: boolean;
|
|
51
51
|
selector: string;
|
|
52
52
|
}) | undefined;
|
|
53
|
-
<T>(value: T, assert: import("@xylabs/sdk
|
|
53
|
+
<T>(value: T, assert: import("@xylabs/sdk").ZodFactoryConfig): T & {
|
|
54
54
|
schema: "network.xyo.evm.function.implemented" & {
|
|
55
55
|
readonly __schema: true;
|
|
56
56
|
};
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// src/Diviner.ts
|
|
2
|
-
import { assertEx } from "@xylabs/sdk
|
|
2
|
+
import { assertEx } from "@xylabs/sdk";
|
|
3
3
|
import { EvmContractSchema } from "@xyo-network/evm-contract-witness";
|
|
4
4
|
import {
|
|
5
5
|
AbstractDiviner,
|
|
6
6
|
asSchema as asSchema2,
|
|
7
7
|
isPayloadOfSchemaType
|
|
8
|
-
} from "@xyo-network/sdk
|
|
8
|
+
} from "@xyo-network/sdk";
|
|
9
9
|
import { Interface } from "ethers";
|
|
10
10
|
|
|
11
11
|
// src/Payload.ts
|
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
zodAsFactory,
|
|
14
14
|
zodIsFactory,
|
|
15
15
|
zodToFactory
|
|
16
|
-
} from "@xylabs/sdk
|
|
17
|
-
import { asSchema, PayloadZodOfSchema } from "@xyo-network/sdk
|
|
16
|
+
} from "@xylabs/sdk";
|
|
17
|
+
import { asSchema, PayloadZodOfSchema } from "@xyo-network/sdk";
|
|
18
18
|
import * as z from "zod/mini";
|
|
19
19
|
var InterfaceAbiZod = z.union([
|
|
20
20
|
z.string(),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Diviner.ts", "../../src/Payload.ts"],
|
|
4
|
-
"sourcesContent": ["import { assertEx } from '@xylabs/sdk
|
|
4
|
+
"sourcesContent": ["import { assertEx } from '@xylabs/sdk'\nimport type { EvmContract } from '@xyo-network/evm-contract-witness'\nimport { EvmContractSchema } from '@xyo-network/evm-contract-witness'\nimport type {\n AnyConfigSchema, DivinerConfig, DivinerParams, Schema,\n} from '@xyo-network/sdk'\nimport {\n AbstractDiviner, asSchema, isPayloadOfSchemaType,\n} from '@xyo-network/sdk'\nimport { Interface } from 'ethers'\n\nimport type { EvmFunctionImplemented, InterfaceAbi } from './Payload.ts'\nimport { EvmFunctionImplementedSchema } from './Payload.ts'\n\nexport const EvmAbiImplementedDivinerConfigSchema = asSchema('network.xyo.evm.abi.implemented.diviner.config', true)\nexport type EvmAbiImplementedDivinerConfigSchema = typeof EvmAbiImplementedDivinerConfigSchema\n\nexport type EvmAbiImplementedDivinerConfig = DivinerConfig<{ abi?: InterfaceAbi; schema: EvmAbiImplementedDivinerConfigSchema }>\n\nexport type EvmAbiImplementedDivinerParams = DivinerParams<AnyConfigSchema<EvmAbiImplementedDivinerConfig>>\n\nexport class EvmAbiImplementedDiviner<TParams extends EvmAbiImplementedDivinerParams = EvmAbiImplementedDivinerParams> extends AbstractDiviner<\n TParams,\n EvmContract,\n EvmFunctionImplemented\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmAbiImplementedDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmAbiImplementedDivinerConfigSchema\n\n get abi() {\n return assertEx(this.config?.abi, () => 'No ABI specified')\n }\n\n protected override async divineHandler(inPayloads: EvmContract[] = []): Promise<EvmFunctionImplemented[]> {\n await this.startedAsync('throw')\n try {\n const observations = inPayloads.filter(isPayloadOfSchemaType<EvmContract>(EvmContractSchema)).map(({ address, code }) => {\n const contractInterface = new Interface(this.abi)\n const byteCode = assertEx(code, () => 'Missing code')\n\n const results: EvmFunctionImplemented[] = []\n\n contractInterface.forEachFunction(({ selector }) => {\n const observation: EvmFunctionImplemented = {\n address,\n implemented: byteCode.includes(BigInt(selector).toString(16)),\n schema: EvmFunctionImplementedSchema,\n selector,\n }\n results.push(observation)\n })\n\n return results\n })\n return observations.flat()\n } catch (ex) {\n const error = ex as Error\n console.log(`Error [${this.config.name}]: ${error.message}`)\n throw error\n }\n }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport type { Fragment, JsonFragment } from 'ethers'\nimport * as z from 'zod/mini'\n\nexport const InterfaceAbiZod = z.union([\n z.string(),\n z.array(z.union([\n z.custom<Fragment>(),\n z.custom<JsonFragment>(),\n z.string(),\n ])),\n])\n\nexport type InterfaceAbi = string | readonly (Fragment | JsonFragment | string)[]\n\nexport const EvmFunctionImplementedSchema = asSchema('network.xyo.evm.function.implemented', true)\nexport type EvmFunctionImplementedSchema = typeof EvmFunctionImplementedSchema\n\nexport const EvmFunctionImplementedZod = z.extend(PayloadZodOfSchema(EvmFunctionImplementedSchema), {\n address: z.string(),\n implemented: z.boolean(),\n selector: z.string(),\n})\n\nexport type EvmFunctionImplemented = z.infer<typeof EvmFunctionImplementedZod>\n\nexport const isEvmFunctionImplemented = zodIsFactory(EvmFunctionImplementedZod)\nexport const asEvmFunctionImplemented = zodAsFactory(EvmFunctionImplementedZod, 'asEvmFunctionImplemented')\nexport const toEvmFunctionImplemented = zodToFactory(EvmFunctionImplementedZod, 'toEvmFunctionImplemented')\n"],
|
|
5
5
|
"mappings": ";AAAA,SAAS,gBAAgB;AAEzB,SAAS,yBAAyB;AAIlC;AAAA,EACE;AAAA,EAAiB,YAAAA;AAAA,EAAU;AAAA,OACtB;AACP,SAAS,iBAAiB;;;ACT1B;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AACP,SAAS,UAAU,0BAA0B;AAE7C,YAAY,OAAO;AAEZ,IAAM,kBAAoB,QAAM;AAAA,EACnC,SAAO;AAAA,EACP,QAAQ,QAAM;AAAA,IACZ,SAAiB;AAAA,IACjB,SAAqB;AAAA,IACrB,SAAO;AAAA,EACX,CAAC,CAAC;AACJ,CAAC;AAIM,IAAM,+BAA+B,SAAS,wCAAwC,IAAI;AAG1F,IAAM,4BAA8B,SAAO,mBAAmB,4BAA4B,GAAG;AAAA,EAClG,SAAW,SAAO;AAAA,EAClB,aAAe,UAAQ;AAAA,EACvB,UAAY,SAAO;AACrB,CAAC;AAIM,IAAM,2BAA2B,aAAa,yBAAyB;AACvE,IAAM,2BAA2B,aAAa,2BAA2B,0BAA0B;AACnG,IAAM,2BAA2B,aAAa,2BAA2B,0BAA0B;;;ADjBnG,IAAM,uCAAuCC,UAAS,kDAAkD,IAAI;AAO5G,IAAM,2BAAN,cAAwH,gBAI7H;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,oCAAoC;AAAA,EAChH,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,MAAM;AACR,WAAO,SAAS,KAAK,QAAQ,KAAK,MAAM,kBAAkB;AAAA,EAC5D;AAAA,EAEA,MAAyB,cAAc,aAA4B,CAAC,GAAsC;AACxG,UAAM,KAAK,aAAa,OAAO;AAC/B,QAAI;AACF,YAAM,eAAe,WAAW,OAAO,sBAAmC,iBAAiB,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,MAAM;AACvH,cAAM,oBAAoB,IAAI,UAAU,KAAK,GAAG;AAChD,cAAM,WAAW,SAAS,MAAM,MAAM,cAAc;AAEpD,cAAM,UAAoC,CAAC;AAE3C,0BAAkB,gBAAgB,CAAC,EAAE,SAAS,MAAM;AAClD,gBAAM,cAAsC;AAAA,YAC1C;AAAA,YACA,aAAa,SAAS,SAAS,OAAO,QAAQ,EAAE,SAAS,EAAE,CAAC;AAAA,YAC5D,QAAQ;AAAA,YACR;AAAA,UACF;AACA,kBAAQ,KAAK,WAAW;AAAA,QAC1B,CAAC;AAED,eAAO;AAAA,MACT,CAAC;AACD,aAAO,aAAa,KAAK;AAAA,IAC3B,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,MAAM,MAAM,OAAO,EAAE;AAC3D,YAAM;AAAA,IACR;AAAA,EACF;AACF;",
|
|
6
6
|
"names": ["asSchema", "asSchema"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/evm-abi-diviner",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.1",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -31,54 +31,53 @@
|
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@xyo-network/evm-contract-witness": "~7.0.
|
|
34
|
+
"@xyo-network/evm-contract-witness": "~7.0.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@bitauth/libauth": "~3.0.0",
|
|
38
|
-
"@metamask/providers": "^22.1.1",
|
|
39
38
|
"@noble/post-quantum": "~0.6.1",
|
|
40
39
|
"@opentelemetry/api": "^1.9.1",
|
|
41
40
|
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
42
41
|
"@scure/base": "^2.2.0",
|
|
43
42
|
"@scure/bip39": "~2.2.0",
|
|
44
|
-
"@xylabs/geo": "^
|
|
45
|
-
"@xylabs/sdk
|
|
46
|
-
"@xylabs/threads": "^
|
|
47
|
-
"@xylabs/toolchain": "~8.
|
|
48
|
-
"@xylabs/tsconfig": "~8.
|
|
49
|
-
"@xylabs/vitest-extended": "^
|
|
43
|
+
"@xylabs/geo": "^7.0.1",
|
|
44
|
+
"@xylabs/sdk": "^7.0.1",
|
|
45
|
+
"@xylabs/threads": "^7.0.1",
|
|
46
|
+
"@xylabs/toolchain": "~8.5.3",
|
|
47
|
+
"@xylabs/tsconfig": "~8.5.3",
|
|
48
|
+
"@xylabs/vitest-extended": "^7.0.1",
|
|
50
49
|
"@xyo-network/open-zeppelin-typechain": "^4.1.3",
|
|
51
|
-
"@xyo-network/sdk
|
|
52
|
-
"@xyo-network/sdk-protocol
|
|
53
|
-
"@xyo-network/witness-evm-abstract": "~7.0",
|
|
50
|
+
"@xyo-network/sdk": "~7.0.3",
|
|
51
|
+
"@xyo-network/sdk-protocol": "^7.0.4",
|
|
52
|
+
"@xyo-network/witness-evm-abstract": "~7.0.3",
|
|
54
53
|
"ajv": "^8.20.0",
|
|
55
54
|
"async-mutex": "^0.5.0",
|
|
55
|
+
"browserslist": "4.28.4",
|
|
56
56
|
"debug": "~4.4.3",
|
|
57
|
-
"eslint": "^10.
|
|
58
|
-
"
|
|
57
|
+
"eslint": "^10.6.0",
|
|
58
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
59
|
+
"ethers": "^6.17.0",
|
|
59
60
|
"hash-wasm": "^4.12.0",
|
|
60
61
|
"idb": "^8.0.3",
|
|
61
62
|
"lru-cache": "^11.5.1",
|
|
62
63
|
"observable-fns": "~0.6.1",
|
|
63
64
|
"typescript": "~6.0.3",
|
|
64
|
-
"vite": "^8.0
|
|
65
|
+
"vite": "^8.1.0",
|
|
65
66
|
"vitest": "^4.1.9",
|
|
66
|
-
"webextension-polyfill": "^0.12.0",
|
|
67
67
|
"zod": "^4.4.3"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"@bitauth/libauth": "~3.0",
|
|
71
|
-
"@metamask/providers": "^22.1",
|
|
72
71
|
"@noble/post-quantum": "~0.6.1",
|
|
73
72
|
"@opentelemetry/api": "^1.9",
|
|
74
73
|
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
75
74
|
"@scure/base": "^2.2",
|
|
76
75
|
"@scure/bip39": "~2.2",
|
|
77
|
-
"@xylabs/geo": "^
|
|
78
|
-
"@xylabs/sdk
|
|
79
|
-
"@xylabs/threads": "^
|
|
80
|
-
"@xyo-network/sdk
|
|
81
|
-
"@xyo-network/sdk-protocol
|
|
76
|
+
"@xylabs/geo": "^7.0",
|
|
77
|
+
"@xylabs/sdk": "^7.0",
|
|
78
|
+
"@xylabs/threads": "^7.0",
|
|
79
|
+
"@xyo-network/sdk": "^7.0",
|
|
80
|
+
"@xyo-network/sdk-protocol": "^7.0",
|
|
82
81
|
"@xyo-network/witness-evm-abstract": "~7.0",
|
|
83
82
|
"ajv": "^8.20",
|
|
84
83
|
"async-mutex": "^0.5",
|
|
@@ -88,7 +87,6 @@
|
|
|
88
87
|
"idb": "^8.0",
|
|
89
88
|
"lru-cache": "^11.3",
|
|
90
89
|
"observable-fns": "~0.6",
|
|
91
|
-
"webextension-polyfill": "^0.12",
|
|
92
90
|
"zod": "^4.4"
|
|
93
91
|
},
|
|
94
92
|
"engines": {
|