@wireio/stake 2.7.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -15
- package/lib/stake.browser.js +50561 -13484
- package/lib/stake.browser.js.map +1 -1
- package/lib/stake.d.ts +564 -15719
- package/lib/stake.js +47546 -10288
- package/lib/stake.js.map +1 -1
- package/lib/stake.m.js +50561 -13484
- package/lib/stake.m.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/evm/hoodi/.gitkeep +1 -0
- package/src/assets/evm/monad-testnet/.gitkeep +0 -0
- package/src/assets/evm/polygon-amoy/.gitkeep +0 -0
- package/src/assets/evm/wiredev/common/Base58.sol/Base58.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/Base58.sol/Base58.json +164 -0
- package/src/assets/evm/wiredev/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
- package/src/assets/evm/wiredev/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
- package/src/assets/evm/wiredev/common/iodata.sol/iodata.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/iodata.sol/iodata.json +618 -0
- package/src/assets/evm/wiredev/common/iodata_util.sol/iodata_util.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/iodata_util.sol/iodata_util.json +40 -0
- package/src/assets/evm/wiredev/common/sysio_data.sol/sysio_data.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_data.sol/sysio_data.json +10 -0
- package/src/assets/evm/wiredev/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_errors.sol/sysio_errors.json +10 -0
- package/src/assets/evm/wiredev/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_merkle.sol/sysio_merkle.json +233 -0
- package/src/assets/evm/wiredev/common/sysio_name.sol/sysio_name.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_name.sol/sysio_name.json +49 -0
- package/src/assets/evm/wiredev/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
- package/src/assets/evm/wiredev/common/sysio_read.sol/sysio_read.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_read.sol/sysio_read.json +1458 -0
- package/src/assets/evm/wiredev/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_tester.sol/SysioTester.json +1532 -0
- package/src/assets/evm/wiredev/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_verify.sol/sysio_verify.json +1525 -0
- package/src/assets/evm/wiredev/common/sysio_write.sol/sysio_write.dbg.json +4 -0
- package/src/assets/evm/wiredev/common/sysio_write.sol/sysio_write.json +1076 -0
- package/src/assets/evm/wiredev/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/BeaconState.sol/BeaconState.json +807 -0
- package/src/assets/evm/wiredev/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/DepositManager.sol/DepositManagerV2.json +985 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IAccounting.json +182 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IStakingModule.json +344 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
- package/src/assets/evm/wiredev/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
- package/src/assets/evm/wiredev/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
- package/src/assets/evm/wiredev/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/Yield.sol/YieldOracle.json +1376 -0
- package/src/assets/evm/wiredev/liqEth/accounting.sol/AccountingV2.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/accounting.sol/AccountingV2.json +629 -0
- package/src/assets/evm/wiredev/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
- package/src/assets/evm/wiredev/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/stakingModule.sol/StakingModuleV2.json +1779 -0
- package/src/assets/evm/wiredev/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
- package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
- package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
- package/src/assets/evm/wiredev/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/accounting.sol/Accounting.json +548 -0
- package/src/assets/evm/wiredev/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
- package/src/assets/evm/wiredev/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
- package/src/assets/evm/wiredev/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
- package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
- package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
- package/src/assets/evm/wiredev/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
- package/src/assets/evm/wiredev/outpost/BAR.sol/BAR.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/BAR.sol/BAR.json +1154 -0
- package/src/assets/evm/wiredev/outpost/Depositor.sol/Depositor.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/Depositor.sol/Depositor.json +1633 -0
- package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
- package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +274 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawFailedCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawFailedCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.json +10 -0
- package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/IDepositorBridgeHooks.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/IDepositorBridgeHooks.json +29 -0
- package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/LiqEthBridge.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/LiqEthBridge.sol/LiqEthBridge.json +1076 -0
- package/src/assets/evm/wiredev/outpost/OPP.sol/OPP.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPP.sol/OPP.json +1098 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPP.json +81 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPInbound.json +330 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/IOPPSender.json +41 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPCommon.sol/OPPCommon.json +287 -0
- package/src/assets/evm/wiredev/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPEndpoint.sol/OPPEndpoint.json +337 -0
- package/src/assets/evm/wiredev/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +458 -0
- package/src/assets/evm/wiredev/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +442 -0
- package/src/assets/evm/wiredev/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPErrors.sol/OPPErrors.json +288 -0
- package/src/assets/evm/wiredev/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPInbound.sol/OPPInbound.json +1298 -0
- package/src/assets/evm/wiredev/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPReceiver.sol/OPPReceiver.json +355 -0
- package/src/assets/evm/wiredev/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OPPSender.sol/OPPSender.json +367 -0
- package/src/assets/evm/wiredev/outpost/OperatorRegistry.sol/OperatorRegistry.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OperatorRegistry.sol/OperatorRegistry.json +1111 -0
- package/src/assets/evm/wiredev/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostErrors.sol/OutpostErrors.json +211 -0
- package/src/assets/evm/wiredev/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
- package/src/assets/evm/wiredev/outpost/OutpostManager.sol/OutpostManager.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostManager.sol/OutpostManager.json +794 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
- package/src/assets/evm/wiredev/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
- package/src/assets/evm/wiredev/outpost/OutpostReserve.sol/OutpostReserve.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/OutpostReserve.sol/OutpostReserve.json +931 -0
- package/src/assets/evm/wiredev/outpost/Pool.sol/Pool.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/Pool.sol/Pool.json +659 -0
- package/src/assets/evm/wiredev/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/Pretoken.sol/Pretoken.json +1436 -0
- package/src/assets/evm/wiredev/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/ReceiptNFT.sol/ReceiptNFT.json +1738 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.json +10 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.json +1437 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.json +10 -0
- package/src/assets/evm/wiredev/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
- package/src/assets/evm/wiredev/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
- package/src/assets/evm/wiredev/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
- package/src/assets/evm/wiredev/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
- package/src/assets/evm/wiredev/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
- package/src/assets/evm/wiredev/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
- package/src/assets/evm/wiredev/token/ERC1155Token.sol/ERC1155Token.json +472 -0
- package/src/assets/evm/wiredev/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
- package/src/assets/evm/wiredev/token/ERC20Token.sol/ERC20Token.json +330 -0
- package/src/assets/evm/wiredev/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
- package/src/assets/evm/wiredev/token/ERC721Token.sol/ERC721Token.json +449 -0
- package/src/assets/evm/wiredev/token/Eman1155.sol/Eman1155.dbg.json +4 -0
- package/src/assets/evm/wiredev/token/Eman1155.sol/Eman1155.json +560 -0
- package/src/assets/evm/wiredev/token/Eman20.sol/Eman20.dbg.json +4 -0
- package/src/assets/evm/wiredev/token/Eman20.sol/Eman20.json +460 -0
- package/src/assets/evm/wiredev/token/Eman721.sol/Eman721.dbg.json +4 -0
- package/src/assets/evm/wiredev/token/Eman721.sol/Eman721.json +624 -0
- package/src/assets/solana/mainnet/idl/validator_leaderboard.json.bak +568 -0
- package/src/assets/solana/wiredev/idl/liqsol_core.json +8726 -0
- package/src/assets/solana/wiredev/idl/liqsol_token.json +217 -0
- package/src/assets/solana/wiredev/idl/transfer_hook.json +490 -0
- package/src/assets/solana/wiredev/idl/validator_leaderboard.json +735 -0
- package/src/assets/solana/wiredev/types/liqsol_core.ts +8732 -0
- package/src/assets/solana/wiredev/types/liqsol_token.ts +223 -0
- package/src/assets/solana/wiredev/types/transfer_hook.ts +496 -0
- package/src/assets/solana/wiredev/types/validator_leaderboard.ts +741 -0
- package/src/chains.ts +165 -0
- package/src/index.ts +7 -3
- package/src/networks/{ethereum → evm}/clients/convert.client.ts +8 -3
- package/src/networks/evm/clients/instaswap.client.ts +440 -0
- package/src/networks/{ethereum → evm}/clients/opp.client.ts +3 -3
- package/src/networks/{ethereum → evm}/clients/pretoken.client.ts +11 -6
- package/src/networks/{ethereum → evm}/clients/receipt.client.ts +3 -3
- package/src/networks/{ethereum → evm}/clients/stake.client.ts +144 -20
- package/src/networks/{ethereum → evm}/clients/validator.client.ts +3 -3
- package/src/networks/{ethereum → evm}/contract.ts +207 -116
- package/src/networks/{ethereum/ethereum.ts → evm/evm.ts} +214 -68
- package/src/networks/{ethereum → evm}/utils.ts +56 -4
- package/src/networks/solana/clients/convert.client.ts +47 -11
- package/src/networks/solana/clients/distribution.client.ts +17 -13
- package/src/networks/solana/clients/instaswap.client.ts +486 -0
- package/src/networks/solana/clients/leaderboard.client.ts +4 -5
- package/src/networks/solana/clients/outpost.client.ts +110 -47
- package/src/networks/solana/clients/token.client.ts +20 -11
- package/src/networks/solana/constants.ts +27 -7
- package/src/networks/solana/program.ts +104 -19
- package/src/networks/solana/solana.ts +145 -15
- package/src/networks/solana/types.ts +1 -2
- package/src/networks/solana/utils.ts +36 -4
- package/src/staker.ts +22 -20
- package/src/status.ts +301 -0
- package/src/types.ts +6 -11
- /package/src/assets/{ethereum → evm}/mainnet/common/Base58.sol/Base58.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/Base58.sol/Base58.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/RestrictedCallers.sol/RestrictedCallers.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/iodata.sol/iodata.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/iodata.sol/iodata.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/iodata_util.sol/iodata_util.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/iodata_util.sol/iodata_util.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_data.sol/sysio_data.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_data.sol/sysio_data.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_errors.sol/sysio_errors.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_errors.sol/sysio_errors.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_merkle.sol/sysio_merkle.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_merkle.sol/sysio_merkle.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_name.sol/sysio_name.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_name.sol/sysio_name.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_pubkey.sol/sysio_pubkey.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_read.sol/sysio_read.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_read.sol/sysio_read.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_tester.sol/SysioTester.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_tester.sol/SysioTester.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_verify.sol/sysio_verify.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_verify.sol/sysio_verify.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_write.sol/sysio_write.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/common/sysio_write.sol/sysio_write.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/BeaconState.sol/BeaconState.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/BeaconState.sol/BeaconState.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/DepositManagerV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/StakingLib.sol/StakingLib.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/StakingLib.sol/StakingLib.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/Yield.sol/YieldOracle.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/Yield.sol/YieldOracle.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/stakingModule.sol/StakingModuleV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/DepositManager.sol/DepositManager.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/accounting.sol/Accounting.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/accounting.sol/Accounting.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/v1/stakingModule.sol/StakingModule.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/Uint64BE.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/BAR.sol/BARV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/BAR.sol/BARV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/Depositor.sol/DepositorV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/Depositor.sol/DepositorV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPP.sol/OPP.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPP.sol/OPP.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPP.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPP.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPInbound.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPInbound.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPReceiver.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPSender.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/IOPPSender.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/OPPCommon.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPCommon.sol/OPPCommon.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPErrors.sol/OPPErrors.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPErrors.sol/OPPErrors.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPInbound.sol/OPPInbound.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPInbound.sol/OPPInbound.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPReceiver.sol/OPPReceiver.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPSender.sol/OPPSender.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OPPSender.sol/OPPSender.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostErrors.sol/OutpostErrors.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManaged.sol/OutpostManaged.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/Pool.sol/PoolV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/Pool.sol/PoolV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/Pretoken.sol/PretokenV2.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/Pretoken.sol/PretokenV2.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/BAR.sol/BAR.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/BAR.sol/BAR.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Depositor.sol/Depositor.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Depositor.sol/Depositor.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pool.sol/Pool.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pool.sol/Pool.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pretoken.sol/Pretoken.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/outpost/v1/Pretoken.sol/Pretoken.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/token/ERC1155Token.sol/ERC1155Token.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/token/ERC1155Token.sol/ERC1155Token.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/token/ERC20Token.sol/ERC20Token.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/token/ERC20Token.sol/ERC20Token.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/token/ERC721Token.sol/ERC721Token.dbg.json +0 -0
- /package/src/assets/{ethereum → evm}/mainnet/token/ERC721Token.sol/ERC721Token.json +0 -0
- /package/src/networks/{ethereum → evm}/types.ts +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BigNumber, ethers } from 'ethers';
|
|
2
|
-
import { ChainID,
|
|
2
|
+
import { ChainID, PublicKey as WirePubKey } from '@wireio/core';
|
|
3
|
+
import { EVM_WIRE_DEVNET_CHAIN_ID, isSupportedEvmContractChain } from '../../chains';
|
|
3
4
|
import {
|
|
4
5
|
IStakingClient,
|
|
5
6
|
OPPAssertion,
|
|
@@ -7,10 +8,11 @@ import {
|
|
|
7
8
|
StakerConfig,
|
|
8
9
|
TrancheSnapshot
|
|
9
10
|
} from '../../types';
|
|
10
|
-
import {
|
|
11
|
+
import { EvmContractService } from './contract';
|
|
11
12
|
import { preLaunchReceipt, WithdrawReceipt } from './types';
|
|
12
|
-
import {
|
|
13
|
+
import { buildEvmTrancheSnapshot, formatContractErrors } from './utils';
|
|
13
14
|
import { ConvertClient } from './clients/convert.client';
|
|
15
|
+
import { EvmInstaswapClient } from './clients/instaswap.client';
|
|
14
16
|
import { StakeClient } from './clients/stake.client';
|
|
15
17
|
import { PretokenClient } from './clients/pretoken.client';
|
|
16
18
|
import { OPPClient } from './clients/opp.client';
|
|
@@ -19,11 +21,11 @@ import { ValidatorClient } from './clients/validator.client';
|
|
|
19
21
|
|
|
20
22
|
export const INITIAL_TRANCHE_SUPPLY = 35000;
|
|
21
23
|
|
|
22
|
-
export class
|
|
24
|
+
export class EvmStakingClient implements IStakingClient {
|
|
23
25
|
private readonly provider: ethers.providers.Web3Provider | ethers.providers.JsonRpcProvider;
|
|
24
26
|
public readonly pubKey?: WirePubKey;
|
|
25
27
|
private readonly signer?: ethers.Signer;
|
|
26
|
-
private readonly contractService:
|
|
28
|
+
private readonly contractService: EvmContractService;
|
|
27
29
|
|
|
28
30
|
private convertClient: ConvertClient;
|
|
29
31
|
private pretokenClient: PretokenClient;
|
|
@@ -31,6 +33,7 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
31
33
|
private oppClient: OPPClient;
|
|
32
34
|
private receiptClient: ReceiptClient;
|
|
33
35
|
private validatorClient: ValidatorClient;
|
|
36
|
+
public readonly instaswapClient: EvmInstaswapClient;
|
|
34
37
|
|
|
35
38
|
get contract() { return this.contractService.contract; }
|
|
36
39
|
get network() { return this.config.network; }
|
|
@@ -47,10 +50,15 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
47
50
|
}
|
|
48
51
|
this.pubKey = config.pubKey;
|
|
49
52
|
|
|
50
|
-
|
|
53
|
+
const chainId = config.network.chainId;
|
|
54
|
+
if (!isSupportedEvmContractChain(chainId)) {
|
|
55
|
+
throw new Error(`EVM contract suite is not configured for chainId=${chainId}`);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
this.contractService = new EvmContractService({
|
|
51
59
|
provider: this.provider,
|
|
52
60
|
signer: this.signer,
|
|
53
|
-
chainId
|
|
61
|
+
chainId,
|
|
54
62
|
});
|
|
55
63
|
|
|
56
64
|
this.convertClient = new ConvertClient(this.contractService);
|
|
@@ -58,10 +66,16 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
58
66
|
this.stakeClient = new StakeClient(this.contractService);
|
|
59
67
|
this.oppClient = new OPPClient(this.contractService);
|
|
60
68
|
this.receiptClient = new ReceiptClient(this.contractService);
|
|
61
|
-
this.validatorClient = new ValidatorClient(this.contractService)
|
|
69
|
+
this.validatorClient = new ValidatorClient(this.contractService);
|
|
70
|
+
this.instaswapClient = new EvmInstaswapClient(
|
|
71
|
+
this.contractService,
|
|
72
|
+
this.signer,
|
|
73
|
+
config.network.chainId as number,
|
|
74
|
+
config.network.rpcUrls[0],
|
|
75
|
+
);
|
|
62
76
|
}
|
|
63
77
|
catch (error) {
|
|
64
|
-
// console.error('Error initializing
|
|
78
|
+
// console.error('Error initializing EvmStakingClient:', error);
|
|
65
79
|
throw error;
|
|
66
80
|
}
|
|
67
81
|
}
|
|
@@ -133,13 +147,13 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
133
147
|
* @param amount Amount in wei - Keep this as a bigint / string in the caller; avoid JS floats.
|
|
134
148
|
* @returns transaction hash
|
|
135
149
|
*/
|
|
136
|
-
async stake(amount: bigint): Promise<string> {
|
|
150
|
+
async stake(amount: bigint, wireAccount?: string): Promise<string> {
|
|
137
151
|
this.ensureUser();
|
|
138
152
|
|
|
139
153
|
const walletAddress = await this.address!;
|
|
140
154
|
const amountWei = BigNumber.from(amount);
|
|
141
155
|
|
|
142
|
-
const result = await this.stakeClient.
|
|
156
|
+
const result = await this.stakeClient.performStakeToWire(amountWei, walletAddress, wireAccount);
|
|
143
157
|
return result.txHash;
|
|
144
158
|
}
|
|
145
159
|
|
|
@@ -150,17 +164,28 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
150
164
|
}
|
|
151
165
|
|
|
152
166
|
/**
|
|
153
|
-
* Deposit ETH to liqETH, then stake liqETH
|
|
167
|
+
* Deposit ETH to liqETH, then stake the liqETH.
|
|
154
168
|
* @param amountWei Amount in wei.
|
|
155
169
|
* @returns transaction hash
|
|
156
170
|
*/
|
|
157
|
-
async depositAndStake(
|
|
171
|
+
async depositAndStake(amount: bigint, wireAccount?: string): Promise<string> {
|
|
158
172
|
this.ensureUser();
|
|
159
|
-
if (!
|
|
173
|
+
if (!amount || amount <= BigInt(0))
|
|
160
174
|
throw new Error('Amount must be greater than zero.');
|
|
161
175
|
|
|
162
|
-
|
|
163
|
-
|
|
176
|
+
|
|
177
|
+
const walletAddress = await this.address!;
|
|
178
|
+
let amountWei = BigNumber.from(amount);
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
const result = await this.convertClient.performDeposit(amountWei);
|
|
182
|
+
console.log('result of performDeposit()', result);
|
|
183
|
+
|
|
184
|
+
const result2 = await this.stakeClient.performStakeToWire(amountWei, walletAddress, wireAccount);
|
|
185
|
+
console.log('result of performStakeToWire()', result2);
|
|
186
|
+
|
|
187
|
+
// const result = await this.stakeClient.performDepositAndStakeToWire(BigNumber.from(amountWei), wireAccount);
|
|
188
|
+
return result2.txHash;
|
|
164
189
|
}
|
|
165
190
|
|
|
166
191
|
/**
|
|
@@ -210,12 +235,6 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
210
235
|
|
|
211
236
|
const buyer = await this.address!;
|
|
212
237
|
|
|
213
|
-
// ! Hoodi only - check if the mock aggregator price is stale, and if so, update it before submitting the buy request
|
|
214
|
-
// const network = await this.provider.getNetwork();
|
|
215
|
-
// const chainId = network.chainId;
|
|
216
|
-
// const allowedTestChains = new Set([560048]);
|
|
217
|
-
// if (allowedTestChains.has(chainId)) await this.updateMockAggregatorPrice();
|
|
218
|
-
|
|
219
238
|
let result = await this.pretokenClient.purchasePretokensWithLiqETH(amount, buyer);
|
|
220
239
|
return result && result.txHash ? result.txHash : "Error - no resulting txHash";
|
|
221
240
|
}
|
|
@@ -235,6 +254,33 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
235
254
|
|
|
236
255
|
|
|
237
256
|
|
|
257
|
+
// ! Testnet only - check if the mock aggregator price is stale, and if so, update it before submitting the buy request
|
|
258
|
+
// async crankTestnetAggregator(): Promise<string> {
|
|
259
|
+
// this.ensureUser();
|
|
260
|
+
|
|
261
|
+
// const network = await this.provider.getNetwork();
|
|
262
|
+
// const chainId = network.chainId;
|
|
263
|
+
// const allowedTestChains = new Set([560048, 31337]);
|
|
264
|
+
// if (!allowedTestChains.has(chainId)) return "Testnet crank is only intended for test/local networks - current chain is "+chainId+". Skipping aggregator update";
|
|
265
|
+
|
|
266
|
+
// const [agg, opp] = await Promise.allSettled([
|
|
267
|
+
// this.updateMockAggregatorPrice(),
|
|
268
|
+
// this.fixOppTooManyAttestations(),
|
|
269
|
+
// ]);
|
|
270
|
+
|
|
271
|
+
// const fmt = (name: string, r: PromiseSettledResult<unknown>) => {
|
|
272
|
+
// if (r.status === 'fulfilled') {
|
|
273
|
+
// const suffix = r.value !== undefined ? ` (${String(r.value)})` : '';
|
|
274
|
+
// return `${name}: ok${suffix}`;
|
|
275
|
+
// }
|
|
276
|
+
// return `${name}: failed (${String(r.reason)})`;
|
|
277
|
+
// };
|
|
278
|
+
|
|
279
|
+
// console.log('crankTestnetAggregator()', { agg, opp });
|
|
280
|
+
// return `${fmt('updateMockAggregatorPrice', agg)}; ${fmt('fixOppTooManyAttestations', opp)}`;
|
|
281
|
+
// }
|
|
282
|
+
|
|
283
|
+
|
|
238
284
|
|
|
239
285
|
/**
|
|
240
286
|
* Resolve the user's ETH + liqETH balances.
|
|
@@ -341,7 +387,7 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
341
387
|
return portfolio;
|
|
342
388
|
}
|
|
343
389
|
catch (error) {
|
|
344
|
-
// console.log('Error fetching
|
|
390
|
+
// console.log('Error fetching EVM portfolio:', error);
|
|
345
391
|
throw error;
|
|
346
392
|
}
|
|
347
393
|
}
|
|
@@ -374,7 +420,7 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
374
420
|
private ensureUser() {
|
|
375
421
|
if (!this.signer) {
|
|
376
422
|
throw new Error(
|
|
377
|
-
'
|
|
423
|
+
'EvmStakingClient: write operation requires a wallet-connected Web3 provider',
|
|
378
424
|
);
|
|
379
425
|
}
|
|
380
426
|
}
|
|
@@ -421,7 +467,7 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
421
467
|
}
|
|
422
468
|
|
|
423
469
|
/**
|
|
424
|
-
* Program-level prelaunch WIRE / tranche snapshot for
|
|
470
|
+
* Program-level prelaunch WIRE / tranche snapshot for EVM
|
|
425
471
|
*
|
|
426
472
|
* SUPPORTS READ-ONLY ACcESS
|
|
427
473
|
*/
|
|
@@ -459,7 +505,7 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
459
505
|
|
|
460
506
|
const initialTrancheSupply = BigInt(INITIAL_TRANCHE_SUPPLY) * BigInt(1e8);
|
|
461
507
|
|
|
462
|
-
return
|
|
508
|
+
return buildEvmTrancheSnapshot({
|
|
463
509
|
chainID,
|
|
464
510
|
totalSharesBn,
|
|
465
511
|
indexBn,
|
|
@@ -476,7 +522,7 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
476
522
|
});
|
|
477
523
|
}
|
|
478
524
|
catch (err: any) {
|
|
479
|
-
throw new Error(`Error fetching
|
|
525
|
+
throw new Error(`Error fetching EVM tranche snapshot: ${err?.message || err}`);
|
|
480
526
|
}
|
|
481
527
|
}
|
|
482
528
|
|
|
@@ -555,50 +601,150 @@ export class EthereumStakingClient implements IStakingClient {
|
|
|
555
601
|
// Internal ETH Staking client helper functions
|
|
556
602
|
// ---------------------------------------------------------------------
|
|
557
603
|
|
|
558
|
-
// ! This is a temporary measure for
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
604
|
+
// ! This is a temporary measure for testnet because there is no aggregator deployed
|
|
605
|
+
/*
|
|
606
|
+
private async updateMockAggregatorPrice() {
|
|
607
|
+
const aggregator = this.contract.MockAggregator;
|
|
608
|
+
|
|
609
|
+
// read latest round & compute age
|
|
610
|
+
const [roundId, answer, startedAt, updatedAt, answeredInRound] = await aggregator.latestRoundData();
|
|
611
|
+
const now = (await this.provider.getBlock("latest")).timestamp;
|
|
612
|
+
const ageSec = Number(now) - Number(updatedAt);
|
|
613
|
+
|
|
614
|
+
const ONE_HOUR = 1 * 3600;
|
|
615
|
+
// const ONE_HOUR = 10;
|
|
616
|
+
if (ageSec > ONE_HOUR) {
|
|
617
|
+
console.log('Attempt to run updateMockAggregatorPrice - MockAggregator price is stale by', ageSec, 'seconds - updating price before proceeding with buy...');
|
|
618
|
+
|
|
619
|
+
// safety check - only run in non-production contexts
|
|
620
|
+
const network = await this.provider.getNetwork();
|
|
621
|
+
const chainId = network.chainId;
|
|
622
|
+
const allowedTestChains = new Set([Number(EVM_WIRE_DEVNET_CHAIN_ID)]);
|
|
623
|
+
if (!allowedTestChains.has(chainId)) {
|
|
624
|
+
console.warn(`MockAggregator is stale (${ageSec}s) but chainId ${chainId} is not a test/local network — skipping update.`);
|
|
625
|
+
return;
|
|
626
|
+
}
|
|
578
627
|
|
|
579
628
|
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
629
|
+
//fetch the current ETH / USD price
|
|
630
|
+
const res = await fetch('https://api.coingecko.com/api/v3/simple/price?ids=ethereum&vs_currencies=usd');
|
|
631
|
+
const data = await res.json();
|
|
632
|
+
const ethUsd = data.ethereum.usd;
|
|
584
633
|
|
|
585
|
-
|
|
634
|
+
const currentEthPrice = ethers.utils.parseUnits(ethUsd.toString(), 8);
|
|
586
635
|
|
|
587
|
-
|
|
588
|
-
// //update to be intentionally stale
|
|
589
|
-
// // const alttx = await aggregator.updateStale(currentEthPrice, now - 7200);
|
|
590
|
-
// // const altreceipt = await alttx.wait(1);
|
|
591
|
-
// // console.log('stale update receipt', altreceipt)
|
|
636
|
+
console.log('currentEthPrice', currentEthPrice.toString())
|
|
592
637
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
638
|
+
try {
|
|
639
|
+
//update to be intentionally stale
|
|
640
|
+
// const alttx = await aggregator.updateStale(currentEthPrice, now - 7200);
|
|
641
|
+
// const altreceipt = await alttx.wait(1);
|
|
642
|
+
// console.log('stale update receipt', altreceipt)
|
|
643
|
+
|
|
644
|
+
//update answer with current timestamp
|
|
645
|
+
const tx = await aggregator.updateAnswer(currentEthPrice);
|
|
646
|
+
const txreceipt = await tx.wait(1);
|
|
647
|
+
console.log('MockAggregator answer updated - receipt:', txreceipt)
|
|
648
|
+
return txreceipt
|
|
649
|
+
} catch (err: any) {
|
|
650
|
+
console.error('MockAggregator updateAnswer failed', err?.message || err);
|
|
651
|
+
}
|
|
652
|
+
} else {
|
|
653
|
+
console.log(`MockAggregator updated ${ageSec}s ago — no update needed`);
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
private async fixOppTooManyAttestations() {
|
|
659
|
+
const opp = this.contract.OPP;
|
|
660
|
+
const outpostManager = this.contract.OutpostManager;
|
|
661
|
+
|
|
662
|
+
const [authority, pendingCountRaw, maxRaw, sendModeTagRaw] = await Promise.all([
|
|
663
|
+
opp.authority(),
|
|
664
|
+
opp.pendingAttestationCount(),
|
|
665
|
+
opp.MESSAGE_EPOCH_MAX_ATTESTATIONS(),
|
|
666
|
+
opp.sendModeTag(),
|
|
667
|
+
]);
|
|
668
|
+
|
|
669
|
+
const toBigInt = (v: any) => (typeof v === "bigint" ? v : BigInt(v.toString()));
|
|
670
|
+
const pendingCount = toBigInt(pendingCountRaw);
|
|
671
|
+
const maxAttestations = toBigInt(maxRaw);
|
|
672
|
+
const sendModeTag = toBigInt(sendModeTagRaw);
|
|
673
|
+
|
|
674
|
+
console.log(`OPP status: authority=${authority}, pendingAttestationCount=${pendingCount}, MESSAGE_EPOCH_MAX_ATTESTATIONS=${maxAttestations}, sendModeTag=${sendModeTag}`);
|
|
675
|
+
|
|
676
|
+
if (sendModeTag === 0n) {
|
|
677
|
+
console.log("OPP is not in send mode.");
|
|
678
|
+
// return;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
const shouldBumpMax = maxAttestations === 1n || pendingCount > maxAttestations;
|
|
682
|
+
if (!shouldBumpMax) {
|
|
683
|
+
console.log(
|
|
684
|
+
`No fix needed: pendingAttestationCount=${pendingCount} <= MESSAGE_EPOCH_MAX_ATTESTATIONS=${maxAttestations}`,
|
|
685
|
+
);
|
|
686
|
+
// return;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
console.log(
|
|
690
|
+
`OPP bump needed (pending=${pendingCount}, max=${maxAttestations}) — attempting to set new max and ${sendModeTag === 0n ? 'skip' : 'call'} exitSendMode(${sendModeTag})...`
|
|
691
|
+
);
|
|
692
|
+
|
|
693
|
+
console.log(await this.provider.getNetwork());
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
// safety check to only run in testnet
|
|
698
|
+
const network = await this.provider.getNetwork();
|
|
699
|
+
const chainId = toBigInt(network.chainId);
|
|
700
|
+
const allowedTestChains = new Set<bigint>([BigInt(Number(EVM_WIRE_DEVNET_CHAIN_ID))]);
|
|
701
|
+
if (!allowedTestChains.has(chainId)) {
|
|
702
|
+
console.warn(
|
|
703
|
+
`Refusing to modify OPP config on chainId ${chainId}. Add it to allowedTestChains if this is expected.`
|
|
704
|
+
);
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
// minimal bump bump: set max to pendingCount (or a small default when max was 1) + buffer.
|
|
709
|
+
const base = pendingCount > 0n ? pendingCount : 1n;
|
|
710
|
+
// const newMax = base + 2n; // add a small buffer to prevent immediate recurrence
|
|
711
|
+
const newMax = 1n; // add a small buffer to prevent immediate recurrence
|
|
712
|
+
|
|
713
|
+
const encodeOppCall = (fn: string, args: any[]) =>
|
|
714
|
+
opp.interface.encodeFunctionData(fn, args);
|
|
715
|
+
|
|
716
|
+
try {
|
|
717
|
+
const data = encodeOppCall('setMessageEpochMaxAttestations', [newMax]);
|
|
718
|
+
await outpostManager.callStatic.execute(opp.address, data);
|
|
719
|
+
console.log('OutpostManager.execute(callStatic) setMessageEpochMaxAttestations passed');
|
|
720
|
+
} catch (e) {
|
|
721
|
+
console.error('OutpostManager.execute(callStatic) setMessageEpochMaxAttestations revert:', e);
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
try {
|
|
726
|
+
const data1 = encodeOppCall('setMessageEpochMaxAttestations', [newMax]);
|
|
727
|
+
const tx1 = await outpostManager.execute(opp.address, data1, {
|
|
728
|
+
gasLimit: 500_000,
|
|
729
|
+
});
|
|
730
|
+
const receipt1 = await tx1.wait(1);
|
|
731
|
+
console.log("setMessageEpochMaxAttestations confirmed:", receipt1);
|
|
732
|
+
|
|
733
|
+
if (sendModeTag !== 0n) {
|
|
734
|
+
const data2 = encodeOppCall('exitSendMode', [sendModeTag]);
|
|
735
|
+
const tx2 = await outpostManager.execute(opp.address, data2, {
|
|
736
|
+
gasLimit: 500_000,
|
|
737
|
+
});
|
|
738
|
+
const receipt2 = await tx2.wait(1);
|
|
739
|
+
console.log("exitSendMode confirmed:", receipt2);
|
|
740
|
+
return { setMaxReceipt: receipt1, exitReceipt: receipt2 };
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
return { setMaxReceipt: receipt1 };
|
|
744
|
+
} catch (err: any) {
|
|
745
|
+
let errorObj = formatContractErrors(err);
|
|
746
|
+
console.error("fixOppTooManyAttestations failed:", err?.message || err, errorObj);
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
*/
|
|
604
750
|
}
|
|
@@ -16,6 +16,9 @@ export interface CustomContractError {
|
|
|
16
16
|
raw: string;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
const DEFAULT_WRITE_GAS_PADDING_BPS = 2_000;
|
|
20
|
+
const DEFAULT_WRITE_GAS_FALLBACK_LIMIT = ethers.BigNumber.from(8_000_000);
|
|
21
|
+
|
|
19
22
|
|
|
20
23
|
|
|
21
24
|
export function formatContractErrors(err: any): CustomContractError {
|
|
@@ -110,6 +113,55 @@ export async function sendOPPFinalize(opp: ethers.Contract, gasLimit?: ethers.Bi
|
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
115
|
|
|
116
|
+
export async function resolveContractWriteOverrides(
|
|
117
|
+
contract: ethers.Contract,
|
|
118
|
+
method: string,
|
|
119
|
+
args: any[] = [],
|
|
120
|
+
overrides: Record<string, unknown> = {},
|
|
121
|
+
options?: {
|
|
122
|
+
fallbackGasLimit?: ethers.BigNumberish;
|
|
123
|
+
paddingBps?: number;
|
|
124
|
+
},
|
|
125
|
+
): Promise<Record<string, unknown>> {
|
|
126
|
+
if (overrides['gasLimit'] != null) {
|
|
127
|
+
return overrides;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const paddingBps = options?.paddingBps ?? DEFAULT_WRITE_GAS_PADDING_BPS;
|
|
131
|
+
const fallbackGasLimit = ethers.BigNumber.from(
|
|
132
|
+
options?.fallbackGasLimit ?? DEFAULT_WRITE_GAS_FALLBACK_LIMIT,
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
try {
|
|
136
|
+
const estimateGas = contract.estimateGas?.[method];
|
|
137
|
+
if (typeof estimateGas !== 'function') {
|
|
138
|
+
return {
|
|
139
|
+
...overrides,
|
|
140
|
+
gasLimit: fallbackGasLimit,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const estimated = await estimateGas(...args, overrides);
|
|
145
|
+
const gasLimit = ethers.BigNumber.from(estimated)
|
|
146
|
+
.mul(10_000 + paddingBps)
|
|
147
|
+
.div(10_000);
|
|
148
|
+
|
|
149
|
+
return {
|
|
150
|
+
...overrides,
|
|
151
|
+
gasLimit,
|
|
152
|
+
};
|
|
153
|
+
} catch (error) {
|
|
154
|
+
console.warn(
|
|
155
|
+
`[EvmGas] estimateGas.${method} failed, using fallback gasLimit ${fallbackGasLimit.toString()}`,
|
|
156
|
+
error,
|
|
157
|
+
);
|
|
158
|
+
return {
|
|
159
|
+
...overrides,
|
|
160
|
+
gasLimit: fallbackGasLimit,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
113
165
|
|
|
114
166
|
const BPS_DENOM = BigInt(10_000);
|
|
115
167
|
|
|
@@ -154,7 +206,7 @@ function usd1e18To1e8(raw: bigint): bigint {
|
|
|
154
206
|
* - `currentPriceUsd` and `priceGrowthCents` are treated as 1e18-scaled USD.
|
|
155
207
|
* - Output `priceUsd` is 1e8-scaled USD (for fromScale8()).
|
|
156
208
|
*/
|
|
157
|
-
export function
|
|
209
|
+
export function buildEvmTrancheLadder(options: {
|
|
158
210
|
currentTranche: number;
|
|
159
211
|
totalTrancheSupply: bigint; // not used in local window, but kept for API parity
|
|
160
212
|
initialTrancheSupply: bigint;
|
|
@@ -242,7 +294,7 @@ export function buildEthereumTrancheLadder(options: {
|
|
|
242
294
|
* Turn raw liqsol_core accounts into a chain-agnostic TrancheSnapshot for SOL.
|
|
243
295
|
* All math stays here; TokenClient just wires accounts + connection.
|
|
244
296
|
*/
|
|
245
|
-
export async function
|
|
297
|
+
export async function buildEvmTrancheSnapshot(options: {
|
|
246
298
|
chainID: ChainID;
|
|
247
299
|
totalSharesBn;
|
|
248
300
|
indexBn;
|
|
@@ -310,7 +362,7 @@ export async function buildEthereumTrancheSnapshot(options: {
|
|
|
310
362
|
|
|
311
363
|
// ---- Build ladder ----
|
|
312
364
|
|
|
313
|
-
const ladder =
|
|
365
|
+
const ladder = buildEvmTrancheLadder({
|
|
314
366
|
currentTranche,
|
|
315
367
|
totalTrancheSupply: totalTrancheSupplyBig,
|
|
316
368
|
initialTrancheSupply: initialTrancheSupplyBig,
|
|
@@ -337,4 +389,4 @@ export async function buildEthereumTrancheSnapshot(options: {
|
|
|
337
389
|
nativePriceTimestamp,
|
|
338
390
|
ladder,
|
|
339
391
|
};
|
|
340
|
-
}
|
|
392
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnchorProvider, BN
|
|
1
|
+
import { AnchorProvider, BN } from '@coral-xyz/anchor';
|
|
2
2
|
import {
|
|
3
3
|
SystemProgram,
|
|
4
4
|
TransactionInstruction,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
getAssociatedTokenAddressSync,
|
|
18
18
|
} from '@solana/spl-token';
|
|
19
19
|
|
|
20
|
-
import {
|
|
20
|
+
import { SolanaProgramService } from '../program';
|
|
21
21
|
import { GlobalAccount, ReceiptData, WalletLike } from '../types';
|
|
22
22
|
import { BalanceView, WithdrawReceipt } from '../../../types';
|
|
23
23
|
import { normalizeToBigInt } from '../utils';
|
|
@@ -30,7 +30,7 @@ import { normalizeToBigInt } from '../utils';
|
|
|
30
30
|
* - build claim_withdraw instruction
|
|
31
31
|
*/
|
|
32
32
|
export class ConvertClient {
|
|
33
|
-
private program:
|
|
33
|
+
private program: any;
|
|
34
34
|
|
|
35
35
|
get connection(): Connection {
|
|
36
36
|
return this.provider.connection;
|
|
@@ -54,6 +54,7 @@ export class ConvertClient {
|
|
|
54
54
|
amount: bigint,
|
|
55
55
|
user = this.wallet.publicKey,
|
|
56
56
|
): Promise<TransactionInstruction> {
|
|
57
|
+
const program = this.program;
|
|
57
58
|
if (!user) throw new Error('ConvertClient.buildDepositTx: wallet not connected');
|
|
58
59
|
if (!amount || amount <= BigInt(0))
|
|
59
60
|
throw new Error('ConvertClient.buildDepositTx: amount must be greater than zero.');
|
|
@@ -82,7 +83,7 @@ export class ConvertClient {
|
|
|
82
83
|
const seed = Math.floor(Math.random() * 2 ** 32);
|
|
83
84
|
const ephemeralStake = await this.pgs.deriveEphemeralStakeAddress(user, seed);
|
|
84
85
|
|
|
85
|
-
return await
|
|
86
|
+
return await program.methods
|
|
86
87
|
.deposit(new BN(amount.toString()), seed)
|
|
87
88
|
.accounts({
|
|
88
89
|
user,
|
|
@@ -114,6 +115,38 @@ export class ConvertClient {
|
|
|
114
115
|
.instruction();
|
|
115
116
|
}
|
|
116
117
|
|
|
118
|
+
async buildRegisterUserIx(
|
|
119
|
+
user = this.wallet.publicKey,
|
|
120
|
+
): Promise<TransactionInstruction> {
|
|
121
|
+
const program = this.program;
|
|
122
|
+
if (!user) throw new Error('ConvertClient.buildRegisterUserIx: wallet not connected');
|
|
123
|
+
|
|
124
|
+
const liqsolMint = this.pgs.deriveLiqsolMintPda();
|
|
125
|
+
const distributionState = this.pgs.deriveDistributionStatePda();
|
|
126
|
+
const bucketAuthority = this.pgs.deriveBucketAuthorityPda();
|
|
127
|
+
const userAta = getAssociatedTokenAddressSync(liqsolMint, user, true, TOKEN_2022_PROGRAM_ID);
|
|
128
|
+
const userRecord = this.pgs.deriveUserRecordPda(userAta);
|
|
129
|
+
const bucketTokenAccount = getAssociatedTokenAddressSync(
|
|
130
|
+
liqsolMint,
|
|
131
|
+
bucketAuthority,
|
|
132
|
+
true,
|
|
133
|
+
TOKEN_2022_PROGRAM_ID,
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
return program.methods
|
|
137
|
+
.registerUser()
|
|
138
|
+
.accounts({
|
|
139
|
+
payer: user,
|
|
140
|
+
userAta,
|
|
141
|
+
userRecord,
|
|
142
|
+
distributionState,
|
|
143
|
+
bucketAuthority,
|
|
144
|
+
bucketTokenAccount,
|
|
145
|
+
systemProgram: SystemProgram.programId,
|
|
146
|
+
})
|
|
147
|
+
.instruction();
|
|
148
|
+
}
|
|
149
|
+
|
|
117
150
|
/**
|
|
118
151
|
* Build a withdraw-request instruction (liqSOL burn -> NFT receipt).
|
|
119
152
|
*/
|
|
@@ -121,6 +154,7 @@ export class ConvertClient {
|
|
|
121
154
|
amount: bigint,
|
|
122
155
|
user = this.wallet.publicKey,
|
|
123
156
|
): Promise<TransactionInstruction> {
|
|
157
|
+
const program = this.program;
|
|
124
158
|
if (!user) throw new Error('ConvertClient.buildWithdrawTx: wallet not connected');
|
|
125
159
|
if (!amount || amount <= BigInt(0))
|
|
126
160
|
throw new Error('ConvertClient.buildWithdrawTx: amount must be greater than zero.');
|
|
@@ -137,7 +171,7 @@ export class ConvertClient {
|
|
|
137
171
|
const maintenanceLedger = this.pgs.deriveMaintenanceLedgerPda();
|
|
138
172
|
const globalConfig = this.pgs.deriveGlobalConfigPda();
|
|
139
173
|
|
|
140
|
-
const globalAcct: GlobalAccount = await
|
|
174
|
+
const globalAcct: GlobalAccount = await program.account.global.fetch(global);
|
|
141
175
|
const rawId = globalAcct.nextReceiptId;
|
|
142
176
|
const receiptId = normalizeToBigInt(rawId);
|
|
143
177
|
|
|
@@ -156,7 +190,7 @@ export class ConvertClient {
|
|
|
156
190
|
TOKEN_2022_PROGRAM_ID,
|
|
157
191
|
);
|
|
158
192
|
|
|
159
|
-
return await
|
|
193
|
+
return await program.methods
|
|
160
194
|
.requestWithdraw(new BN(amount.toString()))
|
|
161
195
|
.accounts({
|
|
162
196
|
user,
|
|
@@ -191,8 +225,9 @@ export class ConvertClient {
|
|
|
191
225
|
* Enumerate withdrawal receipt NFTs owned by `owner`.
|
|
192
226
|
*/
|
|
193
227
|
async fetchWithdrawReceipts(owner: PublicKey): Promise<WithdrawReceipt[]> {
|
|
228
|
+
const program = this.program;
|
|
194
229
|
const globalPda = this.pgs.deriveWithdrawGlobalPda();
|
|
195
|
-
const globalAcct: GlobalAccount = await
|
|
230
|
+
const globalAcct: GlobalAccount = await program.account.global.fetch(globalPda);
|
|
196
231
|
const nextId = normalizeToBigInt(globalAcct.nextReceiptId);
|
|
197
232
|
|
|
198
233
|
const mintToId = new Map<string, bigint>();
|
|
@@ -208,7 +243,7 @@ export class ConvertClient {
|
|
|
208
243
|
const receipts: WithdrawReceipt[] = [];
|
|
209
244
|
|
|
210
245
|
for (const { pubkey, account } of tokenAccounts.value) {
|
|
211
|
-
const info
|
|
246
|
+
const info = account.data?.['parsed']?.info;
|
|
212
247
|
if (!info) continue;
|
|
213
248
|
const amount = info.tokenAmount;
|
|
214
249
|
const decimals = Number(amount?.decimals ?? 0);
|
|
@@ -225,7 +260,7 @@ export class ConvertClient {
|
|
|
225
260
|
|
|
226
261
|
let receiptData: ReceiptData;
|
|
227
262
|
try {
|
|
228
|
-
const raw = await
|
|
263
|
+
const raw = await program.account.liqReceiptData.fetch(receiptDataPda);
|
|
229
264
|
receiptData = {
|
|
230
265
|
receiptId: normalizeToBigInt(raw.receiptId),
|
|
231
266
|
liqports: normalizeToBigInt(raw.liqports),
|
|
@@ -270,6 +305,7 @@ export class ConvertClient {
|
|
|
270
305
|
receiptId: bigint,
|
|
271
306
|
user: PublicKey,
|
|
272
307
|
): Promise<TransactionInstruction> {
|
|
308
|
+
const program = this.program;
|
|
273
309
|
const mintAccount = this.pgs.deriveWithdrawNftMintPda(receiptId);
|
|
274
310
|
const receiptData = this.pgs.deriveLiqReceiptDataPda(mintAccount);
|
|
275
311
|
const ownerAta = getAssociatedTokenAddressSync(
|
|
@@ -297,7 +333,7 @@ export class ConvertClient {
|
|
|
297
333
|
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
298
334
|
};
|
|
299
335
|
|
|
300
|
-
return
|
|
336
|
+
return program.methods.claimWithdraw().accounts(accounts).instruction();
|
|
301
337
|
}
|
|
302
338
|
|
|
303
339
|
/**
|
|
@@ -338,4 +374,4 @@ export class ConvertClient {
|
|
|
338
374
|
const etaMs = Math.max(0, Math.round(etaSeconds * 1000));
|
|
339
375
|
return { etaMs, readyAtMs: Date.now() + etaMs };
|
|
340
376
|
}
|
|
341
|
-
}
|
|
377
|
+
}
|