@wireio/stake 0.0.5 → 0.0.69
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/README.md +204 -15
- package/lib/stake.browser.js +69370 -4589
- package/lib/stake.browser.js.map +1 -1
- package/lib/stake.d.ts +17899 -5512
- package/lib/stake.js +70103 -4899
- package/lib/stake.js.map +1 -1
- package/lib/stake.m.js +69370 -4589
- package/lib/stake.m.js.map +1 -1
- package/package.json +6 -3
- package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.json +164 -0
- package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
- package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
- package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.json +618 -0
- package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.json +40 -0
- package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.json +10 -0
- package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.json +10 -0
- package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.json +233 -0
- package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.json +49 -0
- package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
- package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.json +1458 -0
- package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.json +1532 -0
- package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.json +1525 -0
- package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.json +1076 -0
- package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.json +807 -0
- package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.json +985 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.json +182 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.json +344 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
- package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
- package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
- package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.json +1376 -0
- package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.json +629 -0
- package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
- package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.json +1779 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.json +548 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
- package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
- package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
- package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
- package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.json +1111 -0
- package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.json +1696 -0
- package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
- package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +274 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.json +1044 -0
- package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.json +1055 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.json +81 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.json +330 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.json +41 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.json +287 -0
- package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.json +294 -0
- package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +415 -0
- package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +399 -0
- package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.json +245 -0
- package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.json +1204 -0
- package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.json +312 -0
- package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.json +324 -0
- package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.json +1068 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.json +211 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.json +751 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.json +888 -0
- package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.json +659 -0
- package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.json +1393 -0
- package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.json +1738 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.json +1437 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.json +10 -0
- package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
- package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
- package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
- package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
- package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.json +472 -0
- package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.json +330 -0
- package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.json +449 -0
- package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.json +560 -0
- package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.json +460 -0
- package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.dbg.json +4 -0
- package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.json +624 -0
- package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.json +164 -0
- package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
- package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
- package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.json +618 -0
- package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.json +40 -0
- package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.json +10 -0
- package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.json +10 -0
- package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.json +233 -0
- package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.json +49 -0
- package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
- package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.json +1458 -0
- package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.json +1532 -0
- package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.json +1525 -0
- package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.json +1076 -0
- package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.json +807 -0
- package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.json +1004 -0
- package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +29 -0
- package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.json +897 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.json +189 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.json +279 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
- package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
- package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
- package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.json +89 -0
- package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.json +1376 -0
- package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
- package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.json +1896 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.json +542 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
- package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
- package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
- package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
- package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.json +1915 -0
- package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.json +1845 -0
- package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
- package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +551 -0
- package/src/assets/ethereum/mainnet/outpost/OPP.sol/OPP.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPP.sol/OPP.json +948 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPP.json +88 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPInbound.json +194 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPSender.json +36 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/OPPCommon.json +199 -0
- package/src/assets/ethereum/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.json +273 -0
- package/src/assets/ethereum/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +394 -0
- package/src/assets/ethereum/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +378 -0
- package/src/assets/ethereum/mainnet/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPErrors.sol/OPPErrors.json +224 -0
- package/src/assets/ethereum/mainnet/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPInbound.sol/OPPInbound.json +1010 -0
- package/src/assets/ethereum/mainnet/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPReceiver.sol/OPPReceiver.json +291 -0
- package/src/assets/ethereum/mainnet/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OPPSender.sol/OPPSender.json +298 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostErrors.sol/OutpostErrors.json +488 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.json +737 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
- package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.json +943 -0
- package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.json +1703 -0
- package/src/assets/ethereum/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.json +2015 -0
- package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
- package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
- package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
- package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
- package/src/assets/ethereum/mainnet/outpost/v1/BAR.sol/BAR.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/v1/BAR.sol/BAR.json +1871 -0
- package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.json +1653 -0
- package/src/assets/ethereum/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.json +730 -0
- package/src/assets/ethereum/mainnet/outpost/v1/Pool.sol/Pool.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/v1/Pool.sol/Pool.json +936 -0
- package/src/assets/ethereum/mainnet/outpost/v1/Pretoken.sol/Pretoken.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/outpost/v1/Pretoken.sol/Pretoken.json +1665 -0
- package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.json +472 -0
- package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.json +330 -0
- package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
- package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.json +449 -0
- package/src/assets/solana/devnet/idl/liqsol_core.json +8546 -0
- package/src/assets/solana/devnet/idl/liqsol_token.json +217 -0
- package/src/assets/solana/devnet/idl/transfer_hook.json +490 -0
- package/src/assets/solana/devnet/idl/validator_leaderboard.json +735 -0
- package/src/assets/solana/devnet/types/liqsol_core.ts +8552 -0
- package/src/assets/solana/devnet/types/liqsol_token.ts +223 -0
- package/src/assets/solana/devnet/types/transfer_hook.ts +496 -0
- package/src/assets/solana/devnet/types/validator_leaderboard.ts +741 -0
- package/src/assets/solana/mainnet/idl/liqsol_core.json +6678 -0
- package/src/assets/solana/mainnet/idl/liqsol_token.json +217 -0
- package/src/assets/solana/mainnet/idl/transfer_hook.json +479 -0
- package/src/assets/solana/mainnet/idl/validator_leaderboard.json +574 -0
- package/src/assets/solana/mainnet/types/liqsol_core.ts +6684 -0
- package/src/assets/solana/mainnet/types/liqsol_token.ts +223 -0
- package/src/assets/solana/mainnet/types/transfer_hook.ts +485 -0
- package/src/assets/solana/mainnet/types/validator_leaderboard.ts +580 -0
- package/src/assets/solana/realdevnet/idl/liqsol_core.json +7112 -0
- package/src/assets/solana/realdevnet/idl/liqsol_token.json +217 -0
- package/src/assets/solana/realdevnet/idl/transfer_hook.json +479 -0
- package/src/assets/solana/realdevnet/idl/validator_leaderboard.json +735 -0
- package/src/assets/solana/realdevnet/types/liqsol_core.ts +7118 -0
- package/src/assets/solana/realdevnet/types/liqsol_token.ts +223 -0
- package/src/assets/solana/realdevnet/types/transfer_hook.ts +485 -0
- package/src/assets/solana/realdevnet/types/validator_leaderboard.ts +741 -0
- package/src/index.ts +7 -8
- package/src/networks/ethereum/clients/convert.client.ts +221 -0
- package/src/networks/ethereum/clients/opp.client.ts +389 -0
- package/src/networks/ethereum/clients/pretoken.client.ts +165 -0
- package/src/networks/ethereum/clients/receipt.client.ts +199 -0
- package/src/networks/ethereum/clients/stake.client.ts +203 -0
- package/src/networks/ethereum/clients/validator.client.ts +61 -0
- package/src/networks/ethereum/contract.ts +438 -58
- package/src/networks/ethereum/ethereum.ts +591 -51
- package/src/networks/ethereum/types.ts +138 -2
- package/src/networks/ethereum/utils.ts +340 -0
- package/src/networks/solana/clients/convert.client.ts +341 -0
- package/src/networks/solana/clients/distribution.client.ts +304 -176
- package/src/networks/solana/clients/leaderboard.client.ts +85 -163
- package/src/networks/solana/clients/outpost.client.ts +325 -0
- package/src/networks/solana/clients/token.client.ts +210 -0
- package/src/networks/solana/constants.ts +152 -69
- package/src/networks/solana/program.ts +397 -102
- package/src/networks/solana/solana.ts +1208 -68
- package/src/networks/solana/types.ts +757 -0
- package/src/networks/solana/utils.ts +542 -93
- package/src/scripts/fetch-artifacts.sh +24 -0
- package/src/scripts/tsconfig.json +17 -0
- package/src/staker.ts +85 -0
- package/src/types.ts +364 -0
- package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.dbg.json +0 -4
- package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.json +0 -472
- package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.dbg.json +0 -4
- package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.json +0 -330
- package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.dbg.json +0 -4
- package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.json +0 -449
- package/src/assets/solana/idl/deposit.json +0 -260
- package/src/assets/solana/idl/distribution.json +0 -736
- package/src/assets/solana/idl/liq_sol_token.json +0 -275
- package/src/assets/solana/idl/stake_controller.json +0 -1788
- package/src/assets/solana/idl/stake_registry.json +0 -435
- package/src/assets/solana/idl/treasury.json +0 -336
- package/src/assets/solana/idl/validator_leaderboard.json +0 -528
- package/src/assets/solana/idl/validator_registry.json +0 -418
- package/src/assets/solana/idl/yield_oracle.json +0 -32
- package/src/assets/solana/types/deposit.ts +0 -266
- package/src/assets/solana/types/distribution.ts +0 -742
- package/src/assets/solana/types/liq_sol_token.ts +0 -281
- package/src/assets/solana/types/stake_controller.ts +0 -1794
- package/src/assets/solana/types/stake_registry.ts +0 -441
- package/src/assets/solana/types/treasury.ts +0 -342
- package/src/assets/solana/types/validator_leaderboard.ts +0 -534
- package/src/assets/solana/types/validator_registry.ts +0 -424
- package/src/assets/solana/types/yield_oracle.ts +0 -38
- package/src/networks/solana/clients/deposit.client.ts +0 -178
- package/src/staker/staker.ts +0 -56
- package/src/staker/types.ts +0 -40
- package/src/utils.ts +0 -9
|
@@ -1,67 +1,440 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EthereumContractService
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* Provides a unified service for interacting with Ethereum smart contracts using ethers.js.
|
|
5
|
-
*
|
|
6
|
-
* This module includes:
|
|
7
|
-
* - ABI imports for ERC20, ERC721, and ERC1155 token standards.
|
|
8
|
-
* - Address book and contract configuration types.
|
|
9
|
-
* - A service class for managing contract instances, interfaces, and utility methods for read/write access.
|
|
10
|
-
* - Utility for decoding custom errors and events using a combined interface of all known ABIs.
|
|
11
|
-
*
|
|
12
|
-
* @remarks
|
|
13
|
-
* - Update the `ADDRESSES` and `CONTRACTS` objects to match your deployment.
|
|
14
|
-
* - The service supports both read-only and write-enabled contract handles, depending on the presence of a signer.
|
|
15
|
-
* - The `omniInterface` property allows decoding of errors and events across all included ABIs.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const service = new EthereumContractService({ provider, signer });
|
|
20
|
-
* const stakeContract = service.getContract('Stake');
|
|
21
|
-
* const address = service.getAddress('Stake');
|
|
22
|
-
* ```
|
|
23
5
|
*/
|
|
24
6
|
|
|
25
|
-
|
|
26
|
-
import
|
|
27
|
-
import
|
|
7
|
+
// Mainnet artifacts
|
|
8
|
+
import MainnetAccountingArtifact from '../../assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.json';
|
|
9
|
+
import MainnetDepositManagerArtifact from '../../assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.json';
|
|
10
|
+
import MainnetLiqEthArtifact from '../../assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.json';
|
|
11
|
+
import MainnetStakingModuleArtifact from '../../assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.json';
|
|
12
|
+
import MainnetWithdrawalQueueArtifact from '../../assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.json';
|
|
13
|
+
import MainnetWithdrawalVaultArtifact from '../../assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.json';
|
|
14
|
+
import MainnetBeaconStateArtifact from '../../assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.json';
|
|
15
|
+
import MainnetYieldOracleArtifact from '../../assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.json';
|
|
16
|
+
import MainnetDepositorArtifact from '../../assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.json';
|
|
17
|
+
import MainnetReceiptNFTArtifact from '../../assets/ethereum/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.json';
|
|
18
|
+
import MainnetOutpostManagerArtifact from '../../assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.json';
|
|
19
|
+
import MainnetBARArtifact from '../../assets/ethereum/mainnet/outpost/BAR.sol/BARV2.json';
|
|
20
|
+
import MainnetOPPArtifact from '../../assets/ethereum/mainnet/outpost/OPP.sol/OPP.json';
|
|
21
|
+
import MainnetOPPCommonArtifact from '../../assets/ethereum/mainnet/outpost/OPPCommon.sol/OPPCommon.json';
|
|
22
|
+
import MainnetOPPInboundArtifact from '../../assets/ethereum/mainnet/outpost/OPPInbound.sol/OPPInbound.json';
|
|
23
|
+
import MainnetPretokenArtifact from '../../assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.json';
|
|
24
|
+
import MainnetEthUsdPriceConsumerArtifact from '../../assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json';
|
|
25
|
+
import MainnetPoolArtifact from '../../assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.json';
|
|
26
|
+
import MainnetOutpostManagerAuthorityArtifact from '../../assets/ethereum/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json';
|
|
27
|
+
import MainnetIodataArtifact from '../../assets/ethereum/mainnet/common/iodata.sol/iodata.json';
|
|
28
|
+
import MainnetBase58Artifact from '../../assets/ethereum/mainnet/common/Base58.sol/Base58.json';
|
|
29
|
+
import MainnetSysioMerkleArtifact from '../../assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.json';
|
|
30
|
+
import MainnetSysioWriteArtifact from '../../assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.json';
|
|
31
|
+
import MainnetERC20Artifact from '../../assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.json';
|
|
32
|
+
import MainnetERC721Artifact from '../../assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.json';
|
|
33
|
+
import MainnetERC1155Artifact from '../../assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.json';
|
|
34
|
+
|
|
35
|
+
// Hoodi artifacts
|
|
36
|
+
import HoodiAccountingArtifact from '../../assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.json';
|
|
37
|
+
import HoodiDepositManagerArtifact from '../../assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.json';
|
|
38
|
+
import HoodiLiqEthArtifact from '../../assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.json';
|
|
39
|
+
import HoodiStakingModuleArtifact from '../../assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.json';
|
|
40
|
+
import HoodiWithdrawalQueueArtifact from '../../assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.json';
|
|
41
|
+
import HoodiWithdrawalVaultArtifact from '../../assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.json';
|
|
42
|
+
import HoodiBeaconStateArtifact from '../../assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.json';
|
|
43
|
+
import HoodiYieldOracleArtifact from '../../assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.json';
|
|
44
|
+
import HoodiDepositorArtifact from '../../assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.json';
|
|
45
|
+
import HoodiReceiptNFTArtifact from '../../assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.json';
|
|
46
|
+
import HoodiOutpostManagerArtifact from '../../assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.json';
|
|
47
|
+
import HoodiBARArtifact from '../../assets/ethereum/hoodi/outpost/BAR.sol/BAR.json';
|
|
48
|
+
import HoodiOPPArtifact from '../../assets/ethereum/hoodi/outpost/OPP.sol/OPP.json';
|
|
49
|
+
import HoodiOPPCommonArtifact from '../../assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.json';
|
|
50
|
+
import HoodiOPPInboundArtifact from '../../assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.json';
|
|
51
|
+
import HoodiPretokenArtifact from '../../assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.json';
|
|
52
|
+
import HoodiEthUsdPriceConsumerArtifact from '../../assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json';
|
|
53
|
+
import HoodiPoolArtifact from '../../assets/ethereum/hoodi/outpost/Pool.sol/Pool.json';
|
|
54
|
+
import HoodiOutpostManagerAuthorityArtifact from '../../assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json';
|
|
55
|
+
import HoodiIodataArtifact from '../../assets/ethereum/hoodi/common/iodata.sol/iodata.json';
|
|
56
|
+
import HoodiBase58Artifact from '../../assets/ethereum/hoodi/common/Base58.sol/Base58.json';
|
|
57
|
+
import HoodiSysioMerkleArtifact from '../../assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.json';
|
|
58
|
+
import HoodiSysioWriteArtifact from '../../assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.json';
|
|
59
|
+
import HoodiERC20Artifact from '../../assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.json';
|
|
60
|
+
import HoodiERC721Artifact from '../../assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.json';
|
|
61
|
+
import HoodiERC1155Artifact from '../../assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.json';
|
|
62
|
+
|
|
28
63
|
import { AddressBook, ContractName } from './types';
|
|
29
64
|
import { Contract, ethers, providers, Signer } from 'ethers';
|
|
30
65
|
import { JsonFragment } from '@ethersproject/abi';
|
|
31
66
|
import { ErrorDescription } from '@ethersproject/abi/lib/interface';
|
|
67
|
+
import { EvmChainID } from '@wireio/core';
|
|
68
|
+
import { SupportedEvmChainID } from '../../types';
|
|
32
69
|
|
|
33
|
-
export const ERC20Abi =
|
|
34
|
-
export const ERC721Abi =
|
|
35
|
-
export const ERC1155Abi =
|
|
70
|
+
export const ERC20Abi = MainnetERC20Artifact.abi;
|
|
71
|
+
export const ERC721Abi = MainnetERC721Artifact.abi;
|
|
72
|
+
export const ERC1155Abi = MainnetERC1155Artifact.abi;
|
|
36
73
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
74
|
+
type AbiArtifact = { abi: JsonFragment[] };
|
|
75
|
+
|
|
76
|
+
type ArtifactBundle = {
|
|
77
|
+
Accounting: AbiArtifact;
|
|
78
|
+
DepositManager: AbiArtifact;
|
|
79
|
+
LiqEthToken: AbiArtifact;
|
|
80
|
+
StakingModule: AbiArtifact;
|
|
81
|
+
WithdrawalQueue: AbiArtifact;
|
|
82
|
+
WithdrawalVault: AbiArtifact;
|
|
83
|
+
BeaconState: AbiArtifact;
|
|
84
|
+
YieldOracle: AbiArtifact;
|
|
85
|
+
Depositor: AbiArtifact;
|
|
86
|
+
ReceiptNFT: AbiArtifact;
|
|
87
|
+
OutpostManager: AbiArtifact;
|
|
88
|
+
BAR: AbiArtifact;
|
|
89
|
+
OPP: AbiArtifact;
|
|
90
|
+
OPPCommon: AbiArtifact;
|
|
91
|
+
OPPInbound: AbiArtifact;
|
|
92
|
+
Pretoken: AbiArtifact;
|
|
93
|
+
EthUsdPriceConsumer: AbiArtifact;
|
|
94
|
+
Pool: AbiArtifact;
|
|
95
|
+
OutpostManagerAuthority: AbiArtifact;
|
|
96
|
+
iodata: AbiArtifact;
|
|
97
|
+
Base58: AbiArtifact;
|
|
98
|
+
sysio_merkle: AbiArtifact;
|
|
99
|
+
sysio_write: AbiArtifact;
|
|
100
|
+
ERC20: AbiArtifact;
|
|
101
|
+
ERC721: AbiArtifact;
|
|
102
|
+
ERC1155: AbiArtifact;
|
|
40
103
|
};
|
|
41
104
|
|
|
42
|
-
|
|
105
|
+
const MAINNET_ARTIFACTS: ArtifactBundle = {
|
|
106
|
+
Accounting: MainnetAccountingArtifact as AbiArtifact,
|
|
107
|
+
DepositManager: MainnetDepositManagerArtifact as AbiArtifact,
|
|
108
|
+
LiqEthToken: MainnetLiqEthArtifact as AbiArtifact,
|
|
109
|
+
StakingModule: MainnetStakingModuleArtifact as AbiArtifact,
|
|
110
|
+
WithdrawalQueue: MainnetWithdrawalQueueArtifact as AbiArtifact,
|
|
111
|
+
WithdrawalVault: MainnetWithdrawalVaultArtifact as AbiArtifact,
|
|
112
|
+
BeaconState: MainnetBeaconStateArtifact as AbiArtifact,
|
|
113
|
+
YieldOracle: MainnetYieldOracleArtifact as AbiArtifact,
|
|
114
|
+
Depositor: MainnetDepositorArtifact as AbiArtifact,
|
|
115
|
+
ReceiptNFT: MainnetReceiptNFTArtifact as AbiArtifact,
|
|
116
|
+
OutpostManager: MainnetOutpostManagerArtifact as AbiArtifact,
|
|
117
|
+
BAR: MainnetBARArtifact as AbiArtifact,
|
|
118
|
+
OPP: MainnetOPPArtifact as AbiArtifact,
|
|
119
|
+
OPPCommon: MainnetOPPCommonArtifact as AbiArtifact,
|
|
120
|
+
OPPInbound: MainnetOPPInboundArtifact as AbiArtifact,
|
|
121
|
+
Pretoken: MainnetPretokenArtifact as AbiArtifact,
|
|
122
|
+
EthUsdPriceConsumer: MainnetEthUsdPriceConsumerArtifact as AbiArtifact,
|
|
123
|
+
Pool: MainnetPoolArtifact as AbiArtifact,
|
|
124
|
+
OutpostManagerAuthority: MainnetOutpostManagerAuthorityArtifact as AbiArtifact,
|
|
125
|
+
iodata: MainnetIodataArtifact as AbiArtifact,
|
|
126
|
+
Base58: MainnetBase58Artifact as AbiArtifact,
|
|
127
|
+
sysio_merkle: MainnetSysioMerkleArtifact as AbiArtifact,
|
|
128
|
+
sysio_write: MainnetSysioWriteArtifact as AbiArtifact,
|
|
129
|
+
ERC20: MainnetERC20Artifact as AbiArtifact,
|
|
130
|
+
ERC721: MainnetERC721Artifact as AbiArtifact,
|
|
131
|
+
ERC1155: MainnetERC1155Artifact as AbiArtifact,
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
const HOODI_ARTIFACTS: ArtifactBundle = {
|
|
135
|
+
Accounting: HoodiAccountingArtifact as AbiArtifact,
|
|
136
|
+
DepositManager: HoodiDepositManagerArtifact as AbiArtifact,
|
|
137
|
+
LiqEthToken: HoodiLiqEthArtifact as AbiArtifact,
|
|
138
|
+
StakingModule: HoodiStakingModuleArtifact as AbiArtifact,
|
|
139
|
+
WithdrawalQueue: HoodiWithdrawalQueueArtifact as AbiArtifact,
|
|
140
|
+
WithdrawalVault: HoodiWithdrawalVaultArtifact as AbiArtifact,
|
|
141
|
+
BeaconState: HoodiBeaconStateArtifact as AbiArtifact,
|
|
142
|
+
YieldOracle: HoodiYieldOracleArtifact as AbiArtifact,
|
|
143
|
+
Depositor: HoodiDepositorArtifact as AbiArtifact,
|
|
144
|
+
ReceiptNFT: HoodiReceiptNFTArtifact as AbiArtifact,
|
|
145
|
+
OutpostManager: HoodiOutpostManagerArtifact as AbiArtifact,
|
|
146
|
+
BAR: HoodiBARArtifact as AbiArtifact,
|
|
147
|
+
OPP: HoodiOPPArtifact as AbiArtifact,
|
|
148
|
+
OPPCommon: HoodiOPPCommonArtifact as AbiArtifact,
|
|
149
|
+
OPPInbound: HoodiOPPInboundArtifact as AbiArtifact,
|
|
150
|
+
Pretoken: HoodiPretokenArtifact as AbiArtifact,
|
|
151
|
+
EthUsdPriceConsumer: HoodiEthUsdPriceConsumerArtifact as AbiArtifact,
|
|
152
|
+
Pool: HoodiPoolArtifact as AbiArtifact,
|
|
153
|
+
OutpostManagerAuthority: HoodiOutpostManagerAuthorityArtifact as AbiArtifact,
|
|
154
|
+
iodata: HoodiIodataArtifact as AbiArtifact,
|
|
155
|
+
Base58: HoodiBase58Artifact as AbiArtifact,
|
|
156
|
+
sysio_merkle: HoodiSysioMerkleArtifact as AbiArtifact,
|
|
157
|
+
sysio_write: HoodiSysioWriteArtifact as AbiArtifact,
|
|
158
|
+
ERC20: HoodiERC20Artifact as AbiArtifact,
|
|
159
|
+
ERC721: HoodiERC721Artifact as AbiArtifact,
|
|
160
|
+
ERC1155: HoodiERC1155Artifact as AbiArtifact,
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
// -----------------------------------------------------------------------------
|
|
164
|
+
// Address books (per-chain)
|
|
165
|
+
// -----------------------------------------------------------------------------
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* MAINNET LATEST
|
|
169
|
+
* 1/23/26
|
|
170
|
+
*/
|
|
171
|
+
export const MAINNET_ADDRESSES: AddressBook = {
|
|
172
|
+
// LiqETH contracts
|
|
173
|
+
LiqEthAuthority: '0xB8fb7dBA2de501c94EAB723fa48679f698a39Aa4',
|
|
174
|
+
BeaconState: '0x29719E8e76C52F5fD4888DF401579859c305f2DF',
|
|
175
|
+
WithdrawalQueue: '0xce388339bFDAed9cAF536ea7b4F42123b4D755d4',
|
|
176
|
+
LiqEthToken: '0x2C0e75e930Fc72ceD0725854C5E7A55566333F3f',
|
|
177
|
+
Accounting: '0xE31C44d04c7B055afAC9301F55840f030eaF04BC',
|
|
178
|
+
DepositManager: '0x21b339ED55A0f037f91B88044C808CcfCCBbF9A8',
|
|
179
|
+
WithdrawalVault: '0x028743bE7E727aA331A1e952575cb00623B95fE2',
|
|
180
|
+
StakingModule: '0xDe9754Fb58CcD4D74e94DA5682192E4e6eC334b0',
|
|
181
|
+
// YieldOracle: '0x7B7B8894e75b44B6cA7Dc8bE6dED5059621907b2',
|
|
182
|
+
|
|
183
|
+
// Outpost contracts
|
|
184
|
+
OutpostManagerAuthority: '0xeaE32b94c0F858b3600861aAE4Caeee6B6341751',
|
|
185
|
+
iodata: '0x485Ed153c45189d623Bb37816eD3016A56552273',
|
|
186
|
+
Base58: '0x8bB3856EC1114B1cE45a78620CF174D90a1Fd4e7',
|
|
187
|
+
sysio_merkle: '0x5180a926D71c6d94c5c939Fe7Fed14cD7dcAa541',
|
|
188
|
+
ReceiptNFT: '0x651De616A20b17De1095f9A0694A0e0E68025b78',
|
|
189
|
+
EthUsdPriceConsumer: '0x2d866f8DB6F6c94997b0027Ba24bc64a03627ddc',
|
|
190
|
+
Pool: '0xDA268Adcb90c422C2102A5f713182A42A8b9EA0D',
|
|
191
|
+
OutpostManager: '0x9f279804Cb8539c53709AA37a4C1b30A52A85175',
|
|
192
|
+
sysio_write: '0x3F8c880efd2c8C3aA1f0CE40b886cc6913eEC1d3',
|
|
193
|
+
Pretoken: '0xCabF19Fdb7cD063738dd63a418702Ee3642FFc68',
|
|
194
|
+
BAR: '0x2D8f4D4435509d7b8F93C3Ba93D45447C892f7ED',
|
|
195
|
+
OPPCommon: '0x1716EEC9f1E0c1aF7BbbA8Fed10652138914f766',
|
|
196
|
+
OPP: '0x5e1135cF8987268a3e7F68551558Ae92c454429f',
|
|
197
|
+
Depositor: '0xf4b4ccfD684feB46504D77232FBde23b23d4F774',
|
|
198
|
+
OPPInbound: '0x088484d45fF93AFabC63810FB0b335792E2B24f3',
|
|
199
|
+
|
|
200
|
+
// MockAggregator is not deployed on mainnet; keep as zero-address placeholder
|
|
201
|
+
// MockAggregator: '0x0000000000000000000000000000000000000000',
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* ---HOODI TESTNET LATEST
|
|
206
|
+
* ---3/25/26
|
|
207
|
+
*
|
|
208
|
+
* TEMPORARILY LOCAL ETH WIRE DEVNET ADDRESSES
|
|
209
|
+
* 4/10/26
|
|
210
|
+
*
|
|
211
|
+
*/
|
|
212
|
+
export const HOODI_ADDRESSES: AddressBook = {
|
|
213
|
+
// LiqETH contracts
|
|
214
|
+
// LiqEthAuthority: '0x3Eb66Bb91F7a022FbABc1619Cb6acce7025Bc41F',
|
|
215
|
+
// BeaconState: '0x08F879c6D0964E0A17bF688Af23168f654DF372e',
|
|
216
|
+
// WithdrawalQueue: '0x74aDeD940369baDDb0F36426F23B08499e45Fe18',
|
|
217
|
+
// LiqEthToken: '0x8C974517D038e2e3b8a1da7b1A026bC8132A4b2e',
|
|
218
|
+
// Accounting: '0x766CE996B8132b927988c5b2ECAE8108fB1a9307',
|
|
219
|
+
// DepositManager: '0xEd391dB5DB11B5eDBE08e69A51D16e84293C09a3',
|
|
220
|
+
// WithdrawalVault: '0xbaBc0D5997283ab9886696A0dEaB8A8093436b48',
|
|
221
|
+
// StakingModule: '0x4998fBb6Ca5Ee3Db6c339e2962A34791Af643fEa',
|
|
222
|
+
// // YieldOracle: '0x61Fe311C57dd9a38Fb7B0c5A8ec521452dB25378',
|
|
223
|
+
|
|
224
|
+
// // Outpost contracts
|
|
225
|
+
// OutpostManagerAuthority: '0x3B8705Ba1195AF632b3bd9E46F19348BC828FA3D',
|
|
226
|
+
// iodata: '0x4aCABbC74a1cA9B0058d9ADAa0E00Af0f4f73212',
|
|
227
|
+
// Base58: '0x1241F36ff30065deD52d51f0d6524EF971259A12',
|
|
228
|
+
// sysio_merkle: '0x58ca9b5515266Fd6bF94D5F1268C505b2eC9679c',
|
|
229
|
+
// ReceiptNFT: '0x03d6bD46cA9F54B8F8bbA21CfAfe717b36cB8593',
|
|
230
|
+
// EthUsdPriceConsumer: '0xdC2DD993A13b3DD6D255B52285625694bd967c9A',
|
|
231
|
+
// Pool: '0xd4742757AA61B1Fd3Fcd87980D7D460B12Cd9275',
|
|
232
|
+
// OutpostManager: '0x38ec2B56cBCeCaFFe28b535517de1a102C3D74E3',
|
|
233
|
+
// sysio_write: '0x0Ec4C1BaB772958aa3Db27459643bfbE7d92E305',
|
|
234
|
+
// Pretoken: '0x8c97a51A71640fa411DEfab8feC3401eFfd1a2E4',
|
|
235
|
+
// BAR: '0xbAFac13ffd3Aa9aEabaaeb6e4C2cF3dFf3479DC0',
|
|
236
|
+
// OPPCommon: '0x12283a6d4E6cE4A0e8AdB319Fc161c7F4f91EA8F',
|
|
237
|
+
// OPP: '0x87CE3Fe2CDca39C04aa2c14bbF1E1d9DB6358C4A',
|
|
238
|
+
// Depositor: '0x5351B30EA4b75bD9be9Fc0048e88F675f7b3Ac2b',
|
|
239
|
+
// OPPInbound: '0x0B1f7FB1c7f01A9cf490a1387E1E100F2bEA6C6d',
|
|
240
|
+
|
|
241
|
+
// Test-only mock aggregator
|
|
242
|
+
// MockAggregator: '0xFCfc3ddd4CBd9Ad3b3af3A374B8bdA1b66eE6FFF',
|
|
243
|
+
|
|
244
|
+
// TEMPORARY WIRE ETH DEVNET ADDRESSES - 4/10/26
|
|
245
|
+
// LiqETH contracts
|
|
246
|
+
LiqEthAuthority: '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512',
|
|
247
|
+
BeaconState: '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9',
|
|
248
|
+
WithdrawalQueue: '0x5FC8d32690cc91D4c39d9d3abcBD16989F875707',
|
|
249
|
+
LiqEthToken: '0xa513E6E4b8f2a923D98304ec87F64353C4D5C853',
|
|
250
|
+
Accounting: '0x8A791620dd6260079BF849Dc5567aDC3F2FdC318',
|
|
251
|
+
DepositManager: '0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e',
|
|
252
|
+
WithdrawalVault: '0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82',
|
|
253
|
+
StakingModule: '0x0B306BF915C4d645ff596e518fAf3F9669b97016',
|
|
254
|
+
// YieldOracle: '0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE',
|
|
255
|
+
|
|
256
|
+
// Outpost contracts
|
|
257
|
+
OutpostManagerAuthority: '0x202CCe504e04bEd6fC0521238dDf04Bc9E8E15aB',
|
|
258
|
+
iodata: '0x4aCABbC74a1cA9B0058d9ADAa0E00Af0f4f73212',
|
|
259
|
+
Base58: '0x1241F36ff30065deD52d51f0d6524EF971259A12',
|
|
260
|
+
sysio_merkle: '0x172076E0166D1F9Cc711C77Adf8488051744980C',
|
|
261
|
+
ReceiptNFT: '0x2B0d36FACD61B71CC05ab8F3D2355ec3631C0dd5',
|
|
262
|
+
EthUsdPriceConsumer: '0x5c74c94173F05dA1720953407cbb920F3DF9f887',
|
|
263
|
+
Pool: '0x1c85638e118b37167e9298c2268758e058DdfDA0',
|
|
264
|
+
OutpostManager: '0xA4899D35897033b927acFCf422bc745916139776',
|
|
265
|
+
sysio_write: '0x0Ec4C1BaB772958aa3Db27459643bfbE7d92E305',
|
|
266
|
+
Pretoken: '0xe8D2A1E88c91DCd5433208d4152Cc4F399a7e91d',
|
|
267
|
+
BAR: '0x4631BCAbD6dF18D94796344963cB60d44a4136b6',
|
|
268
|
+
OPPCommon: '0xf4B146FbA71F41E0592668ffbF264F1D186b2Ca8',
|
|
269
|
+
OPP: '0xBEc49fA140aCaA83533fB00A2BB19bDdd0290f25',
|
|
270
|
+
Depositor: '0x18E317A7D70d8fBf8e6E893616b52390EbBdb629',
|
|
271
|
+
OPPInbound: '0xAA292E8611aDF267e563f334Ee42320aC96D0463',
|
|
272
|
+
|
|
273
|
+
// MockDepositContract: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0',
|
|
274
|
+
// LiqEthBridge: '0x7A9Ec1d04904907De0ED7b6839CcdD59c3716AC9', internal
|
|
275
|
+
// WireYieldHubAttestations: '0x367761085BF3C12e5DA2Df99AC6E1a824612b8fb', internal
|
|
276
|
+
|
|
277
|
+
// Test-only mock aggregator
|
|
278
|
+
// MockAggregator: '0xFCfc3ddd4CBd9Ad3b3af3A374B8bdA1b66eE6FFF',
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
export const ADDRESS_BOOK_BY_CHAIN: Record<SupportedEvmChainID, AddressBook> = {
|
|
282
|
+
[EvmChainID.Ethereum]: MAINNET_ADDRESSES,
|
|
283
|
+
[EvmChainID.Hoodi]: HOODI_ADDRESSES,
|
|
284
|
+
[31337]: HOODI_ADDRESSES,
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
// Old name kept as a mainnet default (optional convenience)
|
|
288
|
+
export const ADDRESSES: AddressBook = MAINNET_ADDRESSES;
|
|
289
|
+
|
|
290
|
+
// -----------------------------------------------------------------------------
|
|
291
|
+
// Contract config
|
|
292
|
+
// -----------------------------------------------------------------------------
|
|
43
293
|
|
|
44
294
|
export type ContractConfig = {
|
|
45
295
|
address: string;
|
|
46
296
|
abi: JsonFragment[];
|
|
47
|
-
}
|
|
297
|
+
};
|
|
48
298
|
|
|
49
|
-
export
|
|
50
|
-
|
|
51
|
-
|
|
299
|
+
export type Contracts<T extends string = ContractName> = Record<T, ContractConfig>;
|
|
300
|
+
|
|
301
|
+
function buildContracts(addresses: AddressBook, artifacts: ArtifactBundle): Contracts<ContractName> {
|
|
302
|
+
return {
|
|
303
|
+
// LiqETH Contracts
|
|
304
|
+
LiqEthAuthority: {
|
|
305
|
+
address: addresses.LiqEthAuthority,
|
|
306
|
+
abi: artifacts.LiqEthToken.abi as JsonFragment[],
|
|
307
|
+
},
|
|
308
|
+
BeaconState: {
|
|
309
|
+
address: addresses.BeaconState,
|
|
310
|
+
abi: artifacts.BeaconState.abi as JsonFragment[],
|
|
311
|
+
},
|
|
312
|
+
WithdrawalQueue: {
|
|
313
|
+
address: addresses.WithdrawalQueue,
|
|
314
|
+
abi: artifacts.WithdrawalQueue.abi as JsonFragment[],
|
|
315
|
+
},
|
|
316
|
+
LiqEthToken: {
|
|
317
|
+
address: addresses.LiqEthToken,
|
|
318
|
+
abi: artifacts.LiqEthToken.abi as JsonFragment[],
|
|
319
|
+
},
|
|
320
|
+
Accounting: {
|
|
321
|
+
address: addresses.Accounting,
|
|
322
|
+
abi: artifacts.Accounting.abi as JsonFragment[],
|
|
323
|
+
},
|
|
324
|
+
DepositManager: {
|
|
325
|
+
address: addresses.DepositManager,
|
|
326
|
+
abi: artifacts.DepositManager.abi as JsonFragment[],
|
|
327
|
+
},
|
|
328
|
+
WithdrawalVault: {
|
|
329
|
+
address: addresses.WithdrawalVault,
|
|
330
|
+
abi: artifacts.WithdrawalVault.abi as JsonFragment[],
|
|
331
|
+
},
|
|
332
|
+
StakingModule: {
|
|
333
|
+
address: addresses.StakingModule,
|
|
334
|
+
abi: artifacts.StakingModule.abi as JsonFragment[],
|
|
335
|
+
},
|
|
336
|
+
// YieldOracle: {
|
|
337
|
+
// address: addresses.YieldOracle,
|
|
338
|
+
// abi: artifacts.YieldOracle.abi as JsonFragment[],
|
|
339
|
+
// },
|
|
340
|
+
|
|
341
|
+
// Outpost Contracts
|
|
342
|
+
OutpostManagerAuthority: {
|
|
343
|
+
address: addresses.OutpostManagerAuthority,
|
|
344
|
+
abi: artifacts.OutpostManagerAuthority.abi as JsonFragment[],
|
|
345
|
+
},
|
|
346
|
+
iodata: {
|
|
347
|
+
address: addresses.iodata,
|
|
348
|
+
abi: artifacts.iodata.abi as JsonFragment[],
|
|
349
|
+
},
|
|
350
|
+
Base58: {
|
|
351
|
+
address: addresses.Base58,
|
|
352
|
+
abi: artifacts.Base58.abi as JsonFragment[],
|
|
353
|
+
},
|
|
354
|
+
sysio_merkle: {
|
|
355
|
+
address: addresses.sysio_merkle,
|
|
356
|
+
abi: artifacts.sysio_merkle.abi as JsonFragment[],
|
|
357
|
+
},
|
|
358
|
+
ReceiptNFT: {
|
|
359
|
+
address: addresses.ReceiptNFT,
|
|
360
|
+
abi: artifacts.ReceiptNFT.abi as JsonFragment[],
|
|
361
|
+
},
|
|
362
|
+
Pool: {
|
|
363
|
+
address: addresses.Pool,
|
|
364
|
+
abi: artifacts.Pool.abi as JsonFragment[],
|
|
365
|
+
},
|
|
366
|
+
OutpostManager: {
|
|
367
|
+
address: addresses.OutpostManager,
|
|
368
|
+
abi: artifacts.OutpostManager.abi as JsonFragment[],
|
|
369
|
+
},
|
|
370
|
+
sysio_write: {
|
|
371
|
+
address: addresses.sysio_write,
|
|
372
|
+
abi: artifacts.sysio_write.abi as JsonFragment[],
|
|
373
|
+
},
|
|
374
|
+
EthUsdPriceConsumer: {
|
|
375
|
+
address: addresses.EthUsdPriceConsumer,
|
|
376
|
+
abi: artifacts.EthUsdPriceConsumer.abi as JsonFragment[],
|
|
377
|
+
},
|
|
378
|
+
BAR: {
|
|
379
|
+
address: addresses.BAR,
|
|
380
|
+
abi: artifacts.BAR.abi as JsonFragment[],
|
|
381
|
+
},
|
|
382
|
+
OPPCommon: {
|
|
383
|
+
address: addresses.OPPCommon,
|
|
384
|
+
abi: artifacts.OPPCommon.abi as JsonFragment[],
|
|
385
|
+
},
|
|
386
|
+
OPP: {
|
|
387
|
+
address: addresses.OPP,
|
|
388
|
+
abi: artifacts.OPP.abi as JsonFragment[],
|
|
389
|
+
},
|
|
390
|
+
Pretoken: {
|
|
391
|
+
address: addresses.Pretoken,
|
|
392
|
+
abi: artifacts.Pretoken.abi as JsonFragment[],
|
|
393
|
+
},
|
|
394
|
+
OPPInbound: {
|
|
395
|
+
address: addresses.OPPInbound,
|
|
396
|
+
abi: artifacts.OPPInbound.abi as JsonFragment[],
|
|
397
|
+
},
|
|
398
|
+
Depositor: {
|
|
399
|
+
address: addresses.Depositor,
|
|
400
|
+
abi: artifacts.Depositor.abi as JsonFragment[],
|
|
401
|
+
},
|
|
402
|
+
|
|
403
|
+
// MockAggregator: {
|
|
404
|
+
// address: addresses.MockAggregator,
|
|
405
|
+
// abi: artifacts.Aggregator.abi as JsonFragment[],
|
|
406
|
+
// },
|
|
407
|
+
};
|
|
52
408
|
}
|
|
53
409
|
|
|
410
|
+
export const CONTRACTS_BY_CHAIN: Record<SupportedEvmChainID, Contracts<ContractName>> = {
|
|
411
|
+
[EvmChainID.Ethereum]: buildContracts(MAINNET_ADDRESSES, MAINNET_ARTIFACTS),
|
|
412
|
+
[EvmChainID.Hoodi]: buildContracts(HOODI_ADDRESSES, HOODI_ARTIFACTS),
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
// -----------------------------------------------------------------------------
|
|
416
|
+
// Service
|
|
417
|
+
// -----------------------------------------------------------------------------
|
|
418
|
+
|
|
54
419
|
export interface ContractOptions {
|
|
420
|
+
/** EVM chain id to select the correct address/contract set */
|
|
421
|
+
chainId: EvmChainID;
|
|
55
422
|
/** RPC endpoint or injected EIP-1193 provider */
|
|
56
423
|
provider?: ethers.providers.Provider;
|
|
57
424
|
/** Only required if you need to send txns */
|
|
58
425
|
signer?: Signer;
|
|
59
426
|
}
|
|
60
427
|
|
|
428
|
+
const ARTIFACTS_BY_CHAIN: Record<SupportedEvmChainID, ArtifactBundle> = {
|
|
429
|
+
[EvmChainID.Ethereum]: MAINNET_ARTIFACTS,
|
|
430
|
+
[EvmChainID.Hoodi]: HOODI_ARTIFACTS,
|
|
431
|
+
};
|
|
61
432
|
|
|
62
433
|
export class EthereumContractService {
|
|
63
434
|
private provider?: providers.Provider;
|
|
64
435
|
private signer?: Signer;
|
|
436
|
+
private readonly chainId: EvmChainID;
|
|
437
|
+
private readonly contractsConfig: Contracts<ContractName>;
|
|
65
438
|
|
|
66
439
|
public readonly contract: { [N in ContractName]: ethers.Contract } = {} as any;
|
|
67
440
|
public readonly iface: { [N in ContractName]: ethers.utils.Interface } = {} as any;
|
|
@@ -69,29 +442,40 @@ export class EthereumContractService {
|
|
|
69
442
|
constructor(opts: ContractOptions) {
|
|
70
443
|
this.provider = opts.provider;
|
|
71
444
|
this.signer = opts.signer;
|
|
445
|
+
this.chainId = opts.chainId;
|
|
446
|
+
|
|
447
|
+
const contracts = CONTRACTS_BY_CHAIN[this.chainId];
|
|
448
|
+
if (!contracts) {
|
|
449
|
+
throw new Error(`Unsupported EVM chainId=${this.chainId}`);
|
|
450
|
+
}
|
|
451
|
+
this.contractsConfig = contracts;
|
|
72
452
|
|
|
73
|
-
(Object.keys(
|
|
74
|
-
const { address, abi } =
|
|
453
|
+
(Object.keys(contracts) as ContractName[]).forEach((name) => {
|
|
454
|
+
const { address, abi } = contracts[name];
|
|
75
455
|
this.iface[name] = new ethers.utils.Interface(abi);
|
|
76
|
-
this.contract[name] = new ethers.Contract(
|
|
456
|
+
this.contract[name] = new ethers.Contract(
|
|
457
|
+
address,
|
|
458
|
+
abi,
|
|
459
|
+
this.signer ?? this.provider,
|
|
460
|
+
);
|
|
77
461
|
});
|
|
78
462
|
}
|
|
79
463
|
|
|
80
464
|
/** Get raw address for a contract */
|
|
81
465
|
public getAddress(name: ContractName): string {
|
|
82
|
-
return
|
|
466
|
+
return this.contractsConfig[name].address;
|
|
83
467
|
}
|
|
84
468
|
|
|
85
469
|
/** Utility: get a read-only handle even if signer is present */
|
|
86
|
-
getReadOnly(name: ContractName): Contract {
|
|
87
|
-
const { address, abi } =
|
|
470
|
+
public getReadOnly(name: ContractName): Contract {
|
|
471
|
+
const { address, abi } = this.contractsConfig[name];
|
|
88
472
|
return new Contract(address, abi, this.provider);
|
|
89
473
|
}
|
|
90
474
|
|
|
91
475
|
/** Utility: get a write-enabled handle (throws if no signer) */
|
|
92
|
-
getWrite(name: ContractName): Contract {
|
|
476
|
+
public getWrite(name: ContractName): Contract {
|
|
93
477
|
if (!this.signer) throw new Error('No signer available for write calls');
|
|
94
|
-
const { address, abi } =
|
|
478
|
+
const { address, abi } = this.contractsConfig[name];
|
|
95
479
|
return new Contract(address, abi, this.signer);
|
|
96
480
|
}
|
|
97
481
|
|
|
@@ -100,9 +484,9 @@ export class EthereumContractService {
|
|
|
100
484
|
return this.provider?.getNetwork();
|
|
101
485
|
}
|
|
102
486
|
|
|
103
|
-
/** List all known contract names */
|
|
487
|
+
/** List all known contract names for this chain */
|
|
104
488
|
public listContractNames(): ContractName[] {
|
|
105
|
-
return Object.keys(
|
|
489
|
+
return Object.keys(this.contractsConfig) as ContractName[];
|
|
106
490
|
}
|
|
107
491
|
|
|
108
492
|
/** Get Interface instance for a contract */
|
|
@@ -119,38 +503,34 @@ export class EthereumContractService {
|
|
|
119
503
|
return ctr;
|
|
120
504
|
}
|
|
121
505
|
|
|
122
|
-
/** A unified Interface containing all ABIs
|
|
123
|
-
* to parse custom errors or events. */
|
|
506
|
+
/** A unified Interface containing all ABIs to parse custom errors or events. */
|
|
124
507
|
public get omniInterface(): ethers.utils.Interface {
|
|
125
508
|
const all: any[] = [];
|
|
126
509
|
|
|
127
|
-
|
|
128
|
-
const allArtifacts =
|
|
129
|
-
ERC20Artifact,
|
|
130
|
-
ERC721Artifact,
|
|
131
|
-
ERC1155Artifact,
|
|
132
|
-
// Add more artifacts as needed
|
|
133
|
-
];
|
|
510
|
+
const artifacts : ArtifactBundle = ARTIFACTS_BY_CHAIN[this.chainId];
|
|
511
|
+
const allArtifacts = Object.values(artifacts);
|
|
134
512
|
|
|
135
|
-
|
|
136
|
-
allArtifacts.forEach(artifact => {
|
|
513
|
+
allArtifacts.forEach((artifact) => {
|
|
137
514
|
if (artifact && artifact.abi) {
|
|
138
515
|
all.push(...artifact.abi);
|
|
139
516
|
}
|
|
140
517
|
});
|
|
141
518
|
|
|
142
|
-
// dedupe
|
|
143
519
|
const seen = new Set<string>();
|
|
144
520
|
const dedup: any[] = [];
|
|
145
521
|
for (const item of all) {
|
|
146
522
|
try {
|
|
147
523
|
const frag = ethers.utils.Fragment.from(item);
|
|
148
|
-
const key = `${frag.type}:${frag.format(
|
|
524
|
+
const key = `${frag.type}:${frag.format(
|
|
525
|
+
ethers.utils.FormatTypes.full,
|
|
526
|
+
)}`.toLowerCase();
|
|
149
527
|
if (!seen.has(key)) {
|
|
150
528
|
seen.add(key);
|
|
151
529
|
dedup.push(item);
|
|
152
530
|
}
|
|
153
|
-
} catch {
|
|
531
|
+
} catch {
|
|
532
|
+
// ignore bad fragments
|
|
533
|
+
}
|
|
154
534
|
}
|
|
155
535
|
|
|
156
536
|
return new ethers.utils.Interface(dedup);
|
|
@@ -164,4 +544,4 @@ export class EthereumContractService {
|
|
|
164
544
|
throw new Error(`Unable to parse error data: ${revertData}`);
|
|
165
545
|
}
|
|
166
546
|
}
|
|
167
|
-
}
|
|
547
|
+
}
|