@sentio/sdk 2.3.5 → 2.4.0-rc.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/lib/aptos/api.js +5 -1
- package/lib/aptos/api.js.map +1 -1
- package/lib/aptos/tests/aptos.test.js.map +1 -1
- package/lib/eth/account-processor.d.ts +2 -2
- package/lib/eth/account-processor.js +2 -2
- package/lib/eth/account-processor.js.map +1 -1
- package/lib/eth/builtin/eacaggregatorproxy.d.ts +2 -2
- package/lib/eth/builtin/eacaggregatorproxy.js +2 -2
- package/lib/eth/builtin/eacaggregatorproxy.js.map +1 -1
- package/lib/eth/builtin/erc1155.d.ts +2 -2
- package/lib/eth/builtin/erc1155.js +2 -2
- package/lib/eth/builtin/erc1155.js.map +1 -1
- package/lib/eth/builtin/erc20.d.ts +2 -2
- package/lib/eth/builtin/erc20.js +2 -2
- package/lib/eth/builtin/erc20.js.map +1 -1
- package/lib/eth/builtin/erc20bytes.d.ts +2 -2
- package/lib/eth/builtin/erc20bytes.js +2 -2
- package/lib/eth/builtin/erc20bytes.js.map +1 -1
- package/lib/eth/builtin/erc721.d.ts +2 -2
- package/lib/eth/builtin/erc721.js +2 -2
- package/lib/eth/builtin/erc721.js.map +1 -1
- package/lib/eth/builtin/internal/{eacaggregatorproxy_processor.d.ts → eacaggregatorproxy-processor.d.ts} +0 -0
- package/lib/eth/builtin/internal/{eacaggregatorproxy_processor.js → eacaggregatorproxy-processor.js} +1 -1
- package/lib/eth/builtin/internal/{eacaggregatorproxy_processor.js.map → eacaggregatorproxy-processor.js.map} +1 -1
- package/lib/eth/builtin/internal/{eacaggregatorproxy_test-utils.d.ts → eacaggregatorproxy-test-utils.d.ts} +0 -0
- package/lib/eth/builtin/internal/{eacaggregatorproxy_test-utils.js → eacaggregatorproxy-test-utils.js} +2 -2
- package/lib/eth/builtin/internal/{eacaggregatorproxy_test-utils.js.map → eacaggregatorproxy-test-utils.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc1155_processor.d.ts → erc1155-processor.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc1155_processor.js → erc1155-processor.js} +1 -1
- package/lib/eth/builtin/internal/{erc1155_processor.js.map → erc1155-processor.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc1155_test-utils.d.ts → erc1155-test-utils.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc1155_test-utils.js → erc1155-test-utils.js} +2 -2
- package/lib/eth/builtin/internal/{erc1155_test-utils.js.map → erc1155-test-utils.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc20_processor.d.ts → erc20-processor.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc20_processor.js → erc20-processor.js} +1 -1
- package/lib/eth/builtin/internal/{erc20_processor.js.map → erc20-processor.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc20_test-utils.d.ts → erc20-test-utils.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc20_test-utils.js → erc20-test-utils.js} +2 -2
- package/lib/eth/builtin/internal/{erc20_test-utils.js.map → erc20-test-utils.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc20bytes_processor.d.ts → erc20bytes-processor.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc20bytes_processor.js → erc20bytes-processor.js} +1 -1
- package/lib/eth/builtin/internal/{erc20bytes_processor.js.map → erc20bytes-processor.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc20bytes_test-utils.d.ts → erc20bytes-test-utils.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc20bytes_test-utils.js → erc20bytes-test-utils.js} +2 -2
- package/lib/eth/builtin/internal/{erc20bytes_test-utils.js.map → erc20bytes-test-utils.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc721_processor.d.ts → erc721-processor.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc721_processor.js → erc721-processor.js} +1 -1
- package/lib/eth/builtin/internal/{erc721_processor.js.map → erc721-processor.js.map} +1 -1
- package/lib/eth/builtin/internal/{erc721_test-utils.d.ts → erc721-test-utils.d.ts} +0 -0
- package/lib/eth/builtin/internal/{erc721_test-utils.js → erc721-test-utils.js} +2 -2
- package/lib/eth/builtin/internal/{erc721_test-utils.js.map → erc721-test-utils.js.map} +1 -1
- package/lib/eth/builtin/internal/{weth9_processor.d.ts → weth9-processor.d.ts} +0 -0
- package/lib/eth/builtin/internal/{weth9_processor.js → weth9-processor.js} +1 -1
- package/lib/eth/builtin/internal/{weth9_processor.js.map → weth9-processor.js.map} +1 -1
- package/lib/eth/builtin/internal/{weth9_test-utils.d.ts → weth9-test-utils.d.ts} +0 -0
- package/lib/eth/builtin/internal/{weth9_test-utils.js → weth9-test-utils.js} +2 -2
- package/lib/eth/builtin/internal/{weth9_test-utils.js.map → weth9-test-utils.js.map} +1 -1
- package/lib/eth/builtin/weth9.d.ts +2 -2
- package/lib/eth/builtin/weth9.js +2 -2
- package/lib/eth/builtin/weth9.js.map +1 -1
- package/lib/eth/codegen/ethers-sentio.js +2 -2
- package/lib/eth/codegen/ethers-sentio.js.map +1 -1
- package/lib/eth/codegen/file.js +3 -3
- package/lib/eth/codegen/file.js.map +1 -1
- package/lib/eth/generic-processor.test.js.map +1 -1
- package/lib/eth/tests/account.test.d.ts +1 -0
- package/lib/eth/tests/account.test.js.map +1 -0
- package/lib/eth/tests/codegen.test.d.ts +1 -0
- package/lib/eth/tests/codegen.test.js.map +1 -0
- package/lib/eth/tests/erc20-template.test.d.ts +1 -0
- package/lib/eth/tests/erc20-template.test.js.map +1 -0
- package/lib/eth/tests/erc20.d.ts +1 -0
- package/lib/eth/tests/erc20.js +52 -0
- package/lib/eth/tests/erc20.js.map +1 -0
- package/lib/eth/tests/erc20.test.d.ts +1 -0
- package/lib/eth/tests/erc20.test.js.map +1 -0
- package/lib/eth/tests/error-capture.test.d.ts +1 -0
- package/lib/eth/tests/error-capture.test.js.map +1 -0
- package/lib/eth/tests/logger.test.d.ts +1 -0
- package/lib/eth/tests/logger.test.js.map +1 -0
- package/lib/eth/tests/types/anyswaprouter.d.ts +3 -0
- package/lib/eth/tests/types/anyswaprouter.js +7 -0
- package/lib/eth/tests/types/anyswaprouter.js.map +1 -0
- package/lib/eth/tests/types/commitmentpool.d.ts +3 -0
- package/lib/eth/tests/types/commitmentpool.js +7 -0
- package/lib/eth/tests/types/commitmentpool.js.map +1 -0
- package/lib/eth/tests/types/index.d.ts +12 -0
- package/lib/eth/tests/types/index.js +16 -0
- package/lib/eth/tests/types/index.js.map +1 -0
- package/lib/eth/tests/types/internal/AnyswapRouter.d.ts +122 -0
- package/lib/eth/tests/types/internal/AnyswapRouter.js +2 -0
- package/lib/eth/tests/types/internal/AnyswapRouter.js.map +1 -0
- package/lib/eth/tests/types/internal/CommitmentPool.d.ts +176 -0
- package/lib/eth/tests/types/internal/CommitmentPool.js +2 -0
- package/lib/eth/tests/types/internal/CommitmentPool.js.map +1 -0
- package/lib/eth/tests/types/internal/MembershipStakerV3.d.ts +81 -0
- package/lib/eth/tests/types/internal/MembershipStakerV3.js +2 -0
- package/lib/eth/tests/types/internal/MembershipStakerV3.js.map +1 -0
- package/lib/eth/tests/types/internal/Pyth.d.ts +204 -0
- package/lib/eth/tests/types/internal/Pyth.js +2 -0
- package/lib/eth/tests/types/internal/Pyth.js.map +1 -0
- package/lib/eth/tests/types/internal/Seaport.d.ts +350 -0
- package/lib/eth/tests/types/internal/Seaport.js +2 -0
- package/lib/eth/tests/types/internal/Seaport.js.map +1 -0
- package/lib/eth/tests/types/internal/TokenExchange.d.ts +128 -0
- package/lib/eth/tests/types/internal/TokenExchange.js +2 -0
- package/lib/eth/tests/types/internal/TokenExchange.js.map +1 -0
- package/lib/eth/tests/types/internal/anyswaprouter-processor.d.ts +463 -0
- package/lib/eth/tests/types/internal/anyswaprouter-processor.js +425 -0
- package/lib/eth/tests/types/internal/anyswaprouter-processor.js.map +1 -0
- package/lib/eth/tests/types/internal/anyswaprouter-test-utils.d.ts +9 -0
- package/lib/eth/tests/types/internal/anyswaprouter-test-utils.js +124 -0
- package/lib/eth/tests/types/internal/anyswaprouter-test-utils.js.map +1 -0
- package/lib/eth/tests/types/internal/commitmentpool-processor.d.ts +348 -0
- package/lib/eth/tests/types/internal/commitmentpool-processor.js +607 -0
- package/lib/eth/tests/types/internal/commitmentpool-processor.js.map +1 -0
- package/lib/eth/tests/types/internal/commitmentpool-test-utils.d.ts +9 -0
- package/lib/eth/tests/types/internal/commitmentpool-test-utils.js +87 -0
- package/lib/eth/tests/types/internal/commitmentpool-test-utils.js.map +1 -0
- package/lib/eth/tests/types/internal/common.d.ts +10 -0
- package/lib/eth/tests/types/internal/common.js +8 -0
- package/lib/eth/tests/types/internal/common.js.map +1 -0
- package/lib/eth/tests/types/internal/factories/AnyswapRouter__factory.d.ts +988 -0
- package/lib/eth/tests/types/internal/factories/AnyswapRouter__factory.js +1269 -0
- package/lib/eth/tests/types/internal/factories/AnyswapRouter__factory.js.map +1 -0
- package/lib/eth/tests/types/internal/factories/CommitmentPool__factory.d.ts +792 -0
- package/lib/eth/tests/types/internal/factories/CommitmentPool__factory.js +1040 -0
- package/lib/eth/tests/types/internal/factories/CommitmentPool__factory.js.map +1 -0
- package/lib/eth/tests/types/internal/factories/MembershipStakerV3__factory.d.ts +549 -0
- package/lib/eth/tests/types/internal/factories/MembershipStakerV3__factory.js +721 -0
- package/lib/eth/tests/types/internal/factories/MembershipStakerV3__factory.js.map +1 -0
- package/lib/eth/tests/types/internal/factories/Pyth__factory.d.ts +1130 -0
- package/lib/eth/tests/types/internal/factories/Pyth__factory.js +1486 -0
- package/lib/eth/tests/types/internal/factories/Pyth__factory.js.map +1 -0
- package/lib/eth/tests/types/internal/factories/Seaport__factory.d.ts +2018 -0
- package/lib/eth/tests/types/internal/factories/Seaport__factory.js +2610 -0
- package/lib/eth/tests/types/internal/factories/Seaport__factory.js.map +1 -0
- package/lib/eth/tests/types/internal/factories/TokenExchange__factory.d.ts +651 -0
- package/lib/eth/tests/types/internal/factories/TokenExchange__factory.js +853 -0
- package/lib/eth/tests/types/internal/factories/TokenExchange__factory.js.map +1 -0
- package/lib/eth/tests/types/internal/factories/index.d.ts +6 -0
- package/lib/eth/tests/types/internal/factories/index.js +10 -0
- package/lib/eth/tests/types/internal/factories/index.js.map +1 -0
- package/lib/eth/tests/types/internal/index.d.ts +13 -0
- package/lib/eth/tests/types/internal/index.js +8 -0
- package/lib/eth/tests/types/internal/index.js.map +1 -0
- package/lib/eth/tests/types/internal/membershipstakerv3-processor.d.ts +287 -0
- package/lib/eth/tests/types/internal/membershipstakerv3-processor.js +596 -0
- package/lib/eth/tests/types/internal/membershipstakerv3-processor.js.map +1 -0
- package/lib/eth/tests/types/internal/membershipstakerv3-test-utils.d.ts +11 -0
- package/lib/eth/tests/types/internal/membershipstakerv3-test-utils.js +109 -0
- package/lib/eth/tests/types/internal/membershipstakerv3-test-utils.js.map +1 -0
- package/lib/eth/tests/types/internal/pyth-processor.d.ts +422 -0
- package/lib/eth/tests/types/internal/pyth-processor.js +890 -0
- package/lib/eth/tests/types/internal/pyth-processor.js.map +1 -0
- package/lib/eth/tests/types/internal/pyth-test-utils.d.ts +13 -0
- package/lib/eth/tests/types/internal/pyth-test-utils.js +131 -0
- package/lib/eth/tests/types/internal/pyth-test-utils.js.map +1 -0
- package/lib/eth/tests/types/internal/seaport-processor.d.ts +211 -0
- package/lib/eth/tests/types/internal/seaport-processor.js +237 -0
- package/lib/eth/tests/types/internal/seaport-processor.js.map +1 -0
- package/lib/eth/tests/types/internal/seaport-test-utils.d.ts +6 -0
- package/lib/eth/tests/types/internal/seaport-test-utils.js +61 -0
- package/lib/eth/tests/types/internal/seaport-test-utils.js.map +1 -0
- package/lib/eth/tests/types/internal/tokenexchange-processor.d.ts +334 -0
- package/lib/eth/tests/types/internal/tokenexchange-processor.js +667 -0
- package/lib/eth/tests/types/internal/tokenexchange-processor.js.map +1 -0
- package/lib/eth/tests/types/internal/tokenexchange-test-utils.d.ts +13 -0
- package/lib/eth/tests/types/internal/tokenexchange-test-utils.js +149 -0
- package/lib/eth/tests/types/internal/tokenexchange-test-utils.js.map +1 -0
- package/lib/eth/tests/types/membershipstakerv3.d.ts +3 -0
- package/lib/eth/tests/types/membershipstakerv3.js +7 -0
- package/lib/eth/tests/types/membershipstakerv3.js.map +1 -0
- package/lib/eth/tests/types/pyth.d.ts +3 -0
- package/lib/eth/tests/types/pyth.js +7 -0
- package/lib/eth/tests/types/pyth.js.map +1 -0
- package/lib/eth/tests/types/seaport.d.ts +3 -0
- package/lib/eth/tests/types/seaport.js +7 -0
- package/lib/eth/tests/types/seaport.js.map +1 -0
- package/lib/eth/tests/types/tokenexchange.d.ts +3 -0
- package/lib/eth/tests/types/tokenexchange.js +7 -0
- package/lib/eth/tests/types/tokenexchange.js.map +1 -0
- package/lib/solana/builtin/types.d.ts +8 -8
- package/lib/solana/tests/solana.test.js.map +1 -1
- package/lib/sui/sui-processor.js +2 -8
- package/lib/sui/sui-processor.js.map +1 -1
- package/lib/sui/tests/sui.test.js.map +1 -1
- package/lib/sui/utils.d.ts +2 -0
- package/lib/sui/utils.js +11 -0
- package/lib/sui/utils.js.map +1 -0
- package/lib/testing/aptos-facet.d.ts +12 -0
- package/lib/testing/aptos-facet.js +91 -0
- package/lib/testing/aptos-facet.js.map +1 -0
- package/lib/testing/eth-facet.d.ts +27 -0
- package/lib/testing/eth-facet.js +211 -0
- package/lib/testing/eth-facet.js.map +1 -0
- package/lib/testing/solana-facet.d.ts +7 -0
- package/lib/testing/solana-facet.js +22 -0
- package/lib/testing/solana-facet.js.map +1 -0
- package/lib/testing/sui-facet.d.ts +12 -0
- package/lib/testing/sui-facet.js +103 -0
- package/lib/testing/sui-facet.js.map +1 -0
- package/lib/testing/test-processor-server.d.ts +9 -23
- package/lib/testing/test-processor-server.js +13 -227
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/utils/dex-price.js +1 -1
- package/lib/utils/dex-price.js.map +1 -1
- package/lib/utils/price.js +5 -1
- package/lib/utils/price.js.map +1 -1
- package/lib/utils/token.js +1 -1
- package/lib/utils/token.js.map +1 -1
- package/package.json +5 -6
- package/src/aptos/api.ts +5 -1
- package/src/eth/account-processor.ts +2 -5
- package/src/eth/builtin/eacaggregatorproxy.ts +2 -2
- package/src/eth/builtin/erc1155.ts +2 -2
- package/src/eth/builtin/erc20.ts +2 -2
- package/src/eth/builtin/erc20bytes.ts +2 -2
- package/src/eth/builtin/erc721.ts +2 -2
- package/src/eth/builtin/internal/{eacaggregatorproxy_processor.ts → eacaggregatorproxy-processor.ts} +0 -0
- package/src/eth/builtin/internal/{eacaggregatorproxy_test-utils.ts → eacaggregatorproxy-test-utils.ts} +1 -1
- package/src/eth/builtin/internal/{erc1155_processor.ts → erc1155-processor.ts} +0 -0
- package/src/eth/builtin/internal/{erc1155_test-utils.ts → erc1155-test-utils.ts} +1 -1
- package/src/eth/builtin/internal/{erc20_processor.ts → erc20-processor.ts} +0 -0
- package/src/eth/builtin/internal/{erc20_test-utils.ts → erc20-test-utils.ts} +1 -1
- package/src/eth/builtin/internal/{erc20bytes_processor.ts → erc20bytes-processor.ts} +0 -0
- package/src/eth/builtin/internal/{erc20bytes_test-utils.ts → erc20bytes-test-utils.ts} +1 -1
- package/src/eth/builtin/internal/{erc721_processor.ts → erc721-processor.ts} +0 -0
- package/src/eth/builtin/internal/{erc721_test-utils.ts → erc721-test-utils.ts} +1 -1
- package/src/eth/builtin/internal/{weth9_processor.ts → weth9-processor.ts} +0 -0
- package/src/eth/builtin/internal/{weth9_test-utils.ts → weth9-test-utils.ts} +1 -1
- package/src/eth/builtin/weth9.ts +2 -2
- package/src/eth/codegen/ethers-sentio.ts +2 -2
- package/src/eth/codegen/file.ts +3 -3
- package/src/eth/tests/abis/eth/CommitmentPool.json +1034 -0
- package/src/eth/tests/abis/eth/MembershipStakerV3.json +706 -0
- package/src/eth/tests/abis/eth/Pyth.json +1471 -0
- package/src/eth/tests/abis/eth/Seaport.json +2595 -0
- package/src/eth/tests/abis/eth/TokenExchange.json +838 -0
- package/src/eth/tests/abis/eth/anyswapRouter.json +490 -0
- package/src/eth/tests/erc20.ts +63 -0
- package/src/eth/tests/types/anyswaprouter.ts +7 -0
- package/src/eth/tests/types/commitmentpool.ts +7 -0
- package/src/eth/tests/types/index.ts +33 -0
- package/src/eth/tests/types/internal/AnyswapRouter.ts +122 -0
- package/src/eth/tests/types/internal/CommitmentPool.ts +208 -0
- package/src/eth/tests/types/internal/MembershipStakerV3.ts +108 -0
- package/src/eth/tests/types/internal/Pyth.ts +246 -0
- package/src/eth/tests/types/internal/Seaport.ts +389 -0
- package/src/eth/tests/types/internal/TokenExchange.ts +142 -0
- package/src/eth/tests/types/internal/anyswaprouter-processor.ts +1396 -0
- package/src/eth/tests/types/internal/anyswaprouter-test-utils.ts +187 -0
- package/src/eth/tests/types/internal/commitmentpool-processor.ts +1575 -0
- package/src/eth/tests/types/internal/commitmentpool-test-utils.ts +150 -0
- package/src/eth/tests/types/internal/common.ts +23 -0
- package/src/eth/tests/types/internal/factories/AnyswapRouter__factory.ts +1278 -0
- package/src/eth/tests/types/internal/factories/CommitmentPool__factory.ts +1049 -0
- package/src/eth/tests/types/internal/factories/MembershipStakerV3__factory.ts +730 -0
- package/src/eth/tests/types/internal/factories/Pyth__factory.ts +1492 -0
- package/src/eth/tests/types/internal/factories/Seaport__factory.ts +2616 -0
- package/src/eth/tests/types/internal/factories/TokenExchange__factory.ts +862 -0
- package/src/eth/tests/types/internal/factories/index.ts +9 -0
- package/src/eth/tests/types/internal/index.ts +16 -0
- package/src/eth/tests/types/internal/membershipstakerv3-processor.ts +1399 -0
- package/src/eth/tests/types/internal/membershipstakerv3-test-utils.ts +188 -0
- package/src/eth/tests/types/internal/pyth-processor.ts +2043 -0
- package/src/eth/tests/types/internal/pyth-test-utils.ts +226 -0
- package/src/eth/tests/types/internal/seaport-processor.ts +678 -0
- package/src/eth/tests/types/internal/seaport-test-utils.ts +100 -0
- package/src/eth/tests/types/internal/tokenexchange-processor.ts +1570 -0
- package/src/eth/tests/types/internal/tokenexchange-test-utils.ts +244 -0
- package/src/eth/tests/types/membershipstakerv3.ts +7 -0
- package/src/eth/tests/types/pyth.ts +7 -0
- package/src/eth/tests/types/seaport.ts +7 -0
- package/src/eth/tests/types/tokenexchange.ts +7 -0
- package/src/sui/sui-processor.ts +2 -7
- package/src/sui/utils.ts +11 -0
- package/src/testing/aptos-facet.ts +111 -0
- package/src/testing/eth-facet.ts +233 -0
- package/src/testing/solana-facet.ts +25 -0
- package/src/testing/sui-facet.ts +119 -0
- package/src/testing/test-processor-server.ts +15 -252
- package/src/utils/dex-price.ts +1 -1
- package/src/utils/price.ts +5 -1
- package/src/utils/token.ts +1 -3
package/lib/aptos/api.js
CHANGED
|
@@ -2,6 +2,7 @@ import { AptosQueryDefinition } from '@sentio/protos/chainquery';
|
|
|
2
2
|
import { createChannel, createClientFactory } from 'nice-grpc';
|
|
3
3
|
import { Endpoints } from '@sentio/runtime';
|
|
4
4
|
import { retryMiddleware } from 'nice-grpc-client-middleware-retry';
|
|
5
|
+
import { prometheusClientMiddleware } from 'nice-grpc-prometheus';
|
|
5
6
|
import { AptosClient } from 'aptos-sdk';
|
|
6
7
|
import { AptosNetwork, getChainId } from './network.js';
|
|
7
8
|
export function getChainQueryClient(address) {
|
|
@@ -9,7 +10,10 @@ export function getChainQueryClient(address) {
|
|
|
9
10
|
address = Endpoints.INSTANCE.chainQueryAPI;
|
|
10
11
|
}
|
|
11
12
|
const channel = createChannel(address);
|
|
12
|
-
return createClientFactory()
|
|
13
|
+
return createClientFactory()
|
|
14
|
+
.use(prometheusClientMiddleware())
|
|
15
|
+
.use(retryMiddleware)
|
|
16
|
+
.create(AptosQueryDefinition, channel);
|
|
13
17
|
}
|
|
14
18
|
export function getAptosClient(network = AptosNetwork.MAIN_NET) {
|
|
15
19
|
const chainServer = Endpoints.INSTANCE.chainServer.get(getChainId(network));
|
package/lib/aptos/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/aptos/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAA;KAC3C;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEtC,OAAO,mBAAmB,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/aptos/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAA;KAC3C;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEtC,OAAO,mBAAmB,EAAE;SACzB,GAAG,CAAC,0BAA0B,EAAE,CAAC;SACjC,GAAG,CAAC,eAAe,CAAC;SACpB,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ;IAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3E,IAAI,WAAW,EAAE;QACf,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAA;KACpC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC","sourcesContent":["import { AptosQueryClient, AptosQueryDefinition } from '@sentio/protos/chainquery'\nimport { createChannel, createClientFactory } from 'nice-grpc'\nimport { Endpoints } from '@sentio/runtime'\nimport { retryMiddleware } from 'nice-grpc-client-middleware-retry'\nimport { prometheusClientMiddleware } from 'nice-grpc-prometheus'\nimport { AptosClient } from 'aptos-sdk'\nimport { AptosNetwork, getChainId } from './network.js'\n\nexport function getChainQueryClient(address?: string): AptosQueryClient {\n if (!address) {\n address = Endpoints.INSTANCE.chainQueryAPI\n }\n const channel = createChannel(address)\n\n return createClientFactory()\n .use(prometheusClientMiddleware())\n .use(retryMiddleware)\n .create(AptosQueryDefinition, channel)\n}\n\nexport function getAptosClient(network = AptosNetwork.MAIN_NET): AptosClient | undefined {\n const chainServer = Endpoints.INSTANCE.chainServer.get(getChainId(network))\n if (chainServer) {\n return new AptosClient(chainServer)\n }\n return undefined\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aptos.test.js","sourceRoot":"","sources":["../../../src/aptos/tests/aptos.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'chai'\nimport { HandlerType, ProcessBindingsRequest } from '@sentio/protos'\n\nimport { firstCounterValue, firstGaugeValue, TestProcessorServer } from '@sentio/sdk/testing'\n\ndescribe('Test Aptos Example', () => {\n const service = new TestProcessorServer(async () => {\n await import('./souffl3.js')\n })\n\n beforeAll(async () => {\n await service.start({ templateInstances: [] })\n })\n\n test('check configuration ', async () => {\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(5)\n })\n\n test('Check souffl3 transaction dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptCall: {\n transaction: testData,\n },\n },\n handlerIds: [1],\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber).equal(18483034n)\n })\n\n test('Check souffl3 function call dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptCall: {\n transaction: testData,\n },\n },\n\n handlerIds: [0],\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(2)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber).equal(18483034n)\n })\n\n test('Check souffl3 event dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptEvent: {\n transaction: {\n ...testData,\n events: [testData.events[testData.events.length - 1]],\n },\n },\n },\n\n handlerIds: [0],\n handlerType: HandlerType.APT_EVENT,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber).equal(18483034n)\n expect(res.result?.events).length(1)\n })\n\n test('Check token deposit event dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptEvent: {\n transaction: {\n ...testData,\n events: [tokenTestData],\n },\n },\n },\n handlerIds: [2],\n handlerType: HandlerType.APT_EVENT,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(firstCounterValue(res.result, 'deposit')).equal(1n)\n expect(firstGaugeValue(res.result, 'version')).equal(0n)\n })\n\n test('Check create poposal event dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptEvent: {\n transaction: { ...testData, events: [createProposalData] },\n },\n },\n handlerIds: [3],\n handlerType: HandlerType.APT_EVENT,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(firstGaugeValue(res.result, 'size')).equal(2)\n })\n\n test('check on timer', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptResource: {\n version: 12345n,\n resources: [\n {\n type: '0x1::coin::SupplyConfig',\n data: {\n allow_upgrades: false,\n },\n },\n ],\n timestampMicros: 1n,\n },\n },\n handlerIds: [0],\n handlerType: HandlerType.APT_RESOURCE,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(firstCounterValue(res.result, 'onTimer')).equal(1)\n })\n\n test('Check aptos account transaction dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptCall: {\n transaction: dataCreate,\n },\n },\n handlerIds: [3],\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n })\n})\n\nconst testData = {\n version: '18483034',\n hash: '0xbf4df6f390546a793ba9b7caff120002b3257986dbea9c697fd64acf7dfeb052',\n state_change_hash: '0x6063039cca5a1eb33d3986d3665fc783238579961eaa4746c41e25fa4f72aac6',\n event_root_hash: '0x425e39bcf994672108f83c34f637e84166af7ecedcbe26aed0dff0d62da8055d',\n state_checkpoint_hash: null,\n gas_used: '854',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x47aa479d9e15993ea2abe04043c89186fb5da0b5eb8b5c6d18bd55d5f0c2c877',\n changes: [],\n sender: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n sequence_number: '30',\n max_gas_amount: '20000',\n gas_unit_price: '1',\n expiration_timestamp_secs: '1663144544',\n payload: {\n function: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::pull_token_v2',\n type_arguments: ['0x1::aptos_coin::AptosCoin'],\n arguments: [\n '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n 'Souffl3 BlueBerry',\n '1',\n ],\n type: 'entry_function_payload',\n },\n signature: {\n public_key: '0x6c3f579afbf8a728827385039f7604ec1d06e5c802d8f9689ee8ec9d349fedc5',\n signature:\n '0xd2db95052e774f095d924030a50c29325a17e8d69d35c748f45bb0e22eb7d3b9e47545c98bd7130fd3ef46cbedc30c9aaeaf39c2d922ee8e7d578c0b1e76f30b',\n type: 'ed25519_signature',\n },\n events: [\n {\n guid: {\n creation_number: '3',\n account_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n },\n sequence_number: '10',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '1',\n },\n },\n {\n version: '18483034',\n guid: {\n creation_number: '2',\n account_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n },\n sequence_number: '11',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '1',\n },\n },\n {\n guid: {\n creation_number: '9',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '9',\n type: '0x3::token::CreateTokenDataEvent',\n data: {\n description:\n 'Souffl3 offers a one-stop marketplace for the launch, listing, and trading of NFT assets on APTOS.\\nWebsite:https://souffl3.com/\\nEveryone can win through our Bake Off campaign on the Aptos Testnet, rewards including Souffl3 Genesis NFT and whitelists of other collab projects, everyone is welcome to participate!',\n id: {\n collection: 'Souffl3 BlueBerry',\n creator: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n name: 'Souffl3 BlueBerry #2',\n },\n maximum: '999999999999',\n mutability_config: {\n description: true,\n maximum: true,\n properties: true,\n royalty: true,\n uri: true,\n },\n name: 'Souffl3 BlueBerry #2',\n property_keys: ['author', 'point'],\n property_types: ['string', 'integer'],\n property_values: ['0x33454e4a4f59204c616273', '0x30'],\n royalty_payee_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n royalty_points_denominator: '100',\n royalty_points_numerator: '20',\n uri: 'https://y3x4txhvirx5zl57efzbl6dg7psaier5q35hhwuqwzjwuahrycya.arweave.net/xu_J3PVEb9yvvyFyFfhm--QEEj2G-nPakLZTagDxwLA',\n },\n },\n {\n guid: {\n creation_number: '2',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '27',\n type: '0x3::token::DepositEvent',\n data: {\n amount: '1',\n id: {\n property_version: '0',\n token_data_id: {\n collection: 'Souffl3 BlueBerry',\n creator: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n name: 'Souffl3 BlueBerry #2',\n },\n },\n },\n },\n {\n version: '18483034',\n guid: {\n creation_number: '7',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '980533',\n type: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::PullTokenEvent<0x1::aptos_coin::AptosCoin>',\n data: {\n receiver: '0x3a80be5daa84f2da7e07b3ec9234da48a5647f757187879c97a1fa03f31f1195',\n },\n },\n ],\n timestamp: '1663143945131218',\n type: 'user_transaction',\n}\n\nconst tokenTestData = {\n guid: {\n creation_number: '4',\n account_address: '0x89bc80de59187f707a59ae7a4121718dafe3e6068e0509104ef7e41a56bc97db',\n },\n sequence_number: '10',\n type: '0x3::token::DepositEvent',\n data: {\n amount: '1',\n id: {\n property_version: '0',\n token_data_id: {\n collection: 'Topaz Troopers',\n creator: '0x9125e4054d884fdc7296b66e12c0d63a7baa0d88c77e8e784987c0a967c670ac',\n name: 'Topaz Trooper #11293',\n },\n },\n },\n}\n\nconst createProposalData = {\n guid: {\n creation_number: '5',\n account_address: '0x1',\n },\n sequence_number: '3',\n type: '0x1::voting::CreateProposalEvent',\n data: {\n early_resolution_vote_threshold: {\n vec: ['9272156337856446330'],\n },\n execution_hash: '0x31549239ce8abdc1e9c259178614c3d44d015bd6d48635ddcfbfa4a77e7222b0',\n expiration_secs: '1665463839',\n metadata: {\n data: [\n {\n key: 'metadata_hash',\n value:\n '0x61633230656566373063616466363939663530353564323463356363353931396463306330656562643463303662653332346336323030313561633361653066',\n },\n {\n key: 'metadata_location',\n value:\n '0x68747470733a2f2f676973742e67697468756275736572636f6e74656e742e636f6d2f6d6f76656b6576696e2f30353766623134356234303836366566663863323263393166623964613931392f7261772f626162383566306637343334663030386138373831656563376663616464316163356135353438312f6769737466696c65312e747874',\n },\n ],\n },\n min_vote_threshold: '100000000000000',\n proposal_id: '3',\n },\n}\n\nconst dataCreate = {\n id: '',\n round: '',\n previous_block_votes: null,\n proposer: '',\n sender: '0x88252db4dc2484cd9cedb23cd67b7b91f88940142f3eea35df7a9168d9c30896',\n sequence_number: '1510',\n payload: {\n type: 'entry_function_payload',\n type_arguments: [],\n arguments: ['0xd582e092190feda35a2f737123f86e33a1b592596804f40b1d539ab603a82a24'],\n code: { bytecode: '' },\n function: '0x1::aptos_account::create_account',\n },\n max_gas_amount: '2000',\n gas_unit_price: '100',\n expiration_timestamp_secs: '1666174748',\n secondary_signers: null,\n signature: {\n type: 'ed25519_signature',\n public_key: '0xfe1e11c6cb912ae998c9512d21e5781abb64fd4b8d6cfa15aeba3ee481406b64',\n signature:\n '0x98a49f348a3015702e3be33c1d2a92ea7b2726d31b27c857980493fe68cadc83fbef0839e312d6a82a9e6ca69481245fa49b6f25c0ec51660615d03e05738c03',\n public_keys: null,\n signatures: null,\n threshold: 0,\n bitmap: '',\n sender: { type: '', public_key: '', signature: '', public_keys: null, signatures: null, threshold: 0, bitmap: '' },\n secondary_signer_addresses: null,\n secondary_signers: null,\n },\n type: 'user_transaction',\n timestamp: '1666174688494614',\n events: [\n {\n version: '3121410',\n guid: {\n creation_number: '0',\n account_address: '0xd582e092190feda35a2f737123f86e33a1b592596804f40b1d539ab603a82a24',\n },\n sequence_number: '0',\n type: '0x1::account::CoinRegisterEvent',\n data: {\n type_info: {\n account_address: '0x1',\n module_name: '0x6170746f735f636f696e',\n struct_name: '0x4170746f73436f696e',\n },\n },\n },\n ],\n version: '3121410',\n hash: '0xcae7d97c9f43d90e247a366688905bc8e83ee0ad4baddbf3cc2fdda56e4d6926',\n state_root_hash: '',\n event_root_hash: '0xfa557e3bb8dff8fd3321f9a4eaa779311c9c795728355686b487b5b0adf7ce3c',\n gas_used: '1538',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x7563d6ed58b011e512d53cce2bc1a70716fc6362e12fb6af8fe6d459ae71dffc',\n changes: null,\n}\n"]}
|
|
1
|
+
{"version":3,"file":"aptos.test.js","sourceRoot":"","sources":["../../../src/aptos/tests/aptos.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'chai'\nimport { HandlerType, ProcessBindingsRequest } from '@sentio/protos'\n\nimport { firstCounterValue, firstGaugeValue, TestProcessorServer } from '../../testing/index.js'\n\ndescribe('Test Aptos Example', () => {\n const service = new TestProcessorServer(async () => {\n await import('./souffl3.js')\n })\n\n beforeAll(async () => {\n await service.start({ templateInstances: [] })\n })\n\n test('check configuration ', async () => {\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(5)\n })\n\n test('Check souffl3 transaction dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptCall: {\n transaction: testData,\n },\n },\n handlerIds: [1],\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber).equal(18483034n)\n })\n\n test('Check souffl3 function call dispatch', async () => {\n const res = await service.aptos.testEntryFunctionCall(testData as any)\n expect(res.result?.counters).length(2)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber).equal(18483034n)\n })\n\n test('Check souffl3 event dispatch', async () => {\n const res = await service.aptos.testEvent(testData as any, testData.events.length - 1)\n expect(res.result?.counters).length(1)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber).equal(18483034n)\n expect(res.result?.events).length(1)\n })\n\n test('Check token deposit event dispatch', async () => {\n const res = await service.aptos.testEvent(testData as any, tokenTestData)\n expect(firstCounterValue(res.result, 'deposit')).equal(1n)\n expect(firstGaugeValue(res.result, 'version')).equal(0n)\n })\n\n test('Check create poposal event dispatch', async () => {\n const res = await service.aptos.testEvent(testData as any, createProposalData)\n expect(firstGaugeValue(res.result, 'size')).equal(2)\n })\n\n test('check on timer', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptResource: {\n version: 12345n,\n resources: [\n {\n type: '0x1::coin::SupplyConfig',\n data: {\n allow_upgrades: false,\n },\n },\n ],\n timestampMicros: 1n,\n },\n },\n handlerIds: [0],\n handlerType: HandlerType.APT_RESOURCE,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(firstCounterValue(res.result, 'onTimer')).equal(1)\n })\n\n test('Check aptos account transaction dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n aptCall: {\n transaction: dataCreate,\n },\n },\n handlerIds: [3],\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n })\n})\n\nconst testData = {\n version: '18483034',\n hash: '0xbf4df6f390546a793ba9b7caff120002b3257986dbea9c697fd64acf7dfeb052',\n state_change_hash: '0x6063039cca5a1eb33d3986d3665fc783238579961eaa4746c41e25fa4f72aac6',\n event_root_hash: '0x425e39bcf994672108f83c34f637e84166af7ecedcbe26aed0dff0d62da8055d',\n state_checkpoint_hash: null,\n gas_used: '854',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x47aa479d9e15993ea2abe04043c89186fb5da0b5eb8b5c6d18bd55d5f0c2c877',\n changes: [],\n sender: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n sequence_number: '30',\n max_gas_amount: '20000',\n gas_unit_price: '1',\n expiration_timestamp_secs: '1663144544',\n payload: {\n function: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::pull_token_v2',\n type_arguments: ['0x1::aptos_coin::AptosCoin'],\n arguments: [\n '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n 'Souffl3 BlueBerry',\n '1',\n ],\n type: 'entry_function_payload',\n },\n signature: {\n public_key: '0x6c3f579afbf8a728827385039f7604ec1d06e5c802d8f9689ee8ec9d349fedc5',\n signature:\n '0xd2db95052e774f095d924030a50c29325a17e8d69d35c748f45bb0e22eb7d3b9e47545c98bd7130fd3ef46cbedc30c9aaeaf39c2d922ee8e7d578c0b1e76f30b',\n type: 'ed25519_signature',\n },\n events: [\n {\n guid: {\n creation_number: '3',\n account_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n },\n sequence_number: '10',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '1',\n },\n },\n {\n version: '18483034',\n guid: {\n creation_number: '2',\n account_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n },\n sequence_number: '11',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '1',\n },\n },\n {\n guid: {\n creation_number: '9',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '9',\n type: '0x3::token::CreateTokenDataEvent',\n data: {\n description:\n 'Souffl3 offers a one-stop marketplace for the launch, listing, and trading of NFT assets on APTOS.\\nWebsite:https://souffl3.com/\\nEveryone can win through our Bake Off campaign on the Aptos Testnet, rewards including Souffl3 Genesis NFT and whitelists of other collab projects, everyone is welcome to participate!',\n id: {\n collection: 'Souffl3 BlueBerry',\n creator: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n name: 'Souffl3 BlueBerry #2',\n },\n maximum: '999999999999',\n mutability_config: {\n description: true,\n maximum: true,\n properties: true,\n royalty: true,\n uri: true,\n },\n name: 'Souffl3 BlueBerry #2',\n property_keys: ['author', 'point'],\n property_types: ['string', 'integer'],\n property_values: ['0x33454e4a4f59204c616273', '0x30'],\n royalty_payee_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n royalty_points_denominator: '100',\n royalty_points_numerator: '20',\n uri: 'https://y3x4txhvirx5zl57efzbl6dg7psaier5q35hhwuqwzjwuahrycya.arweave.net/xu_J3PVEb9yvvyFyFfhm--QEEj2G-nPakLZTagDxwLA',\n },\n },\n {\n guid: {\n creation_number: '2',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '27',\n type: '0x3::token::DepositEvent',\n data: {\n amount: '1',\n id: {\n property_version: '0',\n token_data_id: {\n collection: 'Souffl3 BlueBerry',\n creator: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n name: 'Souffl3 BlueBerry #2',\n },\n },\n },\n },\n {\n version: '18483034',\n guid: {\n creation_number: '7',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '980533',\n type: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::PullTokenEvent<0x1::aptos_coin::AptosCoin>',\n data: {\n receiver: '0x3a80be5daa84f2da7e07b3ec9234da48a5647f757187879c97a1fa03f31f1195',\n },\n },\n ],\n timestamp: '1663143945131218',\n type: 'user_transaction',\n}\n\nconst tokenTestData = {\n guid: {\n creation_number: '4',\n account_address: '0x89bc80de59187f707a59ae7a4121718dafe3e6068e0509104ef7e41a56bc97db',\n },\n sequence_number: '10',\n type: '0x3::token::DepositEvent',\n data: {\n amount: '1',\n id: {\n property_version: '0',\n token_data_id: {\n collection: 'Topaz Troopers',\n creator: '0x9125e4054d884fdc7296b66e12c0d63a7baa0d88c77e8e784987c0a967c670ac',\n name: 'Topaz Trooper #11293',\n },\n },\n },\n}\n\nconst createProposalData = {\n guid: {\n creation_number: '5',\n account_address: '0x1',\n },\n sequence_number: '3',\n type: '0x1::voting::CreateProposalEvent',\n data: {\n early_resolution_vote_threshold: {\n vec: ['9272156337856446330'],\n },\n execution_hash: '0x31549239ce8abdc1e9c259178614c3d44d015bd6d48635ddcfbfa4a77e7222b0',\n expiration_secs: '1665463839',\n metadata: {\n data: [\n {\n key: 'metadata_hash',\n value:\n '0x61633230656566373063616466363939663530353564323463356363353931396463306330656562643463303662653332346336323030313561633361653066',\n },\n {\n key: 'metadata_location',\n value:\n '0x68747470733a2f2f676973742e67697468756275736572636f6e74656e742e636f6d2f6d6f76656b6576696e2f30353766623134356234303836366566663863323263393166623964613931392f7261772f626162383566306637343334663030386138373831656563376663616464316163356135353438312f6769737466696c65312e747874',\n },\n ],\n },\n min_vote_threshold: '100000000000000',\n proposal_id: '3',\n },\n}\n\nconst dataCreate = {\n id: '',\n round: '',\n previous_block_votes: undefined,\n proposer: '',\n sender: '0x88252db4dc2484cd9cedb23cd67b7b91f88940142f3eea35df7a9168d9c30896',\n sequence_number: '1510',\n payload: {\n type: 'entry_function_payload',\n type_arguments: [],\n arguments: ['0xd582e092190feda35a2f737123f86e33a1b592596804f40b1d539ab603a82a24'],\n code: { bytecode: '' },\n function: '0x1::aptos_account::create_account',\n },\n max_gas_amount: '2000',\n gas_unit_price: '100',\n expiration_timestamp_secs: '1666174748',\n secondary_signers: null,\n signature: {\n type: 'ed25519_signature',\n public_key: '0xfe1e11c6cb912ae998c9512d21e5781abb64fd4b8d6cfa15aeba3ee481406b64',\n signature:\n '0x98a49f348a3015702e3be33c1d2a92ea7b2726d31b27c857980493fe68cadc83fbef0839e312d6a82a9e6ca69481245fa49b6f25c0ec51660615d03e05738c03',\n public_keys: null,\n signatures: null,\n threshold: 0,\n bitmap: '',\n sender: { type: '', public_key: '', signature: '', public_keys: null, signatures: null, threshold: 0, bitmap: '' },\n secondary_signer_addresses: null,\n secondary_signers: null,\n },\n type: 'user_transaction',\n timestamp: '1666174688494614',\n events: [\n {\n version: '3121410',\n guid: {\n creation_number: '0',\n account_address: '0xd582e092190feda35a2f737123f86e33a1b592596804f40b1d539ab603a82a24',\n },\n sequence_number: '0',\n type: '0x1::account::CoinRegisterEvent',\n data: {\n type_info: {\n account_address: '0x1',\n module_name: '0x6170746f735f636f696e',\n struct_name: '0x4170746f73436f696e',\n },\n },\n },\n ],\n version: '3121410',\n hash: '0xcae7d97c9f43d90e247a366688905bc8e83ee0ad4baddbf3cc2fdda56e4d6926',\n state_root_hash: '',\n event_root_hash: '0xfa557e3bb8dff8fd3321f9a4eaa779311c9c795728355686b487b5b0adf7ce3c',\n gas_used: '1538',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x7563d6ed58b011e512d53cce2bc1a70716fc6362e12fb6af8fe6d459ae71dffc',\n changes: undefined,\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EthFetchConfig } from '@sentio/protos';
|
|
2
2
|
import { AccountBindOptions } from './bind-options.js';
|
|
3
|
-
import { TransferEvent as ERC20TransferEvent } from './builtin/
|
|
4
|
-
import { TransferEvent as ERC721TransferEvent } from './builtin/
|
|
3
|
+
import { TransferEvent as ERC20TransferEvent } from './builtin/erc20.js';
|
|
4
|
+
import { TransferEvent as ERC721TransferEvent } from './builtin/erc721.js';
|
|
5
5
|
import { AccountContext } from './context.js';
|
|
6
6
|
import { PromiseOrVoid } from '../promise-or-void.js';
|
|
7
7
|
import { AddressOrTypeEventFilter, EventsHandler } from './base-processor.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ERC20__factory, ERC721__factory } from './builtin/internal/index.js';
|
|
2
2
|
import { AddressType, EthFetchConfig, ProcessResult } from '@sentio/protos';
|
|
3
3
|
import { Network } from 'ethers/providers';
|
|
4
|
-
import { ERC20Processor } from './builtin/
|
|
5
|
-
import { ERC721Processor } from './builtin/
|
|
4
|
+
import { ERC20Processor } from './builtin/erc20.js';
|
|
5
|
+
import { ERC721Processor } from './builtin/erc721.js';
|
|
6
6
|
import { AccountContext } from './context.js';
|
|
7
7
|
import { AccountProcessorState } from './account-processor-state.js';
|
|
8
8
|
const ERC20_INTERFACE = ERC20__factory.createInterface();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-processor.js","sourceRoot":"","sources":["../../src/eth/account-processor.ts"],"names":[],"mappings":"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","sourcesContent":["import { ERC20__factory, ERC721__factory } from './builtin/internal/index.js'\nimport { AddressType, EthFetchConfig, ProcessResult } from '@sentio/protos'\nimport { AccountBindOptions } from './bind-options.js'\n\nimport { Network, LogParams } from 'ethers/providers'\n\nimport { TransferEvent as ERC20TransferEvent } from './builtin/internal/ERC20.js'\nimport { TransferEvent as ERC721TransferEvent } from './builtin/internal/ERC721.js'\n\nimport { ERC20Processor } from './builtin/internal/erc20_processor.js'\nimport { ERC721Processor } from './builtin/internal/erc721_processor.js'\n\nimport { AccountContext } from './context.js'\nimport { PromiseOrVoid } from '../promise-or-void.js'\nimport { AddressOrTypeEventFilter, EventsHandler } from './base-processor.js'\nimport { Transaction, Block, TransactionReceipt, LogDescription } from 'ethers'\nimport { AccountProcessorState } from './account-processor-state.js'\n\nconst ERC20_INTERFACE = ERC20__factory.createInterface()\nconst ERC721_INTERFACE = ERC721__factory.createInterface()\n\nexport class AccountProcessor {\n config: AccountBindOptions\n eventHandlers: EventsHandler[] = []\n\n static bind(config: AccountBindOptions): AccountProcessor {\n const processor = new AccountProcessor(config)\n AccountProcessorState.INSTANCE.addValue(processor)\n return processor\n }\n\n protected constructor(config: AccountBindOptions) {\n this.config = config\n if (typeof this.config.network === 'string') {\n const asInt = parseInt(this.config.network)\n if (Number.isFinite(asInt)) {\n this.config.network = asInt\n }\n }\n }\n\n public getChainId(): number {\n return Number(Network.from(this.config.network || 1).chainId)\n }\n\n /**\n * Register custom handler function to process erc20 transfer event to this account\n * @param handler custom handler function\n * @param tokensAddresses all the erc20 token address to watch\n * @param fetchConfig\n */\n onERC20TransferIn(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC20(\n handler,\n tokensAddresses,\n (address: string) => ERC721Processor.filters.Transfer(null, this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process erc20 transfer event from this account\n * @param handler custom handler function\n * @param tokensAddresses all the erc20 token address to watch\n * @param fetchConfig\n */\n onERC20TransferOut(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC20(\n handler,\n tokensAddresses,\n (address: string) => ERC20Processor.filters.Transfer(this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process erc20 mint for this account\n * @param handler custom handler function\n * @param tokensAddresses all the erc20 token address to watch\n * @param fetchConfig\n */\n onERC20Minted(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC20(\n handler,\n tokensAddresses,\n (address: string) =>\n ERC20Processor.filters.Transfer('0x0000000000000000000000000000000000000000', this.config.address),\n fetchConfig\n )\n }\n\n private onERC20(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n defaultFilter: (address: string) => AddressOrTypeEventFilter,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC(handler, tokensAddresses, defaultFilter, AddressType.ERC20, fetchConfig)\n }\n\n /**\n * Register custom handler function to process ERC721 transfer event to this account\n * @param handler custom handler function\n * @param collections all the ERC721 token address to watch, if not provided then watch all ERC721\n * @param fetchConfig\n */\n onERC721TransferIn(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC721(\n handler,\n collections,\n (address: string) => ERC721Processor.filters.Transfer(null, this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process ERC721 transfer event from this account\n * @param handler custom handler function\n * @param collections all the ERC721 token address to watch, if not provided then watch all ERC721\n * @param fetchConfig\n */\n onERC721TransferOut(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC721(\n handler,\n collections,\n (address: string) => ERC721Processor.filters.Transfer(this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process ERC721 mint for this account\n * @param handler custom handler function\n * @param collections all the ERC721 token address to watch, if not provided then watch all ERC721\n * @param fetchConfig\n */\n onERC721Minted(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC721(\n handler,\n collections,\n (address: string) =>\n ERC721Processor.filters.Transfer('0x0000000000000000000000000000000000000000', this.config.address),\n fetchConfig\n )\n }\n\n private onERC721(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[],\n defaultFilter: (address: string) => AddressOrTypeEventFilter,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC(handler, collections, defaultFilter, AddressType.ERC721, fetchConfig)\n }\n\n private onERC(\n handler: (event: any, ctx: AccountContext) => PromiseOrVoid,\n contractAddresses: string[],\n defaultFilter: (address: string) => AddressOrTypeEventFilter,\n addressType: AddressType,\n fetchConfig?: EthFetchConfig\n ) {\n const filters = []\n for (const token of contractAddresses) {\n const filter = defaultFilter(this.config.address)\n filter.address = token\n filters.push(filter)\n }\n if (!filters.length) {\n const filter = defaultFilter(this.config.address)\n filter.address = undefined\n filter.addressType = addressType\n filters.push(filter)\n }\n return this.onEvent(handler, filters, fetchConfig)\n }\n\n protected onEvent(\n handler: (event: LogDescription, ctx: AccountContext) => PromiseOrVoid,\n filter: AddressOrTypeEventFilter | AddressOrTypeEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n const chainId = this.getChainId()\n\n let _filters: AddressOrTypeEventFilter[] = []\n\n if (Array.isArray(filter)) {\n _filters = filter\n } else {\n _filters.push(filter)\n }\n\n // let hasVaildConfig = false\n // for (const filter of _filters) {\n // if (filter.address) {\n // hasVaildConfig = true\n // break\n // }\n // if (filter.topics && filter.topics.length) {\n // hasVaildConfig = true\n // break\n // }\n // }\n //\n // if (!hasVaildConfig) {\n // throw Error('no valid config has been found for this account')\n // }\n\n const config = this.config\n\n this.eventHandlers.push({\n filters: _filters,\n fetchConfig: fetchConfig || EthFetchConfig.fromPartial({}),\n handler: async function (data) {\n const log = data.log as { topics: Array<string>; data: string }\n const ctx = new AccountContext(\n chainId,\n config.address,\n data.timestamp,\n data.block as Block,\n log as any as LogParams,\n undefined,\n data.transaction as Transaction,\n data.transactionReceipt as TransactionReceipt\n )\n const parsed = ERC20_INTERFACE.parseLog(log)\n if (parsed) {\n await handler(parsed, ctx)\n return ctx.getProcessResult()\n }\n return ProcessResult.fromPartial({})\n },\n })\n\n return this\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"account-processor.js","sourceRoot":"","sources":["../../src/eth/account-processor.ts"],"names":[],"mappings":"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","sourcesContent":["import { ERC20__factory, ERC721__factory } from './builtin/internal/index.js'\nimport { AddressType, EthFetchConfig, ProcessResult } from '@sentio/protos'\nimport { AccountBindOptions } from './bind-options.js'\n\nimport { Network, LogParams } from 'ethers/providers'\n\nimport { TransferEvent as ERC20TransferEvent, ERC20Processor } from './builtin/erc20.js'\nimport { TransferEvent as ERC721TransferEvent, ERC721Processor } from './builtin/erc721.js'\n\nimport { AccountContext } from './context.js'\nimport { PromiseOrVoid } from '../promise-or-void.js'\nimport { AddressOrTypeEventFilter, EventsHandler } from './base-processor.js'\nimport { Transaction, Block, TransactionReceipt, LogDescription } from 'ethers'\nimport { AccountProcessorState } from './account-processor-state.js'\n\nconst ERC20_INTERFACE = ERC20__factory.createInterface()\nconst ERC721_INTERFACE = ERC721__factory.createInterface()\n\nexport class AccountProcessor {\n config: AccountBindOptions\n eventHandlers: EventsHandler[] = []\n\n static bind(config: AccountBindOptions): AccountProcessor {\n const processor = new AccountProcessor(config)\n AccountProcessorState.INSTANCE.addValue(processor)\n return processor\n }\n\n protected constructor(config: AccountBindOptions) {\n this.config = config\n if (typeof this.config.network === 'string') {\n const asInt = parseInt(this.config.network)\n if (Number.isFinite(asInt)) {\n this.config.network = asInt\n }\n }\n }\n\n public getChainId(): number {\n return Number(Network.from(this.config.network || 1).chainId)\n }\n\n /**\n * Register custom handler function to process erc20 transfer event to this account\n * @param handler custom handler function\n * @param tokensAddresses all the erc20 token address to watch\n * @param fetchConfig\n */\n onERC20TransferIn(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC20(\n handler,\n tokensAddresses,\n (address: string) => ERC721Processor.filters.Transfer(null, this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process erc20 transfer event from this account\n * @param handler custom handler function\n * @param tokensAddresses all the erc20 token address to watch\n * @param fetchConfig\n */\n onERC20TransferOut(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC20(\n handler,\n tokensAddresses,\n (address: string) => ERC20Processor.filters.Transfer(this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process erc20 mint for this account\n * @param handler custom handler function\n * @param tokensAddresses all the erc20 token address to watch\n * @param fetchConfig\n */\n onERC20Minted(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC20(\n handler,\n tokensAddresses,\n (address: string) =>\n ERC20Processor.filters.Transfer('0x0000000000000000000000000000000000000000', this.config.address),\n fetchConfig\n )\n }\n\n private onERC20(\n handler: (event: ERC20TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n tokensAddresses: string[] = [],\n defaultFilter: (address: string) => AddressOrTypeEventFilter,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC(handler, tokensAddresses, defaultFilter, AddressType.ERC20, fetchConfig)\n }\n\n /**\n * Register custom handler function to process ERC721 transfer event to this account\n * @param handler custom handler function\n * @param collections all the ERC721 token address to watch, if not provided then watch all ERC721\n * @param fetchConfig\n */\n onERC721TransferIn(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC721(\n handler,\n collections,\n (address: string) => ERC721Processor.filters.Transfer(null, this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process ERC721 transfer event from this account\n * @param handler custom handler function\n * @param collections all the ERC721 token address to watch, if not provided then watch all ERC721\n * @param fetchConfig\n */\n onERC721TransferOut(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC721(\n handler,\n collections,\n (address: string) => ERC721Processor.filters.Transfer(this.config.address),\n fetchConfig\n )\n }\n\n /**\n * Register custom handler function to process ERC721 mint for this account\n * @param handler custom handler function\n * @param collections all the ERC721 token address to watch, if not provided then watch all ERC721\n * @param fetchConfig\n */\n onERC721Minted(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[] = [],\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC721(\n handler,\n collections,\n (address: string) =>\n ERC721Processor.filters.Transfer('0x0000000000000000000000000000000000000000', this.config.address),\n fetchConfig\n )\n }\n\n private onERC721(\n handler: (event: ERC721TransferEvent, ctx: AccountContext) => PromiseOrVoid,\n collections: string[],\n defaultFilter: (address: string) => AddressOrTypeEventFilter,\n fetchConfig?: EthFetchConfig\n ) {\n return this.onERC(handler, collections, defaultFilter, AddressType.ERC721, fetchConfig)\n }\n\n private onERC(\n handler: (event: any, ctx: AccountContext) => PromiseOrVoid,\n contractAddresses: string[],\n defaultFilter: (address: string) => AddressOrTypeEventFilter,\n addressType: AddressType,\n fetchConfig?: EthFetchConfig\n ) {\n const filters = []\n for (const token of contractAddresses) {\n const filter = defaultFilter(this.config.address)\n filter.address = token\n filters.push(filter)\n }\n if (!filters.length) {\n const filter = defaultFilter(this.config.address)\n filter.address = undefined\n filter.addressType = addressType\n filters.push(filter)\n }\n return this.onEvent(handler, filters, fetchConfig)\n }\n\n protected onEvent(\n handler: (event: LogDescription, ctx: AccountContext) => PromiseOrVoid,\n filter: AddressOrTypeEventFilter | AddressOrTypeEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n const chainId = this.getChainId()\n\n let _filters: AddressOrTypeEventFilter[] = []\n\n if (Array.isArray(filter)) {\n _filters = filter\n } else {\n _filters.push(filter)\n }\n\n // let hasVaildConfig = false\n // for (const filter of _filters) {\n // if (filter.address) {\n // hasVaildConfig = true\n // break\n // }\n // if (filter.topics && filter.topics.length) {\n // hasVaildConfig = true\n // break\n // }\n // }\n //\n // if (!hasVaildConfig) {\n // throw Error('no valid config has been found for this account')\n // }\n\n const config = this.config\n\n this.eventHandlers.push({\n filters: _filters,\n fetchConfig: fetchConfig || EthFetchConfig.fromPartial({}),\n handler: async function (data) {\n const log = data.log as { topics: Array<string>; data: string }\n const ctx = new AccountContext(\n chainId,\n config.address,\n data.timestamp,\n data.block as Block,\n log as any as LogParams,\n undefined,\n data.transaction as Transaction,\n data.transactionReceipt as TransactionReceipt\n )\n const parsed = ERC20_INTERFACE.parseLog(log)\n if (parsed) {\n await handler(parsed, ctx)\n return ctx.getProcessResult()\n }\n return ProcessResult.fromPartial({})\n },\n })\n\n return this\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./internal/
|
|
1
|
+
export * from "./internal/eacaggregatorproxy-processor.js";
|
|
2
2
|
export * from "./internal/EACAggregatorProxy.js";
|
|
3
|
-
export * from "./internal/
|
|
3
|
+
export * from "./internal/eacaggregatorproxy-test-utils.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Autogenerated file. Do not edit manually. */
|
|
2
2
|
/* tslint:disable */
|
|
3
3
|
/* eslint-disable */
|
|
4
|
-
export * from "./internal/
|
|
4
|
+
export * from "./internal/eacaggregatorproxy-processor.js";
|
|
5
5
|
export * from "./internal/EACAggregatorProxy.js";
|
|
6
|
-
export * from "./internal/
|
|
6
|
+
export * from "./internal/eacaggregatorproxy-test-utils.js";
|
|
7
7
|
//# sourceMappingURL=eacaggregatorproxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eacaggregatorproxy.js","sourceRoot":"","sources":["../../../src/eth/builtin/eacaggregatorproxy.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/
|
|
1
|
+
{"version":3,"file":"eacaggregatorproxy.js","sourceRoot":"","sources":["../../../src/eth/builtin/eacaggregatorproxy.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/eacaggregatorproxy-processor.js\";\nexport * from \"./internal/EACAggregatorProxy.js\";\nexport * from \"./internal/eacaggregatorproxy-test-utils.js\";\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./internal/
|
|
1
|
+
export * from "./internal/erc1155-processor.js";
|
|
2
2
|
export * from "./internal/ERC1155.js";
|
|
3
|
-
export * from "./internal/
|
|
3
|
+
export * from "./internal/erc1155-test-utils.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Autogenerated file. Do not edit manually. */
|
|
2
2
|
/* tslint:disable */
|
|
3
3
|
/* eslint-disable */
|
|
4
|
-
export * from "./internal/
|
|
4
|
+
export * from "./internal/erc1155-processor.js";
|
|
5
5
|
export * from "./internal/ERC1155.js";
|
|
6
|
-
export * from "./internal/
|
|
6
|
+
export * from "./internal/erc1155-test-utils.js";
|
|
7
7
|
//# sourceMappingURL=erc1155.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc1155.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/
|
|
1
|
+
{"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc1155.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/erc1155-processor.js\";\nexport * from \"./internal/ERC1155.js\";\nexport * from \"./internal/erc1155-test-utils.js\";\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./internal/
|
|
1
|
+
export * from "./internal/erc20-processor.js";
|
|
2
2
|
export * from "./internal/ERC20.js";
|
|
3
|
-
export * from "./internal/
|
|
3
|
+
export * from "./internal/erc20-test-utils.js";
|
package/lib/eth/builtin/erc20.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Autogenerated file. Do not edit manually. */
|
|
2
2
|
/* tslint:disable */
|
|
3
3
|
/* eslint-disable */
|
|
4
|
-
export * from "./internal/
|
|
4
|
+
export * from "./internal/erc20-processor.js";
|
|
5
5
|
export * from "./internal/ERC20.js";
|
|
6
|
-
export * from "./internal/
|
|
6
|
+
export * from "./internal/erc20-test-utils.js";
|
|
7
7
|
//# sourceMappingURL=erc20.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc20.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/
|
|
1
|
+
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc20.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/erc20-processor.js\";\nexport * from \"./internal/ERC20.js\";\nexport * from \"./internal/erc20-test-utils.js\";\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./internal/
|
|
1
|
+
export * from "./internal/erc20bytes-processor.js";
|
|
2
2
|
export * from "./internal/ERC20Bytes.js";
|
|
3
|
-
export * from "./internal/
|
|
3
|
+
export * from "./internal/erc20bytes-test-utils.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Autogenerated file. Do not edit manually. */
|
|
2
2
|
/* tslint:disable */
|
|
3
3
|
/* eslint-disable */
|
|
4
|
-
export * from "./internal/
|
|
4
|
+
export * from "./internal/erc20bytes-processor.js";
|
|
5
5
|
export * from "./internal/ERC20Bytes.js";
|
|
6
|
-
export * from "./internal/
|
|
6
|
+
export * from "./internal/erc20bytes-test-utils.js";
|
|
7
7
|
//# sourceMappingURL=erc20bytes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20bytes.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc20bytes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/
|
|
1
|
+
{"version":3,"file":"erc20bytes.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc20bytes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/erc20bytes-processor.js\";\nexport * from \"./internal/ERC20Bytes.js\";\nexport * from \"./internal/erc20bytes-test-utils.js\";\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./internal/
|
|
1
|
+
export * from "./internal/erc721-processor.js";
|
|
2
2
|
export * from "./internal/ERC721.js";
|
|
3
|
-
export * from "./internal/
|
|
3
|
+
export * from "./internal/erc721-test-utils.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Autogenerated file. Do not edit manually. */
|
|
2
2
|
/* tslint:disable */
|
|
3
3
|
/* eslint-disable */
|
|
4
|
-
export * from "./internal/
|
|
4
|
+
export * from "./internal/erc721-processor.js";
|
|
5
5
|
export * from "./internal/ERC721.js";
|
|
6
|
-
export * from "./internal/
|
|
6
|
+
export * from "./internal/erc721-test-utils.js";
|
|
7
7
|
//# sourceMappingURL=erc721.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc721.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/
|
|
1
|
+
{"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../src/eth/builtin/erc721.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nexport * from \"./internal/erc721-processor.js\";\nexport * from \"./internal/ERC721.js\";\nexport * from \"./internal/erc721-test-utils.js\";\n"]}
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eacaggregatorproxy_processor.js","sourceRoot":"","sources":["../../../../src/eth/builtin/internal/eacaggregatorproxy_processor.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,mBAAmB,EAGnB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EAEb,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAsB,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAqL7E,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,KAAK,EACL,aAAa,CACd,CAAC;AAEF,MAAM,OAAO,8BAA+B,SAAQ,YAAgC;IAClF,YAAY,QAA4B;QACtC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAqB;QAC1C,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAC1D,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAqB;QACpC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SACzE;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAqB;QAClC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SACvE;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAqB;QACrC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC1E;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,QAAsB,EACtB,SAAqB;QAErB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAC1D,QAAQ,EACR,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAsB,EACtB,SAAqB;QAUrB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAC5D,QAAQ,EACR,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAsB,EACtB,SAAqB;QAErB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAC7D,QAAQ,EACR,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAqB;QACtC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC3E;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAqB;QACrC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC1E;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAqB;QAUrB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,CACzD,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAqB;QACzC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,CACzD,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAqB;QAC/B,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SACpE;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAkB,EAClB,SAAqB;QAErB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAChE,IAAI,EACJ,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAqB;QACjC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SACtE;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAqB;QAC5C,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAC5D,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAsB,EACtB,SAAqB;QAUrB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,8BAA8B,CAAC,CACpE,QAAQ,EACR,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,SAAqB;QAUrB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,2BAA2B,CAAC,CACjE,SAAS,IAAI,EAAE,CAChB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAqB;QACjC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SACtE;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACzC;IACH,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,iBAGxD;IACC,KAAK,CAAC,gBAAgB,CAAC,SAAqB;QAC1C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAqB;QACpC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAqB;QAClC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAqB;QACrC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,QAAsB,EACtB,SAAqB;QAErB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAsB,EACtB,SAAqB;QAUrB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAsB,EACtB,SAAqB;QAErB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAqB;QACtC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAqB;QACrC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAqB;QAUrB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAqB;QACzC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAqB;QAC/B,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAkB,EAClB,SAAqB;QAErB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAqB;QACjC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAqB;QAC5C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAsB,EACtB,SAAqB;QAUrB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,SAAqB;QAUrB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAqB;QACjC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,GAAG;gBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aAC/C,CAAC;SACH;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAOD,MAAM,OAAO,2BAA4B,SAAQ,aAGhD;IACC,oBAAoB,CAClB,OAGS,EACT,MAA8D,EAC9D,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAC/B,uCAAuC,CACxC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACrB;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,eAAe,CACb,OAAuE,EACvE,MAAoD,EACpD,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,mCAAmC,CAAC,CACpE,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;SACH;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,iCAAiC,CAC/B,OAGS,EACT,MAE2C,EAC3C,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAC/B,6CAA6C,CAC9C,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACf;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,2BAA2B,CACzB,OAGS,EACT,MAEqC,EACrC,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAC/B,uCAAuC,CACxC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACf;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,qBAAqB,CACnB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,sBAAsB,CACpB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB,CACd,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,uBAAuB,CACrB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc,CACZ,OAA0E,EAC1E,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,iBAAiB,CACf,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe,CACb,OAA2E,EAC3E,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB,CAChB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB,CAChB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB,CAChB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,iBAAiB,CACf,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,qBAAqB,CACnB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,qBAAqB,CACnB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,WAAW,CACT,OAAuE,EACvE,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,sBAAsB,CACpB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,aAAa,CACX,OAAyE,EACzE,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,uBAAuB,CACrB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,wBAAwB,CACtB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,0BAA0B,CACxB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,6BAA6B,CAC3B,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,mBAAmB,CACjB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,uBAAuB,CACrB,OAGS,EACT,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,aAAa,CACX,OAAyE,EACzE,WAA4B;QAE5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,OAAO,GAAG;QACtB,aAAa,CACX,OAA6B,EAC7B,OAA6B,EAC7B,SAAgB;YAEhB,OAAO,gBAAgB,CAAC,OAAO,CAAC,uCAAuC,CAAC,CACtE,OAAO,EACP,OAAO,EACP,SAAS,CACV,CAAC;QACJ,CAAC;QACD,QAAQ,CACN,OAA6B,EAC7B,SAAyB,EACzB,SAAgB;YAEhB,OAAO,gBAAgB,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAClE,OAAO,EACP,SAAS,EACT,SAAS,CACV,CAAC;QACJ,CAAC;QACD,0BAA0B,CAAC,IAAoB,EAAE,EAAkB;YACjE,OAAO,gBAAgB,CAAC,OAAO,CAC7B,6CAA6C,CAC9C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,CAAC;QACD,oBAAoB,CAAC,IAAoB,EAAE,EAAkB;YAC3D,OAAO,gBAAgB,CAAC,OAAO,CAAC,uCAAuC,CAAC,CACtE,IAAI,EACJ,EAAE,CACH,CAAC;QACJ,CAAC;KACF,CAAC;IAEQ,uBAAuB;QAC/B,MAAM,IAAI,GAAG,6BAA6B,CACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CACpB,CAAC;QACF,OAAO,IAAI,mCAAmC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,OAAoB;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC;SACrC;QACD,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAgC,CAAC;QACrE,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC;YACrD,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAClC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;;AAGH,MAAM,OAAO,mCAAoC,SAAQ,qBAGxD;IACC,YAAY,CAAC,OAAoB;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC;SACrC;QACD,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAgC,CAAC;QACrE,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC;YACrD,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAClC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAoB,CAClB,OAGS,EACT,MAA8D,EAC9D,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAC/B,uCAAuC,CACxC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACrB;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,eAAe,CACb,OAAuE,EACvE,MAAoD,EACpD,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,mCAAmC,CAAC,CACpE,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;SACH;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,iCAAiC,CAC/B,OAGS,EACT,MAE2C,EAC3C,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAC/B,6CAA6C,CAC9C,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACf;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,2BAA2B,CACzB,OAGS,EACT,MAEqC,EACrC,WAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAC/B,uCAAuC,CACxC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACf;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAe,EACf,UAAsB,CAAC;IAEvB,IAAI,QAAQ,GAAG,gBAAgB,CAC7B,oBAAoB,EACpB,OAAO,EACP,OAAO,CAC0B,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,WAAW,GAAG,2BAA2B,CAAC,OAAO,CACrD,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,CACrB,CAAC;QACF,QAAQ,GAAG,IAAI,8BAA8B,CAAC,WAAW,CAAC,CAAC;QAC3D,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KACpE;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nimport { BigNumberish, Overrides } from \"ethers\";\nimport { Networkish } from \"ethers/providers\";\nimport {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n Trace,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n TypedCallTrace,\n toBlockTag,\n} from \"@sentio/sdk/eth\";\nimport { EthFetchConfig } from \"@sentio/protos\";\n\nimport { EACAggregatorProxy, EACAggregatorProxy__factory } from \"./index.js\";\nimport {\n AnswerUpdatedEvent,\n AnswerUpdatedEventFilter,\n NewRoundEvent,\n NewRoundEventFilter,\n OwnershipTransferRequestedEvent,\n OwnershipTransferRequestedEventFilter,\n OwnershipTransferredEvent,\n OwnershipTransferredEventFilter,\n} from \"./EACAggregatorProxy.js\";\n\nexport interface AcceptOwnershipCallObject {}\n\nexport type AcceptOwnershipCallTrace = TypedCallTrace<\n [],\n AcceptOwnershipCallObject\n> &\n Trace;\n\nexport interface AccessControllerCallObject {}\n\nexport type AccessControllerCallTrace = TypedCallTrace<\n [],\n AccessControllerCallObject\n> &\n Trace;\n\nexport interface AggregatorCallObject {}\n\nexport type AggregatorCallTrace = TypedCallTrace<[], AggregatorCallObject> &\n Trace;\n\nexport interface ConfirmAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ConfirmAggregatorCallTrace = TypedCallTrace<\n [string],\n ConfirmAggregatorCallObject\n> &\n Trace;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject> & Trace;\n\nexport interface DescriptionCallObject {}\n\nexport type DescriptionCallTrace = TypedCallTrace<[], DescriptionCallObject> &\n Trace;\n\nexport interface GetAnswerCallObject {\n _roundId: bigint;\n}\n\nexport type GetAnswerCallTrace = TypedCallTrace<[bigint], GetAnswerCallObject> &\n Trace;\n\nexport interface GetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type GetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n GetRoundDataCallObject\n> &\n Trace;\n\nexport interface GetTimestampCallObject {\n _roundId: bigint;\n}\n\nexport type GetTimestampCallTrace = TypedCallTrace<\n [bigint],\n GetTimestampCallObject\n> &\n Trace;\n\nexport interface LatestAnswerCallObject {}\n\nexport type LatestAnswerCallTrace = TypedCallTrace<[], LatestAnswerCallObject> &\n Trace;\n\nexport interface LatestRoundCallObject {}\n\nexport type LatestRoundCallTrace = TypedCallTrace<[], LatestRoundCallObject> &\n Trace;\n\nexport interface LatestRoundDataCallObject {}\n\nexport type LatestRoundDataCallTrace = TypedCallTrace<\n [],\n LatestRoundDataCallObject\n> &\n Trace;\n\nexport interface LatestTimestampCallObject {}\n\nexport type LatestTimestampCallTrace = TypedCallTrace<\n [],\n LatestTimestampCallObject\n> &\n Trace;\n\nexport interface OwnerCallObject {}\n\nexport type OwnerCallTrace = TypedCallTrace<[], OwnerCallObject> & Trace;\n\nexport interface PhaseAggregatorsCallObject {}\n\nexport type PhaseAggregatorsCallTrace = TypedCallTrace<\n [bigint],\n PhaseAggregatorsCallObject\n> &\n Trace;\n\nexport interface PhaseIdCallObject {}\n\nexport type PhaseIdCallTrace = TypedCallTrace<[], PhaseIdCallObject> & Trace;\n\nexport interface ProposeAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ProposeAggregatorCallTrace = TypedCallTrace<\n [string],\n ProposeAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedAggregatorCallObject {}\n\nexport type ProposedAggregatorCallTrace = TypedCallTrace<\n [],\n ProposedAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedGetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type ProposedGetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n ProposedGetRoundDataCallObject\n> &\n Trace;\n\nexport interface ProposedLatestRoundDataCallObject {}\n\nexport type ProposedLatestRoundDataCallTrace = TypedCallTrace<\n [],\n ProposedLatestRoundDataCallObject\n> &\n Trace;\n\nexport interface SetControllerCallObject {\n _accessController: string;\n}\n\nexport type SetControllerCallTrace = TypedCallTrace<\n [string],\n SetControllerCallObject\n> &\n Trace;\n\nexport interface TransferOwnershipCallObject {\n _to: string;\n}\n\nexport type TransferOwnershipCallTrace = TypedCallTrace<\n [string],\n TransferOwnershipCallObject\n> &\n Trace;\n\nexport interface VersionCallObject {}\n\nexport type VersionCallTrace = TypedCallTrace<[], VersionCallObject> & Trace;\n\nconst templateContract = EACAggregatorProxy__factory.connect(\n \"0x0\",\n DummyProvider\n);\n\nexport class EACAggregatorProxyContractView extends ContractView<EACAggregatorProxy> {\n constructor(contract: EACAggregatorProxy) {\n super(contract);\n }\n\n async accessController(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"accessController()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"aggregator()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"decimals()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async description(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"description()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getAnswer(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"getRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getTimestamp(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestAnswer()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestRound()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"latestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestTimestamp()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"owner()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n try {\n return await this.contract.getFunction(\"phaseAggregators(uint16)\")(\n arg0,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"phaseId()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"proposedAggregator()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedGetRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedLatestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"version()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n}\n\nexport class EACAggregatorProxyBoundContractView extends BoundContractView<\n EACAggregatorProxy,\n EACAggregatorProxyContractView\n> {\n async accessController(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.accessController(overrides || {});\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.aggregator(overrides || {});\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.decimals(overrides || {});\n }\n\n async description(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.description(overrides || {});\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getAnswer(_roundId, overrides || {});\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getRoundData(_roundId, overrides || {});\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getTimestamp(_roundId, overrides || {});\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestAnswer(overrides || {});\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestRound(overrides || {});\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestRoundData(overrides || {});\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestTimestamp(overrides || {});\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.owner(overrides || {});\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.phaseAggregators(arg0, overrides || {});\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.phaseId(overrides || {});\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedAggregator(overrides || {});\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedGetRoundData(_roundId, overrides || {});\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedLatestRoundData(overrides || {});\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.version(overrides || {});\n }\n}\n\nexport type EACAggregatorProxyContext = ContractContext<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n>;\n\nexport class EACAggregatorProxyProcessor extends BaseProcessor<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onCallAcceptOwnership(\n handler: (\n call: AcceptOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x79ba5097\", handler, fetchConfig);\n }\n\n onCallAccessController(\n handler: (\n call: AccessControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xbc43cbaf\", handler, fetchConfig);\n }\n\n onCallAggregator(\n handler: (\n call: AggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x245a7bfc\", handler, fetchConfig);\n }\n\n onCallConfirmAggregator(\n handler: (\n call: ConfirmAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xa928c096\", handler, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x313ce567\", handler, fetchConfig);\n }\n\n onCallDescription(\n handler: (\n call: DescriptionCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x7284e416\", handler, fetchConfig);\n }\n\n onCallGetAnswer(\n handler: (call: GetAnswerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xb5ab58dc\", handler, fetchConfig);\n }\n\n onCallGetRoundData(\n handler: (\n call: GetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x9a6fc8f5\", handler, fetchConfig);\n }\n\n onCallGetTimestamp(\n handler: (\n call: GetTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xb633620c\", handler, fetchConfig);\n }\n\n onCallLatestAnswer(\n handler: (\n call: LatestAnswerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x50d25bcd\", handler, fetchConfig);\n }\n\n onCallLatestRound(\n handler: (\n call: LatestRoundCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x668a0f02\", handler, fetchConfig);\n }\n\n onCallLatestRoundData(\n handler: (\n call: LatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xfeaf968c\", handler, fetchConfig);\n }\n\n onCallLatestTimestamp(\n handler: (\n call: LatestTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x8205bf6a\", handler, fetchConfig);\n }\n\n onCallOwner(\n handler: (call: OwnerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x8da5cb5b\", handler, fetchConfig);\n }\n\n onCallPhaseAggregators(\n handler: (\n call: PhaseAggregatorsCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xc1597304\", handler, fetchConfig);\n }\n\n onCallPhaseId(\n handler: (call: PhaseIdCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x58303b10\", handler, fetchConfig);\n }\n\n onCallProposeAggregator(\n handler: (\n call: ProposeAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xf8a2abd3\", handler, fetchConfig);\n }\n\n onCallProposedAggregator(\n handler: (\n call: ProposedAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xe8c4be30\", handler, fetchConfig);\n }\n\n onCallProposedGetRoundData(\n handler: (\n call: ProposedGetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x6001ac53\", handler, fetchConfig);\n }\n\n onCallProposedLatestRoundData(\n handler: (\n call: ProposedLatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x8f6b4d91\", handler, fetchConfig);\n }\n\n onCallSetController(\n handler: (\n call: SetControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x92eefe9b\", handler, fetchConfig);\n }\n\n onCallTransferOwnership(\n handler: (\n call: TransferOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xf2fde38b\", handler, fetchConfig);\n }\n\n onCallVersion(\n handler: (call: VersionCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x54fd4d50\", handler, fetchConfig);\n }\n\n public static filters = {\n AnswerUpdated(\n current?: BigNumberish | null,\n roundId?: BigNumberish | null,\n updatedAt?: null\n ) {\n return templateContract.filters[\"AnswerUpdated(int256,uint256,uint256)\"](\n current,\n roundId,\n updatedAt\n );\n },\n NewRound(\n roundId?: BigNumberish | null,\n startedBy?: string | null,\n startedAt?: null\n ) {\n return templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n roundId,\n startedBy,\n startedAt\n );\n },\n OwnershipTransferRequested(from?: string | null, to?: string | null) {\n return templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](from, to);\n },\n OwnershipTransferred(from?: string | null, to?: string | null) {\n return templateContract.filters[\"OwnershipTransferred(address,address)\"](\n from,\n to\n );\n },\n };\n\n protected CreateBoundContractView(): EACAggregatorProxyBoundContractView {\n const view = getEACAggregatorProxyContract(\n this.config.address,\n this.config.network\n );\n return new EACAggregatorProxyBoundContractView(this.config.address, view);\n }\n\n public static bind(options: BindOptions): EACAggregatorProxyProcessor {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n}\n\nexport class EACAggregatorProxyProcessorTemplate extends BaseProcessorTemplate<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getEACAggregatorProxyContract(\n address: string,\n network: Networkish = 1\n): EACAggregatorProxyContractView {\n let contract = getContractByABI(\n \"EACAggregatorProxy\",\n address,\n network\n ) as EACAggregatorProxyContractView;\n if (!contract) {\n const rawContract = EACAggregatorProxy__factory.connect(\n address,\n getProvider(network)\n );\n contract = new EACAggregatorProxyContractView(rawContract);\n addContractByABI(\"EACAggregatorProxy\", address, network, contract);\n }\n return contract;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"eacaggregatorproxy-processor.js","sourceRoot":"","sources":["../../../../src/eth/builtin/internal/eacaggregatorproxy-processor.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nimport { BigNumberish, Overrides } from \"ethers\";\nimport { Networkish } from \"ethers/providers\";\nimport {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n Trace,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n TypedCallTrace,\n toBlockTag,\n} from \"@sentio/sdk/eth\";\nimport { EthFetchConfig } from \"@sentio/protos\";\n\nimport { EACAggregatorProxy, EACAggregatorProxy__factory } from \"./index.js\";\nimport {\n AnswerUpdatedEvent,\n AnswerUpdatedEventFilter,\n NewRoundEvent,\n NewRoundEventFilter,\n OwnershipTransferRequestedEvent,\n OwnershipTransferRequestedEventFilter,\n OwnershipTransferredEvent,\n OwnershipTransferredEventFilter,\n} from \"./EACAggregatorProxy.js\";\n\nexport interface AcceptOwnershipCallObject {}\n\nexport type AcceptOwnershipCallTrace = TypedCallTrace<\n [],\n AcceptOwnershipCallObject\n> &\n Trace;\n\nexport interface AccessControllerCallObject {}\n\nexport type AccessControllerCallTrace = TypedCallTrace<\n [],\n AccessControllerCallObject\n> &\n Trace;\n\nexport interface AggregatorCallObject {}\n\nexport type AggregatorCallTrace = TypedCallTrace<[], AggregatorCallObject> &\n Trace;\n\nexport interface ConfirmAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ConfirmAggregatorCallTrace = TypedCallTrace<\n [string],\n ConfirmAggregatorCallObject\n> &\n Trace;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject> & Trace;\n\nexport interface DescriptionCallObject {}\n\nexport type DescriptionCallTrace = TypedCallTrace<[], DescriptionCallObject> &\n Trace;\n\nexport interface GetAnswerCallObject {\n _roundId: bigint;\n}\n\nexport type GetAnswerCallTrace = TypedCallTrace<[bigint], GetAnswerCallObject> &\n Trace;\n\nexport interface GetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type GetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n GetRoundDataCallObject\n> &\n Trace;\n\nexport interface GetTimestampCallObject {\n _roundId: bigint;\n}\n\nexport type GetTimestampCallTrace = TypedCallTrace<\n [bigint],\n GetTimestampCallObject\n> &\n Trace;\n\nexport interface LatestAnswerCallObject {}\n\nexport type LatestAnswerCallTrace = TypedCallTrace<[], LatestAnswerCallObject> &\n Trace;\n\nexport interface LatestRoundCallObject {}\n\nexport type LatestRoundCallTrace = TypedCallTrace<[], LatestRoundCallObject> &\n Trace;\n\nexport interface LatestRoundDataCallObject {}\n\nexport type LatestRoundDataCallTrace = TypedCallTrace<\n [],\n LatestRoundDataCallObject\n> &\n Trace;\n\nexport interface LatestTimestampCallObject {}\n\nexport type LatestTimestampCallTrace = TypedCallTrace<\n [],\n LatestTimestampCallObject\n> &\n Trace;\n\nexport interface OwnerCallObject {}\n\nexport type OwnerCallTrace = TypedCallTrace<[], OwnerCallObject> & Trace;\n\nexport interface PhaseAggregatorsCallObject {}\n\nexport type PhaseAggregatorsCallTrace = TypedCallTrace<\n [bigint],\n PhaseAggregatorsCallObject\n> &\n Trace;\n\nexport interface PhaseIdCallObject {}\n\nexport type PhaseIdCallTrace = TypedCallTrace<[], PhaseIdCallObject> & Trace;\n\nexport interface ProposeAggregatorCallObject {\n _aggregator: string;\n}\n\nexport type ProposeAggregatorCallTrace = TypedCallTrace<\n [string],\n ProposeAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedAggregatorCallObject {}\n\nexport type ProposedAggregatorCallTrace = TypedCallTrace<\n [],\n ProposedAggregatorCallObject\n> &\n Trace;\n\nexport interface ProposedGetRoundDataCallObject {\n _roundId: bigint;\n}\n\nexport type ProposedGetRoundDataCallTrace = TypedCallTrace<\n [bigint],\n ProposedGetRoundDataCallObject\n> &\n Trace;\n\nexport interface ProposedLatestRoundDataCallObject {}\n\nexport type ProposedLatestRoundDataCallTrace = TypedCallTrace<\n [],\n ProposedLatestRoundDataCallObject\n> &\n Trace;\n\nexport interface SetControllerCallObject {\n _accessController: string;\n}\n\nexport type SetControllerCallTrace = TypedCallTrace<\n [string],\n SetControllerCallObject\n> &\n Trace;\n\nexport interface TransferOwnershipCallObject {\n _to: string;\n}\n\nexport type TransferOwnershipCallTrace = TypedCallTrace<\n [string],\n TransferOwnershipCallObject\n> &\n Trace;\n\nexport interface VersionCallObject {}\n\nexport type VersionCallTrace = TypedCallTrace<[], VersionCallObject> & Trace;\n\nconst templateContract = EACAggregatorProxy__factory.connect(\n \"0x0\",\n DummyProvider\n);\n\nexport class EACAggregatorProxyContractView extends ContractView<EACAggregatorProxy> {\n constructor(contract: EACAggregatorProxy) {\n super(contract);\n }\n\n async accessController(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"accessController()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"aggregator()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"decimals()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async description(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"description()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getAnswer(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"getRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"getTimestamp(uint256)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestAnswer()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestRound()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"latestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"latestTimestamp()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"owner()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n try {\n return await this.contract.getFunction(\"phaseAggregators(uint16)\")(\n arg0,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"phaseId()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"proposedAggregator()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedGetRoundData(uint80)\")(\n _roundId,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n try {\n return await this.contract.getFunction(\"proposedLatestRoundData()\")(\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"version()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n}\n\nexport class EACAggregatorProxyBoundContractView extends BoundContractView<\n EACAggregatorProxy,\n EACAggregatorProxyContractView\n> {\n async accessController(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.accessController(overrides || {});\n }\n\n async aggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.aggregator(overrides || {});\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.decimals(overrides || {});\n }\n\n async description(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.description(overrides || {});\n }\n\n async getAnswer(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getAnswer(_roundId, overrides || {});\n }\n\n async getRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getRoundData(_roundId, overrides || {});\n }\n\n async getTimestamp(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.getTimestamp(_roundId, overrides || {});\n }\n\n async latestAnswer(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestAnswer(overrides || {});\n }\n\n async latestRound(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestRound(overrides || {});\n }\n\n async latestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestRoundData(overrides || {});\n }\n\n async latestTimestamp(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.latestTimestamp(overrides || {});\n }\n\n async owner(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.owner(overrides || {});\n }\n\n async phaseAggregators(\n arg0: BigNumberish,\n overrides?: Overrides\n ): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.phaseAggregators(arg0, overrides || {});\n }\n\n async phaseId(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.phaseId(overrides || {});\n }\n\n async proposedAggregator(overrides?: Overrides): Promise<string> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedAggregator(overrides || {});\n }\n\n async proposedGetRoundData(\n _roundId: BigNumberish,\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedGetRoundData(_roundId, overrides || {});\n }\n\n async proposedLatestRoundData(\n overrides?: Overrides\n ): Promise<\n [bigint, bigint, bigint, bigint, bigint] & {\n roundId: bigint;\n answer: bigint;\n startedAt: bigint;\n updatedAt: bigint;\n answeredInRound: bigint;\n }\n > {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.proposedLatestRoundData(overrides || {});\n }\n\n async version(overrides?: Overrides): Promise<bigint> {\n if (!overrides && this.context) {\n overrides = {\n blockTag: toBlockTag(this.context.blockNumber),\n };\n }\n return await this.view.version(overrides || {});\n }\n}\n\nexport type EACAggregatorProxyContext = ContractContext<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n>;\n\nexport class EACAggregatorProxyProcessor extends BaseProcessor<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onCallAcceptOwnership(\n handler: (\n call: AcceptOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x79ba5097\", handler, fetchConfig);\n }\n\n onCallAccessController(\n handler: (\n call: AccessControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xbc43cbaf\", handler, fetchConfig);\n }\n\n onCallAggregator(\n handler: (\n call: AggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x245a7bfc\", handler, fetchConfig);\n }\n\n onCallConfirmAggregator(\n handler: (\n call: ConfirmAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xa928c096\", handler, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x313ce567\", handler, fetchConfig);\n }\n\n onCallDescription(\n handler: (\n call: DescriptionCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x7284e416\", handler, fetchConfig);\n }\n\n onCallGetAnswer(\n handler: (call: GetAnswerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xb5ab58dc\", handler, fetchConfig);\n }\n\n onCallGetRoundData(\n handler: (\n call: GetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x9a6fc8f5\", handler, fetchConfig);\n }\n\n onCallGetTimestamp(\n handler: (\n call: GetTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xb633620c\", handler, fetchConfig);\n }\n\n onCallLatestAnswer(\n handler: (\n call: LatestAnswerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x50d25bcd\", handler, fetchConfig);\n }\n\n onCallLatestRound(\n handler: (\n call: LatestRoundCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x668a0f02\", handler, fetchConfig);\n }\n\n onCallLatestRoundData(\n handler: (\n call: LatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xfeaf968c\", handler, fetchConfig);\n }\n\n onCallLatestTimestamp(\n handler: (\n call: LatestTimestampCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x8205bf6a\", handler, fetchConfig);\n }\n\n onCallOwner(\n handler: (call: OwnerCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x8da5cb5b\", handler, fetchConfig);\n }\n\n onCallPhaseAggregators(\n handler: (\n call: PhaseAggregatorsCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xc1597304\", handler, fetchConfig);\n }\n\n onCallPhaseId(\n handler: (call: PhaseIdCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x58303b10\", handler, fetchConfig);\n }\n\n onCallProposeAggregator(\n handler: (\n call: ProposeAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xf8a2abd3\", handler, fetchConfig);\n }\n\n onCallProposedAggregator(\n handler: (\n call: ProposedAggregatorCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xe8c4be30\", handler, fetchConfig);\n }\n\n onCallProposedGetRoundData(\n handler: (\n call: ProposedGetRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x6001ac53\", handler, fetchConfig);\n }\n\n onCallProposedLatestRoundData(\n handler: (\n call: ProposedLatestRoundDataCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x8f6b4d91\", handler, fetchConfig);\n }\n\n onCallSetController(\n handler: (\n call: SetControllerCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x92eefe9b\", handler, fetchConfig);\n }\n\n onCallTransferOwnership(\n handler: (\n call: TransferOwnershipCallTrace,\n ctx: EACAggregatorProxyContext\n ) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0xf2fde38b\", handler, fetchConfig);\n }\n\n onCallVersion(\n handler: (call: VersionCallTrace, ctx: EACAggregatorProxyContext) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"0x54fd4d50\", handler, fetchConfig);\n }\n\n public static filters = {\n AnswerUpdated(\n current?: BigNumberish | null,\n roundId?: BigNumberish | null,\n updatedAt?: null\n ) {\n return templateContract.filters[\"AnswerUpdated(int256,uint256,uint256)\"](\n current,\n roundId,\n updatedAt\n );\n },\n NewRound(\n roundId?: BigNumberish | null,\n startedBy?: string | null,\n startedAt?: null\n ) {\n return templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n roundId,\n startedBy,\n startedAt\n );\n },\n OwnershipTransferRequested(from?: string | null, to?: string | null) {\n return templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](from, to);\n },\n OwnershipTransferred(from?: string | null, to?: string | null) {\n return templateContract.filters[\"OwnershipTransferred(address,address)\"](\n from,\n to\n );\n },\n };\n\n protected CreateBoundContractView(): EACAggregatorProxyBoundContractView {\n const view = getEACAggregatorProxyContract(\n this.config.address,\n this.config.network\n );\n return new EACAggregatorProxyBoundContractView(this.config.address, view);\n }\n\n public static bind(options: BindOptions): EACAggregatorProxyProcessor {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n}\n\nexport class EACAggregatorProxyProcessorTemplate extends BaseProcessorTemplate<\n EACAggregatorProxy,\n EACAggregatorProxyBoundContractView\n> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"EACAggregatorProxy\";\n }\n let processor = getProcessor(options) as EACAggregatorProxyProcessor;\n if (!processor) {\n processor = new EACAggregatorProxyProcessor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n\n onEventAnswerUpdated(\n handler: (\n event: AnswerUpdatedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?: AnswerUpdatedEventFilter | AnswerUpdatedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"AnswerUpdated(int256,uint256,uint256)\"\n ](null, null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventNewRound(\n handler: (event: NewRoundEvent, ctx: EACAggregatorProxyContext) => void,\n filter?: NewRoundEventFilter | NewRoundEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\"NewRound(uint256,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferRequested(\n handler: (\n event: OwnershipTransferRequestedEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferRequestedEventFilter\n | OwnershipTransferRequestedEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferRequested(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n\n onEventOwnershipTransferred(\n handler: (\n event: OwnershipTransferredEvent,\n ctx: EACAggregatorProxyContext\n ) => void,\n filter?:\n | OwnershipTransferredEventFilter\n | OwnershipTransferredEventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters[\n \"OwnershipTransferred(address,address)\"\n ](null, null);\n }\n return super.onEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getEACAggregatorProxyContract(\n address: string,\n network: Networkish = 1\n): EACAggregatorProxyContractView {\n let contract = getContractByABI(\n \"EACAggregatorProxy\",\n address,\n network\n ) as EACAggregatorProxyContractView;\n if (!contract) {\n const rawContract = EACAggregatorProxy__factory.connect(\n address,\n getProvider(network)\n );\n contract = new EACAggregatorProxyContractView(rawContract);\n addContractByABI(\"EACAggregatorProxy\", address, network, contract);\n }\n return contract;\n}\n"]}
|
|
File without changes
|