@xyo-network/evm-events-witness 5.2.3 → 5.3.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/neutral/Payload.d.ts +7 -3
- package/dist/neutral/Payload.d.ts.map +1 -1
- package/dist/neutral/index.mjs +5 -3
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/model.d.ts +3 -1
- package/dist/neutral/model.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/Payload.ts +3 -3
- package/src/model.ts +2 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare const EvmEventsSchema
|
|
1
|
+
import { type Payload } from '@xyo-network/payload-model';
|
|
2
|
+
export declare const EvmEventsSchema: "network.xyo.evm.events" & {
|
|
3
|
+
readonly __schema: true;
|
|
4
|
+
};
|
|
3
5
|
export type EvmEventsSchema = typeof EvmEventsSchema;
|
|
4
6
|
export type EvmEvents = Payload<{
|
|
5
7
|
address?: string;
|
|
@@ -7,7 +9,9 @@ export type EvmEvents = Payload<{
|
|
|
7
9
|
fromBlock?: number;
|
|
8
10
|
toBlock?: number;
|
|
9
11
|
}, EvmEventsSchema>;
|
|
10
|
-
export declare const EvmEventSchema
|
|
12
|
+
export declare const EvmEventSchema: "network.xyo.evm.event" & {
|
|
13
|
+
readonly __schema: true;
|
|
14
|
+
};
|
|
11
15
|
export type EvmEventSchema = typeof EvmEventSchema;
|
|
12
16
|
export type EvmEvent = Payload<{
|
|
13
17
|
address: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEnE,eAAO,MAAM,eAAe;;CAA2C,CAAA;AACvE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAA;AAEpD,MAAM,MAAM,SAAS,GAAG,OAAO,CAC7B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,EACD,eAAe,CAChB,CAAA;AAED,eAAO,MAAM,cAAc;;CAA0C,CAAA;AACrE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAA;AAElD,MAAM,MAAM,QAAQ,GAAG,OAAO,CAC5B;IACE,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,EACD,cAAc,CACf,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// src/model.ts
|
|
2
|
-
|
|
2
|
+
import { asSchema } from "@xyo-network/payload-model";
|
|
3
|
+
var EvmEventsWitnessConfigSchema = asSchema("network.xyo.evm.events.witness.config", true);
|
|
3
4
|
|
|
4
5
|
// src/Payload.ts
|
|
5
|
-
|
|
6
|
-
var
|
|
6
|
+
import { asSchema as asSchema2 } from "@xyo-network/payload-model";
|
|
7
|
+
var EvmEventsSchema = asSchema2("network.xyo.evm.events", true);
|
|
8
|
+
var EvmEventSchema = asSchema2("network.xyo.evm.event", true);
|
|
7
9
|
|
|
8
10
|
// src/Witness.ts
|
|
9
11
|
import { assertEx } from "@xylabs/assert";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/model.ts","../../src/Payload.ts","../../src/Witness.ts"],"sourcesContent":["import type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'\nimport type { Fragment, JsonFragment } from 'ethers'\n\nexport type InterfaceAbi = string | ReadonlyArray<Fragment | JsonFragment | string>\n\nexport const EvmEventsWitnessConfigSchema = 'network.xyo.evm.events.witness.config'\nexport type EvmEventsWitnessConfigSchema = typeof EvmEventsWitnessConfigSchema\n\nexport type EvmEventsWitnessConfig = EvmWitnessConfig<\n {\n abi?: InterfaceAbi\n address?: string\n eventName?: string\n fromBlock?: number\n toBlock?: number\n },\n EvmEventsWitnessConfigSchema\n>\n\nexport type EvmEventsWitnessParams = EvmWitnessParams<EvmEventsWitnessConfig>\n","import type
|
|
1
|
+
{"version":3,"sources":["../../src/model.ts","../../src/Payload.ts","../../src/Witness.ts"],"sourcesContent":["import { asSchema } from '@xyo-network/payload-model'\nimport type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'\nimport type { Fragment, JsonFragment } from 'ethers'\n\nexport type InterfaceAbi = string | ReadonlyArray<Fragment | JsonFragment | string>\n\nexport const EvmEventsWitnessConfigSchema = asSchema('network.xyo.evm.events.witness.config', true)\nexport type EvmEventsWitnessConfigSchema = typeof EvmEventsWitnessConfigSchema\n\nexport type EvmEventsWitnessConfig = EvmWitnessConfig<\n {\n abi?: InterfaceAbi\n address?: string\n eventName?: string\n fromBlock?: number\n toBlock?: number\n },\n EvmEventsWitnessConfigSchema\n>\n\nexport type EvmEventsWitnessParams = EvmWitnessParams<EvmEventsWitnessConfig>\n","import { asSchema, type Payload } from '@xyo-network/payload-model'\n\nexport const EvmEventsSchema = asSchema('network.xyo.evm.events', true)\nexport type EvmEventsSchema = typeof EvmEventsSchema\n\nexport type EvmEvents = Payload<\n {\n address?: string\n eventName?: string\n fromBlock?: number\n toBlock?: number\n },\n EvmEventsSchema\n>\n\nexport const EvmEventSchema = asSchema('network.xyo.evm.event', true)\nexport type EvmEventSchema = typeof EvmEventSchema\n\nexport type EvmEvent = Payload<\n {\n address: string\n args: Record<string, unknown>\n block: number\n chainId: number\n eventName: string\n },\n EvmEventSchema\n>\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromBigInt } from '@xylabs/hex'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { AbstractEvmWitness } from '@xyo-network/witness-evm-abstract'\nimport type { EventLog, InterfaceAbi } from 'ethers'\nimport { Contract } from 'ethers'\n\nimport type { EvmEventsWitnessParams } from './model.ts'\nimport { EvmEventsWitnessConfigSchema } from './model.ts'\nimport type { EvmEvent, EvmEvents } from './Payload.ts'\nimport { EvmEventSchema, EvmEventsSchema } from './Payload.ts'\n\nexport class EvmEventsWitness<TParams extends EvmEventsWitnessParams = EvmEventsWitnessParams> extends AbstractEvmWitness<\n TParams,\n EvmEvents,\n EvmEvent\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, EvmEventsWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = EvmEventsWitnessConfigSchema\n\n get abi(): InterfaceAbi {\n return assertEx(this.config.abi, () => 'Missing abi') as InterfaceAbi\n }\n\n protected override async observeHandler(inPayloads: EvmEvents[] = []): Promise<EvmEvent[]> {\n await this.started('throw')\n // calling it here to make sure we rests the cache\n await this.getProviders()\n try {\n const observations = (\n await Promise.all(\n inPayloads\n .filter(isPayloadOfSchemaType<EvmEvents>(EvmEventsSchema))\n .map(async ({\n eventName, address, fromBlock: payloadFromBlock, toBlock: payloadToBlock,\n }) => {\n const validatedAddress = assertEx(address ?? this.config.address, () => 'Missing address')\n const validatedEventName = assertEx(eventName ?? this.config.eventName, () => 'Missing eventName')\n\n const provider = await this.getProvider(true, true)\n const network = await provider.getNetwork()\n\n const contract = new Contract(validatedAddress, this.abi, provider).attach(validatedAddress)\n\n const abiArray = assertEx(Array.isArray(this.abi) ? this.abi : undefined, () => 'Abi is not an array')\n\n const abiEvent = assertEx(\n abiArray.find(entry => entry.type === 'event' && entry.name === validatedEventName),\n () => 'Could not find event',\n )\n\n const toBlock = this.config.toBlock ?? payloadToBlock ?? (await provider.getBlockNumber())\n const fromBlock = this.config.fromBlock ?? payloadFromBlock ?? 0\n\n const allRawEvents = await contract.queryFilter(contract.filters[validatedEventName], fromBlock, toBlock)\n // console.log(`from-to: ${fromBlock}|${toBlock} = ${allRawEvents.length}`)\n\n const observation = allRawEvents\n .map((rawLog) => {\n const rawEvent = rawLog as EventLog\n if (rawEvent.args) {\n const argsObject: Record<string, unknown> = {}\n\n abiEvent.inputs.map((input: { name: string }, index: number) => {\n const value = rawEvent.args[index]\n argsObject[input.name] = typeof value === 'bigint' ? hexFromBigInt(value) : value\n })\n\n const eventResult: EvmEvent = {\n address: rawEvent.address,\n args: argsObject,\n block: rawEvent.blockNumber,\n chainId: Number(network.chainId),\n eventName: validatedEventName,\n schema: EvmEventSchema,\n }\n return eventResult\n }\n })\n .filter(exists)\n\n return observation\n }),\n )\n ).flat()\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":";AAAA,SAAS,gBAAgB;AAMlB,IAAM,+BAA+B,SAAS,yCAAyC,IAAI;;;ACNlG,SAAS,YAAAA,iBAA8B;AAEhC,IAAM,kBAAkBA,UAAS,0BAA0B,IAAI;AAa/D,IAAM,iBAAiBA,UAAS,yBAAyB,IAAI;;;ACfpE,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAE9B,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AAEnC,SAAS,gBAAgB;AAOlB,IAAM,mBAAN,cAAgG,mBAIrG;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,MAAoB;AACtB,WAAO,SAAS,KAAK,OAAO,KAAK,MAAM,aAAa;AAAA,EACtD;AAAA,EAEA,MAAyB,eAAe,aAA0B,CAAC,GAAwB;AACzF,UAAM,KAAK,QAAQ,OAAO;AAE1B,UAAM,KAAK,aAAa;AACxB,QAAI;AACF,YAAM,gBACJ,MAAM,QAAQ;AAAA,QACZ,WACG,OAAO,sBAAiC,eAAe,CAAC,EACxD,IAAI,OAAO;AAAA,UACV;AAAA,UAAW;AAAA,UAAS,WAAW;AAAA,UAAkB,SAAS;AAAA,QAC5D,MAAM;AACJ,gBAAM,mBAAmB,SAAS,WAAW,KAAK,OAAO,SAAS,MAAM,iBAAiB;AACzF,gBAAM,qBAAqB,SAAS,aAAa,KAAK,OAAO,WAAW,MAAM,mBAAmB;AAEjG,gBAAM,WAAW,MAAM,KAAK,YAAY,MAAM,IAAI;AAClD,gBAAM,UAAU,MAAM,SAAS,WAAW;AAE1C,gBAAM,WAAW,IAAI,SAAS,kBAAkB,KAAK,KAAK,QAAQ,EAAE,OAAO,gBAAgB;AAE3F,gBAAM,WAAW,SAAS,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,MAAM,QAAW,MAAM,qBAAqB;AAErG,gBAAM,WAAW;AAAA,YACf,SAAS,KAAK,WAAS,MAAM,SAAS,WAAW,MAAM,SAAS,kBAAkB;AAAA,YAClF,MAAM;AAAA,UACR;AAEA,gBAAM,UAAU,KAAK,OAAO,WAAW,kBAAmB,MAAM,SAAS,eAAe;AACxF,gBAAM,YAAY,KAAK,OAAO,aAAa,oBAAoB;AAE/D,gBAAM,eAAe,MAAM,SAAS,YAAY,SAAS,QAAQ,kBAAkB,GAAG,WAAW,OAAO;AAGxG,gBAAM,cAAc,aACjB,IAAI,CAAC,WAAW;AACf,kBAAM,WAAW;AACjB,gBAAI,SAAS,MAAM;AACjB,oBAAM,aAAsC,CAAC;AAE7C,uBAAS,OAAO,IAAI,CAAC,OAAyB,UAAkB;AAC9D,sBAAM,QAAQ,SAAS,KAAK,KAAK;AACjC,2BAAW,MAAM,IAAI,IAAI,OAAO,UAAU,WAAW,cAAc,KAAK,IAAI;AAAA,cAC9E,CAAC;AAED,oBAAM,cAAwB;AAAA,gBAC5B,SAAS,SAAS;AAAA,gBAClB,MAAM;AAAA,gBACN,OAAO,SAAS;AAAA,gBAChB,SAAS,OAAO,QAAQ,OAAO;AAAA,gBAC/B,WAAW;AAAA,gBACX,QAAQ;AAAA,cACV;AACA,qBAAO;AAAA,YACT;AAAA,UACF,CAAC,EACA,OAAO,MAAM;AAEhB,iBAAO;AAAA,QACT,CAAC;AAAA,MACL,GACA,KAAK;AACP,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;","names":["asSchema"]}
|
package/dist/neutral/model.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract';
|
|
2
2
|
import type { Fragment, JsonFragment } from 'ethers';
|
|
3
3
|
export type InterfaceAbi = string | ReadonlyArray<Fragment | JsonFragment | string>;
|
|
4
|
-
export declare const EvmEventsWitnessConfigSchema
|
|
4
|
+
export declare const EvmEventsWitnessConfigSchema: "network.xyo.evm.events.witness.config" & {
|
|
5
|
+
readonly __schema: true;
|
|
6
|
+
};
|
|
5
7
|
export type EvmEventsWitnessConfigSchema = typeof EvmEventsWitnessConfigSchema;
|
|
6
8
|
export type EvmEventsWitnessConfig = EvmWitnessConfig<{
|
|
7
9
|
abi?: InterfaceAbi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC,CAAA;AAEnF,eAAO,MAAM,4BAA4B;;CAA0D,CAAA;AACnG,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAE9E,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CACnD;IACE,GAAG,CAAC,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,EACD,4BAA4B,CAC7B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/evm-events-witness",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.1",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -36,22 +36,22 @@
|
|
|
36
36
|
"!**/*.test.*"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@xylabs/assert": "~5.0.
|
|
40
|
-
"@xylabs/exists": "~5.0.
|
|
41
|
-
"@xylabs/hex": "~5.0.
|
|
42
|
-
"@xyo-network/payload-model": "~5.2
|
|
43
|
-
"@xyo-network/witness-evm-abstract": "~5.2
|
|
44
|
-
"ethers": "
|
|
39
|
+
"@xylabs/assert": "~5.0.64",
|
|
40
|
+
"@xylabs/exists": "~5.0.64",
|
|
41
|
+
"@xylabs/hex": "~5.0.64",
|
|
42
|
+
"@xyo-network/payload-model": "~5.3.2",
|
|
43
|
+
"@xyo-network/witness-evm-abstract": "~5.3.2",
|
|
44
|
+
"ethers": "^6.16.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@xylabs/ts-scripts-yarn3": "~7.2
|
|
48
|
-
"@xylabs/tsconfig": "~7.2
|
|
49
|
-
"@xylabs/vitest-extended": "~5.0.
|
|
50
|
-
"@xyo-network/open-zeppelin-typechain": "~4.
|
|
47
|
+
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
48
|
+
"@xylabs/tsconfig": "~7.3.2",
|
|
49
|
+
"@xylabs/vitest-extended": "~5.0.64",
|
|
50
|
+
"@xyo-network/open-zeppelin-typechain": "~4.1.1",
|
|
51
51
|
"typescript": "~5.9.3",
|
|
52
|
-
"vitest": "~4.0.
|
|
52
|
+
"vitest": "~4.0.18"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
}
|
|
57
|
-
}
|
|
57
|
+
}
|
package/src/Payload.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { asSchema, type Payload } from '@xyo-network/payload-model'
|
|
2
2
|
|
|
3
|
-
export const EvmEventsSchema = 'network.xyo.evm.events'
|
|
3
|
+
export const EvmEventsSchema = asSchema('network.xyo.evm.events', true)
|
|
4
4
|
export type EvmEventsSchema = typeof EvmEventsSchema
|
|
5
5
|
|
|
6
6
|
export type EvmEvents = Payload<
|
|
@@ -13,7 +13,7 @@ export type EvmEvents = Payload<
|
|
|
13
13
|
EvmEventsSchema
|
|
14
14
|
>
|
|
15
15
|
|
|
16
|
-
export const EvmEventSchema = 'network.xyo.evm.event'
|
|
16
|
+
export const EvmEventSchema = asSchema('network.xyo.evm.event', true)
|
|
17
17
|
export type EvmEventSchema = typeof EvmEventSchema
|
|
18
18
|
|
|
19
19
|
export type EvmEvent = Payload<
|
package/src/model.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { asSchema } from '@xyo-network/payload-model'
|
|
1
2
|
import type { EvmWitnessConfig, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'
|
|
2
3
|
import type { Fragment, JsonFragment } from 'ethers'
|
|
3
4
|
|
|
4
5
|
export type InterfaceAbi = string | ReadonlyArray<Fragment | JsonFragment | string>
|
|
5
6
|
|
|
6
|
-
export const EvmEventsWitnessConfigSchema = 'network.xyo.evm.events.witness.config'
|
|
7
|
+
export const EvmEventsWitnessConfigSchema = asSchema('network.xyo.evm.events.witness.config', true)
|
|
7
8
|
export type EvmEventsWitnessConfigSchema = typeof EvmEventsWitnessConfigSchema
|
|
8
9
|
|
|
9
10
|
export type EvmEventsWitnessConfig = EvmWitnessConfig<
|