@xyo-network/crypto-contract-function-read-plugin 5.5.2 → 6.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.
- package/dist/browser/Diviner/Diviner.d.ts +2 -2
- package/dist/browser/Diviner/Diviner.d.ts.map +1 -1
- package/dist/browser/Witness.d.ts +2 -4
- package/dist/browser/Witness.d.ts.map +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.mjs +5 -8
- package/dist/browser/index.mjs.map +7 -1
- package/dist/neutral/Diviner/Diviner.d.ts +2 -2
- package/dist/neutral/Diviner/Diviner.d.ts.map +1 -1
- package/dist/neutral/Witness.d.ts +2 -4
- package/dist/neutral/Witness.d.ts.map +1 -1
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +5 -8
- package/dist/neutral/index.mjs.map +7 -1
- package/dist/node/Diviner/Diviner.d.ts +2 -2
- package/dist/node/Diviner/Diviner.d.ts.map +1 -1
- package/dist/node/Witness.d.ts +2 -4
- package/dist/node/Witness.d.ts.map +1 -1
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.mjs +5 -8
- package/dist/node/index.mjs.map +7 -1
- package/package.json +75 -80
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Promisable } from '@xylabs/sdk-js';
|
|
2
2
|
import type { ContractInfo, CryptoContractDivinerParams, CryptoContractFunctionCallResult } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
3
3
|
import { CryptoContractDivinerLabels } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import type { Payload, Schema } from '@xyo-network/sdk-js';
|
|
5
|
+
import { AbstractDiviner } from '@xyo-network/sdk-js';
|
|
6
6
|
/** @deprecated use EvmCallDiviner instead */
|
|
7
7
|
export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
|
|
8
8
|
/** @deprecated use EvmCallDiviner instead */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAIL,2BAA2B,EAE5B,MAAM,2DAA2D,CAAA;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAA;AAE5E,6CAA6C;AAC7C,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,6CAA6C;AAC7C,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;IACxF,gBAAyB,MAAM,EAAE,2BAA2B,CAAsD;IAElH,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,EAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gCAAgC,EAAE,GAC3C,OAAO,GAAG,SAAS;IAKtB,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,gCAAgC,EAAE,GAAG,YAAY;cAQ1E,aAAa,CAAC,UAAU,GAAE,gCAAgC,EAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyBpH,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,gCAAgC,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;CAO9G"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { CryptoContractFunctionCall, CryptoContractFunctionCallResult, CryptoContractFunctionReadWitnessConfig } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
2
|
-
import type { AnyConfigSchema } from '@xyo-network/
|
|
3
|
-
import
|
|
4
|
-
import { AbstractWitness } from '@xyo-network/witness-abstract';
|
|
5
|
-
import type { WitnessParams } from '@xyo-network/witness-model';
|
|
2
|
+
import type { AnyConfigSchema, Schema, WitnessParams } from '@xyo-network/sdk-js';
|
|
3
|
+
import { AbstractWitness } from '@xyo-network/sdk-js';
|
|
6
4
|
import type { InterfaceAbi, Provider } from 'ethers';
|
|
7
5
|
/** @deprecated use EvmCallWitness instead */
|
|
8
6
|
export interface CryptoContractFunctionReadWitnessParams extends WitnessParams<AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAE1B,gCAAgC,EAEhC,uCAAuC,EACxC,MAAM,2DAA2D,CAAA;AAMlE,OAAO,KAAK,EACV,eAAe,EAAE,MAAM,EAAE,aAAa,EACvC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGpD,6CAA6C;AAC7C,MAAM,WAAW,uCAAwC,SAAQ,aAAa,CAC5E,eAAe,CAAC,uCAAuC,CAAC,CAAC;IAEzD,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED,6CAA6C;AAC7C,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0E;IAC1H,gBAAyB,mBAAmB,EAAE,MAAM,CAAgD;IAEpG,IAAI,GAAG,IACoD,YAAY,CACtE;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CAgDpI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,uCAAuC,EAAE,uCAAuC,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AACzH,cAAc,cAAc,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -7,8 +7,7 @@ import {
|
|
|
7
7
|
CryptoContractDivinerLabels,
|
|
8
8
|
CryptoContractFunctionCallResultSchema
|
|
9
9
|
} from "@xyo-network/crypto-contract-function-read-payload-plugin";
|
|
10
|
-
import { AbstractDiviner } from "@xyo-network/
|
|
11
|
-
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
10
|
+
import { AbstractDiviner, isPayloadOfSchemaType } from "@xyo-network/sdk-js";
|
|
12
11
|
var CryptoContractDiviner = class _CryptoContractDiviner extends AbstractDiviner {
|
|
13
12
|
static configSchemas = [...super.configSchemas, CryptoContractDivinerConfigSchema];
|
|
14
13
|
static defaultConfigSchema = CryptoContractDivinerConfigSchema;
|
|
@@ -64,8 +63,7 @@ var CryptoContractDiviner = class _CryptoContractDiviner extends AbstractDiviner
|
|
|
64
63
|
|
|
65
64
|
// src/Plugin.ts
|
|
66
65
|
import { NftSchema } from "@xyo-network/crypto-nft-payload-plugin";
|
|
67
|
-
import { PayloadSetSchema } from "@xyo-network/
|
|
68
|
-
import { createPayloadSetWitnessPlugin } from "@xyo-network/sdk-js";
|
|
66
|
+
import { createPayloadSetWitnessPlugin, PayloadSetSchema } from "@xyo-network/sdk-js";
|
|
69
67
|
|
|
70
68
|
// src/Witness.ts
|
|
71
69
|
import { assertEx as assertEx2 } from "@xylabs/sdk-js";
|
|
@@ -74,8 +72,7 @@ import {
|
|
|
74
72
|
CryptoContractFunctionCallSchema,
|
|
75
73
|
CryptoContractFunctionReadWitnessConfigSchema
|
|
76
74
|
} from "@xyo-network/crypto-contract-function-read-payload-plugin";
|
|
77
|
-
import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/
|
|
78
|
-
import { AbstractWitness } from "@xyo-network/witness-abstract";
|
|
75
|
+
import { AbstractWitness, isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/sdk-js";
|
|
79
76
|
import { Contract } from "ethers";
|
|
80
77
|
var CryptoContractFunctionReadWitness = class extends AbstractWitness {
|
|
81
78
|
static configSchemas = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema];
|
|
@@ -84,7 +81,7 @@ var CryptoContractFunctionReadWitness = class extends AbstractWitness {
|
|
|
84
81
|
return assertEx2(this.config.abi, () => "Missing abi");
|
|
85
82
|
}
|
|
86
83
|
async observeHandler(inPayloads = []) {
|
|
87
|
-
await this.
|
|
84
|
+
await this.startedAsync("throw");
|
|
88
85
|
try {
|
|
89
86
|
const observations = await Promise.all(
|
|
90
87
|
inPayloads.filter(isPayloadOfSchemaType2(CryptoContractFunctionCallSchema)).map(async ({
|
|
@@ -150,4 +147,4 @@ export {
|
|
|
150
147
|
CryptoContractFunctionReadWitnessPlugin,
|
|
151
148
|
CryptoContractFunctionReadWitnessPlugin as default
|
|
152
149
|
};
|
|
153
|
-
//# sourceMappingURL=index.mjs.map
|
|
150
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Diviner/Diviner.ts","../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n ContractInfo,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\n/** @deprecated use EvmCallDiviner instead */\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\n/** @deprecated use EvmCallDiviner instead */\nexport class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractDivinerConfigSchema\n static override readonly labels: CryptoContractDivinerLabels = { ...super.labels, ...CryptoContractDivinerLabels }\n\n protected static findCallResult<TResult = string>(\n address: string,\n functionName: string,\n payloads: CryptoContractFunctionCallResult[],\n ): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asCryptoContractFunctionCallSuccess(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: CryptoContractFunctionCallResult[]): ContractInfo {\n return {\n address: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: ContractInfoSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: CryptoContractFunctionCallResult[] = []): Promise<ContractInfo[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCallResult>(CryptoContractFunctionCallResultSchema))\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 info: ContractInfo = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return info\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: CryptoContractFunctionCallResult[]): Promisable<ContractInfo['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<Record<string, unknown>>((prev, callResult) => {\n prev[callResult.functionName] = asCryptoContractFunctionCallSuccess(callResult)?.result\n return prev\n }, {})\n }\n}\n","import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/sdk-js'\n\nimport { CryptoContractFunctionReadWitness } from './Witness.ts'\n\n/** @deprecated use EvmCallWitness instead */\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\n\n createPayloadSetWitnessPlugin<CryptoContractFunctionReadWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoContractFunctionReadWitness.create(params)\n return result\n },\n },\n )\n","import type { JsonObject } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { AbstractWitness } from '@xyo-network/witness-abstract'\nimport type { WitnessParams } from '@xyo-network/witness-model'\nimport type { InterfaceAbi, Provider } from 'ethers'\nimport { Contract } from 'ethers'\n\n/** @deprecated use EvmCallWitness instead */\nexport interface CryptoContractFunctionReadWitnessParams extends WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>>\n{\n providers: Provider[]\n}\n\n/** @deprecated use EvmCallWitness instead */\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractFunctionReadWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: CryptoContractFunctionCall[] = []): Promise<CryptoContractFunctionCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCall>(CryptoContractFunctionCallSchema)).map(async ({\n functionName, args, address,\n }) => {\n const { providers } = this.params\n const provider = providers[Date.now() % providers.length] // pick a random provider\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const contract = new Contract(validatedAddress, this.abi, provider)\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n const transformedResult = typeof result === 'bigint' ? result.toString(16) : result\n const observation: CryptoContractFunctionCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n } catch (ex) {\n const error = ex as Error & { code: string }\n console.log(`Error [${this.config.name}]: ${error.code}`)\n const observation: CryptoContractFunctionCallFailure = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n error: error.code,\n functionName: validatedFunctionName,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n }\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"],"mappings":"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","names":["result","assertEx","CryptoContractFunctionCallResultSchema","isPayloadOfSchemaType"]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Diviner/Diviner.ts", "../../src/Plugin.ts", "../../src/Witness.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractDiviner implementation; intra-package references are intentional. */\nimport type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n ContractInfo,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type { Payload, Schema } from '@xyo-network/sdk-js'\nimport { AbstractDiviner, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\n/** @deprecated use EvmCallDiviner instead */\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\n/** @deprecated use EvmCallDiviner instead */\nexport class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractDivinerConfigSchema\n static override readonly labels: CryptoContractDivinerLabels = { ...super.labels, ...CryptoContractDivinerLabels }\n\n protected static findCallResult<TResult = string>(\n address: string,\n functionName: string,\n payloads: CryptoContractFunctionCallResult[],\n ): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asCryptoContractFunctionCallSuccess(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: CryptoContractFunctionCallResult[]): ContractInfo {\n return {\n address: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: ContractInfoSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: CryptoContractFunctionCallResult[] = []): Promise<ContractInfo[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCallResult>(CryptoContractFunctionCallResultSchema))\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 info: ContractInfo = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return info\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: CryptoContractFunctionCallResult[]): Promisable<ContractInfo['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<Record<string, unknown>>((prev, callResult) => {\n prev[callResult.functionName] = asCryptoContractFunctionCallSuccess(callResult)?.result\n return prev\n }, {})\n }\n}\n", "/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractFunctionRead* implementation; intra-package references to the deprecated witness are intentional. */\nimport { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { createPayloadSetWitnessPlugin, PayloadSetSchema } from '@xyo-network/sdk-js'\n\nimport { CryptoContractFunctionReadWitness } from './Witness.ts'\n\n/** @deprecated use EvmCallWitness instead */\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\n\n createPayloadSetWitnessPlugin<CryptoContractFunctionReadWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoContractFunctionReadWitness.create(params)\n return result\n },\n },\n )\n", "/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractFunctionRead* implementation; intra-package references are intentional. */\nimport type { JsonObject } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type {\n AnyConfigSchema, Schema, WitnessParams,\n} from '@xyo-network/sdk-js'\nimport { AbstractWitness, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\nimport type { InterfaceAbi, Provider } from 'ethers'\nimport { Contract } from 'ethers'\n\n/** @deprecated use EvmCallWitness instead */\nexport interface CryptoContractFunctionReadWitnessParams extends WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>>\n{\n providers: Provider[]\n}\n\n/** @deprecated use EvmCallWitness instead */\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractFunctionReadWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: CryptoContractFunctionCall[] = []): Promise<CryptoContractFunctionCallResult[]> {\n await this.startedAsync('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCall>(CryptoContractFunctionCallSchema)).map(async ({\n functionName, args, address,\n }) => {\n const { providers } = this.params\n const provider = providers[Date.now() % providers.length] // pick a random provider\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const contract = new Contract(validatedAddress, this.abi, provider)\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n const transformedResult = typeof result === 'bigint' ? result.toString(16) : result\n const observation: CryptoContractFunctionCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n } catch (ex) {\n const error = ex as Error & { code: string }\n console.log(`Error [${this.config.name}]: ${error.code}`)\n const observation: CryptoContractFunctionCallFailure = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n error: error.code,\n functionName: validatedFunctionName,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n }\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": ";AAEA,SAAS,gBAAgB;AAMzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,iBAAiB,6BAA6B;AAMhD,IAAM,wBAAN,MAAM,+BAAyG,gBAAyB;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,iCAAiC;AAAA,EAC7G,OAAyB,sBAA8B;AAAA,EACvD,OAAyB,SAAsC,EAAE,GAAG,MAAM,QAAQ,GAAG,4BAA4B;AAAA,EAEjH,OAAiB,eACf,SACA,cACA,UACqB;AACrB,UAAM,eAAe,SAAS,KAAK,aAAW,QAAQ,iBAAiB,gBAAgB,QAAQ,YAAY,OAAO;AAClH,WAAO,oCAAoC,YAAY,GAAG;AAAA,EAC5D;AAAA,EAEA,OAAiB,sBAA+D,MAAW,OAA+B;AACxH,UAAM,gBAAgB,KAAK,GAAG,CAAC,IAAI,KAAK;AAExC,UAAM,cAAc,KAAK,OAAO,CAAC,MAAM,QAAQ;AAC7C,aAAO,QAAQ,IAAI,KAAK,MAAM;AAAA,IAChC,GAAG,KAAK;AACR,WAAO,cAAc,SAAY;AAAA,EACnC;AAAA,EAEU,2BAA2B,aAA+D;AAClG,WAAO;AAAA,MACL,SAAS,SAAS,uBAAsB,sBAAsB,aAAa,SAAS,GAAG,MAAM,oBAAoB;AAAA,MACjH,SAAS,SAAS,uBAAsB,sBAAsB,aAAa,SAAS,GAAG,MAAM,oBAAoB;AAAA,MACjH,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,MAAyB,cAAc,aAAiD,CAAC,GAA4B;AACnH,UAAM,cAAc,WAAW,OAAO,sBAAwD,sCAAsC,CAAC;AACrI,UAAM,YAAY,OAAO;AAAA;AAAA,MAEvB,YAAY,OAAgC,CAAC,MAAMA,YAAW;AAC5D,YAAIA,QAAO,SAAS;AAClB,eAAKA,QAAO,OAAO,IAAI;AAAA,QACzB;AACA,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP;AACA,UAAM,SAAS,MAAM,QAAQ;AAAA,MAC3B,UAAU,IAAI,OAAO,YAAY;AAC/B,cAAM,mBAAmB,YAAY,OAAO,gBAAc,WAAW,YAAY,OAAO;AACxF,cAAM,OAAqB;AAAA,UACzB,SAAS,MAAM,KAAK,cAAc,gBAAgB;AAAA,UAClD,GAAG,KAAK,2BAA2B,gBAAgB;AAAA,QACrD;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,EACT;AAAA,EAEU,cAAc,aAAsF;AAE5G,WAAO,YAAY,OAAgC,CAAC,MAAM,eAAe;AACvE,WAAK,WAAW,YAAY,IAAI,oCAAoC,UAAU,GAAG;AACjF,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AACF;;;ACpFA,SAAS,iBAAiB;AAC1B,SAAS,+BAA+B,wBAAwB;;;ACAhE,SAAS,YAAAC,iBAAgB;AAQzB;AAAA,EACE,0CAAAC;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP,SAAS,iBAAiB,yBAAAC,8BAA6B;AAEvD,SAAS,gBAAgB;AAUlB,IAAM,oCAAN,cAEG,gBAAuF;AAAA,EAC/F,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6CAA6C;AAAA,EACzH,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,MAAM;AACR,WAAOF,UAAS,KAAK,OAAO,KAAK,MAAM,aAAa;AAAA,EACtD;AAAA,EAEA,MAAyB,eAAe,aAA2C,CAAC,GAAgD;AAClI,UAAM,KAAK,aAAa,OAAO;AAC/B,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ;AAAA,QACjC,WAAW,OAAOE,uBAAkD,gCAAgC,CAAC,EAAE,IAAI,OAAO;AAAA,UAChH;AAAA,UAAc;AAAA,UAAM;AAAA,QACtB,MAAM;AACJ,gBAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,gBAAM,WAAW,UAAU,KAAK,IAAI,IAAI,UAAU,MAAM;AACxD,gBAAM,mBAAmBF,UAAS,WAAW,KAAK,OAAO,SAAS,MAAM,iBAAiB;AACzF,gBAAM,wBAAwBA,UAAS,gBAAgB,KAAK,OAAO,cAAc,MAAM,iBAAiB;AACxG,gBAAM,aAAa,CAAC,GAAI,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAE;AAEvD,gBAAM,WAAW,IAAI,SAAS,kBAAkB,KAAK,KAAK,QAAQ;AAClE,cAAI;AACF,kBAAM,SAAS,MAAM,SAAS,qBAAqB,EAAE,GAAG,UAAU;AAClE,kBAAM,oBAAoB,OAAO,WAAW,WAAW,OAAO,SAAS,EAAE,IAAI;AAC7E,kBAAM,cAAiD;AAAA,cACrD,SAAS;AAAA,cACT,MAAM;AAAA,cACN,SAAS,QAAQ,MAAM,SAAS,WAAW,GAAG,OAAO;AAAA,cACrD,cAAc;AAAA,cACd,QAAQ;AAAA,cACR,QAAQC;AAAA,YACV;AACA,mBAAO;AAAA,UACT,SAAS,IAAI;AACX,kBAAM,QAAQ;AACd,oBAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,MAAM,MAAM,IAAI,EAAE;AACxD,kBAAM,cAAiD;AAAA,cACrD,SAAS;AAAA,cACT,MAAM;AAAA,cACN,SAAS,QAAQ,MAAM,SAAS,WAAW,GAAG,OAAO;AAAA,cACrD,OAAO,MAAM;AAAA,cACb,cAAc;AAAA,cACd,QAAQA;AAAA,YACV;AACA,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,MAAM,MAAM,OAAO,EAAE;AAC3D,YAAM;AAAA,IACR;AAAA,EACF;AACF;;;ADjFO,IAAM,0CAA0C,MAErD;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EACzD;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,kCAAkC,OAAO,MAAM;AACpE,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
|
|
6
|
+
"names": ["result", "assertEx", "CryptoContractFunctionCallResultSchema", "isPayloadOfSchemaType"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Promisable } from '@xylabs/sdk-js';
|
|
2
2
|
import type { ContractInfo, CryptoContractDivinerParams, CryptoContractFunctionCallResult } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
3
3
|
import { CryptoContractDivinerLabels } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import type { Payload, Schema } from '@xyo-network/sdk-js';
|
|
5
|
+
import { AbstractDiviner } from '@xyo-network/sdk-js';
|
|
6
6
|
/** @deprecated use EvmCallDiviner instead */
|
|
7
7
|
export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
|
|
8
8
|
/** @deprecated use EvmCallDiviner instead */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAIL,2BAA2B,EAE5B,MAAM,2DAA2D,CAAA;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAA;AAE5E,6CAA6C;AAC7C,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,6CAA6C;AAC7C,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;IACxF,gBAAyB,MAAM,EAAE,2BAA2B,CAAsD;IAElH,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,EAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gCAAgC,EAAE,GAC3C,OAAO,GAAG,SAAS;IAKtB,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,gCAAgC,EAAE,GAAG,YAAY;cAQ1E,aAAa,CAAC,UAAU,GAAE,gCAAgC,EAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyBpH,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,gCAAgC,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;CAO9G"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { CryptoContractFunctionCall, CryptoContractFunctionCallResult, CryptoContractFunctionReadWitnessConfig } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
2
|
-
import type { AnyConfigSchema } from '@xyo-network/
|
|
3
|
-
import
|
|
4
|
-
import { AbstractWitness } from '@xyo-network/witness-abstract';
|
|
5
|
-
import type { WitnessParams } from '@xyo-network/witness-model';
|
|
2
|
+
import type { AnyConfigSchema, Schema, WitnessParams } from '@xyo-network/sdk-js';
|
|
3
|
+
import { AbstractWitness } from '@xyo-network/sdk-js';
|
|
6
4
|
import type { InterfaceAbi, Provider } from 'ethers';
|
|
7
5
|
/** @deprecated use EvmCallWitness instead */
|
|
8
6
|
export interface CryptoContractFunctionReadWitnessParams extends WitnessParams<AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAE1B,gCAAgC,EAEhC,uCAAuC,EACxC,MAAM,2DAA2D,CAAA;AAMlE,OAAO,KAAK,EACV,eAAe,EAAE,MAAM,EAAE,aAAa,EACvC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGpD,6CAA6C;AAC7C,MAAM,WAAW,uCAAwC,SAAQ,aAAa,CAC5E,eAAe,CAAC,uCAAuC,CAAC,CAAC;IAEzD,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED,6CAA6C;AAC7C,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0E;IAC1H,gBAAyB,mBAAmB,EAAE,MAAM,CAAgD;IAEpG,IAAI,GAAG,IACoD,YAAY,CACtE;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CAgDpI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,uCAAuC,EAAE,uCAAuC,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AACzH,cAAc,cAAc,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -7,8 +7,7 @@ import {
|
|
|
7
7
|
CryptoContractDivinerLabels,
|
|
8
8
|
CryptoContractFunctionCallResultSchema
|
|
9
9
|
} from "@xyo-network/crypto-contract-function-read-payload-plugin";
|
|
10
|
-
import { AbstractDiviner } from "@xyo-network/
|
|
11
|
-
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
10
|
+
import { AbstractDiviner, isPayloadOfSchemaType } from "@xyo-network/sdk-js";
|
|
12
11
|
var CryptoContractDiviner = class _CryptoContractDiviner extends AbstractDiviner {
|
|
13
12
|
static configSchemas = [...super.configSchemas, CryptoContractDivinerConfigSchema];
|
|
14
13
|
static defaultConfigSchema = CryptoContractDivinerConfigSchema;
|
|
@@ -64,8 +63,7 @@ var CryptoContractDiviner = class _CryptoContractDiviner extends AbstractDiviner
|
|
|
64
63
|
|
|
65
64
|
// src/Plugin.ts
|
|
66
65
|
import { NftSchema } from "@xyo-network/crypto-nft-payload-plugin";
|
|
67
|
-
import { PayloadSetSchema } from "@xyo-network/
|
|
68
|
-
import { createPayloadSetWitnessPlugin } from "@xyo-network/sdk-js";
|
|
66
|
+
import { createPayloadSetWitnessPlugin, PayloadSetSchema } from "@xyo-network/sdk-js";
|
|
69
67
|
|
|
70
68
|
// src/Witness.ts
|
|
71
69
|
import { assertEx as assertEx2 } from "@xylabs/sdk-js";
|
|
@@ -74,8 +72,7 @@ import {
|
|
|
74
72
|
CryptoContractFunctionCallSchema,
|
|
75
73
|
CryptoContractFunctionReadWitnessConfigSchema
|
|
76
74
|
} from "@xyo-network/crypto-contract-function-read-payload-plugin";
|
|
77
|
-
import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/
|
|
78
|
-
import { AbstractWitness } from "@xyo-network/witness-abstract";
|
|
75
|
+
import { AbstractWitness, isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/sdk-js";
|
|
79
76
|
import { Contract } from "ethers";
|
|
80
77
|
var CryptoContractFunctionReadWitness = class extends AbstractWitness {
|
|
81
78
|
static configSchemas = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema];
|
|
@@ -84,7 +81,7 @@ var CryptoContractFunctionReadWitness = class extends AbstractWitness {
|
|
|
84
81
|
return assertEx2(this.config.abi, () => "Missing abi");
|
|
85
82
|
}
|
|
86
83
|
async observeHandler(inPayloads = []) {
|
|
87
|
-
await this.
|
|
84
|
+
await this.startedAsync("throw");
|
|
88
85
|
try {
|
|
89
86
|
const observations = await Promise.all(
|
|
90
87
|
inPayloads.filter(isPayloadOfSchemaType2(CryptoContractFunctionCallSchema)).map(async ({
|
|
@@ -150,4 +147,4 @@ export {
|
|
|
150
147
|
CryptoContractFunctionReadWitnessPlugin,
|
|
151
148
|
CryptoContractFunctionReadWitnessPlugin as default
|
|
152
149
|
};
|
|
153
|
-
//# sourceMappingURL=index.mjs.map
|
|
150
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Diviner/Diviner.ts","../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n ContractInfo,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\n/** @deprecated use EvmCallDiviner instead */\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\n/** @deprecated use EvmCallDiviner instead */\nexport class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractDivinerConfigSchema\n static override readonly labels: CryptoContractDivinerLabels = { ...super.labels, ...CryptoContractDivinerLabels }\n\n protected static findCallResult<TResult = string>(\n address: string,\n functionName: string,\n payloads: CryptoContractFunctionCallResult[],\n ): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asCryptoContractFunctionCallSuccess(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: CryptoContractFunctionCallResult[]): ContractInfo {\n return {\n address: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: ContractInfoSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: CryptoContractFunctionCallResult[] = []): Promise<ContractInfo[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCallResult>(CryptoContractFunctionCallResultSchema))\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 info: ContractInfo = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return info\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: CryptoContractFunctionCallResult[]): Promisable<ContractInfo['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<Record<string, unknown>>((prev, callResult) => {\n prev[callResult.functionName] = asCryptoContractFunctionCallSuccess(callResult)?.result\n return prev\n }, {})\n }\n}\n","import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/sdk-js'\n\nimport { CryptoContractFunctionReadWitness } from './Witness.ts'\n\n/** @deprecated use EvmCallWitness instead */\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\n\n createPayloadSetWitnessPlugin<CryptoContractFunctionReadWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoContractFunctionReadWitness.create(params)\n return result\n },\n },\n )\n","import type { JsonObject } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { AbstractWitness } from '@xyo-network/witness-abstract'\nimport type { WitnessParams } from '@xyo-network/witness-model'\nimport type { InterfaceAbi, Provider } from 'ethers'\nimport { Contract } from 'ethers'\n\n/** @deprecated use EvmCallWitness instead */\nexport interface CryptoContractFunctionReadWitnessParams extends WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>>\n{\n providers: Provider[]\n}\n\n/** @deprecated use EvmCallWitness instead */\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractFunctionReadWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: CryptoContractFunctionCall[] = []): Promise<CryptoContractFunctionCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCall>(CryptoContractFunctionCallSchema)).map(async ({\n functionName, args, address,\n }) => {\n const { providers } = this.params\n const provider = providers[Date.now() % providers.length] // pick a random provider\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const contract = new Contract(validatedAddress, this.abi, provider)\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n const transformedResult = typeof result === 'bigint' ? result.toString(16) : result\n const observation: CryptoContractFunctionCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n } catch (ex) {\n const error = ex as Error & { code: string }\n console.log(`Error [${this.config.name}]: ${error.code}`)\n const observation: CryptoContractFunctionCallFailure = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n error: error.code,\n functionName: validatedFunctionName,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n }\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"],"mappings":"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","names":["result","assertEx","CryptoContractFunctionCallResultSchema","isPayloadOfSchemaType"]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Diviner/Diviner.ts", "../../src/Plugin.ts", "../../src/Witness.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractDiviner implementation; intra-package references are intentional. */\nimport type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n ContractInfo,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type { Payload, Schema } from '@xyo-network/sdk-js'\nimport { AbstractDiviner, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\n/** @deprecated use EvmCallDiviner instead */\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\n/** @deprecated use EvmCallDiviner instead */\nexport class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractDivinerConfigSchema\n static override readonly labels: CryptoContractDivinerLabels = { ...super.labels, ...CryptoContractDivinerLabels }\n\n protected static findCallResult<TResult = string>(\n address: string,\n functionName: string,\n payloads: CryptoContractFunctionCallResult[],\n ): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asCryptoContractFunctionCallSuccess(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: CryptoContractFunctionCallResult[]): ContractInfo {\n return {\n address: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: ContractInfoSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: CryptoContractFunctionCallResult[] = []): Promise<ContractInfo[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCallResult>(CryptoContractFunctionCallResultSchema))\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 info: ContractInfo = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return info\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: CryptoContractFunctionCallResult[]): Promisable<ContractInfo['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<Record<string, unknown>>((prev, callResult) => {\n prev[callResult.functionName] = asCryptoContractFunctionCallSuccess(callResult)?.result\n return prev\n }, {})\n }\n}\n", "/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractFunctionRead* implementation; intra-package references to the deprecated witness are intentional. */\nimport { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { createPayloadSetWitnessPlugin, PayloadSetSchema } from '@xyo-network/sdk-js'\n\nimport { CryptoContractFunctionReadWitness } from './Witness.ts'\n\n/** @deprecated use EvmCallWitness instead */\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\n\n createPayloadSetWitnessPlugin<CryptoContractFunctionReadWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoContractFunctionReadWitness.create(params)\n return result\n },\n },\n )\n", "/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractFunctionRead* implementation; intra-package references are intentional. */\nimport type { JsonObject } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type {\n AnyConfigSchema, Schema, WitnessParams,\n} from '@xyo-network/sdk-js'\nimport { AbstractWitness, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\nimport type { InterfaceAbi, Provider } from 'ethers'\nimport { Contract } from 'ethers'\n\n/** @deprecated use EvmCallWitness instead */\nexport interface CryptoContractFunctionReadWitnessParams extends WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>>\n{\n providers: Provider[]\n}\n\n/** @deprecated use EvmCallWitness instead */\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractFunctionReadWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: CryptoContractFunctionCall[] = []): Promise<CryptoContractFunctionCallResult[]> {\n await this.startedAsync('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCall>(CryptoContractFunctionCallSchema)).map(async ({\n functionName, args, address,\n }) => {\n const { providers } = this.params\n const provider = providers[Date.now() % providers.length] // pick a random provider\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const contract = new Contract(validatedAddress, this.abi, provider)\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n const transformedResult = typeof result === 'bigint' ? result.toString(16) : result\n const observation: CryptoContractFunctionCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n } catch (ex) {\n const error = ex as Error & { code: string }\n console.log(`Error [${this.config.name}]: ${error.code}`)\n const observation: CryptoContractFunctionCallFailure = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n error: error.code,\n functionName: validatedFunctionName,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n }\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
|
+
"names": ["result", "assertEx", "CryptoContractFunctionCallResultSchema", "isPayloadOfSchemaType"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Promisable } from '@xylabs/sdk-js';
|
|
2
2
|
import type { ContractInfo, CryptoContractDivinerParams, CryptoContractFunctionCallResult } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
3
3
|
import { CryptoContractDivinerLabels } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import type { Payload, Schema } from '@xyo-network/sdk-js';
|
|
5
|
+
import { AbstractDiviner } from '@xyo-network/sdk-js';
|
|
6
6
|
/** @deprecated use EvmCallDiviner instead */
|
|
7
7
|
export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
|
|
8
8
|
/** @deprecated use EvmCallDiviner instead */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAIL,2BAA2B,EAE5B,MAAM,2DAA2D,CAAA;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAA;AAE5E,6CAA6C;AAC7C,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,6CAA6C;AAC7C,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;IACxF,gBAAyB,MAAM,EAAE,2BAA2B,CAAsD;IAElH,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,EAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gCAAgC,EAAE,GAC3C,OAAO,GAAG,SAAS;IAKtB,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,gCAAgC,EAAE,GAAG,YAAY;cAQ1E,aAAa,CAAC,UAAU,GAAE,gCAAgC,EAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyBpH,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,gCAAgC,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;CAO9G"}
|
package/dist/node/Witness.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { CryptoContractFunctionCall, CryptoContractFunctionCallResult, CryptoContractFunctionReadWitnessConfig } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
2
|
-
import type { AnyConfigSchema } from '@xyo-network/
|
|
3
|
-
import
|
|
4
|
-
import { AbstractWitness } from '@xyo-network/witness-abstract';
|
|
5
|
-
import type { WitnessParams } from '@xyo-network/witness-model';
|
|
2
|
+
import type { AnyConfigSchema, Schema, WitnessParams } from '@xyo-network/sdk-js';
|
|
3
|
+
import { AbstractWitness } from '@xyo-network/sdk-js';
|
|
6
4
|
import type { InterfaceAbi, Provider } from 'ethers';
|
|
7
5
|
/** @deprecated use EvmCallWitness instead */
|
|
8
6
|
export interface CryptoContractFunctionReadWitnessParams extends WitnessParams<AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAE1B,gCAAgC,EAEhC,uCAAuC,EACxC,MAAM,2DAA2D,CAAA;AAMlE,OAAO,KAAK,EACV,eAAe,EAAE,MAAM,EAAE,aAAa,EACvC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGpD,6CAA6C;AAC7C,MAAM,WAAW,uCAAwC,SAAQ,aAAa,CAC5E,eAAe,CAAC,uCAAuC,CAAC,CAAC;IAEzD,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED,6CAA6C;AAC7C,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0E;IAC1H,gBAAyB,mBAAmB,EAAE,MAAM,CAAgD;IAEpG,IAAI,GAAG,IACoD,YAAY,CACtE;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CAgDpI"}
|
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,uCAAuC,EAAE,uCAAuC,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AACzH,cAAc,cAAc,CAAA"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -7,8 +7,7 @@ import {
|
|
|
7
7
|
CryptoContractDivinerLabels,
|
|
8
8
|
CryptoContractFunctionCallResultSchema
|
|
9
9
|
} from "@xyo-network/crypto-contract-function-read-payload-plugin";
|
|
10
|
-
import { AbstractDiviner } from "@xyo-network/
|
|
11
|
-
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
10
|
+
import { AbstractDiviner, isPayloadOfSchemaType } from "@xyo-network/sdk-js";
|
|
12
11
|
var CryptoContractDiviner = class _CryptoContractDiviner extends AbstractDiviner {
|
|
13
12
|
static configSchemas = [...super.configSchemas, CryptoContractDivinerConfigSchema];
|
|
14
13
|
static defaultConfigSchema = CryptoContractDivinerConfigSchema;
|
|
@@ -64,8 +63,7 @@ var CryptoContractDiviner = class _CryptoContractDiviner extends AbstractDiviner
|
|
|
64
63
|
|
|
65
64
|
// src/Plugin.ts
|
|
66
65
|
import { NftSchema } from "@xyo-network/crypto-nft-payload-plugin";
|
|
67
|
-
import { PayloadSetSchema } from "@xyo-network/
|
|
68
|
-
import { createPayloadSetWitnessPlugin } from "@xyo-network/sdk-js";
|
|
66
|
+
import { createPayloadSetWitnessPlugin, PayloadSetSchema } from "@xyo-network/sdk-js";
|
|
69
67
|
|
|
70
68
|
// src/Witness.ts
|
|
71
69
|
import { assertEx as assertEx2 } from "@xylabs/sdk-js";
|
|
@@ -74,8 +72,7 @@ import {
|
|
|
74
72
|
CryptoContractFunctionCallSchema,
|
|
75
73
|
CryptoContractFunctionReadWitnessConfigSchema
|
|
76
74
|
} from "@xyo-network/crypto-contract-function-read-payload-plugin";
|
|
77
|
-
import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/
|
|
78
|
-
import { AbstractWitness } from "@xyo-network/witness-abstract";
|
|
75
|
+
import { AbstractWitness, isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/sdk-js";
|
|
79
76
|
import { Contract } from "ethers";
|
|
80
77
|
var CryptoContractFunctionReadWitness = class extends AbstractWitness {
|
|
81
78
|
static configSchemas = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema];
|
|
@@ -84,7 +81,7 @@ var CryptoContractFunctionReadWitness = class extends AbstractWitness {
|
|
|
84
81
|
return assertEx2(this.config.abi, () => "Missing abi");
|
|
85
82
|
}
|
|
86
83
|
async observeHandler(inPayloads = []) {
|
|
87
|
-
await this.
|
|
84
|
+
await this.startedAsync("throw");
|
|
88
85
|
try {
|
|
89
86
|
const observations = await Promise.all(
|
|
90
87
|
inPayloads.filter(isPayloadOfSchemaType2(CryptoContractFunctionCallSchema)).map(async ({
|
|
@@ -150,4 +147,4 @@ export {
|
|
|
150
147
|
CryptoContractFunctionReadWitnessPlugin,
|
|
151
148
|
CryptoContractFunctionReadWitnessPlugin as default
|
|
152
149
|
};
|
|
153
|
-
//# sourceMappingURL=index.mjs.map
|
|
150
|
+
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Diviner/Diviner.ts","../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n ContractInfo,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\n/** @deprecated use EvmCallDiviner instead */\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\n/** @deprecated use EvmCallDiviner instead */\nexport class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractDivinerConfigSchema\n static override readonly labels: CryptoContractDivinerLabels = { ...super.labels, ...CryptoContractDivinerLabels }\n\n protected static findCallResult<TResult = string>(\n address: string,\n functionName: string,\n payloads: CryptoContractFunctionCallResult[],\n ): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asCryptoContractFunctionCallSuccess(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: CryptoContractFunctionCallResult[]): ContractInfo {\n return {\n address: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: ContractInfoSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: CryptoContractFunctionCallResult[] = []): Promise<ContractInfo[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCallResult>(CryptoContractFunctionCallResultSchema))\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 info: ContractInfo = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return info\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: CryptoContractFunctionCallResult[]): Promisable<ContractInfo['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<Record<string, unknown>>((prev, callResult) => {\n prev[callResult.functionName] = asCryptoContractFunctionCallSuccess(callResult)?.result\n return prev\n }, {})\n }\n}\n","import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/sdk-js'\n\nimport { CryptoContractFunctionReadWitness } from './Witness.ts'\n\n/** @deprecated use EvmCallWitness instead */\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\n\n createPayloadSetWitnessPlugin<CryptoContractFunctionReadWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoContractFunctionReadWitness.create(params)\n return result\n },\n },\n )\n","import type { JsonObject } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { AbstractWitness } from '@xyo-network/witness-abstract'\nimport type { WitnessParams } from '@xyo-network/witness-model'\nimport type { InterfaceAbi, Provider } from 'ethers'\nimport { Contract } from 'ethers'\n\n/** @deprecated use EvmCallWitness instead */\nexport interface CryptoContractFunctionReadWitnessParams extends WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>>\n{\n providers: Provider[]\n}\n\n/** @deprecated use EvmCallWitness instead */\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractFunctionReadWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: CryptoContractFunctionCall[] = []): Promise<CryptoContractFunctionCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCall>(CryptoContractFunctionCallSchema)).map(async ({\n functionName, args, address,\n }) => {\n const { providers } = this.params\n const provider = providers[Date.now() % providers.length] // pick a random provider\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const contract = new Contract(validatedAddress, this.abi, provider)\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n const transformedResult = typeof result === 'bigint' ? result.toString(16) : result\n const observation: CryptoContractFunctionCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n } catch (ex) {\n const error = ex as Error & { code: string }\n console.log(`Error [${this.config.name}]: ${error.code}`)\n const observation: CryptoContractFunctionCallFailure = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n error: error.code,\n functionName: validatedFunctionName,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n }\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"],"mappings":"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","names":["result","assertEx","CryptoContractFunctionCallResultSchema","isPayloadOfSchemaType"]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Diviner/Diviner.ts", "../../src/Plugin.ts", "../../src/Witness.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractDiviner implementation; intra-package references are intentional. */\nimport type { Promisable } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n ContractInfo,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type { Payload, Schema } from '@xyo-network/sdk-js'\nimport { AbstractDiviner, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\n/** @deprecated use EvmCallDiviner instead */\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\n/** @deprecated use EvmCallDiviner instead */\nexport class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractDivinerConfigSchema\n static override readonly labels: CryptoContractDivinerLabels = { ...super.labels, ...CryptoContractDivinerLabels }\n\n protected static findCallResult<TResult = string>(\n address: string,\n functionName: string,\n payloads: CryptoContractFunctionCallResult[],\n ): TResult | undefined {\n const foundPayload = payloads.find(payload => payload.functionName === functionName && payload.address === address)\n return asCryptoContractFunctionCallSuccess(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: CryptoContractFunctionCallResult[]): ContractInfo {\n return {\n address: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'address'), () => 'Mismatched address'),\n chainId: assertEx(CryptoContractDiviner.matchingExistingField(callResults, 'chainId'), () => 'Mismatched chainId'),\n schema: ContractInfoSchema,\n }\n }\n\n protected override async divineHandler(inPayloads: CryptoContractFunctionCallResult[] = []): Promise<ContractInfo[]> {\n const callResults = inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCallResult>(CryptoContractFunctionCallResultSchema))\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 info: ContractInfo = {\n results: await this.reduceResults(foundCallResults),\n ...this.contractInfoRequiredFields(foundCallResults),\n }\n return info\n }),\n )\n\n return result\n }\n\n protected reduceResults(callResults: CryptoContractFunctionCallResult[]): Promisable<ContractInfo['results']> {\n // eslint-disable-next-line unicorn/no-array-reduce\n return callResults.reduce<Record<string, unknown>>((prev, callResult) => {\n prev[callResult.functionName] = asCryptoContractFunctionCallSuccess(callResult)?.result\n return prev\n }, {})\n }\n}\n", "/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractFunctionRead* implementation; intra-package references to the deprecated witness are intentional. */\nimport { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { createPayloadSetWitnessPlugin, PayloadSetSchema } from '@xyo-network/sdk-js'\n\nimport { CryptoContractFunctionReadWitness } from './Witness.ts'\n\n/** @deprecated use EvmCallWitness instead */\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\n\n createPayloadSetWitnessPlugin<CryptoContractFunctionReadWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoContractFunctionReadWitness.create(params)\n return result\n },\n },\n )\n", "/* eslint-disable @typescript-eslint/no-deprecated -- This package is the deprecated CryptoContractFunctionRead* implementation; intra-package references are intentional. */\nimport type { JsonObject } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport {\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport type {\n AnyConfigSchema, Schema, WitnessParams,\n} from '@xyo-network/sdk-js'\nimport { AbstractWitness, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\nimport type { InterfaceAbi, Provider } from 'ethers'\nimport { Contract } from 'ethers'\n\n/** @deprecated use EvmCallWitness instead */\nexport interface CryptoContractFunctionReadWitnessParams extends WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>>\n{\n providers: Provider[]\n}\n\n/** @deprecated use EvmCallWitness instead */\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoContractFunctionReadWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoContractFunctionReadWitnessConfigSchema\n\n get abi() {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: CryptoContractFunctionCall[] = []): Promise<CryptoContractFunctionCallResult[]> {\n await this.startedAsync('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<CryptoContractFunctionCall>(CryptoContractFunctionCallSchema)).map(async ({\n functionName, args, address,\n }) => {\n const { providers } = this.params\n const provider = providers[Date.now() % providers.length] // pick a random provider\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n const validatedFunctionName = assertEx(functionName ?? this.config.functionName, () => 'Missing address')\n const mergedArgs = [...(args ?? this.config.args ?? [])] as JsonObject[]\n\n const contract = new Contract(validatedAddress, this.abi, provider)\n try {\n const result = await contract[validatedFunctionName](...mergedArgs)\n const transformedResult = typeof result === 'bigint' ? result.toString(16) : result\n const observation: CryptoContractFunctionCallSuccess = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n functionName: validatedFunctionName,\n result: transformedResult,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n } catch (ex) {\n const error = ex as Error & { code: string }\n console.log(`Error [${this.config.name}]: ${error.code}`)\n const observation: CryptoContractFunctionCallFailure = {\n address: validatedAddress,\n args: mergedArgs,\n chainId: Number((await provider.getNetwork()).chainId),\n error: error.code,\n functionName: validatedFunctionName,\n schema: CryptoContractFunctionCallResultSchema,\n }\n return observation\n }\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
|
+
"names": ["result", "assertEx", "CryptoContractFunctionCallResultSchema", "isPayloadOfSchemaType"]
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/crypto-contract-function-read-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -31,119 +31,114 @@
|
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@xyo-network/crypto-contract-function-read-payload-plugin": "~
|
|
35
|
-
"@xyo-network/crypto-nft-payload-plugin": "~
|
|
34
|
+
"@xyo-network/crypto-contract-function-read-payload-plugin": "~6.0.1",
|
|
35
|
+
"@xyo-network/crypto-nft-payload-plugin": "~6.0.1"
|
|
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": "~
|
|
48
|
-
"@xylabs/tsconfig": "~
|
|
49
|
-
"@xylabs/vitest-extended": "~
|
|
50
|
-
"@xyo-network/account": "~
|
|
51
|
-
"@xyo-network/account-model": "^
|
|
52
|
-
"@xyo-network/api": "~
|
|
53
|
-
"@xyo-network/api-models": "~
|
|
54
|
-
"@xyo-network/boundwitness-builder": "~
|
|
55
|
-
"@xyo-network/boundwitness-model": "^
|
|
56
|
-
"@xyo-network/boundwitness-validator": "^
|
|
57
|
-
"@xyo-network/boundwitness-wrapper": "~
|
|
58
|
-
"@xyo-network/config-payload-plugin": "~
|
|
59
|
-
"@xyo-network/diviner-
|
|
60
|
-
"@xyo-network/diviner-
|
|
61
|
-
"@xyo-network/diviner-
|
|
62
|
-
"@xyo-network/diviner-
|
|
63
|
-
"@xyo-network/diviner-
|
|
64
|
-
"@xyo-network/diviner-payload-
|
|
65
|
-
"@xyo-network/diviner-
|
|
66
|
-
"@xyo-network/diviner-
|
|
67
|
-
"@xyo-network/
|
|
68
|
-
"@xyo-network/
|
|
69
|
-
"@xyo-network/
|
|
70
|
-
"@xyo-network/
|
|
71
|
-
"@xyo-network/node-memory": "~5.6.4",
|
|
45
|
+
"@xylabs/geo": "^6.0.2",
|
|
46
|
+
"@xylabs/sdk-js": "^6.0.2",
|
|
47
|
+
"@xylabs/threads": "^6.0.2",
|
|
48
|
+
"@xylabs/toolchain": "~8.1.4",
|
|
49
|
+
"@xylabs/tsconfig": "~8.1.4",
|
|
50
|
+
"@xylabs/vitest-extended": "~6.0.2",
|
|
51
|
+
"@xyo-network/account": "~6.0.4",
|
|
52
|
+
"@xyo-network/account-model": "^6.0.4",
|
|
53
|
+
"@xyo-network/api": "~6.0.4",
|
|
54
|
+
"@xyo-network/api-models": "~6.0.4",
|
|
55
|
+
"@xyo-network/boundwitness-builder": "~6.0.4",
|
|
56
|
+
"@xyo-network/boundwitness-model": "^6.0.4",
|
|
57
|
+
"@xyo-network/boundwitness-validator": "^6.0.4",
|
|
58
|
+
"@xyo-network/boundwitness-wrapper": "~6.0.4",
|
|
59
|
+
"@xyo-network/config-payload-plugin": "~6.0.4",
|
|
60
|
+
"@xyo-network/diviner-boundwitness": "^6.0.0",
|
|
61
|
+
"@xyo-network/diviner-jsonpatch": "~6.0.0",
|
|
62
|
+
"@xyo-network/diviner-jsonpath-aggregate-memory": "~6.0.0",
|
|
63
|
+
"@xyo-network/diviner-model": "^6.0.0",
|
|
64
|
+
"@xyo-network/diviner-payload-generic": "~6.0.0",
|
|
65
|
+
"@xyo-network/diviner-payload-model": "^6.0.0",
|
|
66
|
+
"@xyo-network/diviner-range": "~6.0.0",
|
|
67
|
+
"@xyo-network/diviner-temporal-indexing": "~6.0.0",
|
|
68
|
+
"@xyo-network/huri": "~6.0.4",
|
|
69
|
+
"@xyo-network/manifest-model": "~6.0.4",
|
|
70
|
+
"@xyo-network/module-model": "^6.0.0",
|
|
71
|
+
"@xyo-network/node-memory": "~6.0.0",
|
|
72
72
|
"@xyo-network/open-zeppelin-typechain": "^4.1.3",
|
|
73
|
-
"@xyo-network/payload-builder": "~
|
|
74
|
-
"@xyo-network/payload-model": "^
|
|
75
|
-
"@xyo-network/payload-plugin": "~
|
|
76
|
-
"@xyo-network/payload-utils": "~
|
|
77
|
-
"@xyo-network/payload-wrapper": "~
|
|
78
|
-
"@xyo-network/query-payload-plugin": "~
|
|
79
|
-
"@xyo-network/sdk-js": "^
|
|
80
|
-
"@xyo-network/sdk-protocol-js": "~
|
|
81
|
-
"@xyo-network/sentinel-model": "~
|
|
82
|
-
"@xyo-network/wallet": "~
|
|
83
|
-
"@xyo-network/wallet-model": "~
|
|
84
|
-
"@xyo-network/witness-abstract": "^
|
|
85
|
-
"@xyo-network/witness-
|
|
86
|
-
"@xyo-network/witness-
|
|
87
|
-
"@xyo-network/witness-timestamp": "^5.6.4",
|
|
73
|
+
"@xyo-network/payload-builder": "~6.0.4",
|
|
74
|
+
"@xyo-network/payload-model": "^6.0.4",
|
|
75
|
+
"@xyo-network/payload-plugin": "~6.0.4",
|
|
76
|
+
"@xyo-network/payload-utils": "~6.0.4",
|
|
77
|
+
"@xyo-network/payload-wrapper": "~6.0.4",
|
|
78
|
+
"@xyo-network/query-payload-plugin": "~6.0.4",
|
|
79
|
+
"@xyo-network/sdk-js": "^6.0.0",
|
|
80
|
+
"@xyo-network/sdk-protocol-js": "~6.0.4",
|
|
81
|
+
"@xyo-network/sentinel-model": "~6.0.0",
|
|
82
|
+
"@xyo-network/wallet": "~6.0.4",
|
|
83
|
+
"@xyo-network/wallet-model": "~6.0.4",
|
|
84
|
+
"@xyo-network/witness-blockchain-abstract": "^6.0.0",
|
|
85
|
+
"@xyo-network/witness-model": "~6.0",
|
|
86
|
+
"@xyo-network/witness-timestamp": "^6.0.0",
|
|
88
87
|
"ajv": "^8.20.0",
|
|
89
88
|
"async-mutex": "^0.5.0",
|
|
90
89
|
"bn.js": "^5.2.3",
|
|
91
90
|
"buffer": "^6.0.3",
|
|
92
91
|
"chalk": "^5.6.2",
|
|
93
92
|
"debug": "~4.4.3",
|
|
94
|
-
"eslint": "^10.
|
|
93
|
+
"eslint": "^10.4.0",
|
|
95
94
|
"ethers": "^6.16.0",
|
|
96
95
|
"fast-json-patch": "~3.1.1",
|
|
97
96
|
"hash-wasm": "^4.12.0",
|
|
98
97
|
"idb": "^8.0.3",
|
|
99
98
|
"jsonpath": "~1.3.0",
|
|
100
99
|
"lru-cache": "^11.3.6",
|
|
101
|
-
"mapbox-gl": "
|
|
100
|
+
"mapbox-gl": "^3.23.1",
|
|
102
101
|
"observable-fns": "~0.6.1",
|
|
103
102
|
"pako": "~2.1.0",
|
|
104
103
|
"store2": "~2.14.4",
|
|
105
|
-
"typescript": "~
|
|
106
|
-
"vite": "^8.0.
|
|
107
|
-
"vitest": "^4.1.
|
|
104
|
+
"typescript": "~6.0.3",
|
|
105
|
+
"vite": "^8.0.14",
|
|
106
|
+
"vitest": "^4.1.7",
|
|
108
107
|
"wasm-feature-detect": "~1.8.0",
|
|
109
108
|
"webextension-polyfill": "^0.12.0",
|
|
110
109
|
"zod": "^4.4.3",
|
|
111
|
-
"@xyo-network/evm-nft-id-payload-plugin": "~
|
|
110
|
+
"@xyo-network/evm-nft-id-payload-plugin": "~6.0.1"
|
|
112
111
|
},
|
|
113
112
|
"peerDependencies": {
|
|
114
113
|
"@bitauth/libauth": "~3.0",
|
|
115
114
|
"@metamask/providers": "^22.1",
|
|
115
|
+
"@noble/post-quantum": "~0.6.1",
|
|
116
116
|
"@opentelemetry/api": "^1.9",
|
|
117
117
|
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
118
118
|
"@scure/base": "^2.2",
|
|
119
119
|
"@scure/bip39": "~2.2",
|
|
120
|
-
"@xylabs/geo": "^
|
|
121
|
-
"@xylabs/sdk-js": "^
|
|
122
|
-
"@xylabs/threads": "^
|
|
123
|
-
"@xyo-network/account": "~
|
|
124
|
-
"@xyo-network/account-model": "^
|
|
125
|
-
"@xyo-network/api": "~
|
|
126
|
-
"@xyo-network/api-models": "~
|
|
127
|
-
"@xyo-network/boundwitness-builder": "~
|
|
128
|
-
"@xyo-network/boundwitness-model": "^
|
|
129
|
-
"@xyo-network/boundwitness-wrapper": "~
|
|
130
|
-
"@xyo-network/config-payload-plugin": "~
|
|
131
|
-
"@xyo-network/
|
|
132
|
-
"@xyo-network/
|
|
133
|
-
"@xyo-network/
|
|
134
|
-
"@xyo-network/
|
|
135
|
-
"@xyo-network/
|
|
136
|
-
"@xyo-network/payload-
|
|
137
|
-
"@xyo-network/payload-
|
|
138
|
-
"@xyo-network/
|
|
139
|
-
"@xyo-network/
|
|
140
|
-
"@xyo-network/
|
|
141
|
-
"@xyo-network/
|
|
142
|
-
"@xyo-network/sdk-protocol-js": "~5.6",
|
|
143
|
-
"@xyo-network/wallet": "~5.6",
|
|
144
|
-
"@xyo-network/wallet-model": "~5.6",
|
|
145
|
-
"@xyo-network/witness-abstract": "^5.6",
|
|
146
|
-
"@xyo-network/witness-model": "^5.6",
|
|
120
|
+
"@xylabs/geo": "^6.0",
|
|
121
|
+
"@xylabs/sdk-js": "^6.0",
|
|
122
|
+
"@xylabs/threads": "^6.0",
|
|
123
|
+
"@xyo-network/account": "~6.0",
|
|
124
|
+
"@xyo-network/account-model": "^6.0",
|
|
125
|
+
"@xyo-network/api": "~6.0",
|
|
126
|
+
"@xyo-network/api-models": "~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/huri": "~6.0",
|
|
132
|
+
"@xyo-network/manifest-model": "~6.0",
|
|
133
|
+
"@xyo-network/payload-builder": "~6.0",
|
|
134
|
+
"@xyo-network/payload-model": "^6.0",
|
|
135
|
+
"@xyo-network/payload-plugin": "~6.0",
|
|
136
|
+
"@xyo-network/payload-wrapper": "~6.0",
|
|
137
|
+
"@xyo-network/query-payload-plugin": "~6.0",
|
|
138
|
+
"@xyo-network/sdk-js": "^6.0",
|
|
139
|
+
"@xyo-network/sdk-protocol-js": "~6.0",
|
|
140
|
+
"@xyo-network/wallet": "~6.0",
|
|
141
|
+
"@xyo-network/wallet-model": "~6.0",
|
|
147
142
|
"ajv": "^8.20",
|
|
148
143
|
"async-mutex": "^0.5",
|
|
149
144
|
"bn.js": "^5.2",
|
|
@@ -154,7 +149,7 @@
|
|
|
154
149
|
"hash-wasm": "^4.12",
|
|
155
150
|
"idb": "^8.0",
|
|
156
151
|
"lru-cache": "^11.3",
|
|
157
|
-
"mapbox-gl": "
|
|
152
|
+
"mapbox-gl": "^3.23",
|
|
158
153
|
"observable-fns": "~0.6",
|
|
159
154
|
"pako": "~2.1",
|
|
160
155
|
"store2": "~2.14",
|