@xyo-network/crypto-contract-function-read-plugin 2.85.0 → 2.85.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.cts +2 -0
- package/dist/browser/Diviner/Diviner.d.cts.map +1 -1
- package/dist/browser/Diviner/Diviner.d.mts +2 -0
- package/dist/browser/Diviner/Diviner.d.mts.map +1 -1
- package/dist/browser/Diviner/Diviner.d.ts +2 -0
- package/dist/browser/Diviner/Diviner.d.ts.map +1 -1
- package/dist/browser/Plugin.d.cts +1 -2
- package/dist/browser/Plugin.d.cts.map +1 -1
- package/dist/browser/Plugin.d.mts +1 -2
- package/dist/browser/Plugin.d.mts.map +1 -1
- package/dist/browser/Plugin.d.ts +1 -2
- package/dist/browser/Plugin.d.ts.map +1 -1
- package/dist/browser/Witness.d.cts +2 -0
- package/dist/browser/Witness.d.cts.map +1 -1
- package/dist/browser/Witness.d.mts +2 -0
- package/dist/browser/Witness.d.mts.map +1 -1
- package/dist/browser/Witness.d.ts +2 -0
- package/dist/browser/Witness.d.ts.map +1 -1
- package/dist/browser/index.cjs +70 -72
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts +1 -3
- package/dist/browser/index.d.cts.map +1 -1
- package/dist/browser/index.d.mts +1 -3
- package/dist/browser/index.d.mts.map +1 -1
- package/dist/browser/index.d.ts +1 -3
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +73 -75
- package/dist/browser/index.js.map +1 -1
- package/dist/node/Diviner/Diviner.d.cts +2 -0
- package/dist/node/Diviner/Diviner.d.cts.map +1 -1
- package/dist/node/Diviner/Diviner.d.mts +2 -0
- package/dist/node/Diviner/Diviner.d.mts.map +1 -1
- package/dist/node/Diviner/Diviner.d.ts +2 -0
- package/dist/node/Diviner/Diviner.d.ts.map +1 -1
- package/dist/node/Plugin.d.cts +1 -2
- package/dist/node/Plugin.d.cts.map +1 -1
- package/dist/node/Plugin.d.mts +1 -2
- package/dist/node/Plugin.d.mts.map +1 -1
- package/dist/node/Plugin.d.ts +1 -2
- package/dist/node/Plugin.d.ts.map +1 -1
- package/dist/node/Witness.d.cts +2 -0
- package/dist/node/Witness.d.cts.map +1 -1
- package/dist/node/Witness.d.mts +2 -0
- package/dist/node/Witness.d.mts.map +1 -1
- package/dist/node/Witness.d.ts +2 -0
- package/dist/node/Witness.d.ts.map +1 -1
- package/dist/node/index.cjs +73 -75
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +1 -3
- package/dist/node/index.d.cts.map +1 -1
- package/dist/node/index.d.mts +1 -3
- package/dist/node/index.d.mts.map +1 -1
- package/dist/node/index.d.ts +1 -3
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +76 -78
- package/dist/node/index.js.map +1 -1
- package/package.json +30 -30
- package/src/Diviner/Diviner.ts +6 -1
- package/src/Plugin.ts +2 -0
- package/src/Witness.ts +2 -0
- package/src/index.ts +1 -7
- package/src/spec/NftIndexToNftIdIndex/Erc721.NftId.Index.json +314 -0
- package/src/spec/TotalSupplyToNftIndexIndex/Erc721.NftIndex.Index.json +118 -28
|
@@ -2,7 +2,9 @@ import { Promisable } from '@xylabs/promise';
|
|
|
2
2
|
import { AbstractDiviner } from '@xyo-network/abstract-diviner';
|
|
3
3
|
import { ContractInfo, CryptoContractDivinerLabels, CryptoContractDivinerParams, CryptoContractFunctionCallResult } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
4
4
|
import { Payload } from '@xyo-network/payload-model';
|
|
5
|
+
/** @deprecated use EvmCallDiviner instead */
|
|
5
6
|
export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
|
|
7
|
+
/** @deprecated use EvmCallDiviner instead */
|
|
6
8
|
export declare class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {
|
|
7
9
|
static configSchemas: string[];
|
|
8
10
|
static labels: CryptoContractDivinerLabels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAEL,YAAY,EAGZ,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAEjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,OAAgB,aAAa,WAAsC;IACnE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAA8B;IAExE,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;
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAEL,YAAY,EAGZ,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAEjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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,OAAgB,aAAa,WAAsC;IACnE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAA8B;IAExE,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"}
|
|
@@ -2,7 +2,9 @@ import { Promisable } from '@xylabs/promise';
|
|
|
2
2
|
import { AbstractDiviner } from '@xyo-network/abstract-diviner';
|
|
3
3
|
import { ContractInfo, CryptoContractDivinerLabels, CryptoContractDivinerParams, CryptoContractFunctionCallResult } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
4
4
|
import { Payload } from '@xyo-network/payload-model';
|
|
5
|
+
/** @deprecated use EvmCallDiviner instead */
|
|
5
6
|
export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
|
|
7
|
+
/** @deprecated use EvmCallDiviner instead */
|
|
6
8
|
export declare class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {
|
|
7
9
|
static configSchemas: string[];
|
|
8
10
|
static labels: CryptoContractDivinerLabels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAEL,YAAY,EAGZ,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAEjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,OAAgB,aAAa,WAAsC;IACnE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAA8B;IAExE,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;
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAEL,YAAY,EAGZ,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAEjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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,OAAgB,aAAa,WAAsC;IACnE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAA8B;IAExE,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"}
|
|
@@ -2,7 +2,9 @@ import { Promisable } from '@xylabs/promise';
|
|
|
2
2
|
import { AbstractDiviner } from '@xyo-network/abstract-diviner';
|
|
3
3
|
import { ContractInfo, CryptoContractDivinerLabels, CryptoContractDivinerParams, CryptoContractFunctionCallResult } from '@xyo-network/crypto-contract-function-read-payload-plugin';
|
|
4
4
|
import { Payload } from '@xyo-network/payload-model';
|
|
5
|
+
/** @deprecated use EvmCallDiviner instead */
|
|
5
6
|
export type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined];
|
|
7
|
+
/** @deprecated use EvmCallDiviner instead */
|
|
6
8
|
export declare class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {
|
|
7
9
|
static configSchemas: string[];
|
|
8
10
|
static labels: CryptoContractDivinerLabels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAEL,YAAY,EAGZ,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAEjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,OAAgB,aAAa,WAAsC;IACnE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAA8B;IAExE,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;
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAEL,YAAY,EAGZ,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAEjC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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,OAAgB,aAAa,WAAsC;IACnE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAA8B;IAExE,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,8 @@
|
|
|
1
1
|
import { CryptoContractFunctionReadWitness } from './Witness';
|
|
2
|
+
/** @deprecated use EvmCallWitness instead */
|
|
2
3
|
export declare const CryptoContractFunctionReadWitnessPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CryptoContractFunctionReadWitness<import("@xyo-network/object").BaseParamsFields & {
|
|
3
4
|
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
5
|
config: import("@xyo-network/payload-model").SchemaFields & object & Omit<{
|
|
5
|
-
accountPath?: string | undefined;
|
|
6
6
|
readonly archivist?: string | undefined;
|
|
7
7
|
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
8
8
|
readonly name?: string | undefined;
|
|
@@ -19,7 +19,6 @@ export declare const CryptoContractFunctionReadWitnessPlugin: () => import("@xyo
|
|
|
19
19
|
readonly storeQueries?: boolean | undefined;
|
|
20
20
|
readonly timestamp?: boolean | undefined;
|
|
21
21
|
} & import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/payload-model").SchemaFields & object & {
|
|
22
|
-
accountPath?: string | undefined;
|
|
23
22
|
readonly archivist?: string | undefined;
|
|
24
23
|
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
25
24
|
readonly name?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAA;AAE7D,6CAA6C;AAC7C,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASjD,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CryptoContractFunctionReadWitness } from './Witness';
|
|
2
|
+
/** @deprecated use EvmCallWitness instead */
|
|
2
3
|
export declare const CryptoContractFunctionReadWitnessPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CryptoContractFunctionReadWitness<import("@xyo-network/object").BaseParamsFields & {
|
|
3
4
|
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
5
|
config: import("@xyo-network/payload-model").SchemaFields & object & Omit<{
|
|
5
|
-
accountPath?: string | undefined;
|
|
6
6
|
readonly archivist?: string | undefined;
|
|
7
7
|
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
8
8
|
readonly name?: string | undefined;
|
|
@@ -19,7 +19,6 @@ export declare const CryptoContractFunctionReadWitnessPlugin: () => import("@xyo
|
|
|
19
19
|
readonly storeQueries?: boolean | undefined;
|
|
20
20
|
readonly timestamp?: boolean | undefined;
|
|
21
21
|
} & import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/payload-model").SchemaFields & object & {
|
|
22
|
-
accountPath?: string | undefined;
|
|
23
22
|
readonly archivist?: string | undefined;
|
|
24
23
|
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
25
24
|
readonly name?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAA;AAE7D,6CAA6C;AAC7C,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASjD,CAAA"}
|
package/dist/browser/Plugin.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CryptoContractFunctionReadWitness } from './Witness';
|
|
2
|
+
/** @deprecated use EvmCallWitness instead */
|
|
2
3
|
export declare const CryptoContractFunctionReadWitnessPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CryptoContractFunctionReadWitness<import("@xyo-network/object").BaseParamsFields & {
|
|
3
4
|
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
5
|
config: import("@xyo-network/payload-model").SchemaFields & object & Omit<{
|
|
5
|
-
accountPath?: string | undefined;
|
|
6
6
|
readonly archivist?: string | undefined;
|
|
7
7
|
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
8
8
|
readonly name?: string | undefined;
|
|
@@ -19,7 +19,6 @@ export declare const CryptoContractFunctionReadWitnessPlugin: () => import("@xyo
|
|
|
19
19
|
readonly storeQueries?: boolean | undefined;
|
|
20
20
|
readonly timestamp?: boolean | undefined;
|
|
21
21
|
} & import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/payload-model").SchemaFields & object & {
|
|
22
|
-
accountPath?: string | undefined;
|
|
23
22
|
readonly archivist?: string | undefined;
|
|
24
23
|
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
25
24
|
readonly name?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAA;AAE7D,6CAA6C;AAC7C,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASjD,CAAA"}
|
|
@@ -3,9 +3,11 @@ import { CryptoContractFunctionCall, CryptoContractFunctionCallResult, CryptoCon
|
|
|
3
3
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
4
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
5
|
import { Provider } from 'ethers';
|
|
6
|
+
/** @deprecated use EvmCallWitness instead */
|
|
6
7
|
export type CryptoContractFunctionReadWitnessParams = WitnessParams<AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>, {
|
|
7
8
|
providers: Provider[];
|
|
8
9
|
}>;
|
|
10
|
+
/** @deprecated use EvmCallWitness instead */
|
|
9
11
|
export declare class CryptoContractFunctionReadWitness<TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {
|
|
10
12
|
static configSchemas: string[];
|
|
11
13
|
get abi(): string | readonly (string | import("ethers").JsonFragment)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,0BAA0B,EAE1B,gCAAgC,EAIhC,uCAAuC,EAExC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAY,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,MAAM,uCAAuC,GAAG,aAAa,CACjE,eAAe,CAAC,uCAAuC,CAAC,EACxD;IACE,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB,CACF,CAAA;AAED,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,OAAgB,aAAa,WAAkD;IAE/E,IAAI,GAAG,iEAEN;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CA8CpI"}
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,0BAA0B,EAE1B,gCAAgC,EAIhC,uCAAuC,EAExC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAY,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE3C,6CAA6C;AAC7C,MAAM,MAAM,uCAAuC,GAAG,aAAa,CACjE,eAAe,CAAC,uCAAuC,CAAC,EACxD;IACE,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB,CACF,CAAA;AAED,6CAA6C;AAC7C,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,OAAgB,aAAa,WAAkD;IAE/E,IAAI,GAAG,iEAEN;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CA8CpI"}
|
|
@@ -3,9 +3,11 @@ import { CryptoContractFunctionCall, CryptoContractFunctionCallResult, CryptoCon
|
|
|
3
3
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
4
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
5
|
import { Provider } from 'ethers';
|
|
6
|
+
/** @deprecated use EvmCallWitness instead */
|
|
6
7
|
export type CryptoContractFunctionReadWitnessParams = WitnessParams<AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>, {
|
|
7
8
|
providers: Provider[];
|
|
8
9
|
}>;
|
|
10
|
+
/** @deprecated use EvmCallWitness instead */
|
|
9
11
|
export declare class CryptoContractFunctionReadWitness<TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {
|
|
10
12
|
static configSchemas: string[];
|
|
11
13
|
get abi(): string | readonly (string | import("ethers").JsonFragment)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,0BAA0B,EAE1B,gCAAgC,EAIhC,uCAAuC,EAExC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAY,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,MAAM,uCAAuC,GAAG,aAAa,CACjE,eAAe,CAAC,uCAAuC,CAAC,EACxD;IACE,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB,CACF,CAAA;AAED,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,OAAgB,aAAa,WAAkD;IAE/E,IAAI,GAAG,iEAEN;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CA8CpI"}
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,0BAA0B,EAE1B,gCAAgC,EAIhC,uCAAuC,EAExC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAY,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE3C,6CAA6C;AAC7C,MAAM,MAAM,uCAAuC,GAAG,aAAa,CACjE,eAAe,CAAC,uCAAuC,CAAC,EACxD;IACE,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB,CACF,CAAA;AAED,6CAA6C;AAC7C,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,OAAgB,aAAa,WAAkD;IAE/E,IAAI,GAAG,iEAEN;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CA8CpI"}
|
|
@@ -3,9 +3,11 @@ import { CryptoContractFunctionCall, CryptoContractFunctionCallResult, CryptoCon
|
|
|
3
3
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
4
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
5
|
import { Provider } from 'ethers';
|
|
6
|
+
/** @deprecated use EvmCallWitness instead */
|
|
6
7
|
export type CryptoContractFunctionReadWitnessParams = WitnessParams<AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>, {
|
|
7
8
|
providers: Provider[];
|
|
8
9
|
}>;
|
|
10
|
+
/** @deprecated use EvmCallWitness instead */
|
|
9
11
|
export declare class CryptoContractFunctionReadWitness<TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {
|
|
10
12
|
static configSchemas: string[];
|
|
11
13
|
get abi(): string | readonly (string | import("ethers").JsonFragment)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,0BAA0B,EAE1B,gCAAgC,EAIhC,uCAAuC,EAExC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAY,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,MAAM,uCAAuC,GAAG,aAAa,CACjE,eAAe,CAAC,uCAAuC,CAAC,EACxD;IACE,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB,CACF,CAAA;AAED,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,OAAgB,aAAa,WAAkD;IAE/E,IAAI,GAAG,iEAEN;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CA8CpI"}
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,0BAA0B,EAE1B,gCAAgC,EAIhC,uCAAuC,EAExC,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAY,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE3C,6CAA6C;AAC7C,MAAM,MAAM,uCAAuC,GAAG,aAAa,CACjE,eAAe,CAAC,uCAAuC,CAAC,EACxD;IACE,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB,CACF,CAAA;AAED,6CAA6C;AAC7C,qBAAa,iCAAiC,CAC5C,OAAO,SAAS,uCAAuC,GAAG,uCAAuC,CACjG,SAAQ,eAAe,CAAC,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,CAAC;IAC9F,OAAgB,aAAa,WAAkD;IAE/E,IAAI,GAAG,iEAEN;cAEwB,cAAc,CAAC,UAAU,GAAE,0BAA0B,EAAO,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;CA8CpI"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -23,35 +23,92 @@ __export(src_exports, {
|
|
|
23
23
|
CryptoContractDiviner: () => CryptoContractDiviner,
|
|
24
24
|
CryptoContractFunctionReadWitness: () => CryptoContractFunctionReadWitness,
|
|
25
25
|
CryptoContractFunctionReadWitnessPlugin: () => CryptoContractFunctionReadWitnessPlugin,
|
|
26
|
-
default: () =>
|
|
26
|
+
default: () => CryptoContractFunctionReadWitnessPlugin
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(src_exports);
|
|
29
29
|
|
|
30
|
+
// src/Diviner/Diviner.ts
|
|
31
|
+
var import_assert = require("@xylabs/assert");
|
|
32
|
+
var import_abstract_diviner = require("@xyo-network/abstract-diviner");
|
|
33
|
+
var import_crypto_contract_function_read_payload_plugin = require("@xyo-network/crypto-contract-function-read-payload-plugin");
|
|
34
|
+
var import_payload_model = require("@xyo-network/payload-model");
|
|
35
|
+
var CryptoContractDiviner = class _CryptoContractDiviner extends import_abstract_diviner.AbstractDiviner {
|
|
36
|
+
static configSchemas = [import_crypto_contract_function_read_payload_plugin.CryptoContractDivinerConfigSchema];
|
|
37
|
+
static labels = import_crypto_contract_function_read_payload_plugin.CryptoContractDivinerLabels;
|
|
38
|
+
static findCallResult(address, functionName, payloads) {
|
|
39
|
+
const foundPayload = payloads.find((payload) => payload.functionName === functionName && payload.address === address);
|
|
40
|
+
return (0, import_crypto_contract_function_read_payload_plugin.asCryptoContractFunctionCallSuccess)(foundPayload)?.result;
|
|
41
|
+
}
|
|
42
|
+
static matchingExistingField(objs, field) {
|
|
43
|
+
const expectedValue = objs.at(0)?.[field];
|
|
44
|
+
const didNotMatch = objs.reduce((prev, obj) => {
|
|
45
|
+
return prev || obj[field] !== expectedValue;
|
|
46
|
+
}, false);
|
|
47
|
+
return didNotMatch ? void 0 : expectedValue;
|
|
48
|
+
}
|
|
49
|
+
contractInfoRequiredFields(callResults) {
|
|
50
|
+
return {
|
|
51
|
+
address: (0, import_assert.assertEx)(_CryptoContractDiviner.matchingExistingField(callResults, "address"), "Mismatched address"),
|
|
52
|
+
chainId: (0, import_assert.assertEx)(_CryptoContractDiviner.matchingExistingField(callResults, "chainId"), "Mismatched chainId"),
|
|
53
|
+
schema: import_crypto_contract_function_read_payload_plugin.ContractInfoSchema
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async divineHandler(inPayloads = []) {
|
|
57
|
+
const callResults = inPayloads.filter((0, import_payload_model.isPayloadOfSchemaType)(import_crypto_contract_function_read_payload_plugin.CryptoContractFunctionCallResultSchema));
|
|
58
|
+
const addresses = Object.keys(
|
|
59
|
+
// eslint-disable-next-line unicorn/no-array-reduce
|
|
60
|
+
callResults.reduce((prev, result2) => {
|
|
61
|
+
if (result2.address) {
|
|
62
|
+
prev[result2.address] = true;
|
|
63
|
+
}
|
|
64
|
+
return prev;
|
|
65
|
+
}, {})
|
|
66
|
+
);
|
|
67
|
+
const result = await Promise.all(
|
|
68
|
+
addresses.map(async (address) => {
|
|
69
|
+
const foundCallResults = callResults.filter((callResult) => callResult.address === address);
|
|
70
|
+
const info = {
|
|
71
|
+
results: await this.reduceResults(foundCallResults),
|
|
72
|
+
...this.contractInfoRequiredFields(foundCallResults)
|
|
73
|
+
};
|
|
74
|
+
return info;
|
|
75
|
+
})
|
|
76
|
+
);
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
reduceResults(callResults) {
|
|
80
|
+
return callResults.reduce((prev, callResult) => {
|
|
81
|
+
prev[callResult.functionName] = (0, import_crypto_contract_function_read_payload_plugin.asCryptoContractFunctionCallSuccess)(callResult)?.result;
|
|
82
|
+
return prev;
|
|
83
|
+
}, {});
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
30
87
|
// src/Plugin.ts
|
|
31
88
|
var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
|
|
32
|
-
var
|
|
89
|
+
var import_payload_model3 = require("@xyo-network/payload-model");
|
|
33
90
|
var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
|
|
34
91
|
|
|
35
92
|
// src/Witness.ts
|
|
36
|
-
var
|
|
93
|
+
var import_assert2 = require("@xylabs/assert");
|
|
37
94
|
var import_abstract_witness = require("@xyo-network/abstract-witness");
|
|
38
|
-
var
|
|
39
|
-
var
|
|
95
|
+
var import_crypto_contract_function_read_payload_plugin2 = require("@xyo-network/crypto-contract-function-read-payload-plugin");
|
|
96
|
+
var import_payload_model2 = require("@xyo-network/payload-model");
|
|
40
97
|
var import_ethers = require("ethers");
|
|
41
98
|
var CryptoContractFunctionReadWitness = class extends import_abstract_witness.AbstractWitness {
|
|
42
|
-
static configSchemas = [
|
|
99
|
+
static configSchemas = [import_crypto_contract_function_read_payload_plugin2.CryptoContractFunctionReadWitnessConfigSchema];
|
|
43
100
|
get abi() {
|
|
44
|
-
return (0,
|
|
101
|
+
return (0, import_assert2.assertEx)(this.config.abi, "Missing abi");
|
|
45
102
|
}
|
|
46
103
|
async observeHandler(inPayloads = []) {
|
|
47
104
|
await this.started("throw");
|
|
48
105
|
try {
|
|
49
106
|
const observations = await Promise.all(
|
|
50
|
-
inPayloads.filter((0,
|
|
107
|
+
inPayloads.filter((0, import_payload_model2.isPayloadOfSchemaType)(import_crypto_contract_function_read_payload_plugin2.CryptoContractFunctionCallSchema)).map(async ({ functionName, args, address }) => {
|
|
51
108
|
const { providers } = this.params;
|
|
52
109
|
const provider = providers[Date.now() % providers.length];
|
|
53
|
-
const validatedAddress = (0,
|
|
54
|
-
const validatedFunctionName = (0,
|
|
110
|
+
const validatedAddress = (0, import_assert2.assertEx)(address ?? this.config.address, "Missing address");
|
|
111
|
+
const validatedFunctionName = (0, import_assert2.assertEx)(functionName ?? this.config.functionName, "Missing address");
|
|
55
112
|
const mergedArgs = [...args ?? this.config.args ?? []];
|
|
56
113
|
const contract = new import_ethers.Contract(validatedAddress, this.abi, provider);
|
|
57
114
|
try {
|
|
@@ -63,7 +120,7 @@ var CryptoContractFunctionReadWitness = class extends import_abstract_witness.Ab
|
|
|
63
120
|
chainId: Number((await provider.getNetwork()).chainId),
|
|
64
121
|
functionName: validatedFunctionName,
|
|
65
122
|
result: transformedResult,
|
|
66
|
-
schema:
|
|
123
|
+
schema: import_crypto_contract_function_read_payload_plugin2.CryptoContractFunctionCallResultSchema
|
|
67
124
|
};
|
|
68
125
|
return observation;
|
|
69
126
|
} catch (ex) {
|
|
@@ -75,7 +132,7 @@ var CryptoContractFunctionReadWitness = class extends import_abstract_witness.Ab
|
|
|
75
132
|
chainId: Number((await provider.getNetwork()).chainId),
|
|
76
133
|
error: error.code,
|
|
77
134
|
functionName: validatedFunctionName,
|
|
78
|
-
schema:
|
|
135
|
+
schema: import_crypto_contract_function_read_payload_plugin2.CryptoContractFunctionCallResultSchema
|
|
79
136
|
};
|
|
80
137
|
return observation;
|
|
81
138
|
}
|
|
@@ -92,7 +149,7 @@ var CryptoContractFunctionReadWitness = class extends import_abstract_witness.Ab
|
|
|
92
149
|
|
|
93
150
|
// src/Plugin.ts
|
|
94
151
|
var CryptoContractFunctionReadWitnessPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
95
|
-
{ required: { [import_crypto_nft_payload_plugin.NftSchema]: 1 }, schema:
|
|
152
|
+
{ required: { [import_crypto_nft_payload_plugin.NftSchema]: 1 }, schema: import_payload_model3.PayloadSetSchema },
|
|
96
153
|
{
|
|
97
154
|
witness: async (params) => {
|
|
98
155
|
const result = await CryptoContractFunctionReadWitness.create(params);
|
|
@@ -100,63 +157,4 @@ var CryptoContractFunctionReadWitnessPlugin = () => (0, import_payloadset_plugin
|
|
|
100
157
|
}
|
|
101
158
|
}
|
|
102
159
|
);
|
|
103
|
-
|
|
104
|
-
// src/Diviner/Diviner.ts
|
|
105
|
-
var import_assert2 = require("@xylabs/assert");
|
|
106
|
-
var import_abstract_diviner = require("@xyo-network/abstract-diviner");
|
|
107
|
-
var import_crypto_contract_function_read_payload_plugin2 = require("@xyo-network/crypto-contract-function-read-payload-plugin");
|
|
108
|
-
var import_payload_model3 = require("@xyo-network/payload-model");
|
|
109
|
-
var CryptoContractDiviner = class _CryptoContractDiviner extends import_abstract_diviner.AbstractDiviner {
|
|
110
|
-
static configSchemas = [import_crypto_contract_function_read_payload_plugin2.CryptoContractDivinerConfigSchema];
|
|
111
|
-
static labels = import_crypto_contract_function_read_payload_plugin2.CryptoContractDivinerLabels;
|
|
112
|
-
static findCallResult(address, functionName, payloads) {
|
|
113
|
-
const foundPayload = payloads.find((payload) => payload.functionName === functionName && payload.address === address);
|
|
114
|
-
return (0, import_crypto_contract_function_read_payload_plugin2.asCryptoContractFunctionCallSuccess)(foundPayload)?.result;
|
|
115
|
-
}
|
|
116
|
-
static matchingExistingField(objs, field) {
|
|
117
|
-
const expectedValue = objs.at(0)?.[field];
|
|
118
|
-
const didNotMatch = objs.reduce((prev, obj) => {
|
|
119
|
-
return prev || obj[field] !== expectedValue;
|
|
120
|
-
}, false);
|
|
121
|
-
return didNotMatch ? void 0 : expectedValue;
|
|
122
|
-
}
|
|
123
|
-
contractInfoRequiredFields(callResults) {
|
|
124
|
-
return {
|
|
125
|
-
address: (0, import_assert2.assertEx)(_CryptoContractDiviner.matchingExistingField(callResults, "address"), "Mismatched address"),
|
|
126
|
-
chainId: (0, import_assert2.assertEx)(_CryptoContractDiviner.matchingExistingField(callResults, "chainId"), "Mismatched chainId"),
|
|
127
|
-
schema: import_crypto_contract_function_read_payload_plugin2.ContractInfoSchema
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
async divineHandler(inPayloads = []) {
|
|
131
|
-
const callResults = inPayloads.filter((0, import_payload_model3.isPayloadOfSchemaType)(import_crypto_contract_function_read_payload_plugin2.CryptoContractFunctionCallResultSchema));
|
|
132
|
-
const addresses = Object.keys(
|
|
133
|
-
callResults.reduce((prev, result2) => {
|
|
134
|
-
if (result2.address) {
|
|
135
|
-
prev[result2.address] = true;
|
|
136
|
-
}
|
|
137
|
-
return prev;
|
|
138
|
-
}, {})
|
|
139
|
-
);
|
|
140
|
-
const result = await Promise.all(
|
|
141
|
-
addresses.map(async (address) => {
|
|
142
|
-
const foundCallResults = callResults.filter((callResult) => callResult.address === address);
|
|
143
|
-
const info = {
|
|
144
|
-
...{ results: await this.reduceResults(foundCallResults) },
|
|
145
|
-
...this.contractInfoRequiredFields(foundCallResults)
|
|
146
|
-
};
|
|
147
|
-
return info;
|
|
148
|
-
})
|
|
149
|
-
);
|
|
150
|
-
return result;
|
|
151
|
-
}
|
|
152
|
-
reduceResults(callResults) {
|
|
153
|
-
return callResults.reduce((prev, callResult) => {
|
|
154
|
-
prev[callResult.functionName] = (0, import_crypto_contract_function_read_payload_plugin2.asCryptoContractFunctionCallSuccess)(callResult)?.result;
|
|
155
|
-
return prev;
|
|
156
|
-
}, {});
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
// src/index.ts
|
|
161
|
-
var src_default = CryptoContractFunctionReadWitnessPlugin;
|
|
162
160
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Plugin.ts","../../src/Witness.ts","../../src/Diviner/Diviner.ts"],"sourcesContent":["import { CryptoContractFunctionReadWitnessPlugin } from './Plugin'\n\nexport * from './Diviner'\nexport * from './Witness'\n\nexport { CryptoContractFunctionReadWitnessPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default CryptoContractFunctionReadWitnessPlugin\n","import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoContractFunctionReadWitness } from './Witness'\n\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\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 { assertEx } from '@xylabs/assert'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { Contract, Provider } from 'ethers'\n\nexport type CryptoContractFunctionReadWitnessParams = WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>,\n {\n providers: Provider[]\n }\n>\n\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override configSchemas = [CryptoContractFunctionReadWitnessConfigSchema]\n\n get abi() {\n return assertEx(this.config.abi, 'Missing abi')\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(CryptoContractFunctionCallSchema)).map(async ({ functionName, args, address }) => {\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 ?? [])]\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","import { assertEx } from '@xylabs/assert'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfo,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport type FindCallResult<TResult = string, TPayload = Payload> = [TResult, TPayload] | [undefined, TPayload] | [undefined, undefined]\n\nexport class CryptoContractDiviner<TParams extends CryptoContractDivinerParams = CryptoContractDivinerParams> extends AbstractDiviner<TParams> {\n static override configSchemas = [CryptoContractDivinerConfigSchema]\n static labels: CryptoContractDivinerLabels = 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 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 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 return callResults.reduce<Record<string, unknown>>((prev, callResult) => {\n prev[callResult.functionName] = asCryptoContractFunctionCallSuccess(callResult)?.result\n return prev\n }, {})\n }\n}\n"],"mappings":"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","names":["import_payload_model","import_assert","import_crypto_contract_function_read_payload_plugin","import_payload_model","result"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Diviner/Diviner.ts","../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["export * from './Diviner'\nexport { CryptoContractFunctionReadWitnessPlugin, CryptoContractFunctionReadWitnessPlugin as default } from './Plugin'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport {\n asCryptoContractFunctionCallSuccess,\n ContractInfo,\n ContractInfoSchema,\n CryptoContractDivinerConfigSchema,\n CryptoContractDivinerLabels,\n CryptoContractDivinerParams,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallResultSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport { isPayloadOfSchemaType, Payload } 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 configSchemas = [CryptoContractDivinerConfigSchema]\n static labels: CryptoContractDivinerLabels = 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 import/no-deprecated */\nimport { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoContractFunctionReadWitness } from './Witness'\n\n/** @deprecated use EvmCallWitness instead */\nexport const CryptoContractFunctionReadWitnessPlugin = () =>\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 { assertEx } from '@xylabs/assert'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport {\n CryptoContractFunctionCall,\n CryptoContractFunctionCallFailure,\n CryptoContractFunctionCallResult,\n CryptoContractFunctionCallResultSchema,\n CryptoContractFunctionCallSchema,\n CryptoContractFunctionCallSuccess,\n CryptoContractFunctionReadWitnessConfig,\n CryptoContractFunctionReadWitnessConfigSchema,\n} from '@xyo-network/crypto-contract-function-read-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { Contract, Provider } from 'ethers'\n\n/** @deprecated use EvmCallWitness instead */\nexport type CryptoContractFunctionReadWitnessParams = WitnessParams<\n AnyConfigSchema<CryptoContractFunctionReadWitnessConfig>,\n {\n providers: Provider[]\n }\n>\n\n/** @deprecated use EvmCallWitness instead */\nexport class CryptoContractFunctionReadWitness<\n TParams extends CryptoContractFunctionReadWitnessParams = CryptoContractFunctionReadWitnessParams,\n> extends AbstractWitness<TParams, CryptoContractFunctionCall, CryptoContractFunctionCallResult> {\n static override configSchemas = [CryptoContractFunctionReadWitnessConfigSchema]\n\n get abi() {\n return assertEx(this.config.abi, 'Missing abi')\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(CryptoContractFunctionCallSchema)).map(async ({ functionName, args, address }) => {\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 ?? [])]\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","import_payload_model","import_assert","import_crypto_contract_function_read_payload_plugin","import_payload_model"]}
|
package/dist/browser/index.d.cts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { CryptoContractFunctionReadWitnessPlugin } from './Plugin';
|
|
2
1
|
export * from './Diviner';
|
|
2
|
+
export { CryptoContractFunctionReadWitnessPlugin, CryptoContractFunctionReadWitnessPlugin as default } from './Plugin';
|
|
3
3
|
export * from './Witness';
|
|
4
|
-
export { CryptoContractFunctionReadWitnessPlugin };
|
|
5
|
-
export default CryptoContractFunctionReadWitnessPlugin;
|
|
6
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,uCAAuC,EAAE,uCAAuC,IAAI,OAAO,EAAE,MAAM,UAAU,CAAA;AACtH,cAAc,WAAW,CAAA"}
|
package/dist/browser/index.d.mts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { CryptoContractFunctionReadWitnessPlugin } from './Plugin';
|
|
2
1
|
export * from './Diviner';
|
|
2
|
+
export { CryptoContractFunctionReadWitnessPlugin, CryptoContractFunctionReadWitnessPlugin as default } from './Plugin';
|
|
3
3
|
export * from './Witness';
|
|
4
|
-
export { CryptoContractFunctionReadWitnessPlugin };
|
|
5
|
-
export default CryptoContractFunctionReadWitnessPlugin;
|
|
6
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,uCAAuC,EAAE,uCAAuC,IAAI,OAAO,EAAE,MAAM,UAAU,CAAA;AACtH,cAAc,WAAW,CAAA"}
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { CryptoContractFunctionReadWitnessPlugin } from './Plugin';
|
|
2
1
|
export * from './Diviner';
|
|
2
|
+
export { CryptoContractFunctionReadWitnessPlugin, CryptoContractFunctionReadWitnessPlugin as default } from './Plugin';
|
|
3
3
|
export * from './Witness';
|
|
4
|
-
export { CryptoContractFunctionReadWitnessPlugin };
|
|
5
|
-
export default CryptoContractFunctionReadWitnessPlugin;
|
|
6
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,uCAAuC,EAAE,uCAAuC,IAAI,OAAO,EAAE,MAAM,UAAU,CAAA;AACtH,cAAc,WAAW,CAAA"}
|