@xyo-network/evm-abi-diviner 5.1.2 → 5.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/evm-abi-diviner",
3
- "version": "5.1.2",
3
+ "version": "5.1.4",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -30,23 +30,26 @@
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "files": [
32
32
  "dist",
33
- "src"
33
+ "src",
34
+ "!**/*.bench.*",
35
+ "!**/*.spec.*",
36
+ "!**/*.test.*"
34
37
  ],
35
38
  "dependencies": {
36
- "@xylabs/assert": "~5.0.11",
37
- "@xyo-network/diviner-abstract": "~5.1.2",
38
- "@xyo-network/diviner-model": "~5.1.2",
39
- "@xyo-network/evm-contract-witness": "~5.1.2",
40
- "@xyo-network/module-model": "~5.1.2",
41
- "@xyo-network/payload-model": "~5.1.2",
39
+ "@xylabs/assert": "~5.0.33",
40
+ "@xyo-network/diviner-abstract": "~5.1.23",
41
+ "@xyo-network/diviner-model": "~5.1.23",
42
+ "@xyo-network/evm-contract-witness": "~5.1.4",
43
+ "@xyo-network/module-model": "~5.1.23",
44
+ "@xyo-network/payload-model": "~5.1.23",
42
45
  "ethers": "~6.15.0"
43
46
  },
44
47
  "devDependencies": {
45
- "@xylabs/ts-scripts-yarn3": "~7.1.7",
46
- "@xylabs/tsconfig": "~7.1.7",
47
- "@xylabs/vitest-extended": "~5.0.11",
48
- "@xyo-network/open-zeppelin-typechain": "~4.0.8",
49
- "@xyo-network/witness-evm-abstract": "~5.1.2",
48
+ "@xylabs/ts-scripts-yarn3": "~7.2.8",
49
+ "@xylabs/tsconfig": "~7.2.8",
50
+ "@xylabs/vitest-extended": "~5.0.33",
51
+ "@xyo-network/open-zeppelin-typechain": "~4.0.10",
52
+ "@xyo-network/witness-evm-abstract": "~5.1.23",
50
53
  "typescript": "~5.9.2",
51
54
  "vitest": "~3.2.4"
52
55
  },
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,88 +0,0 @@
1
- import '@xylabs/vitest-extended'
2
-
3
- import {
4
- EvmContractSchema, EvmContractWitness, EvmContractWitnessConfigSchema,
5
- } from '@xyo-network/evm-contract-witness'
6
- import {
7
- ERC20__factory,
8
- ERC721__factory,
9
- ERC721Burnable__factory,
10
- ERC721Enumerable__factory,
11
- ERC721Pausable__factory,
12
- ERC1155__factory,
13
- ERC1155Holder__factory,
14
- ERC1155Pausable__factory,
15
- IERC721Metadata__factory,
16
- } from '@xyo-network/open-zeppelin-typechain'
17
- import { EvmAddressSchema, getProvidersFromEnv } from '@xyo-network/witness-evm-abstract'
18
- import {
19
- describe, expect,
20
- it,
21
- } from 'vitest'
22
-
23
- import { EvmAbiImplementedDiviner, EvmAbiImplementedDivinerConfigSchema } from '../Diviner.ts'
24
-
25
- describe.skipIf(!process.env.INFURA_PROJECT_ID)('EvmAbiImplementedDiviner', () => {
26
- const name = ERC1155__factory.abi[11].name
27
- console.log(name)
28
- const cases = [
29
- ['0x55296f69f40ea6d20e478533c15a6b08b654e758', ERC20__factory.abi], // XYO ERC20
30
- ['0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', [...ERC721__factory.abi, ...IERC721Metadata__factory.abi, ...ERC721Enumerable__factory.abi]], // BAYC
31
- [
32
- '0xBd3531dA5CF5857e7CfAA92426877b022e612cf8',
33
- [
34
- ...ERC721__factory.abi,
35
- ...IERC721Metadata__factory.abi,
36
- ...ERC721Enumerable__factory.abi,
37
- ...ERC721Burnable__factory.abi,
38
- ...ERC721Pausable__factory.abi,
39
- ],
40
- ], // PPG
41
- ['0xEdB61f74B0d09B2558F1eeb79B247c1F363Ae452', ERC1155__factory.abi], // Gutter Cat Gang
42
- ['0x2A6d6a082C410a195157EC4caf67CB9fD718f087', ERC1155__factory.abi], // Spider Tanks
43
- ['0x2A6d6a082C410a195157EC4caf67CB9fD718f087', [...ERC1155Holder__factory.abi, ...ERC1155Pausable__factory.abi]], // Spider Tanks
44
- ['0x7dEB7Bce4d360Ebe68278dee6054b882aa62D19c', ERC1155__factory.abi], // Inhabitants: United Planets
45
- ] as const
46
- describe('divine', () => {
47
- describe('with matching ABI', () => {
48
- it.each(cases)('returns implemented true', async (address, abi) => {
49
- const witness = await EvmContractWitness.create({
50
- account: 'random',
51
- config: { schema: EvmContractWitnessConfigSchema },
52
- providers: getProvidersFromEnv,
53
- })
54
- const diviner = await EvmAbiImplementedDiviner.create({
55
- account: 'random',
56
- config: { abi, schema: EvmAbiImplementedDivinerConfigSchema },
57
- })
58
- const observations = await witness.observe([{ address, schema: EvmAddressSchema }])
59
- expect(observations?.length).toBeGreaterThan(0)
60
- const code = observations?.[0].code
61
- const results = await diviner.divine([{
62
- address, block: 0, chainId: 1, code, schema: EvmContractSchema,
63
- }])
64
- expect(results?.length).toBeGreaterThan(0)
65
- for (const result of results ?? []) {
66
- expect(result.address).toBe(address)
67
- expect(result.implemented).toBeTrue()
68
- }
69
- })
70
- })
71
- describe('without matching ABI', () => {
72
- it.each(cases)('returns implemented false', async (address, abi) => {
73
- const diviner = await EvmAbiImplementedDiviner.create({
74
- account: 'random',
75
- config: { abi, schema: EvmAbiImplementedDivinerConfigSchema },
76
- })
77
- const results = await diviner.divine([{
78
- address, block: 0, chainId: 1, code: '0x00', schema: EvmContractSchema,
79
- }])
80
- expect(results?.length).toBeGreaterThan(0)
81
- for (const result of results ?? []) {
82
- expect(result.address).toBe(address)
83
- expect(result.implemented).toBeFalse()
84
- }
85
- })
86
- })
87
- })
88
- })