@xyo-network/evm-contract-witness 3.2.3 → 3.2.5
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.
|
@@ -10,7 +10,7 @@ export type EvmContract = Payload<{
|
|
|
10
10
|
/**
|
|
11
11
|
* Identity function for EVM contract payload
|
|
12
12
|
*/
|
|
13
|
-
export declare const isEvmContract: (x?: unknown | null) => x is import(".store/@xylabs-object-npm-4.4.
|
|
13
|
+
export declare const isEvmContract: (x?: unknown | null) => x is import(".store/@xylabs-object-npm-4.4.32-4f08c8ca72/package").DeepRestrictToStringKeys<{
|
|
14
14
|
schema: "network.xyo.evm.contract";
|
|
15
15
|
address: string;
|
|
16
16
|
block: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Payload.ts","../../src/Witness.ts"],"sourcesContent":["import type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const EvmContractSchema = 'network.xyo.evm.contract'\nexport type EvmContractSchema = typeof EvmContractSchema\n\nexport type EvmContract = Payload<\n {\n address: string\n block: number\n chainId: number\n code?: string\n },\n EvmContractSchema\n>\n\n/**\n * Identity function for EVM contract payload\n */\nexport const isEvmContract = isPayloadOfSchemaType<EvmContract>(EvmContractSchema)\n","import { assertEx } from '@xylabs/assert'\nimport { creatableModule } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType, Schema } from '@xyo-network/payload-model'\nimport {\n AbstractEvmWitness, EvmAddress, EvmAddressSchema, EvmWitnessConfig, EvmWitnessParams,\n} from '@xyo-network/witness-evm-abstract'\n\nimport { EvmContract, EvmContractSchema } from './Payload.ts'\n\nexport const EvmContractWitnessConfigSchema = 'network.xyo.evm.contract.witness.config'\nexport type EvmContractWitnessConfigSchema = typeof EvmContractWitnessConfigSchema\n\nexport type EvmContractWitnessConfig = EvmWitnessConfig<{ address?: string }, string>\n\nexport type EvmContractWitnessParams = EvmWitnessParams<EvmContractWitnessConfig>\n\n@creatableModule<EvmContractWitness>()\nexport class EvmContractWitness<TParams extends EvmContractWitnessParams = EvmContractWitnessParams> extends AbstractEvmWitness<\n TParams,\n EvmAddress,\n EvmContract\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmContractWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmContractWitnessConfigSchema\n\n protected override async observeHandler(inPayloads: EvmAddress[] = []): Promise<EvmContract[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(EvmAddressSchema)).map(async ({ address }) => {\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n\n const provider = await this.getProvider(true, true)\n\n const block = await provider.getBlockNumber()\n const code = await provider.getCode(validatedAddress, block)\n\n const observation: EvmContract = {\n address: validatedAddress,\n block,\n chainId: Number((await provider.getNetwork()).chainId),\n code,\n schema: EvmContractSchema,\n }\n return observation\n }),\n )\n return observations\n } catch (ex) {\n const error = ex as Error\n console.log(`Error [${this.config.name}]: ${error.message}`)\n throw error\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AACA,SAAS,6BAA6B;AAE/B,IAAM,oBAAoB;AAgB1B,IAAM,gBAAgB,sBAAmC,iBAAiB;;;ACnBjF,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,yBAAAA,8BAAqC;AAC9C;AAAA,EACE;AAAA,EAAgC;AAAA,OAC3B;AAIA,IAAM,iCAAiC;AAQvC,IAAM,qBAAN,cAAsG,mBAI3G;AAAA,EAIA,MAAyB,eAAe,aAA2B,CAAC,GAA2B;AAC7F,UAAM,KAAK,QAAQ,OAAO;AAC1B,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ;AAAA,QACjC,WAAW,OAAOC,
|
|
1
|
+
{"version":3,"sources":["../../src/Payload.ts","../../src/Witness.ts"],"sourcesContent":["import type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const EvmContractSchema = 'network.xyo.evm.contract'\nexport type EvmContractSchema = typeof EvmContractSchema\n\nexport type EvmContract = Payload<\n {\n address: string\n block: number\n chainId: number\n code?: string\n },\n EvmContractSchema\n>\n\n/**\n * Identity function for EVM contract payload\n */\nexport const isEvmContract = isPayloadOfSchemaType<EvmContract>(EvmContractSchema)\n","import { assertEx } from '@xylabs/assert'\nimport { creatableModule } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType, Schema } from '@xyo-network/payload-model'\nimport {\n AbstractEvmWitness, EvmAddress, EvmAddressSchema, EvmWitnessConfig, EvmWitnessParams,\n} from '@xyo-network/witness-evm-abstract'\n\nimport { EvmContract, EvmContractSchema } from './Payload.ts'\n\nexport const EvmContractWitnessConfigSchema = 'network.xyo.evm.contract.witness.config'\nexport type EvmContractWitnessConfigSchema = typeof EvmContractWitnessConfigSchema\n\nexport type EvmContractWitnessConfig = EvmWitnessConfig<{ address?: string }, string>\n\nexport type EvmContractWitnessParams = EvmWitnessParams<EvmContractWitnessConfig>\n\n@creatableModule<EvmContractWitness>()\nexport class EvmContractWitness<TParams extends EvmContractWitnessParams = EvmContractWitnessParams> extends AbstractEvmWitness<\n TParams,\n EvmAddress,\n EvmContract\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmContractWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmContractWitnessConfigSchema\n\n protected override async observeHandler(inPayloads: EvmAddress[] = []): Promise<EvmContract[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<EvmAddress>(EvmAddressSchema)).map(async ({ address }) => {\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n\n const provider = await this.getProvider(true, true)\n\n const block = await provider.getBlockNumber()\n const code = await provider.getCode(validatedAddress, block)\n\n const observation: EvmContract = {\n address: validatedAddress,\n block,\n chainId: Number((await provider.getNetwork()).chainId),\n code,\n schema: EvmContractSchema,\n }\n return observation\n }),\n )\n return observations\n } catch (ex) {\n const error = ex as Error\n console.log(`Error [${this.config.name}]: ${error.message}`)\n throw error\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AACA,SAAS,6BAA6B;AAE/B,IAAM,oBAAoB;AAgB1B,IAAM,gBAAgB,sBAAmC,iBAAiB;;;ACnBjF,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,yBAAAA,8BAAqC;AAC9C;AAAA,EACE;AAAA,EAAgC;AAAA,OAC3B;AAIA,IAAM,iCAAiC;AAQvC,IAAM,qBAAN,cAAsG,mBAI3G;AAAA,EAIA,MAAyB,eAAe,aAA2B,CAAC,GAA2B;AAC7F,UAAM,KAAK,QAAQ,OAAO;AAC1B,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ;AAAA,QACjC,WAAW,OAAOC,uBAAkC,gBAAgB,CAAC,EAAE,IAAI,OAAO,EAAE,QAAQ,MAAM;AAChG,gBAAM,mBAAmB,SAAS,WAAW,KAAK,OAAO,SAAS,MAAM,iBAAiB;AAEzF,gBAAM,WAAW,MAAM,KAAK,YAAY,MAAM,IAAI;AAElD,gBAAM,QAAQ,MAAM,SAAS,eAAe;AAC5C,gBAAM,OAAO,MAAM,SAAS,QAAQ,kBAAkB,KAAK;AAE3D,gBAAM,cAA2B;AAAA,YAC/B,SAAS;AAAA,YACT;AAAA,YACA,SAAS,QAAQ,MAAM,SAAS,WAAW,GAAG,OAAO;AAAA,YACrD;AAAA,YACA,QAAQ;AAAA,UACV;AACA,iBAAO;AAAA,QACT,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;AAhCE,cALW,oBAKc,iBAA0B,CAAC,GAAG,mDAAM,kBAAe,8BAA8B;AAC1G,cANW,oBAMc,uBAA8B;AAN5C,qBAAN;AAAA,EADN,gBAAoC;AAAA,GACxB;","names":["isPayloadOfSchemaType","isPayloadOfSchemaType"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/evm-contract-witness",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.5",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
"module": "dist/neutral/index.mjs",
|
|
30
30
|
"types": "dist/neutral/index.d.ts",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@xylabs/assert": "^4.4.
|
|
33
|
-
"@xyo-network/module-model": "^3.6.
|
|
34
|
-
"@xyo-network/payload-model": "^3.6.
|
|
35
|
-
"@xyo-network/witness-evm-abstract": "^3.6.
|
|
32
|
+
"@xylabs/assert": "^4.4.32",
|
|
33
|
+
"@xyo-network/module-model": "^3.6.6",
|
|
34
|
+
"@xyo-network/payload-model": "^3.6.6",
|
|
35
|
+
"@xyo-network/witness-evm-abstract": "^3.6.6"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@xylabs/ts-scripts-yarn3": "^4.2.6",
|
|
39
39
|
"@xylabs/tsconfig": "^4.2.6",
|
|
40
|
-
"@xylabs/vitest-extended": "^4.4.
|
|
40
|
+
"@xylabs/vitest-extended": "^4.4.32",
|
|
41
41
|
"ethers": "^6.13.4",
|
|
42
42
|
"typescript": "^5.7.2",
|
|
43
43
|
"vitest": "^2.1.8"
|
package/src/Witness.ts
CHANGED
|
@@ -27,7 +27,7 @@ export class EvmContractWitness<TParams extends EvmContractWitnessParams = EvmCo
|
|
|
27
27
|
await this.started('throw')
|
|
28
28
|
try {
|
|
29
29
|
const observations = await Promise.all(
|
|
30
|
-
inPayloads.filter(isPayloadOfSchemaType(EvmAddressSchema)).map(async ({ address }) => {
|
|
30
|
+
inPayloads.filter(isPayloadOfSchemaType<EvmAddress>(EvmAddressSchema)).map(async ({ address }) => {
|
|
31
31
|
const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')
|
|
32
32
|
|
|
33
33
|
const provider = await this.getProvider(true, true)
|