@xyo-network/evm-call-witness 6.0.0 → 6.0.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/dist/neutral/Diviner.d.ts +2 -3
- package/dist/neutral/Diviner.d.ts.map +1 -1
- package/dist/neutral/Labels.d.ts +1 -1
- package/dist/neutral/Labels.d.ts.map +1 -1
- package/dist/neutral/Payload.d.ts +2 -2
- package/dist/neutral/Payload.d.ts.map +1 -1
- package/dist/neutral/Witness.d.ts +1 -1
- package/dist/neutral/Witness.d.ts.map +1 -1
- package/dist/neutral/index.mjs +9 -6
- package/dist/neutral/index.mjs.map +2 -2
- package/package.json +50 -77
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Promisable } from '@xylabs/sdk-js';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import type { Payload, Schema } from '@xyo-network/payload-model';
|
|
2
|
+
import type { DivinerConfig, DivinerParams, Payload, Schema } from '@xyo-network/sdk-js';
|
|
3
|
+
import { AbstractDiviner } from '@xyo-network/sdk-js';
|
|
5
4
|
import { EvmCallDivinerLabels } from './Labels.ts';
|
|
6
5
|
import type { EvmCallResult } from './Payload.ts';
|
|
7
6
|
export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EACV,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAC9C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjD,MAAM,MAAM,cAAc,CAAC,OAAO,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAEvI,eAAO,MAAM,0BAA0B;;CAAwD,CAAA;AAC/F,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;IAC/C,MAAM,EAAE,0BAA0B,CAAA;CACnC,CAAC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAA;AAEtE,eAAO,MAAM,oBAAoB;;CAAiD,CAAA;AAClF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC;IACE,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;QACE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;QAChB,MAAM,EAAE,OAAO,CAAA;KAChB,CACF,CAAA;CACF,EACD,oBAAoB,CACrB,CAAA;AAED,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IACvH,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IACjF,gBAAyB,MAAM,EAAE,oBAAoB,CAA+C;IAEpG,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,GAAG,SAAS;IAKxI,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;IASzH,SAAS,CAAC,0BAA0B,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,cAAc;cAQzD,aAAa,CAAC,UAAU,GAAE,aAAa,EAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyBnG,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;CAkB7F"}
|
package/dist/neutral/Labels.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Labels.d.ts","sourceRoot":"","sources":["../../src/Labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Labels.d.ts","sourceRoot":"","sources":["../../src/Labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IAClD,kCAAkC,EAAE,SAAS,CAAA;CAC9C;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBAAwE,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Payload } from '@xyo-network/
|
|
1
|
+
import type { Payload } from '@xyo-network/sdk-js';
|
|
2
2
|
export declare const EvmCallSchema: "network.xyo.evm.call" & {
|
|
3
3
|
readonly __schema: true;
|
|
4
4
|
};
|
|
@@ -30,7 +30,7 @@ export type EvmCallFailure = EvmCallResultBase & {
|
|
|
30
30
|
export type EvmCallResult = EvmCallSuccess | EvmCallFailure;
|
|
31
31
|
export declare const isEvmCallSuccess: (payload?: EvmCallResult) => payload is EvmCallSuccess;
|
|
32
32
|
export declare const isEvmCallFailure: (payload?: EvmCallResult) => payload is EvmCallFailure;
|
|
33
|
-
export declare const isEvmCallResult: (x?: unknown
|
|
33
|
+
export declare const isEvmCallResult: (x?: unknown) => x is EvmCallResult;
|
|
34
34
|
export declare const asEvmCallSuccess: (payload?: EvmCallResult) => EvmCallSuccess | undefined;
|
|
35
35
|
export declare const asEvmCallFailure: (payload?: EvmCallResult) => EvmCallFailure | undefined;
|
|
36
36
|
//# sourceMappingURL=Payload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,eAAO,MAAM,aAAa;;CAAyC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA;AAEhD,MAAM,MAAM,OAAO,GAAG,OAAO,CAC3B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,EACD,aAAa,CACd,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAAgD,CAAA;AAChF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC;IACE,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,EACD,mBAAmB,CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAA;AAE3D,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,KAAG,OAAO,IAAI,cAErE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,KAAG,OAAO,IAAI,cAErE,CAAA;AAED,eAAO,MAAM,eAAe,qCAA4D,CAAA;AAExF,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,+BAAsD,CAAA;AAE9G,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,+BAAsD,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Schema } from '@xyo-network/
|
|
1
|
+
import type { Schema } from '@xyo-network/sdk-js';
|
|
2
2
|
import { AbstractEvmWitness } from '@xyo-network/witness-evm-abstract';
|
|
3
3
|
import type { InterfaceAbi } from 'ethers';
|
|
4
4
|
import type { EvmCallWitnessParams } from './model.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,KAAK,EACV,OAAO,EAAE,aAAa,EAEvB,MAAM,cAAc,CAAA;AAGrB,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAClJ,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IAEjF,IAAI,GAAG,IACoD,YAAY,CACtE;cAEwB,cAAc,CAAC,UAAU,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAyD9F"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
// src/Diviner.ts
|
|
2
2
|
import { assertEx } from "@xylabs/sdk-js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
AbstractDiviner,
|
|
5
|
+
asSchema as asSchema2,
|
|
6
|
+
isPayloadOfSchemaType as isPayloadOfSchemaType2
|
|
7
|
+
} from "@xyo-network/sdk-js";
|
|
5
8
|
|
|
6
9
|
// src/Labels.ts
|
|
7
10
|
var EvmCallDivinerLabels = { "network.xyo.crypto.contract.info": "diviner" };
|
|
8
11
|
|
|
9
12
|
// src/Payload.ts
|
|
10
|
-
import { asSchema, isPayloadOfSchemaType } from "@xyo-network/
|
|
13
|
+
import { asSchema, isPayloadOfSchemaType } from "@xyo-network/sdk-js";
|
|
11
14
|
var EvmCallSchema = asSchema("network.xyo.evm.call", true);
|
|
12
15
|
var EvmCallResultSchema = asSchema("network.xyo.evm.call.result", true);
|
|
13
16
|
var isEvmCallSuccess = (payload) => {
|
|
@@ -80,7 +83,7 @@ var EvmCallDiviner = class _EvmCallDiviner extends AbstractDiviner {
|
|
|
80
83
|
};
|
|
81
84
|
|
|
82
85
|
// src/model.ts
|
|
83
|
-
import { asSchema as asSchema3 } from "@xyo-network/
|
|
86
|
+
import { asSchema as asSchema3 } from "@xyo-network/sdk-js";
|
|
84
87
|
var EvmCallWitnessConfigSchema = asSchema3("network.xyo.evm.call.witness.config", true);
|
|
85
88
|
|
|
86
89
|
// src/Witness.ts
|
|
@@ -91,7 +94,7 @@ import {
|
|
|
91
94
|
} from "@xylabs/sdk-js";
|
|
92
95
|
import { getErc1822SlotStatus } from "@xyo-network/erc1822-witness";
|
|
93
96
|
import { getErc1967SlotStatus } from "@xyo-network/erc1967-witness";
|
|
94
|
-
import { isPayloadOfSchemaType as isPayloadOfSchemaType3 } from "@xyo-network/
|
|
97
|
+
import { isPayloadOfSchemaType as isPayloadOfSchemaType3 } from "@xyo-network/sdk-js";
|
|
95
98
|
import { AbstractEvmWitness } from "@xyo-network/witness-evm-abstract";
|
|
96
99
|
import { Contract } from "ethers";
|
|
97
100
|
var EvmCallWitness = class extends AbstractEvmWitness {
|
|
@@ -101,7 +104,7 @@ var EvmCallWitness = class extends AbstractEvmWitness {
|
|
|
101
104
|
return assertEx2(this.config.abi, () => "Missing abi");
|
|
102
105
|
}
|
|
103
106
|
async observeHandler(inPayloads = []) {
|
|
104
|
-
await this.
|
|
107
|
+
await this.startedAsync("throw");
|
|
105
108
|
await this.getProviders();
|
|
106
109
|
try {
|
|
107
110
|
const observations = await Promise.all(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Diviner.ts", "../../src/Labels.ts", "../../src/Payload.ts", "../../src/model.ts", "../../src/Witness.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerConfig, DivinerParams } from '@xyo-network/diviner-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { EvmCallDivinerLabels } from './Labels.ts'\nimport type { EvmCallResult } from './Payload.ts'\nimport { asEvmCallSuccess, EvmCallResultSchema } from './Payload.ts'\n\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\nexport const EvmCallDivinerConfigSchema = asSchema('network.xyo.evm.call.diviner.config', true)\nexport type EvmCallDivinerConfigSchema = typeof EvmCallDivinerConfigSchema\n\nexport type EvmCallDivinerConfig = DivinerConfig<{\n schema: EvmCallDivinerConfigSchema\n}>\nexport type EvmCallDivinerParams = DivinerParams<EvmCallDivinerConfig>\n\nexport const EvmCallResultsSchema = asSchema('network.xyo.evm.call.results', true)\nexport type EvmCallResultsSchema = typeof EvmCallResultsSchema\n\nexport type EvmCallResults = Payload<\n {\n address: string\n chainId: number\n results?: Record<\n string,\n {\n args?: unknown[]\n result: unknown\n }\n >\n },\n EvmCallResultsSchema\n>\n\nexport class EvmCallDiviner<TParams extends EvmCallDivinerParams = EvmCallDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallDivinerConfigSchema\n static override readonly labels: EvmCallDivinerLabels = { ...super.labels, ...EvmCallDivinerLabels }\n\n protected static findCallResult<TResult = string>(address: string, functionName: string, payloads: EvmCallResult[]): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asEvmCallSuccess(foundPayload)?.result as TResult | undefined\n }\n\n protected static matchingExistingField<R = string, T extends Payload = Payload>(objs: T[], field: keyof T): R | undefined {\n const expectedValue = objs.at(0)?.[field] as R\n // eslint-disable-next-line unicorn/no-array-reduce\n const didNotMatch = objs.reduce((prev, obj) => {\n return prev || obj[field] !== expectedValue\n }, false)\n return didNotMatch ? undefined : expectedValue\n }\n\n protected contractInfoRequiredFields(callResults: EvmCallResult[]): EvmCallResults {\n return {\n address: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: EvmCallResultsSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: EvmCallResult[] = []): Promise<EvmCallResults[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<EvmCallResult>(EvmCallResultSchema))\n const addresses = Object.keys(\n // eslint-disable-next-line unicorn/no-array-reduce\n callResults.reduce<Record<string, boolean>>((prev, result) => {\n if (result.address) {\n prev[result.address] = true\n }\n return prev\n }, {}),\n )\n const result = await Promise.all(\n addresses.map(async (address) => {\n const foundCallResults = callResults.filter(callResult => callResult.address === address)\n const results: EvmCallResults = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return results\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: EvmCallResult[]): Promisable<EvmCallResults['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<\n Record<\n string,\n {\n args?: unknown[]\n result: unknown\n }\n >\n >((prev, callResult) => {\n const typedCallResult = asEvmCallSuccess(callResult)\n if (typedCallResult) {\n prev[callResult.functionName] = { args: typedCallResult.args, result: typedCallResult?.result }\n }\n return prev\n }, {})\n }\n}\n", "import type { Labels } from '@xyo-network/module-model'\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport interface EvmCallDivinerLabels extends Labels {\n 'network.xyo.crypto.contract.info': 'diviner'\n}\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport const EvmCallDivinerLabels: EvmCallDivinerLabels = { 'network.xyo.crypto.contract.info': 'diviner' }\n", "import type { Payload } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const EvmCallSchema = asSchema('network.xyo.evm.call', true)\nexport type EvmCallSchema = typeof EvmCallSchema\n\nexport type EvmCall = Payload<\n {\n address?: string\n args?: unknown[]\n block?: number\n functionName?: string\n },\n EvmCallSchema\n>\n\nexport const EvmCallResultSchema = asSchema('network.xyo.evm.call.result', true)\nexport type EvmCallResultSchema = typeof EvmCallResultSchema\n\nexport type EvmCallResultBase = Payload<\n {\n address: string\n args: unknown[]\n block?: number\n chainId: number\n functionName: string\n implementation?: string\n },\n EvmCallResultSchema\n>\n\nexport type EvmCallSuccess = EvmCallResultBase & {\n result: unknown\n}\n\nexport type EvmCallFailure = EvmCallResultBase & {\n error: string\n}\n\nexport type EvmCallResult = EvmCallSuccess | EvmCallFailure\n\nexport const isEvmCallSuccess = (payload?: EvmCallResult): payload is EvmCallSuccess => {\n return (payload as EvmCallSuccess | undefined)?.result !== undefined\n}\n\nexport const isEvmCallFailure = (payload?: EvmCallResult): payload is EvmCallFailure => {\n return (payload as EvmCallFailure | undefined)?.error !== undefined\n}\n\nexport const isEvmCallResult = isPayloadOfSchemaType<EvmCallResult>(EvmCallResultSchema)\n\nexport const asEvmCallSuccess = (payload?: EvmCallResult) => (isEvmCallSuccess(payload) ? payload : undefined)\n\nexport const asEvmCallFailure = (payload?: EvmCallResult) => (isEvmCallFailure(payload) ? payload : undefined)\n", "import { asSchema } from '@xyo-network/payload-model'\nimport type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'\nimport type { JsonFragment } from 'ethers'\n\nexport type Abi = string | readonly (JsonFragment | string)[]\n\nexport const EvmCallWitnessConfigSchema = asSchema('network.xyo.evm.call.witness.config', true)\nexport type EvmCallWitnessConfigSchema = typeof EvmCallWitnessConfigSchema\n\nexport type EvmCallWitnessConfig = EvmWitnessConfig<\n {\n abi?: Abi\n address?: string\n args?: unknown[]\n block?: number\n functionName?: string\n },\n EvmCallWitnessConfigSchema\n>\n\nexport type EvmCallWitnessParams = EvmWitnessParams<EvmCallWitnessConfig>\n", "import type { JsonObject } from '@xylabs/sdk-js'\nimport {\n asEthAddress, assertEx, isHexZero,\n} from '@xylabs/sdk-js'\nimport { getErc1822SlotStatus } from '@xyo-network/erc1822-witness'\nimport { getErc1967SlotStatus } from '@xyo-network/erc1967-witness'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { AbstractEvmWitness } from '@xyo-network/witness-evm-abstract'\nimport type { InterfaceAbi } from 'ethers'\nimport { Contract } from 'ethers'\n\nimport type { EvmCallWitnessParams } from './model.ts'\nimport { EvmCallWitnessConfigSchema } from './model.ts'\nimport type {\n EvmCall, EvmCallResult,\n EvmCallSuccess,\n} from './Payload.ts'\nimport { EvmCallResultSchema, EvmCallSchema } from './Payload.ts'\n\nexport class EvmCallWitness<TParams extends EvmCallWitnessParams = EvmCallWitnessParams> extends AbstractEvmWitness<TParams, EvmCall, EvmCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: EvmCall[] = []): Promise<EvmCallResult[]> {\n await this.started('throw')\n // calling it here to make sure we rests the cache\n await this.getProviders()\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<EvmCall>(EvmCallSchema)).map(async ({\n functionName, args, address, block: payloadBlock,\n }) => {\n const validatedAddress = asEthAddress(assertEx(address ?? this.config.address, () => 'Missing address'), true)\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const provider = await this.getProvider(true, true)\n\n const block = this.config.block ?? payloadBlock ?? (await provider.getBlockNumber())\n\n // Check if ERC-1967 Upgradeable\n const erc1967Status = await getErc1967SlotStatus(provider, validatedAddress, block)\n\n // Check if ERC-1822 Upgradeable\n const erc1822Status = await getErc1822SlotStatus(provider, validatedAddress, block)\n\n const implementation = isHexZero(erc1967Status.slots.implementation ?? '0x00') ? erc1822Status.implementation : erc1967Status.implementation\n\n const contract = new Contract(implementation, this.abi, provider)\n let transformedResult: unknown\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n transformedResult = typeof result === 'bigint' ? `0x${result.toString(16)}` : result\n } catch {\n // const error = ex as Error & { code: string }\n // this.logger.error(`Error [${this.config.name}]: ${error.code} : ${error.message}`)\n }\n const observation: EvmCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n block,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: EvmCallResultSchema,\n }\n if (implementation !== validatedAddress) {\n observation.implementation = implementation\n }\n // console.log(`observation: ${JSON.stringify(observation, null, 2)}`)\n return observation\n }),\n )\n return observations\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"],
|
|
5
|
-
"mappings": ";AACA,SAAS,gBAAgB;
|
|
4
|
+
"sourcesContent": ["import type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n DivinerConfig, DivinerParams, Payload, Schema,\n} from '@xyo-network/sdk-js'\nimport {\n AbstractDiviner, asSchema, isPayloadOfSchemaType,\n} from '@xyo-network/sdk-js'\n\nimport { EvmCallDivinerLabels } from './Labels.ts'\nimport type { EvmCallResult } from './Payload.ts'\nimport { asEvmCallSuccess, EvmCallResultSchema } from './Payload.ts'\n\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\nexport const EvmCallDivinerConfigSchema = asSchema('network.xyo.evm.call.diviner.config', true)\nexport type EvmCallDivinerConfigSchema = typeof EvmCallDivinerConfigSchema\n\nexport type EvmCallDivinerConfig = DivinerConfig<{\n schema: EvmCallDivinerConfigSchema\n}>\nexport type EvmCallDivinerParams = DivinerParams<EvmCallDivinerConfig>\n\nexport const EvmCallResultsSchema = asSchema('network.xyo.evm.call.results', true)\nexport type EvmCallResultsSchema = typeof EvmCallResultsSchema\n\nexport type EvmCallResults = Payload<\n {\n address: string\n chainId: number\n results?: Record<\n string,\n {\n args?: unknown[]\n result: unknown\n }\n >\n },\n EvmCallResultsSchema\n>\n\nexport class EvmCallDiviner<TParams extends EvmCallDivinerParams = EvmCallDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallDivinerConfigSchema\n static override readonly labels: EvmCallDivinerLabels = { ...super.labels, ...EvmCallDivinerLabels }\n\n protected static findCallResult<TResult = string>(address: string, functionName: string, payloads: EvmCallResult[]): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asEvmCallSuccess(foundPayload)?.result as TResult | undefined\n }\n\n protected static matchingExistingField<R = string, T extends Payload = Payload>(objs: T[], field: keyof T): R | undefined {\n const expectedValue = objs.at(0)?.[field] as R\n // eslint-disable-next-line unicorn/no-array-reduce\n const didNotMatch = objs.reduce((prev, obj) => {\n return prev || obj[field] !== expectedValue\n }, false)\n return didNotMatch ? undefined : expectedValue\n }\n\n protected contractInfoRequiredFields(callResults: EvmCallResult[]): EvmCallResults {\n return {\n address: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(EvmCallDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: EvmCallResultsSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: EvmCallResult[] = []): Promise<EvmCallResults[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<EvmCallResult>(EvmCallResultSchema))\n const addresses = Object.keys(\n // eslint-disable-next-line unicorn/no-array-reduce\n callResults.reduce<Record<string, boolean>>((prev, result) => {\n if (result.address) {\n prev[result.address] = true\n }\n return prev\n }, {}),\n )\n const result = await Promise.all(\n addresses.map(async (address) => {\n const foundCallResults = callResults.filter(callResult => callResult.address === address)\n const results: EvmCallResults = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return results\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: EvmCallResult[]): Promisable<EvmCallResults['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<\n Record<\n string,\n {\n args?: unknown[]\n result: unknown\n }\n >\n >((prev, callResult) => {\n const typedCallResult = asEvmCallSuccess(callResult)\n if (typedCallResult) {\n prev[callResult.functionName] = { args: typedCallResult.args, result: typedCallResult?.result }\n }\n return prev\n }, {})\n }\n}\n", "import type { Labels } from '@xyo-network/sdk-js'\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport interface EvmCallDivinerLabels extends Labels {\n 'network.xyo.crypto.contract.info': 'diviner'\n}\n\n/**\n * Labels for Crypto Contract Diviner components\n */\nexport const EvmCallDivinerLabels: EvmCallDivinerLabels = { 'network.xyo.crypto.contract.info': 'diviner' }\n", "import type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\nexport const EvmCallSchema = asSchema('network.xyo.evm.call', true)\nexport type EvmCallSchema = typeof EvmCallSchema\n\nexport type EvmCall = Payload<\n {\n address?: string\n args?: unknown[]\n block?: number\n functionName?: string\n },\n EvmCallSchema\n>\n\nexport const EvmCallResultSchema = asSchema('network.xyo.evm.call.result', true)\nexport type EvmCallResultSchema = typeof EvmCallResultSchema\n\nexport type EvmCallResultBase = Payload<\n {\n address: string\n args: unknown[]\n block?: number\n chainId: number\n functionName: string\n implementation?: string\n },\n EvmCallResultSchema\n>\n\nexport type EvmCallSuccess = EvmCallResultBase & {\n result: unknown\n}\n\nexport type EvmCallFailure = EvmCallResultBase & {\n error: string\n}\n\nexport type EvmCallResult = EvmCallSuccess | EvmCallFailure\n\nexport const isEvmCallSuccess = (payload?: EvmCallResult): payload is EvmCallSuccess => {\n return (payload as EvmCallSuccess | undefined)?.result !== undefined\n}\n\nexport const isEvmCallFailure = (payload?: EvmCallResult): payload is EvmCallFailure => {\n return (payload as EvmCallFailure | undefined)?.error !== undefined\n}\n\nexport const isEvmCallResult = isPayloadOfSchemaType<EvmCallResult>(EvmCallResultSchema)\n\nexport const asEvmCallSuccess = (payload?: EvmCallResult) => (isEvmCallSuccess(payload) ? payload : undefined)\n\nexport const asEvmCallFailure = (payload?: EvmCallResult) => (isEvmCallFailure(payload) ? payload : undefined)\n", "import { asSchema } from '@xyo-network/sdk-js'\nimport type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'\nimport type { JsonFragment } from 'ethers'\n\nexport type Abi = string | readonly (JsonFragment | string)[]\n\nexport const EvmCallWitnessConfigSchema = asSchema('network.xyo.evm.call.witness.config', true)\nexport type EvmCallWitnessConfigSchema = typeof EvmCallWitnessConfigSchema\n\nexport type EvmCallWitnessConfig = EvmWitnessConfig<\n {\n abi?: Abi\n address?: string\n args?: unknown[]\n block?: number\n functionName?: string\n },\n EvmCallWitnessConfigSchema\n>\n\nexport type EvmCallWitnessParams = EvmWitnessParams<EvmCallWitnessConfig>\n", "import type { JsonObject } from '@xylabs/sdk-js'\nimport {\n asEthAddress, assertEx, isHexZero,\n} from '@xylabs/sdk-js'\nimport { getErc1822SlotStatus } from '@xyo-network/erc1822-witness'\nimport { getErc1967SlotStatus } from '@xyo-network/erc1967-witness'\nimport type { Schema } from '@xyo-network/sdk-js'\nimport { isPayloadOfSchemaType } from '@xyo-network/sdk-js'\nimport { AbstractEvmWitness } from '@xyo-network/witness-evm-abstract'\nimport type { InterfaceAbi } from 'ethers'\nimport { Contract } from 'ethers'\n\nimport type { EvmCallWitnessParams } from './model.ts'\nimport { EvmCallWitnessConfigSchema } from './model.ts'\nimport type {\n EvmCall, EvmCallResult,\n EvmCallSuccess,\n} from './Payload.ts'\nimport { EvmCallResultSchema, EvmCallSchema } from './Payload.ts'\n\nexport class EvmCallWitness<TParams extends EvmCallWitnessParams = EvmCallWitnessParams> extends AbstractEvmWitness<TParams, EvmCall, EvmCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmCallWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmCallWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: EvmCall[] = []): Promise<EvmCallResult[]> {\n await this.startedAsync('throw')\n // calling it here to make sure we rests the cache\n await this.getProviders()\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<EvmCall>(EvmCallSchema)).map(async ({\n functionName, args, address, block: payloadBlock,\n }) => {\n const validatedAddress = asEthAddress(assertEx(address ?? this.config.address, () => 'Missing address'), true)\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const provider = await this.getProvider(true, true)\n\n const block = this.config.block ?? payloadBlock ?? (await provider.getBlockNumber())\n\n // Check if ERC-1967 Upgradeable\n const erc1967Status = await getErc1967SlotStatus(provider, validatedAddress, block)\n\n // Check if ERC-1822 Upgradeable\n const erc1822Status = await getErc1822SlotStatus(provider, validatedAddress, block)\n\n const implementation = isHexZero(erc1967Status.slots.implementation ?? '0x00') ? erc1822Status.implementation : erc1967Status.implementation\n\n const contract = new Contract(implementation, this.abi, provider)\n let transformedResult: unknown\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n transformedResult = typeof result === 'bigint' ? `0x${result.toString(16)}` : result\n } catch {\n // const error = ex as Error & { code: string }\n // this.logger.error(`Error [${this.config.name}]: ${error.code} : ${error.message}`)\n }\n const observation: EvmCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n block,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: EvmCallResultSchema,\n }\n if (implementation !== validatedAddress) {\n observation.implementation = implementation\n }\n // console.log(`observation: ${JSON.stringify(observation, null, 2)}`)\n return observation\n }),\n )\n return observations\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"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["asSchema", "isPayloadOfSchemaType", "asSchema", "isPayloadOfSchemaType", "result", "asSchema", "assertEx", "isPayloadOfSchemaType", "assertEx", "isPayloadOfSchemaType"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/evm-call-witness",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.2",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -31,124 +31,97 @@
|
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@xyo-network/erc1967-witness": "~6.0.
|
|
35
|
-
"@xyo-network/erc1822-witness": "~6.0.
|
|
34
|
+
"@xyo-network/erc1967-witness": "~6.0.2",
|
|
35
|
+
"@xyo-network/erc1822-witness": "~6.0.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@bitauth/libauth": "~3.0.0",
|
|
39
39
|
"@metamask/providers": "^22.1.1",
|
|
40
|
+
"@noble/post-quantum": "~0.6.1",
|
|
40
41
|
"@opentelemetry/api": "^1.9.1",
|
|
41
42
|
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
42
43
|
"@scure/base": "^2.2.0",
|
|
43
44
|
"@scure/bip39": "~2.2.0",
|
|
44
|
-
"@xylabs/geo": "
|
|
45
|
-
"@xylabs/sdk-js": "
|
|
46
|
-
"@xylabs/threads": "
|
|
47
|
-
"@xylabs/toolchain": "~8.1.
|
|
48
|
-
"@xylabs/tsconfig": "~8.1.
|
|
49
|
-
"@xylabs/vitest-extended": "~6.0.
|
|
50
|
-
"@xyo-network/
|
|
51
|
-
"@xyo-network/
|
|
52
|
-
"@xyo-network/
|
|
53
|
-
"@xyo-network/
|
|
54
|
-
"@xyo-network/
|
|
55
|
-
"@xyo-network/
|
|
56
|
-
"@xyo-network/
|
|
57
|
-
"@xyo-network/
|
|
58
|
-
"@xyo-network/
|
|
59
|
-
"@xyo-network/
|
|
60
|
-
"@xyo-network/
|
|
61
|
-
"@xyo-network/
|
|
62
|
-
"@xyo-network/diviner-jsonpatch-memory": "~6.0.0",
|
|
63
|
-
"@xyo-network/diviner-jsonpath-aggregate-memory": "~6.0.0",
|
|
64
|
-
"@xyo-network/diviner-model": "~6.0",
|
|
65
|
-
"@xyo-network/diviner-payload-generic": "~6.0.0",
|
|
66
|
-
"@xyo-network/diviner-payload-model": "^6.0.0",
|
|
67
|
-
"@xyo-network/diviner-range": "~6.0.0",
|
|
68
|
-
"@xyo-network/diviner-temporal-indexing": "~6.0.0",
|
|
69
|
-
"@xyo-network/huri": "~6.0",
|
|
70
|
-
"@xyo-network/manifest-model": "~6.0",
|
|
71
|
-
"@xyo-network/module-model": "~6.0",
|
|
72
|
-
"@xyo-network/module-resolver": "~6.0.0",
|
|
73
|
-
"@xyo-network/node-memory": "~6.0.0",
|
|
45
|
+
"@xylabs/geo": "^6.0.6",
|
|
46
|
+
"@xylabs/sdk-js": "^6.0.6",
|
|
47
|
+
"@xylabs/threads": "^6.0.6",
|
|
48
|
+
"@xylabs/toolchain": "~8.1.11",
|
|
49
|
+
"@xylabs/tsconfig": "~8.1.11",
|
|
50
|
+
"@xylabs/vitest-extended": "~6.0.6",
|
|
51
|
+
"@xyo-network/diviner-boundwitness": "^6.0.2",
|
|
52
|
+
"@xyo-network/diviner-jsonpatch": "~6.0.2",
|
|
53
|
+
"@xyo-network/diviner-jsonpatch-memory": "~6.0.2",
|
|
54
|
+
"@xyo-network/diviner-jsonpath-aggregate-memory": "~6.0.2",
|
|
55
|
+
"@xyo-network/diviner-model": "^6.0.2",
|
|
56
|
+
"@xyo-network/diviner-payload-generic": "~6.0.2",
|
|
57
|
+
"@xyo-network/diviner-payload-model": "^6.0.2",
|
|
58
|
+
"@xyo-network/diviner-range": "~6.0.2",
|
|
59
|
+
"@xyo-network/diviner-temporal-indexing": "~6.0.2",
|
|
60
|
+
"@xyo-network/module-model": "^6.0.2",
|
|
61
|
+
"@xyo-network/module-resolver": "~6.0.2",
|
|
62
|
+
"@xyo-network/node-memory": "~6.0.2",
|
|
74
63
|
"@xyo-network/open-zeppelin-typechain": "^4.1.3",
|
|
75
|
-
"@xyo-network/payload-
|
|
76
|
-
"@xyo-network/payload-
|
|
77
|
-
"@xyo-network/
|
|
78
|
-
"@xyo-network/
|
|
79
|
-
"@xyo-network/
|
|
80
|
-
"@xyo-network/
|
|
81
|
-
"@xyo-network/
|
|
82
|
-
"@xyo-network/
|
|
83
|
-
"@xyo-network/
|
|
84
|
-
"@xyo-network/
|
|
85
|
-
"@xyo-network/wallet-model": "~6.0",
|
|
86
|
-
"@xyo-network/witness-adhoc": "~6.0.0",
|
|
87
|
-
"@xyo-network/witness-evm-abstract": "~6.0",
|
|
88
|
-
"@xyo-network/witness-model": "~6.0",
|
|
89
|
-
"@xyo-network/witness-timestamp": "^6.0.0",
|
|
64
|
+
"@xyo-network/payload-model": "^6.0.7",
|
|
65
|
+
"@xyo-network/payload-utils": "~6.0.7",
|
|
66
|
+
"@xyo-network/sdk-js": "^6.0.2",
|
|
67
|
+
"@xyo-network/sdk-protocol-js": "~6.0.7",
|
|
68
|
+
"@xyo-network/sentinel-model": "~6.0.2",
|
|
69
|
+
"@xyo-network/wallet-model": "~6.0.7",
|
|
70
|
+
"@xyo-network/witness-adhoc": "~6.0.2",
|
|
71
|
+
"@xyo-network/witness-evm-abstract": "~6.0.2",
|
|
72
|
+
"@xyo-network/witness-model": "~6.0.2",
|
|
73
|
+
"@xyo-network/witness-timestamp": "^6.0.2",
|
|
90
74
|
"ajv": "^8.20.0",
|
|
91
75
|
"async-mutex": "^0.5.0",
|
|
92
76
|
"bn.js": "^5.2.3",
|
|
93
77
|
"buffer": "^6.0.3",
|
|
94
|
-
"chalk": "^5.6.2",
|
|
95
78
|
"debug": "~4.4.3",
|
|
96
|
-
"eslint": "^10.4.
|
|
79
|
+
"eslint": "^10.4.1",
|
|
97
80
|
"ethers": "^6.16.0",
|
|
98
81
|
"fast-json-patch": "~3.1.1",
|
|
99
82
|
"hash-wasm": "^4.12.0",
|
|
100
83
|
"idb": "^8.0.3",
|
|
101
|
-
"jsonpath": "
|
|
102
|
-
"lru-cache": "^11.5.
|
|
103
|
-
"mapbox-gl": "~3.24.0",
|
|
84
|
+
"jsonpath-plus": "^10.4.0",
|
|
85
|
+
"lru-cache": "^11.5.1",
|
|
104
86
|
"observable-fns": "~0.6.1",
|
|
105
87
|
"pako": "~2.1.0",
|
|
106
|
-
"store2": "~2.14.4",
|
|
107
88
|
"typescript": "~6.0.3",
|
|
108
|
-
"vite": "^8.0.
|
|
109
|
-
"vitest": "^4.1.
|
|
110
|
-
"wasm-feature-detect": "~1.8.0",
|
|
89
|
+
"vite": "^8.0.16",
|
|
90
|
+
"vitest": "^4.1.8",
|
|
111
91
|
"webextension-polyfill": "^0.12.0",
|
|
112
92
|
"zod": "^4.4.3",
|
|
113
|
-
"@xyo-network/crypto-contract-function-read-payload-plugin": "~6.0.
|
|
114
|
-
"@xyo-network/evm-contract-witness": "~6.0.
|
|
115
|
-
"@xyo-network/evm-nft-id-payload-plugin": "~6.0.
|
|
116
|
-
"@xyo-network/evm-token-interface-diviner": "~6.0.
|
|
93
|
+
"@xyo-network/crypto-contract-function-read-payload-plugin": "~6.0.2",
|
|
94
|
+
"@xyo-network/evm-contract-witness": "~6.0.2",
|
|
95
|
+
"@xyo-network/evm-nft-id-payload-plugin": "~6.0.2",
|
|
96
|
+
"@xyo-network/evm-token-interface-diviner": "~6.0.2"
|
|
117
97
|
},
|
|
118
98
|
"peerDependencies": {
|
|
119
99
|
"@bitauth/libauth": "~3.0",
|
|
100
|
+
"@metamask/providers": "^22.1",
|
|
101
|
+
"@noble/post-quantum": "~0.6.1",
|
|
120
102
|
"@opentelemetry/api": "^1.9",
|
|
121
103
|
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
122
104
|
"@scure/base": "^2.2",
|
|
105
|
+
"@scure/bip39": "~2.2",
|
|
106
|
+
"@xylabs/geo": "^6.0",
|
|
123
107
|
"@xylabs/sdk-js": "^6.0",
|
|
124
108
|
"@xylabs/threads": "^6.0",
|
|
125
|
-
"@xyo-network/account": "~6.0",
|
|
126
|
-
"@xyo-network/account-model": "^6.0",
|
|
127
|
-
"@xyo-network/boundwitness-builder": "~6.0",
|
|
128
|
-
"@xyo-network/boundwitness-model": "^6.0",
|
|
129
|
-
"@xyo-network/boundwitness-wrapper": "~6.0",
|
|
130
|
-
"@xyo-network/config-payload-plugin": "~6.0",
|
|
131
|
-
"@xyo-network/diviner-abstract": "^6.0",
|
|
132
|
-
"@xyo-network/diviner-model": "^6.0",
|
|
133
|
-
"@xyo-network/manifest-model": "~6.0",
|
|
134
|
-
"@xyo-network/module-model": "^6.0",
|
|
135
109
|
"@xyo-network/open-zeppelin-typechain": "^4.1",
|
|
136
|
-
"@xyo-network/
|
|
137
|
-
"@xyo-network/
|
|
138
|
-
"@xyo-network/query-payload-plugin": "~6.0",
|
|
139
|
-
"@xyo-network/wallet-model": "~6.0",
|
|
110
|
+
"@xyo-network/sdk-js": "^6.0",
|
|
111
|
+
"@xyo-network/sdk-protocol-js": "~6.0",
|
|
140
112
|
"@xyo-network/witness-evm-abstract": "^6.0",
|
|
113
|
+
"ajv": "^8.20",
|
|
141
114
|
"async-mutex": "^0.5",
|
|
142
115
|
"bn.js": "^5.2",
|
|
143
116
|
"buffer": "^6.0",
|
|
144
|
-
"chalk": "^5.6",
|
|
145
117
|
"debug": "~4.4",
|
|
146
118
|
"ethers": "^6.16",
|
|
147
119
|
"hash-wasm": "^4.12",
|
|
120
|
+
"idb": "^8.0",
|
|
148
121
|
"lru-cache": "^11.3",
|
|
149
122
|
"observable-fns": "~0.6",
|
|
150
123
|
"pako": "~2.1",
|
|
151
|
-
"
|
|
124
|
+
"webextension-polyfill": "^0.12",
|
|
152
125
|
"zod": "^4.4"
|
|
153
126
|
},
|
|
154
127
|
"publishConfig": {
|