@subql/node-ethereum 3.9.1 → 3.10.0

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ethereum/api.ethereum.js +8 -9
  4. package/dist/ethereum/api.ethereum.js.map +1 -1
  5. package/dist/ethereum/ethers/celo/celo-provider.d.ts +284 -0
  6. package/dist/ethereum/ethers/celo/celo-provider.js +35 -0
  7. package/dist/ethereum/ethers/celo/celo-provider.js.map +1 -0
  8. package/dist/ethereum/ethers/celo/celo-ws-provider.spec.js +16 -10
  9. package/dist/ethereum/ethers/celo/celo-ws-provider.spec.js.map +1 -1
  10. package/dist/ethereum/ethers/op/op-provider.d.ts +374 -0
  11. package/dist/ethereum/ethers/op/op-provider.js +21 -0
  12. package/dist/ethereum/ethers/op/op-provider.js.map +1 -0
  13. package/dist/ethereum/ethers/op/op-provider.spec.js +32 -0
  14. package/dist/ethereum/ethers/op/op-provider.spec.js.map +1 -0
  15. package/dist/ethereum/utils.ethereum.d.ts +1 -1
  16. package/dist/ethereum/utils.ethereum.js.map +1 -1
  17. package/package.json +2 -2
  18. package/dist/ethereum/ethers/celo/celo-json-rpc-batch-provider.d.ts +0 -7
  19. package/dist/ethereum/ethers/celo/celo-json-rpc-batch-provider.js +0 -23
  20. package/dist/ethereum/ethers/celo/celo-json-rpc-batch-provider.js.map +0 -1
  21. package/dist/ethereum/ethers/celo/celo-json-rpc-batch-provider.spec.js +0 -27
  22. package/dist/ethereum/ethers/celo/celo-json-rpc-batch-provider.spec.js.map +0 -1
  23. package/dist/ethereum/ethers/celo/celo-json-rpc-provider.d.ts +0 -7
  24. package/dist/ethereum/ethers/celo/celo-json-rpc-provider.js +0 -23
  25. package/dist/ethereum/ethers/celo/celo-json-rpc-provider.js.map +0 -1
  26. package/dist/ethereum/ethers/celo/celo-json-rpc-provider.spec.d.ts +0 -1
  27. package/dist/ethereum/ethers/celo/celo-json-rpc-provider.spec.js +0 -27
  28. package/dist/ethereum/ethers/celo/celo-json-rpc-provider.spec.js.map +0 -1
  29. package/dist/ethereum/ethers/celo/celo-ws-provider.d.ts +0 -6
  30. package/dist/ethereum/ethers/celo/celo-ws-provider.js +0 -23
  31. package/dist/ethereum/ethers/celo/celo-ws-provider.js.map +0 -1
  32. /package/dist/ethereum/ethers/{celo/celo-json-rpc-batch-provider.spec.d.ts → op/op-provider.spec.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo-json-rpc-batch-provider.spec.js","sourceRoot":"","sources":["../../../../src/ethereum/ethers/celo/celo-json-rpc-batch-provider.spec.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;AAEnC,mCAAqD;AACrD,yDAAmD;AACnD,iFAA0E;AAE1E,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,QAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,GAAG,IAAI,uDAAwB,CACrC,uCAAuC,CACxC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,KAAK,GAAG,IAAA,4BAAW,EACvB,MAAM,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC1C,cAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxB,IAAI;SACL,CAAC,CACH,CAAC;QACF,MAAM,CAAC,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,KAAK,GAAG,IAAA,4BAAW,EACvB,MAAM,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAC9D,CAAC;QACF,MAAM,CAAC,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { BigNumber, constants, utils } from 'ethers';\nimport { formatBlock } from '../../utils.ethereum';\nimport { CeloJsonRpcBatchProvider } from './celo-json-rpc-batch-provider';\n\ndescribe('CeloJsonRpcProvider', () => {\n let provider: CeloJsonRpcBatchProvider;\n\n beforeEach(() => {\n provider = new CeloJsonRpcBatchProvider(\n 'https://celo.api.onfinality.io/public',\n );\n });\n\n // Test if gasLimit is correctly set for blocks before the hard fork\n it('should set gasLimit to zero for blocks before the hard fork', async () => {\n const block = formatBlock(\n await provider.send('eth_getBlockByNumber', [\n utils.hexValue(16068684),\n true,\n ]),\n );\n expect(BigNumber.from(block.gasLimit)).toEqual(constants.Zero);\n });\n\n // Test if gasLimit is correctly set for blocks after the hard fork\n it('should not set gasLimit to zero for blocks after the hard fork', async () => {\n const block = formatBlock(\n await provider.send('eth_getBlockByNumber', ['latest', true]),\n );\n expect(BigNumber.from(block.gasLimit).gte(constants.Zero)).toBeTruthy();\n });\n});\n"]}
@@ -1,7 +0,0 @@
1
- import { Networkish } from '@ethersproject/networks';
2
- import { JsonRpcProvider } from '../json-rpc-provider';
3
- import { ConnectionInfo } from '../web';
4
- export declare class CeloJsonRpcProvider extends JsonRpcProvider {
5
- private flanHardForkBlock;
6
- constructor(url?: ConnectionInfo | string, network?: Networkish);
7
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.CeloJsonRpcProvider = void 0;
6
- const node_core_1 = require("@subql/node-core");
7
- const ethers_1 = require("ethers");
8
- const json_rpc_provider_1 = require("../json-rpc-provider");
9
- const logger = (0, node_core_1.getLogger)('celo-provider');
10
- class CeloJsonRpcProvider extends json_rpc_provider_1.JsonRpcProvider {
11
- constructor(url, network) {
12
- super(url, network);
13
- this.flanHardForkBlock = ethers_1.BigNumber.from('16068685');
14
- const originalBlockFormatter = this.formatter._block;
15
- this.formatter._block = (value, format) => {
16
- return originalBlockFormatter(Object.assign({ gasLimit: ethers_1.BigNumber.from(value.number) < this.flanHardForkBlock
17
- ? ethers_1.constants.Zero
18
- : value.gasLimit }, value), format);
19
- };
20
- }
21
- }
22
- exports.CeloJsonRpcProvider = CeloJsonRpcProvider;
23
- //# sourceMappingURL=celo-json-rpc-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo-json-rpc-provider.js","sourceRoot":"","sources":["../../../../src/ethereum/ethers/celo/celo-json-rpc-provider.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAGnC,gDAA6C;AAC7C,mCAA8C;AAC9C,4DAAuD;AAGvD,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,eAAe,CAAC,CAAC;AAE1C,MAAa,mBAAoB,SAAQ,mCAAe;IAEtD,YAAY,GAA6B,EAAE,OAAoB;QAC7D,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAFd,sBAAiB,GAAG,kBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAIrD,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,OAAO,sBAAsB,iBAEzB,QAAQ,EACN,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB;oBACnD,CAAC,CAAC,kBAAS,CAAC,IAAI;oBAChB,CAAC,CAAC,KAAK,CAAC,QAAQ,IACjB,KAAK,GAEV,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF;AAnBD,kDAmBC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Networkish } from '@ethersproject/networks';\nimport { getLogger } from '@subql/node-core';\nimport { BigNumber, constants } from 'ethers';\nimport { JsonRpcProvider } from '../json-rpc-provider';\nimport { ConnectionInfo } from '../web';\n\nconst logger = getLogger('celo-provider');\n\nexport class CeloJsonRpcProvider extends JsonRpcProvider {\n private flanHardForkBlock = BigNumber.from('16068685');\n constructor(url?: ConnectionInfo | string, network?: Networkish) {\n super(url, network);\n\n const originalBlockFormatter = this.formatter._block;\n this.formatter._block = (value, format) => {\n return originalBlockFormatter(\n {\n gasLimit:\n BigNumber.from(value.number) < this.flanHardForkBlock\n ? constants.Zero\n : value.gasLimit,\n ...value,\n },\n format,\n );\n };\n }\n}\n"]}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- const ethers_1 = require("ethers");
6
- const utils_ethereum_1 = require("../../utils.ethereum");
7
- const celo_json_rpc_provider_1 = require("./celo-json-rpc-provider");
8
- describe('CeloJsonRpcProvider', () => {
9
- let provider;
10
- beforeEach(() => {
11
- provider = new celo_json_rpc_provider_1.CeloJsonRpcProvider('https://celo.api.onfinality.io/public ');
12
- });
13
- // Test if gasLimit is correctly set for blocks before the hard fork
14
- it('should set gasLimit to zero for blocks before the hard fork', async () => {
15
- const block = (0, utils_ethereum_1.formatBlock)(await provider.send('eth_getBlockByNumber', [
16
- ethers_1.utils.hexValue(16068684),
17
- true,
18
- ]));
19
- expect(ethers_1.BigNumber.from(block.gasLimit)).toEqual(ethers_1.constants.Zero);
20
- });
21
- // Test if gasLimit is correctly set for blocks after the hard fork
22
- it('should not set gasLimit to zero for blocks after the hard fork', async () => {
23
- const block = (0, utils_ethereum_1.formatBlock)(await provider.send('eth_getBlockByNumber', ['latest', true]));
24
- expect(ethers_1.BigNumber.from(block.gasLimit).gte(ethers_1.constants.Zero)).toBeTruthy();
25
- });
26
- });
27
- //# sourceMappingURL=celo-json-rpc-provider.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo-json-rpc-provider.spec.js","sourceRoot":"","sources":["../../../../src/ethereum/ethers/celo/celo-json-rpc-provider.spec.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;AAEnC,mCAAqD;AACrD,yDAAmD;AACnD,qEAA+D;AAE/D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,QAA6B,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,GAAG,IAAI,4CAAmB,CAAC,wCAAwC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,KAAK,GAAG,IAAA,4BAAW,EACvB,MAAM,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC1C,cAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxB,IAAI;SACL,CAAC,CACH,CAAC;QACF,MAAM,CAAC,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,KAAK,GAAG,IAAA,4BAAW,EACvB,MAAM,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAC9D,CAAC;QACF,MAAM,CAAC,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { BigNumber, constants, utils } from 'ethers';\nimport { formatBlock } from '../../utils.ethereum';\nimport { CeloJsonRpcProvider } from './celo-json-rpc-provider';\n\ndescribe('CeloJsonRpcProvider', () => {\n let provider: CeloJsonRpcProvider;\n\n beforeEach(() => {\n provider = new CeloJsonRpcProvider('https://celo.api.onfinality.io/public\t');\n });\n\n // Test if gasLimit is correctly set for blocks before the hard fork\n it('should set gasLimit to zero for blocks before the hard fork', async () => {\n const block = formatBlock(\n await provider.send('eth_getBlockByNumber', [\n utils.hexValue(16068684),\n true,\n ]),\n );\n expect(BigNumber.from(block.gasLimit)).toEqual(constants.Zero);\n });\n\n // Test if gasLimit is correctly set for blocks after the hard fork\n it('should not set gasLimit to zero for blocks after the hard fork', async () => {\n const block = formatBlock(\n await provider.send('eth_getBlockByNumber', ['latest', true]),\n );\n expect(BigNumber.from(block.gasLimit).gte(constants.Zero)).toBeTruthy();\n });\n});\n"]}
@@ -1,6 +0,0 @@
1
- import { Networkish } from '@ethersproject/networks';
2
- import { WebSocketProvider } from '@ethersproject/providers';
3
- export declare class CeloWsProvider extends WebSocketProvider {
4
- private flanHardForkBlock;
5
- constructor(url?: string, network?: Networkish);
6
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.CeloWsProvider = void 0;
6
- const providers_1 = require("@ethersproject/providers");
7
- const node_core_1 = require("@subql/node-core");
8
- const ethers_1 = require("ethers");
9
- const logger = (0, node_core_1.getLogger)('celo-ws-provider');
10
- class CeloWsProvider extends providers_1.WebSocketProvider {
11
- constructor(url, network) {
12
- super(url, network);
13
- this.flanHardForkBlock = ethers_1.BigNumber.from('16068685');
14
- const originalBlockFormatter = this.formatter._block;
15
- this.formatter._block = (value, format) => {
16
- return originalBlockFormatter(Object.assign({ gasLimit: ethers_1.BigNumber.from(value.number) < this.flanHardForkBlock
17
- ? ethers_1.constants.Zero
18
- : value.gasLimit }, value), format);
19
- };
20
- }
21
- }
22
- exports.CeloWsProvider = CeloWsProvider;
23
- //# sourceMappingURL=celo-ws-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo-ws-provider.js","sourceRoot":"","sources":["../../../../src/ethereum/ethers/celo/celo-ws-provider.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAGnC,wDAA6D;AAC7D,gDAA6C;AAC7C,mCAA8C;AAE9C,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,kBAAkB,CAAC,CAAC;AAE7C,MAAa,cAAe,SAAQ,6BAAiB;IAEnD,YAAY,GAAY,EAAE,OAAoB;QAC5C,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAFd,sBAAiB,GAAG,kBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAIrD,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,OAAO,sBAAsB,iBAEzB,QAAQ,EACN,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB;oBACnD,CAAC,CAAC,kBAAS,CAAC,IAAI;oBAChB,CAAC,CAAC,KAAK,CAAC,QAAQ,IACjB,KAAK,GAEV,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF;AAnBD,wCAmBC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Networkish } from '@ethersproject/networks';\nimport { WebSocketProvider } from '@ethersproject/providers';\nimport { getLogger } from '@subql/node-core';\nimport { BigNumber, constants } from 'ethers';\n\nconst logger = getLogger('celo-ws-provider');\n\nexport class CeloWsProvider extends WebSocketProvider {\n private flanHardForkBlock = BigNumber.from('16068685');\n constructor(url?: string, network?: Networkish) {\n super(url, network);\n\n const originalBlockFormatter = this.formatter._block;\n this.formatter._block = (value, format) => {\n return originalBlockFormatter(\n {\n gasLimit:\n BigNumber.from(value.number) < this.flanHardForkBlock\n ? constants.Zero\n : value.gasLimit,\n ...value,\n },\n format,\n );\n };\n }\n}\n"]}