@sentio/sdk 2.17.0 → 2.18.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/core/base-context.d.ts +2 -2
- package/lib/core/base-context.js +2 -2
- package/lib/core/base-context.js.map +1 -1
- package/lib/core/event-logger.d.ts +11 -1
- package/lib/core/event-logger.js +33 -12
- package/lib/core/event-logger.js.map +1 -1
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts +17 -0
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +88 -0
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.d.ts +13 -0
- package/lib/eth/builtin/internal/erc1155-processor.js +56 -0
- package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.d.ts +28 -1
- package/lib/eth/builtin/internal/erc20-processor.js +168 -0
- package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.d.ts +14 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.js +56 -0
- package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.d.ts +17 -0
- package/lib/eth/builtin/internal/erc721-processor.js +88 -0
- package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.d.ts +18 -1
- package/lib/eth/builtin/internal/weth9-processor.js +88 -0
- package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
- package/lib/eth/codegen/file.js +22 -4
- package/lib/eth/codegen/file.js.map +1 -1
- package/lib/eth/codegen/function-calls.d.ts +5 -0
- package/lib/eth/codegen/function-calls.js +64 -0
- package/lib/eth/codegen/function-calls.js.map +1 -0
- package/package.json +3 -3
- package/src/core/base-context.ts +3 -3
- package/src/core/event-logger.ts +39 -13
- package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +105 -0
- package/src/eth/builtin/internal/erc1155-processor.ts +111 -0
- package/src/eth/builtin/internal/erc20-processor.ts +228 -1
- package/src/eth/builtin/internal/erc20bytes-processor.ts +84 -1
- package/src/eth/builtin/internal/erc721-processor.ts +146 -0
- package/src/eth/builtin/internal/weth9-processor.ts +114 -1
- package/src/eth/codegen/file.ts +22 -4
- package/src/eth/codegen/function-calls.ts +78 -0
- package/lib/eth/codegen/view-function.d.ts +0 -5
- package/lib/eth/codegen/view-function.js +0 -60
- package/lib/eth/codegen/view-function.js.map +0 -1
- package/src/eth/codegen/view-function.ts +0 -71
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"weth9-processor.js","sourceRoot":"","sources":["../../../../src/eth/builtin/internal/weth9-processor.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nimport { Overrides } from \"ethers\";\nimport {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n EthChainId,\n TypedCallTrace,\n EthContext,\n EthFetchConfig,\n} from \"@sentio/sdk/eth\";\n\nimport { WETH9__factory } from \"./index.js\";\nimport {\n WETH9,\n ApprovalEvent,\n ApprovalEventFilter,\n TransferEvent,\n TransferEventFilter,\n DepositEvent,\n DepositEventFilter,\n WithdrawalEvent,\n WithdrawalEventFilter,\n} from \"./WETH9.js\";\n\nexport interface NameCallObject {}\n\nexport type NameCallTrace = TypedCallTrace<[], NameCallObject>;\n\nexport interface ApproveCallObject {\n guy: string;\n wad: bigint;\n}\n\nexport type ApproveCallTrace = TypedCallTrace<\n [string, bigint],\n ApproveCallObject\n>;\n\nexport interface TotalSupplyCallObject {}\n\nexport type TotalSupplyCallTrace = TypedCallTrace<[], TotalSupplyCallObject>;\n\nexport interface TransferFromCallObject {\n src: string;\n dst: string;\n wad: bigint;\n}\n\nexport type TransferFromCallTrace = TypedCallTrace<\n [string, string, bigint],\n TransferFromCallObject\n>;\n\nexport interface WithdrawCallObject {\n wad: bigint;\n}\n\nexport type WithdrawCallTrace = TypedCallTrace<[bigint], WithdrawCallObject>;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject>;\n\nexport interface BalanceOfCallObject {}\n\nexport type BalanceOfCallTrace = TypedCallTrace<[string], BalanceOfCallObject>;\n\nexport interface SymbolCallObject {}\n\nexport type SymbolCallTrace = TypedCallTrace<[], SymbolCallObject>;\n\nexport interface TransferCallObject {\n dst: string;\n wad: bigint;\n}\n\nexport type TransferCallTrace = TypedCallTrace<\n [string, bigint],\n TransferCallObject\n>;\n\nexport interface DepositCallObject {}\n\nexport type DepositCallTrace = TypedCallTrace<[], DepositCallObject>;\n\nexport interface AllowanceCallObject {}\n\nexport type AllowanceCallTrace = TypedCallTrace<\n [string, string],\n AllowanceCallObject\n>;\n\nconst templateContract = WETH9__factory.connect(\"0x0\", DummyProvider);\n\nexport class WETH9ContractView extends ContractView<WETH9> {\n constructor(contract: WETH9) {\n super(contract);\n }\n\n async name(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"name()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async totalSupply(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"totalSupply()\")(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 balanceOf(arg0: string, overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"balanceOf(address)\")(\n arg0,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async symbol(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"symbol()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async allowance(\n arg0: string,\n arg1: string,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"allowance(address,address)\")(\n arg0,\n arg1,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n}\n\nexport class WETH9BoundContractView extends BoundContractView<\n WETH9,\n WETH9ContractView\n> {\n async name(overrides?: Overrides): Promise<string> {\n return await this.view.name({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async totalSupply(overrides?: Overrides): Promise<bigint> {\n return await this.view.totalSupply({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n return await this.view.decimals({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async balanceOf(arg0: string, overrides?: Overrides): Promise<bigint> {\n return await this.view.balanceOf(arg0, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async symbol(overrides?: Overrides): Promise<string> {\n return await this.view.symbol({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async allowance(\n arg0: string,\n arg1: string,\n overrides?: Overrides\n ): Promise<bigint> {\n return await this.view.allowance(arg0, arg1, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n}\n\nexport type WETH9Context = ContractContext<WETH9, WETH9BoundContractView>;\n\nexport class WETH9Processor extends BaseProcessor<\n WETH9,\n WETH9BoundContractView\n> {\n onEventApproval(\n handler: (event: ApprovalEvent, ctx: WETH9Context) => void,\n filter?: ApprovalEventFilter | ApprovalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Approval(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventTransfer(\n handler: (event: TransferEvent, ctx: WETH9Context) => void,\n filter?: TransferEventFilter | TransferEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Transfer(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventDeposit(\n handler: (event: DepositEvent, ctx: WETH9Context) => void,\n filter?: DepositEventFilter | DepositEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Deposit(address,uint256)\"](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventWithdrawal(\n handler: (event: WithdrawalEvent, ctx: WETH9Context) => void,\n filter?: WithdrawalEventFilter | WithdrawalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Withdrawal(address,uint256)\"](\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onCallName(\n handler: (call: NameCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x06fdde03\", handler as any, fetchConfig);\n }\n\n onCallApprove(\n handler: (call: ApproveCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x095ea7b3\", handler as any, fetchConfig);\n }\n\n onCallTotalSupply(\n handler: (call: TotalSupplyCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x18160ddd\", handler as any, fetchConfig);\n }\n\n onCallTransferFrom(\n handler: (call: TransferFromCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x23b872dd\", handler as any, fetchConfig);\n }\n\n onCallWithdraw(\n handler: (call: WithdrawCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x2e1a7d4d\", handler as any, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x313ce567\", handler as any, fetchConfig);\n }\n\n onCallBalanceOf(\n handler: (call: BalanceOfCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x70a08231\", handler as any, fetchConfig);\n }\n\n onCallSymbol(\n handler: (call: SymbolCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x95d89b41\", handler as any, fetchConfig);\n }\n\n onCallTransfer(\n handler: (call: TransferCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xa9059cbb\", handler as any, fetchConfig);\n }\n\n onCallDeposit(\n handler: (call: DepositCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xd0e30db0\", handler as any, fetchConfig);\n }\n\n onCallAllowance(\n handler: (call: AllowanceCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xdd62ed3e\", handler as any, fetchConfig);\n }\n\n public static filters = {\n Approval(src?: string | null, guy?: string | null, wad?: null) {\n return templateContract.filters[\"Approval(address,address,uint256)\"](\n src,\n guy,\n wad\n );\n },\n Transfer(src?: string | null, dst?: string | null, wad?: null) {\n return templateContract.filters[\"Transfer(address,address,uint256)\"](\n src,\n dst,\n wad\n );\n },\n Deposit(dst?: string | null, wad?: null) {\n return templateContract.filters[\"Deposit(address,uint256)\"](dst, wad);\n },\n Withdrawal(src?: string | null, wad?: null) {\n return templateContract.filters[\"Withdrawal(address,uint256)\"](src, wad);\n },\n };\n\n protected CreateBoundContractView(): WETH9BoundContractView {\n const view = getWETH9Contract(this.config.network, this.config.address);\n return new WETH9BoundContractView(this.config.address, view);\n }\n\n public static bind(options: BindOptions): WETH9Processor {\n if (!options.name) {\n options.name = \"WETH9\";\n }\n let processor = getProcessor(options) as WETH9Processor;\n if (!processor) {\n processor = new WETH9Processor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n}\n\nexport class WETH9ProcessorTemplate extends BaseProcessorTemplate<\n WETH9,\n WETH9BoundContractView\n> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"WETH9\";\n }\n let processor = getProcessor(options) as WETH9Processor;\n if (!processor) {\n processor = new WETH9Processor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n\n onEventApproval(\n handler: (event: ApprovalEvent, ctx: WETH9Context) => void,\n filter?: ApprovalEventFilter | ApprovalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Approval(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventTransfer(\n handler: (event: TransferEvent, ctx: WETH9Context) => void,\n filter?: TransferEventFilter | TransferEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Transfer(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventDeposit(\n handler: (event: DepositEvent, ctx: WETH9Context) => void,\n filter?: DepositEventFilter | DepositEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Deposit(address,uint256)\"](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventWithdrawal(\n handler: (event: WithdrawalEvent, ctx: WETH9Context) => void,\n filter?: WithdrawalEventFilter | WithdrawalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Withdrawal(address,uint256)\"](\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getWETH9Contract(\n chainId: EthChainId,\n address: string\n): WETH9ContractView {\n let contract = getContractByABI(\n \"WETH9\",\n address,\n chainId\n ) as WETH9ContractView;\n if (!contract) {\n const rawContract = WETH9__factory.connect(address, getProvider(chainId));\n contract = new WETH9ContractView(rawContract);\n addContractByABI(\"WETH9\", address, chainId, contract);\n }\n return contract;\n}\n\nexport function getWETH9ContractOnContext(\n context: EthContext,\n address: string\n): WETH9BoundContractView {\n const view = getWETH9Contract(context.getChainId(), address);\n const boundView = new WETH9BoundContractView(address, view);\n boundView.context = context as any;\n return boundView;\n}\n"]}
|
1
|
+
{"version":3,"file":"weth9-processor.js","sourceRoot":"","sources":["../../../../src/eth/builtin/internal/weth9-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 {\n addContractByABI,\n getContractByABI,\n addProcessor,\n getProcessor,\n getProvider,\n transformEtherError,\n BindOptions,\n BaseProcessor,\n BaseProcessorTemplate,\n BoundContractView,\n ContractContext,\n ContractView,\n DummyProvider,\n EthChainId,\n TypedCallTrace,\n EthContext,\n EthFetchConfig,\n} from \"@sentio/sdk/eth\";\n\nimport { WETH9__factory } from \"./index.js\";\nimport {\n WETH9,\n ApprovalEvent,\n ApprovalEventFilter,\n TransferEvent,\n TransferEventFilter,\n DepositEvent,\n DepositEventFilter,\n WithdrawalEvent,\n WithdrawalEventFilter,\n} from \"./WETH9.js\";\n\nexport interface NameCallObject {}\n\nexport type NameCallTrace = TypedCallTrace<[], NameCallObject>;\n\nexport interface ApproveCallObject {\n guy: string;\n wad: bigint;\n}\n\nexport type ApproveCallTrace = TypedCallTrace<\n [string, bigint],\n ApproveCallObject\n>;\n\nexport interface TotalSupplyCallObject {}\n\nexport type TotalSupplyCallTrace = TypedCallTrace<[], TotalSupplyCallObject>;\n\nexport interface TransferFromCallObject {\n src: string;\n dst: string;\n wad: bigint;\n}\n\nexport type TransferFromCallTrace = TypedCallTrace<\n [string, string, bigint],\n TransferFromCallObject\n>;\n\nexport interface WithdrawCallObject {\n wad: bigint;\n}\n\nexport type WithdrawCallTrace = TypedCallTrace<[bigint], WithdrawCallObject>;\n\nexport interface DecimalsCallObject {}\n\nexport type DecimalsCallTrace = TypedCallTrace<[], DecimalsCallObject>;\n\nexport interface BalanceOfCallObject {}\n\nexport type BalanceOfCallTrace = TypedCallTrace<[string], BalanceOfCallObject>;\n\nexport interface SymbolCallObject {}\n\nexport type SymbolCallTrace = TypedCallTrace<[], SymbolCallObject>;\n\nexport interface TransferCallObject {\n dst: string;\n wad: bigint;\n}\n\nexport type TransferCallTrace = TypedCallTrace<\n [string, bigint],\n TransferCallObject\n>;\n\nexport interface DepositCallObject {}\n\nexport type DepositCallTrace = TypedCallTrace<[], DepositCallObject>;\n\nexport interface AllowanceCallObject {}\n\nexport type AllowanceCallTrace = TypedCallTrace<\n [string, string],\n AllowanceCallObject\n>;\n\nconst templateContract = WETH9__factory.connect(\"0x0\", DummyProvider);\n\nexport class WETH9ContractView extends ContractView<WETH9> {\n constructor(contract: WETH9) {\n super(contract);\n this.callStatic.contract = contract;\n }\n\n async name(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"name()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async totalSupply(overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"totalSupply()\")(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 balanceOf(arg0: string, overrides?: Overrides): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"balanceOf(address)\")(\n arg0,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async symbol(overrides?: Overrides): Promise<string> {\n try {\n return await this.contract.getFunction(\"symbol()\")(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n async allowance(\n arg0: string,\n arg1: string,\n overrides?: Overrides\n ): Promise<bigint> {\n try {\n return await this.contract.getFunction(\"allowance(address,address)\")(\n arg0,\n arg1,\n overrides || {}\n );\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n }\n\n callStatic = {\n contract: this.contract,\n\n async approve(\n guy: string,\n wad: BigNumberish,\n overrides?: Overrides\n ): Promise<boolean> {\n try {\n return await this.contract\n .getFunction(\"approve(address,uint256)\")\n .staticCall(guy, wad, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async transferFrom(\n src: string,\n dst: string,\n wad: BigNumberish,\n overrides?: Overrides\n ): Promise<boolean> {\n try {\n return await this.contract\n .getFunction(\"transferFrom(address,address,uint256)\")\n .staticCall(src, dst, wad, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async withdraw(wad: BigNumberish, overrides?: Overrides): Promise<void> {\n try {\n return await this.contract\n .getFunction(\"withdraw(uint256)\")\n .staticCall(wad, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async transfer(\n dst: string,\n wad: BigNumberish,\n overrides?: Overrides\n ): Promise<boolean> {\n try {\n return await this.contract\n .getFunction(\"transfer(address,uint256)\")\n .staticCall(dst, wad, overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n async deposit(overrides?: Overrides): Promise<void> {\n try {\n return await this.contract\n .getFunction(\"deposit()\")\n .staticCall(overrides || {});\n } catch (e) {\n throw transformEtherError(e, undefined);\n }\n },\n };\n}\n\nexport class WETH9BoundContractView extends BoundContractView<\n WETH9,\n WETH9ContractView\n> {\n async name(overrides?: Overrides): Promise<string> {\n return await this.view.name({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async totalSupply(overrides?: Overrides): Promise<bigint> {\n return await this.view.totalSupply({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async decimals(overrides?: Overrides): Promise<bigint> {\n return await this.view.decimals({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async balanceOf(arg0: string, overrides?: Overrides): Promise<bigint> {\n return await this.view.balanceOf(arg0, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async symbol(overrides?: Overrides): Promise<string> {\n return await this.view.symbol({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n async allowance(\n arg0: string,\n arg1: string,\n overrides?: Overrides\n ): Promise<bigint> {\n return await this.view.allowance(arg0, arg1, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n }\n\n callStatic = {\n view: this.view,\n context: this.context,\n\n async approve(\n guy: string,\n wad: BigNumberish,\n overrides?: Overrides\n ): Promise<boolean> {\n return await this.view.callStatic.approve(guy, wad, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async transferFrom(\n src: string,\n dst: string,\n wad: BigNumberish,\n overrides?: Overrides\n ): Promise<boolean> {\n return await this.view.callStatic.transferFrom(src, dst, wad, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async withdraw(wad: BigNumberish, overrides?: Overrides): Promise<void> {\n return await this.view.callStatic.withdraw(wad, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async transfer(\n dst: string,\n wad: BigNumberish,\n overrides?: Overrides\n ): Promise<boolean> {\n return await this.view.callStatic.transfer(dst, wad, {\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n async deposit(overrides?: Overrides): Promise<void> {\n return await this.view.callStatic.deposit({\n blockTag: this.context.blockNumber,\n ...overrides,\n });\n },\n };\n}\n\nexport type WETH9Context = ContractContext<WETH9, WETH9BoundContractView>;\n\nexport class WETH9Processor extends BaseProcessor<\n WETH9,\n WETH9BoundContractView\n> {\n onEventApproval(\n handler: (event: ApprovalEvent, ctx: WETH9Context) => void,\n filter?: ApprovalEventFilter | ApprovalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Approval(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventTransfer(\n handler: (event: TransferEvent, ctx: WETH9Context) => void,\n filter?: TransferEventFilter | TransferEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Transfer(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventDeposit(\n handler: (event: DepositEvent, ctx: WETH9Context) => void,\n filter?: DepositEventFilter | DepositEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Deposit(address,uint256)\"](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventWithdrawal(\n handler: (event: WithdrawalEvent, ctx: WETH9Context) => void,\n filter?: WithdrawalEventFilter | WithdrawalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Withdrawal(address,uint256)\"](\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onCallName(\n handler: (call: NameCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x06fdde03\", handler as any, fetchConfig);\n }\n\n onCallApprove(\n handler: (call: ApproveCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x095ea7b3\", handler as any, fetchConfig);\n }\n\n onCallTotalSupply(\n handler: (call: TotalSupplyCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x18160ddd\", handler as any, fetchConfig);\n }\n\n onCallTransferFrom(\n handler: (call: TransferFromCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x23b872dd\", handler as any, fetchConfig);\n }\n\n onCallWithdraw(\n handler: (call: WithdrawCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x2e1a7d4d\", handler as any, fetchConfig);\n }\n\n onCallDecimals(\n handler: (call: DecimalsCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x313ce567\", handler as any, fetchConfig);\n }\n\n onCallBalanceOf(\n handler: (call: BalanceOfCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x70a08231\", handler as any, fetchConfig);\n }\n\n onCallSymbol(\n handler: (call: SymbolCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0x95d89b41\", handler as any, fetchConfig);\n }\n\n onCallTransfer(\n handler: (call: TransferCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xa9059cbb\", handler as any, fetchConfig);\n }\n\n onCallDeposit(\n handler: (call: DepositCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xd0e30db0\", handler as any, fetchConfig);\n }\n\n onCallAllowance(\n handler: (call: AllowanceCallTrace, ctx: WETH9Context) => void,\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n return super.onEthTrace(\"0xdd62ed3e\", handler as any, fetchConfig);\n }\n\n public static filters = {\n Approval(src?: string | null, guy?: string | null, wad?: null) {\n return templateContract.filters[\"Approval(address,address,uint256)\"](\n src,\n guy,\n wad\n );\n },\n Transfer(src?: string | null, dst?: string | null, wad?: null) {\n return templateContract.filters[\"Transfer(address,address,uint256)\"](\n src,\n dst,\n wad\n );\n },\n Deposit(dst?: string | null, wad?: null) {\n return templateContract.filters[\"Deposit(address,uint256)\"](dst, wad);\n },\n Withdrawal(src?: string | null, wad?: null) {\n return templateContract.filters[\"Withdrawal(address,uint256)\"](src, wad);\n },\n };\n\n protected CreateBoundContractView(): WETH9BoundContractView {\n const view = getWETH9Contract(this.config.network, this.config.address);\n return new WETH9BoundContractView(this.config.address, view);\n }\n\n public static bind(options: BindOptions): WETH9Processor {\n if (!options.name) {\n options.name = \"WETH9\";\n }\n let processor = getProcessor(options) as WETH9Processor;\n if (!processor) {\n processor = new WETH9Processor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n}\n\nexport class WETH9ProcessorTemplate extends BaseProcessorTemplate<\n WETH9,\n WETH9BoundContractView\n> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"WETH9\";\n }\n let processor = getProcessor(options) as WETH9Processor;\n if (!processor) {\n processor = new WETH9Processor(options);\n addProcessor(options, processor);\n }\n return processor;\n }\n\n onEventApproval(\n handler: (event: ApprovalEvent, ctx: WETH9Context) => void,\n filter?: ApprovalEventFilter | ApprovalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Approval(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventTransfer(\n handler: (event: TransferEvent, ctx: WETH9Context) => void,\n filter?: TransferEventFilter | TransferEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Transfer(address,address,uint256)\"](\n null,\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventDeposit(\n handler: (event: DepositEvent, ctx: WETH9Context) => void,\n filter?: DepositEventFilter | DepositEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Deposit(address,uint256)\"](null, null);\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n\n onEventWithdrawal(\n handler: (event: WithdrawalEvent, ctx: WETH9Context) => void,\n filter?: WithdrawalEventFilter | WithdrawalEventFilter[],\n fetchConfig?: Partial<EthFetchConfig>\n ): this {\n if (!filter) {\n filter = templateContract.filters[\"Withdrawal(address,uint256)\"](\n null,\n null\n );\n }\n return super.onEthEvent(handler, filter!, fetchConfig);\n }\n}\n\nexport function getWETH9Contract(\n chainId: EthChainId,\n address: string\n): WETH9ContractView {\n let contract = getContractByABI(\n \"WETH9\",\n address,\n chainId\n ) as WETH9ContractView;\n if (!contract) {\n const rawContract = WETH9__factory.connect(address, getProvider(chainId));\n contract = new WETH9ContractView(rawContract);\n addContractByABI(\"WETH9\", address, chainId, contract);\n }\n return contract;\n}\n\nexport function getWETH9ContractOnContext(\n context: EthContext,\n address: string\n): WETH9BoundContractView {\n const view = getWETH9Contract(context.getChainId(), address);\n const boundView = new WETH9BoundContractView(address, view);\n boundView.context = context as any;\n return boundView;\n}\n"]}
|
package/lib/eth/codegen/file.js
CHANGED
@@ -2,7 +2,7 @@ import { createImportsForUsedIdentifiers, getFullSignatureAsSymbolForEvent, getF
|
|
2
2
|
import { reservedKeywords } from '@sentio/ethers-v6/dist/codegen/reserved-keywords.js';
|
3
3
|
import { codegenCallTraceTypes, generateCallHandlers } from './functions-handler.js';
|
4
4
|
import { generateEventFilters, generateEventHandlers } from './event-handler.js';
|
5
|
-
import { generateBoundViewFunctions, generateViewFunctions } from './
|
5
|
+
import { generateBoundViewFunctions, generateViewFunctions } from './function-calls.js';
|
6
6
|
export function codeGenIndex(contract) {
|
7
7
|
return `
|
8
8
|
export * from './internal/${contract.name.toLowerCase()}-processor.js'
|
@@ -20,23 +20,41 @@ export function codeGenSentioFile(contract) {
|
|
20
20
|
export class ${contract.name}ContractView extends ContractView<${contract.name}> {
|
21
21
|
constructor (contract: ${contract.name}) {
|
22
22
|
super(contract);
|
23
|
+
this.callStatic.contract = contract;
|
23
24
|
}
|
24
25
|
|
25
26
|
${Object.values(contract.functions)
|
26
27
|
.filter((f) => !reservedKeywords.has(f[0].name))
|
27
|
-
.
|
28
|
+
.flatMap((fs) => generateViewFunctions(true, fs))
|
28
29
|
.join('\n')}
|
30
|
+
|
31
|
+
callStatic = {
|
32
|
+
contract: this.contract,
|
33
|
+
${Object.values(contract.functions)
|
34
|
+
.filter((f) => !reservedKeywords.has(f[0].name))
|
35
|
+
.flatMap((fs) => generateViewFunctions(false, fs))
|
36
|
+
.join(',\n')}
|
37
|
+
}
|
29
38
|
}
|
30
39
|
|
31
40
|
export class ${contract.name}BoundContractView extends BoundContractView<${contract.name},
|
32
41
|
${contract.name}ContractView> {
|
33
42
|
${Object.values(contract.functions)
|
34
43
|
.filter((f) => !reservedKeywords.has(f[0].name))
|
35
|
-
.
|
44
|
+
.flatMap((fs) => generateBoundViewFunctions(true, fs))
|
36
45
|
.join('\n')}
|
46
|
+
|
47
|
+
callStatic = {
|
48
|
+
view: this.view,
|
49
|
+
context: this.context,
|
50
|
+
${Object.values(contract.functions)
|
51
|
+
.filter((f) => !reservedKeywords.has(f[0].name))
|
52
|
+
.flatMap((fs) => generateBoundViewFunctions(false, fs))
|
53
|
+
.join(',\n')}
|
54
|
+
}
|
37
55
|
}
|
38
56
|
|
39
|
-
|
57
|
+
export type ${contract.name}Context = ContractContext<${contract.name}, ${contract.name}BoundContractView>
|
40
58
|
|
41
59
|
export class ${contract.name}Processor extends BaseProcessor<${contract.name}, ${contract.name}BoundContractView> {
|
42
60
|
${Object.values(contract.events)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/eth/codegen/file.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Contract,\n createImportsForUsedIdentifiers,\n EventDeclaration,\n getFullSignatureAsSymbolForEvent,\n getFullSignatureForEvent,\n} from 'typechain'\n\nimport { reservedKeywords } from '@sentio/ethers-v6/dist/codegen/reserved-keywords.js'\nimport { codegenCallTraceTypes, generateCallHandlers } from './functions-handler.js'\nimport { generateEventFilters, generateEventHandlers } from './event-handler.js'\nimport { generateBoundViewFunctions, generateViewFunctions } from './view-function.js'\n\nexport function codeGenIndex(contract: Contract): string {\n return ` \n export * from './internal/${contract.name.toLowerCase()}-processor.js'\n export * from './internal/${contract.name.toLowerCase()}-test-utils.js'\n export * from './internal/${contract.name}.js'\n export * from './internal/factories/${contract.name}__factory.js'\n `\n}\n\nexport function codeGenSentioFile(contract: Contract): string {\n const source = `\n ${Object.values(contract.functions).map(codegenCallTraceTypes).join('\\n')}\n\n const templateContract = ${contract.name}__factory.connect(\"0x0\", DummyProvider)\n\n export class ${contract.name}ContractView extends ContractView<${contract.name}> {\n constructor (contract: ${contract.name}) {\n super(contract);\n }\n\n ${Object.values(contract.functions)\n .filter((f) => !reservedKeywords.has(f[0].name))\n .map((fs) => generateViewFunctions(fs))\n .join('\\n')}\n }\n \n export class ${contract.name}BoundContractView extends BoundContractView<${contract.name}, \n ${contract.name}ContractView> {\n ${Object.values(contract.functions)\n .filter((f) => !reservedKeywords.has(f[0].name))\n .map((fs) => generateBoundViewFunctions(fs))\n .join('\\n')}\n }\n\n export type ${contract.name}Context = ContractContext<${contract.name}, ${contract.name}BoundContractView>\n\n export class ${contract.name}Processor extends BaseProcessor<${contract.name}, ${contract.name}BoundContractView> {\n ${Object.values(contract.events)\n .map((events) => generateEventHandlers(events, contract.name))\n .join('\\n')}\n\n ${Object.values(contract.functions)\n .map((f) => generateCallHandlers(f, contract.name))\n .join('\\n')}\n\n public static filters = {\n ${Object.values(contract.events)\n .map((events) => generateEventFilters(events))\n .join(',')}\n }\n \n protected CreateBoundContractView(): ${contract.name}BoundContractView {\n const view = get${contract.name}Contract(this.config.network, this.config.address)\n return new ${contract.name}BoundContractView(this.config.address, view)\n }\n\n public static bind(options: BindOptions): ${contract.name}Processor {\n if (!options.name) {\n options.name = \"${contract.name}\"\n }\n let processor = getProcessor(options) as ${contract.name}Processor\n if (!processor) {\n processor = new ${contract.name}Processor(options)\n addProcessor(options, processor)\n }\n return processor\n }\n}\n\nexport class ${contract.name}ProcessorTemplate extends BaseProcessorTemplate<${contract.name}, ${\n contract.name\n }BoundContractView> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"${contract.name}\"\n }\n let processor = getProcessor(options) as ${contract.name}Processor\n if (!processor) {\n processor = new ${contract.name}Processor(options)\n addProcessor(options, processor)\n }\n return processor\n }\n\n ${Object.values(contract.events)\n .map((events) => generateEventHandlers(events, contract.name))\n .join('\\n')}\n \n ${Object.values(contract.functions)\n .map((functions) => {\n generateCallHandlers(functions, contract.name)\n })\n .join('\\n')}\n }\n\n export function get${contract.name}Contract(chainId: EthChainId, address: string): ${contract.name}ContractView {\n let contract = getContractByABI(\"${contract.name}\", address, chainId) as ${contract.name}ContractView\n if (!contract) {\n const rawContract = ${contract.name}__factory.connect(address, getProvider(chainId))\n contract = new ${contract.name}ContractView(rawContract)\n addContractByABI(\"${contract.name}\", address, chainId, contract)\n }\n return contract\n }\n \n export function get${contract.name}ContractOnContext(context: EthContext, address: string): \n ${contract.name}BoundContractView {\n const view = get${contract.name}Contract(context.getChainId(), address)\n const boundView = new ${contract.name}BoundContractView(address, view) \n boundView.context = context as any;\n return boundView;\n }\n `\n const eventsImports = Object.values(contract.events).flatMap((events) => {\n if (events.length === 1) {\n return [`${events[0].name}Event`, `${events[0].name}EventFilter`]\n } else {\n return events.flatMap((e) => [\n `${getFullSignatureAsSymbolForEvent(e)}_Event`,\n `${getFullSignatureAsSymbolForEvent(e)}_EventFilter`,\n ])\n }\n })\n\n const structImports = Object.values(contract.structs).flatMap((structs) => {\n return structs.flatMap((s) => {\n if (!s.structName) {\n return []\n }\n if (s.structName.namespace) {\n return [s.structName.namespace]\n } else {\n return [s.structName.identifier + 'StructOutput', s.structName.identifier + 'Struct']\n }\n })\n })\n // dedup namespace\n const uniqueStructImports = [...new Set(structImports)]\n\n const imports = createImportsForUsedIdentifiers(\n {\n ethers: ['BigNumberish', 'Overrides', 'BytesLike'],\n // 'ethers/providers': ['Networkish'],\n '@sentio/sdk/eth': [\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 'EthChainId',\n 'TypedCallTrace',\n 'EthContext',\n 'EthFetchConfig',\n ],\n // '@sentio/sdk/eth': ['BaseContext'],\n // '@sentio/protos': ['EthFetchConfig'],\n './common.js': ['PromiseOrValue'],\n './index.js': [`${contract.name}__factory`],\n [`./${contract.name}.js`]: [`${contract.name}`, ...eventsImports, ...uniqueStructImports],\n },\n source\n )\n\n return imports + source\n}\n\nexport function codeGenTestUtilsFile(contract: Contract): string {\n const source = `\n const mockField = {\n blockHash:\n \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n blockNumber: 0,\n logIndex: 0,\n removed: false,\n transactionHash:\n \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n transactionIndex: 0,\n }\n ${Object.values(contract.events)\n .map((events) => {\n if (events.length === 1) {\n return generateMockEventLogFunction(events[0], contract.name, false)\n } else {\n return events.map((e) => generateMockEventLogFunction(e, contract.name, true)).join('\\n')\n }\n })\n .join('\\n')}\n `\n\n const possibleImports = {\n 'ethers/providers': ['LogParams'],\n '@sentio/sdk/eth': ['EthChainId'],\n } as any\n possibleImports[`./${contract.name}.js`] = Object.values(contract.events).flatMap((events) => {\n if (events.length === 1) {\n return `${events[0].name}EventObject`\n } else {\n return events.flatMap((e) => `${getFullSignatureAsSymbolForEvent(e)}_EventObject`)\n }\n })\n\n possibleImports[`./${contract.name.toLowerCase()}-processor.js`] = [`get${contract.name}Contract`]\n\n const imports = createImportsForUsedIdentifiers(possibleImports, source)\n\n return imports + source\n}\n\nfunction generateMockEventLogFunction(event: EventDeclaration, contractName: string, includeArgTypes: boolean): string {\n let eventName = event.name\n if (includeArgTypes) {\n eventName = getFullSignatureAsSymbolForEvent(event) + '_'\n }\n\n const eventArgs = event.inputs.map((input, i) => `event.${input.name ?? `arg${i.toString()}`}`)\n\n return `\n export function mock${eventName}Log(contractAddress: string, event: ${eventName}EventObject): LogParams {\n const contract = get${contractName}Contract(EthChainId.ETHEREUM, contractAddress)\n const encodedLog = contract.rawContract.interface.encodeEventLog(\n '${getFullSignatureForEvent(event)}',\n [${eventArgs.join(', ')}]\n )\n return {\n ...mockField,\n index: 0,\n address: contractAddress,\n data: encodedLog.data,\n topics: encodedLog.topics,\n }\n }\n `\n}\n"]}
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/eth/codegen/file.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Contract,\n createImportsForUsedIdentifiers,\n EventDeclaration,\n getFullSignatureAsSymbolForEvent,\n getFullSignatureForEvent,\n} from 'typechain'\n\nimport { reservedKeywords } from '@sentio/ethers-v6/dist/codegen/reserved-keywords.js'\nimport { codegenCallTraceTypes, generateCallHandlers } from './functions-handler.js'\nimport { generateEventFilters, generateEventHandlers } from './event-handler.js'\nimport { generateBoundViewFunctions, generateViewFunctions } from './function-calls.js'\n\nexport function codeGenIndex(contract: Contract): string {\n return ` \n export * from './internal/${contract.name.toLowerCase()}-processor.js'\n export * from './internal/${contract.name.toLowerCase()}-test-utils.js'\n export * from './internal/${contract.name}.js'\n export * from './internal/factories/${contract.name}__factory.js'\n `\n}\n\nexport function codeGenSentioFile(contract: Contract): string {\n const source = `\n ${Object.values(contract.functions).map(codegenCallTraceTypes).join('\\n')}\n\n const templateContract = ${contract.name}__factory.connect(\"0x0\", DummyProvider)\n\n export class ${contract.name}ContractView extends ContractView<${contract.name}> {\n constructor (contract: ${contract.name}) {\n super(contract);\n this.callStatic.contract = contract;\n }\n\n ${Object.values(contract.functions)\n .filter((f) => !reservedKeywords.has(f[0].name))\n .flatMap((fs) => generateViewFunctions(true, fs))\n .join('\\n')}\n \n callStatic = {\n contract: this.contract,\n ${Object.values(contract.functions)\n .filter((f) => !reservedKeywords.has(f[0].name))\n .flatMap((fs) => generateViewFunctions(false, fs))\n .join(',\\n')}\n }\n }\n \n export class ${contract.name}BoundContractView extends BoundContractView<${contract.name}, \n ${contract.name}ContractView> {\n ${Object.values(contract.functions)\n .filter((f) => !reservedKeywords.has(f[0].name))\n .flatMap((fs) => generateBoundViewFunctions(true, fs))\n .join('\\n')}\n \n callStatic = {\n view: this.view,\n context: this.context,\n ${Object.values(contract.functions)\n .filter((f) => !reservedKeywords.has(f[0].name))\n .flatMap((fs) => generateBoundViewFunctions(false, fs))\n .join(',\\n')}\n }\n }\n\n export type ${contract.name}Context = ContractContext<${contract.name}, ${contract.name}BoundContractView>\n\n export class ${contract.name}Processor extends BaseProcessor<${contract.name}, ${contract.name}BoundContractView> {\n ${Object.values(contract.events)\n .map((events) => generateEventHandlers(events, contract.name))\n .join('\\n')}\n\n ${Object.values(contract.functions)\n .map((f) => generateCallHandlers(f, contract.name))\n .join('\\n')}\n\n public static filters = {\n ${Object.values(contract.events)\n .map((events) => generateEventFilters(events))\n .join(',')}\n }\n \n protected CreateBoundContractView(): ${contract.name}BoundContractView {\n const view = get${contract.name}Contract(this.config.network, this.config.address)\n return new ${contract.name}BoundContractView(this.config.address, view)\n }\n\n public static bind(options: BindOptions): ${contract.name}Processor {\n if (!options.name) {\n options.name = \"${contract.name}\"\n }\n let processor = getProcessor(options) as ${contract.name}Processor\n if (!processor) {\n processor = new ${contract.name}Processor(options)\n addProcessor(options, processor)\n }\n return processor\n }\n}\n\nexport class ${contract.name}ProcessorTemplate extends BaseProcessorTemplate<${contract.name}, ${\n contract.name\n }BoundContractView> {\n bindInternal(options: BindOptions) {\n if (!options.name) {\n options.name = \"${contract.name}\"\n }\n let processor = getProcessor(options) as ${contract.name}Processor\n if (!processor) {\n processor = new ${contract.name}Processor(options)\n addProcessor(options, processor)\n }\n return processor\n }\n\n ${Object.values(contract.events)\n .map((events) => generateEventHandlers(events, contract.name))\n .join('\\n')}\n \n ${Object.values(contract.functions)\n .map((functions) => {\n generateCallHandlers(functions, contract.name)\n })\n .join('\\n')}\n }\n\n export function get${contract.name}Contract(chainId: EthChainId, address: string): ${contract.name}ContractView {\n let contract = getContractByABI(\"${contract.name}\", address, chainId) as ${contract.name}ContractView\n if (!contract) {\n const rawContract = ${contract.name}__factory.connect(address, getProvider(chainId))\n contract = new ${contract.name}ContractView(rawContract)\n addContractByABI(\"${contract.name}\", address, chainId, contract)\n }\n return contract\n }\n \n export function get${contract.name}ContractOnContext(context: EthContext, address: string): \n ${contract.name}BoundContractView {\n const view = get${contract.name}Contract(context.getChainId(), address)\n const boundView = new ${contract.name}BoundContractView(address, view) \n boundView.context = context as any;\n return boundView;\n }\n `\n const eventsImports = Object.values(contract.events).flatMap((events) => {\n if (events.length === 1) {\n return [`${events[0].name}Event`, `${events[0].name}EventFilter`]\n } else {\n return events.flatMap((e) => [\n `${getFullSignatureAsSymbolForEvent(e)}_Event`,\n `${getFullSignatureAsSymbolForEvent(e)}_EventFilter`,\n ])\n }\n })\n\n const structImports = Object.values(contract.structs).flatMap((structs) => {\n return structs.flatMap((s) => {\n if (!s.structName) {\n return []\n }\n if (s.structName.namespace) {\n return [s.structName.namespace]\n } else {\n return [s.structName.identifier + 'StructOutput', s.structName.identifier + 'Struct']\n }\n })\n })\n // dedup namespace\n const uniqueStructImports = [...new Set(structImports)]\n\n const imports = createImportsForUsedIdentifiers(\n {\n ethers: ['BigNumberish', 'Overrides', 'BytesLike'],\n // 'ethers/providers': ['Networkish'],\n '@sentio/sdk/eth': [\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 'EthChainId',\n 'TypedCallTrace',\n 'EthContext',\n 'EthFetchConfig',\n ],\n // '@sentio/sdk/eth': ['BaseContext'],\n // '@sentio/protos': ['EthFetchConfig'],\n './common.js': ['PromiseOrValue'],\n './index.js': [`${contract.name}__factory`],\n [`./${contract.name}.js`]: [`${contract.name}`, ...eventsImports, ...uniqueStructImports],\n },\n source\n )\n\n return imports + source\n}\n\nexport function codeGenTestUtilsFile(contract: Contract): string {\n const source = `\n const mockField = {\n blockHash:\n \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n blockNumber: 0,\n logIndex: 0,\n removed: false,\n transactionHash:\n \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n transactionIndex: 0,\n }\n ${Object.values(contract.events)\n .map((events) => {\n if (events.length === 1) {\n return generateMockEventLogFunction(events[0], contract.name, false)\n } else {\n return events.map((e) => generateMockEventLogFunction(e, contract.name, true)).join('\\n')\n }\n })\n .join('\\n')}\n `\n\n const possibleImports = {\n 'ethers/providers': ['LogParams'],\n '@sentio/sdk/eth': ['EthChainId'],\n } as any\n possibleImports[`./${contract.name}.js`] = Object.values(contract.events).flatMap((events) => {\n if (events.length === 1) {\n return `${events[0].name}EventObject`\n } else {\n return events.flatMap((e) => `${getFullSignatureAsSymbolForEvent(e)}_EventObject`)\n }\n })\n\n possibleImports[`./${contract.name.toLowerCase()}-processor.js`] = [`get${contract.name}Contract`]\n\n const imports = createImportsForUsedIdentifiers(possibleImports, source)\n\n return imports + source\n}\n\nfunction generateMockEventLogFunction(event: EventDeclaration, contractName: string, includeArgTypes: boolean): string {\n let eventName = event.name\n if (includeArgTypes) {\n eventName = getFullSignatureAsSymbolForEvent(event) + '_'\n }\n\n const eventArgs = event.inputs.map((input, i) => `event.${input.name ?? `arg${i.toString()}`}`)\n\n return `\n export function mock${eventName}Log(contractAddress: string, event: ${eventName}EventObject): LogParams {\n const contract = get${contractName}Contract(EthChainId.ETHEREUM, contractAddress)\n const encodedLog = contract.rawContract.interface.encodeEventLog(\n '${getFullSignatureForEvent(event)}',\n [${eventArgs.join(', ')}]\n )\n return {\n ...mockField,\n index: 0,\n address: contractAddress,\n data: encodedLog.data,\n topics: encodedLog.topics,\n }\n }\n `\n}\n"]}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { FunctionDeclaration } from 'typechain';
|
2
|
+
export declare function generateViewFunctions(view: boolean, functions: FunctionDeclaration[]): string[];
|
3
|
+
export declare function generateViewFunction(view: boolean, fn: FunctionDeclaration, includeArgTypes: boolean): string[];
|
4
|
+
export declare function generateBoundViewFunctions(view: boolean, functions: FunctionDeclaration[]): string[];
|
5
|
+
export declare function generateBoundViewFunction(view: boolean, fn: FunctionDeclaration, includeArgTypes: boolean): string[];
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { generateInputTypes, generateOutputTypes } from '@sentio/ethers-v6/dist/codegen/types.js';
|
2
|
+
import { getFullSignatureAsSymbolForFunction, getFullSignatureForFunction } from './types.js';
|
3
|
+
function generateReturnTypes(fn) {
|
4
|
+
// sounds like returnResultObject should be true but we need to set false to make it work
|
5
|
+
return `Promise<${generateOutputTypes({ returnResultObject: false, useStructs: true }, fn.outputs)}>`;
|
6
|
+
}
|
7
|
+
export function generateViewFunctions(view, functions) {
|
8
|
+
const includeArgTypes = functions.length !== 1;
|
9
|
+
return functions.flatMap((fn) => generateViewFunction(view, fn, includeArgTypes));
|
10
|
+
}
|
11
|
+
export function generateViewFunction(view, fn, includeArgTypes) {
|
12
|
+
const isView = fn.stateMutability === 'view' || fn.stateMutability === 'pure';
|
13
|
+
if (view !== isView) {
|
14
|
+
return [];
|
15
|
+
}
|
16
|
+
const declName = includeArgTypes ? getFullSignatureAsSymbolForFunction(fn) : fn.name;
|
17
|
+
const call = view ? '' : '.staticCall';
|
18
|
+
const func = `this.contract.getFunction("` + getFullSignatureForFunction(fn) + '")';
|
19
|
+
// if (overrides) {
|
20
|
+
// return await ${call}(${
|
21
|
+
// fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''
|
22
|
+
// } overrides)
|
23
|
+
// } else {
|
24
|
+
// return await ${call}(${fn.inputs.map((input, index) => input.name || `arg${index}`).join(',')})
|
25
|
+
// }
|
26
|
+
return [
|
27
|
+
`
|
28
|
+
async ${declName}(${generateInputTypes(fn.inputs, {
|
29
|
+
useStructs: true,
|
30
|
+
})}overrides?: Overrides): ${generateReturnTypes(fn)} {
|
31
|
+
try {
|
32
|
+
return await ${func}${call}(${fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''} overrides || {})
|
33
|
+
} catch (e) {
|
34
|
+
throw transformEtherError(e, undefined)
|
35
|
+
}
|
36
|
+
}
|
37
|
+
`,
|
38
|
+
];
|
39
|
+
}
|
40
|
+
export function generateBoundViewFunctions(view, functions) {
|
41
|
+
const includeArgTypes = functions.length !== 1;
|
42
|
+
return functions.flatMap((fn) => generateBoundViewFunction(view, fn, includeArgTypes));
|
43
|
+
}
|
44
|
+
export function generateBoundViewFunction(view, fn, includeArgTypes) {
|
45
|
+
const isView = fn.stateMutability === 'view' || fn.stateMutability === 'pure';
|
46
|
+
if (view !== isView) {
|
47
|
+
return [];
|
48
|
+
}
|
49
|
+
const declName = includeArgTypes ? getFullSignatureAsSymbolForFunction(fn) : fn.name;
|
50
|
+
const qualifier = view ? 'view' : 'view.callStatic';
|
51
|
+
return [
|
52
|
+
`
|
53
|
+
async ${declName ?? fn.name}(${generateInputTypes(fn.inputs, {
|
54
|
+
useStructs: true,
|
55
|
+
})}overrides?: Overrides): ${generateReturnTypes(fn)} {
|
56
|
+
return await this.${qualifier}.${declName}(${fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''} {
|
57
|
+
blockTag: this.context.blockNumber,
|
58
|
+
...overrides
|
59
|
+
})
|
60
|
+
}
|
61
|
+
`,
|
62
|
+
];
|
63
|
+
}
|
64
|
+
//# sourceMappingURL=function-calls.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"function-calls.js","sourceRoot":"","sources":["../../../src/eth/codegen/function-calls.ts"],"names":[],"mappings":"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","sourcesContent":["// https://github.com/dethcrypto/TypeChain/blob/015abb28bd22826611051f27e0ec96a00f9a0b61/packages/target-ethers-v5/src/codegen/functions.ts#L54\nimport { FunctionDeclaration } from 'typechain'\nimport { generateInputTypes, generateOutputTypes } from '@sentio/ethers-v6/dist/codegen/types.js'\nimport { getFullSignatureAsSymbolForFunction, getFullSignatureForFunction } from './types.js'\n\nfunction generateReturnTypes(fn: FunctionDeclaration) {\n // sounds like returnResultObject should be true but we need to set false to make it work\n return `Promise<${generateOutputTypes({ returnResultObject: false, useStructs: true }, fn.outputs)}>`\n}\n\nexport function generateViewFunctions(view: boolean, functions: FunctionDeclaration[]): string[] {\n const includeArgTypes = functions.length !== 1\n return functions.flatMap((fn) => generateViewFunction(view, fn, includeArgTypes))\n}\n\nexport function generateViewFunction(view: boolean, fn: FunctionDeclaration, includeArgTypes: boolean): string[] {\n const isView = fn.stateMutability === 'view' || fn.stateMutability === 'pure'\n if (view !== isView) {\n return []\n }\n const declName = includeArgTypes ? getFullSignatureAsSymbolForFunction(fn) : fn.name\n\n const call = view ? '' : '.staticCall'\n\n const func = `this.contract.getFunction(\"` + getFullSignatureForFunction(fn) + '\")'\n // if (overrides) {\n // return await ${call}(${\n // fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''\n // } overrides)\n // } else {\n // return await ${call}(${fn.inputs.map((input, index) => input.name || `arg${index}`).join(',')})\n // }\n return [\n `\n async ${declName}(${generateInputTypes(fn.inputs, {\n useStructs: true,\n })}overrides?: Overrides): ${generateReturnTypes(fn)} {\n try { \n return await ${func}${call}(${\n fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''\n } overrides || {})\n } catch (e) {\n throw transformEtherError(e, undefined)\n }\n }\n `,\n ]\n}\n\nexport function generateBoundViewFunctions(view: boolean, functions: FunctionDeclaration[]): string[] {\n const includeArgTypes = functions.length !== 1\n return functions.flatMap((fn) => generateBoundViewFunction(view, fn, includeArgTypes))\n}\n\nexport function generateBoundViewFunction(view: boolean, fn: FunctionDeclaration, includeArgTypes: boolean): string[] {\n const isView = fn.stateMutability === 'view' || fn.stateMutability === 'pure'\n if (view !== isView) {\n return []\n }\n const declName = includeArgTypes ? getFullSignatureAsSymbolForFunction(fn) : fn.name\n\n const qualifier = view ? 'view' : 'view.callStatic'\n\n return [\n `\n async ${declName ?? fn.name}(${generateInputTypes(fn.inputs, {\n useStructs: true,\n })}overrides?: Overrides): ${generateReturnTypes(fn)} {\n return await this.${qualifier}.${declName}(${\n fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''\n } {\n blockTag: this.context.blockNumber,\n ...overrides\n })\n }\n `,\n ]\n}\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/sdk",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.18.0-rc.1",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -71,8 +71,8 @@
|
|
71
71
|
"typedoc": "^0.24.1",
|
72
72
|
"utility-types": "^3.10.0",
|
73
73
|
"yaml": "^2.2.1",
|
74
|
-
"@sentio/protos": "2.
|
75
|
-
"@sentio/runtime": "^2.
|
74
|
+
"@sentio/protos": "2.18.0-rc.1",
|
75
|
+
"@sentio/runtime": "^2.18.0-rc.1"
|
76
76
|
},
|
77
77
|
"peerDependencies": {
|
78
78
|
"tsup": "npm:@sentio/tsup@^6.7.0"
|
package/src/core/base-context.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import { ProcessResult, RecordMetaData, StateResult } from '@sentio/protos'
|
2
|
-
import {
|
2
|
+
import { EventLoggerBinding } from './event-logger.js'
|
3
3
|
import { Meter, Labels } from './meter.js'
|
4
4
|
import { ChainId } from './chain.js'
|
5
5
|
|
6
6
|
export abstract class BaseContext {
|
7
7
|
meter: Meter
|
8
|
-
eventLogger:
|
8
|
+
eventLogger: EventLoggerBinding
|
9
9
|
protected baseLabels: Labels
|
10
10
|
|
11
11
|
_res: ProcessResult & { states: StateResult } = {
|
@@ -20,7 +20,7 @@ export abstract class BaseContext {
|
|
20
20
|
|
21
21
|
protected constructor(baseLabels: Labels | undefined) {
|
22
22
|
this.meter = new Meter(this)
|
23
|
-
this.eventLogger = new
|
23
|
+
this.eventLogger = new EventLoggerBinding(this)
|
24
24
|
this.baseLabels = baseLabels || {}
|
25
25
|
}
|
26
26
|
|
package/src/core/event-logger.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { BaseContext } from './base-context.js'
|
2
2
|
import { EventTrackingResult, LogLevel } from '@sentio/protos'
|
3
3
|
import { normalizeAttribute } from './normalization.js'
|
4
|
+
import { MapStateStorage } from '@sentio/runtime'
|
4
5
|
|
5
6
|
export interface Attribute<T> {
|
6
7
|
[key: string]: Exclude<T | number | bigint | string | boolean | LogLevel | Attribute<T> | undefined, Promise<any>>
|
@@ -15,7 +16,11 @@ export interface Event<T> extends Attribute<T> {
|
|
15
16
|
message?: string
|
16
17
|
}
|
17
18
|
|
18
|
-
export class EventLogger {
|
19
|
+
export class EventLoggerState extends MapStateStorage<EventLogger> {
|
20
|
+
static INSTANCE = new EventLoggerState()
|
21
|
+
}
|
22
|
+
|
23
|
+
export class EventLoggerBinding {
|
19
24
|
private readonly ctx: BaseContext
|
20
25
|
|
21
26
|
constructor(ctx: BaseContext) {
|
@@ -23,17 +28,38 @@ export class EventLogger {
|
|
23
28
|
}
|
24
29
|
|
25
30
|
emit<T>(eventName: string, event: Event<T>) {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
31
|
+
emit(this.ctx, eventName, event)
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
export class EventLogger {
|
36
|
+
private readonly eventName: string
|
37
|
+
|
38
|
+
private constructor(eventName: string) {
|
39
|
+
this.eventName = eventName
|
40
|
+
}
|
41
|
+
|
42
|
+
static register(eventName: string): EventLogger {
|
43
|
+
const logger = new EventLogger(eventName)
|
44
|
+
return EventLoggerState.INSTANCE.getOrSetValue(eventName, logger)
|
45
|
+
}
|
46
|
+
|
47
|
+
emit<T>(ctx: BaseContext, event: Event<T>) {
|
48
|
+
emit(ctx, this.eventName, event)
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
function emit<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
|
53
|
+
const { distinctId, severity, message, ...payload } = event
|
54
|
+
|
55
|
+
const res: EventTrackingResult = {
|
56
|
+
metadata: ctx.getMetaData(eventName, {}),
|
57
|
+
severity: severity || LogLevel.INFO,
|
58
|
+
message: message || '',
|
59
|
+
distinctEntityId: distinctId || '',
|
60
|
+
attributes: normalizeAttribute(payload),
|
61
|
+
runtimeInfo: undefined,
|
62
|
+
noMetric: true,
|
38
63
|
}
|
64
|
+
ctx._res.events.push(res)
|
39
65
|
}
|
@@ -193,6 +193,7 @@ const templateContract = EACAggregatorProxy__factory.connect(
|
|
193
193
|
export class EACAggregatorProxyContractView extends ContractView<EACAggregatorProxy> {
|
194
194
|
constructor(contract: EACAggregatorProxy) {
|
195
195
|
super(contract);
|
196
|
+
this.callStatic.contract = contract;
|
196
197
|
}
|
197
198
|
|
198
199
|
async accessController(overrides?: Overrides): Promise<string> {
|
@@ -414,6 +415,65 @@ export class EACAggregatorProxyContractView extends ContractView<EACAggregatorPr
|
|
414
415
|
throw transformEtherError(e, undefined);
|
415
416
|
}
|
416
417
|
}
|
418
|
+
|
419
|
+
callStatic = {
|
420
|
+
contract: this.contract,
|
421
|
+
|
422
|
+
async acceptOwnership(overrides?: Overrides): Promise<void> {
|
423
|
+
try {
|
424
|
+
return await this.contract
|
425
|
+
.getFunction("acceptOwnership()")
|
426
|
+
.staticCall(overrides || {});
|
427
|
+
} catch (e) {
|
428
|
+
throw transformEtherError(e, undefined);
|
429
|
+
}
|
430
|
+
},
|
431
|
+
async confirmAggregator(
|
432
|
+
_aggregator: string,
|
433
|
+
overrides?: Overrides
|
434
|
+
): Promise<void> {
|
435
|
+
try {
|
436
|
+
return await this.contract
|
437
|
+
.getFunction("confirmAggregator(address)")
|
438
|
+
.staticCall(_aggregator, overrides || {});
|
439
|
+
} catch (e) {
|
440
|
+
throw transformEtherError(e, undefined);
|
441
|
+
}
|
442
|
+
},
|
443
|
+
async proposeAggregator(
|
444
|
+
_aggregator: string,
|
445
|
+
overrides?: Overrides
|
446
|
+
): Promise<void> {
|
447
|
+
try {
|
448
|
+
return await this.contract
|
449
|
+
.getFunction("proposeAggregator(address)")
|
450
|
+
.staticCall(_aggregator, overrides || {});
|
451
|
+
} catch (e) {
|
452
|
+
throw transformEtherError(e, undefined);
|
453
|
+
}
|
454
|
+
},
|
455
|
+
async setController(
|
456
|
+
_accessController: string,
|
457
|
+
overrides?: Overrides
|
458
|
+
): Promise<void> {
|
459
|
+
try {
|
460
|
+
return await this.contract
|
461
|
+
.getFunction("setController(address)")
|
462
|
+
.staticCall(_accessController, overrides || {});
|
463
|
+
} catch (e) {
|
464
|
+
throw transformEtherError(e, undefined);
|
465
|
+
}
|
466
|
+
},
|
467
|
+
async transferOwnership(_to: string, overrides?: Overrides): Promise<void> {
|
468
|
+
try {
|
469
|
+
return await this.contract
|
470
|
+
.getFunction("transferOwnership(address)")
|
471
|
+
.staticCall(_to, overrides || {});
|
472
|
+
} catch (e) {
|
473
|
+
throw transformEtherError(e, undefined);
|
474
|
+
}
|
475
|
+
},
|
476
|
+
};
|
417
477
|
}
|
418
478
|
|
419
479
|
export class EACAggregatorProxyBoundContractView extends BoundContractView<
|
@@ -596,6 +656,51 @@ export class EACAggregatorProxyBoundContractView extends BoundContractView<
|
|
596
656
|
...overrides,
|
597
657
|
});
|
598
658
|
}
|
659
|
+
|
660
|
+
callStatic = {
|
661
|
+
view: this.view,
|
662
|
+
context: this.context,
|
663
|
+
|
664
|
+
async acceptOwnership(overrides?: Overrides): Promise<void> {
|
665
|
+
return await this.view.callStatic.acceptOwnership({
|
666
|
+
blockTag: this.context.blockNumber,
|
667
|
+
...overrides,
|
668
|
+
});
|
669
|
+
},
|
670
|
+
async confirmAggregator(
|
671
|
+
_aggregator: string,
|
672
|
+
overrides?: Overrides
|
673
|
+
): Promise<void> {
|
674
|
+
return await this.view.callStatic.confirmAggregator(_aggregator, {
|
675
|
+
blockTag: this.context.blockNumber,
|
676
|
+
...overrides,
|
677
|
+
});
|
678
|
+
},
|
679
|
+
async proposeAggregator(
|
680
|
+
_aggregator: string,
|
681
|
+
overrides?: Overrides
|
682
|
+
): Promise<void> {
|
683
|
+
return await this.view.callStatic.proposeAggregator(_aggregator, {
|
684
|
+
blockTag: this.context.blockNumber,
|
685
|
+
...overrides,
|
686
|
+
});
|
687
|
+
},
|
688
|
+
async setController(
|
689
|
+
_accessController: string,
|
690
|
+
overrides?: Overrides
|
691
|
+
): Promise<void> {
|
692
|
+
return await this.view.callStatic.setController(_accessController, {
|
693
|
+
blockTag: this.context.blockNumber,
|
694
|
+
...overrides,
|
695
|
+
});
|
696
|
+
},
|
697
|
+
async transferOwnership(_to: string, overrides?: Overrides): Promise<void> {
|
698
|
+
return await this.view.callStatic.transferOwnership(_to, {
|
699
|
+
blockTag: this.context.blockNumber,
|
700
|
+
...overrides,
|
701
|
+
});
|
702
|
+
},
|
703
|
+
};
|
599
704
|
}
|
600
705
|
|
601
706
|
export type EACAggregatorProxyContext = ContractContext<
|