@wireio/stake 0.4.3 → 0.4.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.
Files changed (558) hide show
  1. package/README.md +185 -243
  2. package/lib/stake.browser.js +51760 -10073
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +11856 -882
  5. package/lib/stake.js +52320 -10531
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +51760 -10073
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +4 -3
  10. package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.dbg.json +4 -0
  11. package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.json +164 -0
  12. package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  13. package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
  14. package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  15. package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
  16. package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.dbg.json +4 -0
  17. package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.json +618 -0
  18. package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  19. package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.json +40 -0
  20. package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  21. package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.json +10 -0
  22. package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  23. package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.json +10 -0
  24. package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  25. package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.json +233 -0
  26. package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  27. package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.json +49 -0
  28. package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  29. package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
  30. package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  31. package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.json +1458 -0
  32. package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  33. package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.json +1532 -0
  34. package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  35. package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.json +1525 -0
  36. package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  37. package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.json +1076 -0
  38. package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  39. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  40. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.json +985 -0
  41. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  42. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  43. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.json +182 -0
  44. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  45. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  46. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  47. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  48. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  49. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  50. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  51. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  52. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IStakingModule.json +1 -1
  53. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  54. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  55. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  56. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/LiqEthCommon.json +2 -2
  57. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  58. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  59. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  60. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthManaged.sol/LiqEthManaged.json +2 -2
  61. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  62. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  63. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  64. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  65. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  66. package/src/assets/ethereum/{ABI → hoodi}/liqEth/Yield.sol/YieldOracle.json +2 -2
  67. package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.dbg.json +4 -0
  68. package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.json +629 -0
  69. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  70. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  71. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  72. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.json +1779 -0
  73. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  74. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  75. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  76. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IAccounting.json +1 -1
  77. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  78. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  79. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  80. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  81. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  82. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  83. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  84. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IRewardsERC20.json +1 -1
  85. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  86. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IRewardsERC20Pausable.json +1 -1
  87. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  88. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  89. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  90. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  91. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  92. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  93. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  94. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  95. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  96. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/RewardsERC20.sol/RewardsERC20Upgradeable.json +1 -1
  97. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  98. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +1 -1
  99. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  100. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.json +548 -0
  101. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  102. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  103. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  104. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  105. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  106. package/src/assets/ethereum/{ABI → hoodi}/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +2 -2
  107. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  108. package/src/assets/ethereum/{ABI → hoodi}/liqEth/withdrawalVault.sol/Uint64BE.json +2 -2
  109. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  110. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  111. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.dbg.json +4 -0
  112. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.json +1111 -0
  113. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.dbg.json +4 -0
  114. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.json +1696 -0
  115. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  116. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  117. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +274 -0
  118. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.dbg.json +4 -0
  119. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.json +10 -0
  120. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.dbg.json +4 -0
  121. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.json +10 -0
  122. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.dbg.json +4 -0
  123. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.json +10 -0
  124. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.dbg.json +4 -0
  125. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.json +10 -0
  126. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.dbg.json +4 -0
  127. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.json +1044 -0
  128. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.dbg.json +4 -0
  129. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.json +1055 -0
  130. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  131. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.json +81 -0
  132. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  133. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  134. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.json +330 -0
  135. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  136. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
  137. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  138. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.json +41 -0
  139. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  140. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.json +287 -0
  141. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  142. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.json +294 -0
  143. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  144. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +415 -0
  145. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  146. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +399 -0
  147. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  148. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.json +245 -0
  149. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  150. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.json +1204 -0
  151. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  152. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.json +312 -0
  153. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  154. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.json +324 -0
  155. package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.dbg.json +4 -0
  156. package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.json +1068 -0
  157. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  158. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.json +211 -0
  159. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  160. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
  161. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  162. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.json +751 -0
  163. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  164. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
  165. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  166. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
  167. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  168. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  169. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
  170. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  171. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
  172. package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.dbg.json +4 -0
  173. package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.json +888 -0
  174. package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.dbg.json +4 -0
  175. package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.json +659 -0
  176. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
  177. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.json +1393 -0
  178. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  179. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.json +1738 -0
  180. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.dbg.json +4 -0
  181. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.json +10 -0
  182. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.dbg.json +4 -0
  183. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.json +10 -0
  184. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.dbg.json +4 -0
  185. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.json +10 -0
  186. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.dbg.json +4 -0
  187. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.json +10 -0
  188. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.dbg.json +4 -0
  189. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.json +10 -0
  190. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.dbg.json +4 -0
  191. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.json +10 -0
  192. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.dbg.json +4 -0
  193. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.json +10 -0
  194. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.dbg.json +4 -0
  195. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.json +10 -0
  196. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.dbg.json +4 -0
  197. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.json +10 -0
  198. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.dbg.json +4 -0
  199. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.json +10 -0
  200. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.dbg.json +4 -0
  201. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.json +1437 -0
  202. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.dbg.json +4 -0
  203. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.json +10 -0
  204. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  205. package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  206. package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  207. package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  208. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  209. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  210. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  211. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.json +330 -0
  212. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  213. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.json +449 -0
  214. package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.dbg.json +4 -0
  215. package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.json +560 -0
  216. package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.dbg.json +4 -0
  217. package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.json +460 -0
  218. package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.dbg.json +4 -0
  219. package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.json +624 -0
  220. package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.dbg.json +4 -0
  221. package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.json +164 -0
  222. package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  223. package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
  224. package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  225. package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
  226. package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.dbg.json +4 -0
  227. package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.json +618 -0
  228. package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  229. package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.json +40 -0
  230. package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  231. package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.json +10 -0
  232. package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  233. package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.json +10 -0
  234. package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  235. package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.json +233 -0
  236. package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  237. package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.json +49 -0
  238. package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  239. package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
  240. package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  241. package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.json +1458 -0
  242. package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  243. package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.json +1532 -0
  244. package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  245. package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.json +1525 -0
  246. package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  247. package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.json +1076 -0
  248. package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  249. package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.json +807 -0
  250. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  251. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.json +1004 -0
  252. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +4 -0
  253. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +29 -0
  254. package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +4 -0
  255. package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.json +897 -0
  256. package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  257. package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  258. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  259. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  260. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  261. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  262. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +4 -0
  263. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.json +189 -0
  264. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  265. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  266. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  267. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  268. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  269. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  270. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  271. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.json +279 -0
  272. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  273. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  274. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  275. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  276. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  277. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  278. package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  279. package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  280. package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  281. package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  282. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  283. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  284. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  285. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  286. package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.dbg.json +4 -0
  287. package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.json +89 -0
  288. package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  289. package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.json +1376 -0
  290. package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  291. package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  292. package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  293. package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.json +1896 -0
  294. package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  295. package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  296. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  297. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
  298. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  299. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  300. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  301. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  302. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  303. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  304. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  305. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
  306. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  307. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  308. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  309. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  310. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  311. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  312. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  313. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  314. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  315. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  316. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  317. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
  318. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  319. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
  320. package/src/assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  321. package/src/assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.json +542 -0
  322. package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  323. package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  324. package/src/assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  325. package/src/assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  326. package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  327. package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
  328. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  329. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  330. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  331. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  332. package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.dbg.json +4 -0
  333. package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.json +1915 -0
  334. package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.dbg.json +4 -0
  335. package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.json +1845 -0
  336. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  337. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
  338. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  339. package/src/assets/ethereum/{ABI → mainnet}/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +31 -29
  340. package/src/assets/ethereum/mainnet/outpost/OPP.sol/OPP.dbg.json +4 -0
  341. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  342. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  343. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
  344. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  345. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  346. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  347. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  348. package/src/assets/ethereum/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  349. package/src/assets/ethereum/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  350. package/src/assets/ethereum/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  351. package/src/assets/ethereum/mainnet/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  352. package/src/assets/ethereum/mainnet/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  353. package/src/assets/ethereum/mainnet/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  354. package/src/assets/ethereum/mainnet/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  355. package/src/assets/ethereum/mainnet/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  356. package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostErrors.sol/OutpostErrors.json +33 -18
  357. package/src/assets/ethereum/mainnet/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  358. package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +4 -0
  359. package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.json +737 -0
  360. package/src/assets/ethereum/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  361. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  362. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  363. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
  364. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  365. package/src/assets/ethereum/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  366. package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.dbg.json +4 -0
  367. package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.json +943 -0
  368. package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.dbg.json +4 -0
  369. package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.json +1703 -0
  370. package/src/assets/ethereum/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  371. package/src/assets/ethereum/{ABI → mainnet}/outpost/ReceiptNFT.sol/ReceiptNFT.json +33 -18
  372. package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  373. package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  374. package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  375. package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
  376. package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  377. package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
  378. package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  379. package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
  380. package/src/assets/ethereum/mainnet/outpost/v1/BAR.sol/BAR.dbg.json +4 -0
  381. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/BAR.sol/BAR.json +34 -19
  382. package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.dbg.json +4 -0
  383. package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.json +1653 -0
  384. package/src/assets/ethereum/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  385. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/OutpostManager.sol/OutpostManager.json +3 -3
  386. package/src/assets/ethereum/mainnet/outpost/v1/Pool.sol/Pool.dbg.json +4 -0
  387. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/Pool.sol/Pool.json +34 -19
  388. package/src/assets/ethereum/mainnet/outpost/v1/Pretoken.sol/Pretoken.dbg.json +4 -0
  389. package/src/assets/ethereum/mainnet/outpost/v1/Pretoken.sol/Pretoken.json +1665 -0
  390. package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  391. package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  392. package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  393. package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.json +330 -0
  394. package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  395. package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.json +449 -0
  396. package/src/assets/solana/devnet/idl/liqsol_core.json +8566 -0
  397. package/src/assets/solana/{idl → devnet/idl}/liqsol_token.json +34 -0
  398. package/src/assets/solana/devnet/idl/transfer_hook.json +490 -0
  399. package/src/assets/solana/{idl → devnet/idl}/validator_leaderboard.json +15 -0
  400. package/src/assets/solana/devnet/types/liqsol_core.ts +8572 -0
  401. package/src/assets/solana/{types → devnet/types}/liqsol_token.ts +34 -0
  402. package/src/assets/solana/devnet/types/transfer_hook.ts +496 -0
  403. package/src/assets/solana/{types → devnet/types}/validator_leaderboard.ts +15 -0
  404. package/src/assets/solana/{idl → mainnet/idl}/liqsol_core.json +632 -433
  405. package/src/assets/solana/mainnet/idl/liqsol_token.json +217 -0
  406. package/src/assets/solana/mainnet/idl/transfer_hook.json +479 -0
  407. package/src/assets/solana/mainnet/idl/validator_leaderboard.json +574 -0
  408. package/src/assets/solana/{types → mainnet/types}/liqsol_core.ts +632 -433
  409. package/src/assets/solana/mainnet/types/liqsol_token.ts +223 -0
  410. package/src/assets/solana/mainnet/types/transfer_hook.ts +485 -0
  411. package/src/assets/solana/mainnet/types/validator_leaderboard.ts +580 -0
  412. package/src/assets/solana/realdevnet/idl/liqsol_core.json +7112 -0
  413. package/src/assets/solana/realdevnet/idl/liqsol_token.json +217 -0
  414. package/src/assets/solana/realdevnet/idl/transfer_hook.json +479 -0
  415. package/src/assets/solana/realdevnet/idl/validator_leaderboard.json +735 -0
  416. package/src/assets/solana/realdevnet/types/liqsol_core.ts +7118 -0
  417. package/src/assets/solana/realdevnet/types/liqsol_token.ts +223 -0
  418. package/src/assets/solana/realdevnet/types/transfer_hook.ts +485 -0
  419. package/src/assets/solana/realdevnet/types/validator_leaderboard.ts +741 -0
  420. package/src/index.ts +2 -2
  421. package/src/networks/ethereum/clients/convert.client.ts +32 -3
  422. package/src/networks/ethereum/clients/opp.client.ts +20 -21
  423. package/src/networks/ethereum/clients/pretoken.client.ts +8 -9
  424. package/src/networks/ethereum/clients/receipt.client.ts +93 -23
  425. package/src/networks/ethereum/clients/stake.client.ts +86 -14
  426. package/src/networks/ethereum/clients/validator.client.ts +61 -0
  427. package/src/networks/ethereum/contract.ts +425 -153
  428. package/src/networks/ethereum/ethereum.ts +370 -202
  429. package/src/networks/ethereum/types.ts +65 -28
  430. package/src/networks/ethereum/utils.ts +104 -72
  431. package/src/networks/solana/clients/convert.client.ts +341 -0
  432. package/src/networks/solana/clients/distribution.client.ts +245 -20
  433. package/src/networks/solana/clients/leaderboard.client.ts +10 -13
  434. package/src/networks/solana/clients/outpost.client.ts +93 -55
  435. package/src/networks/solana/clients/token.client.ts +20 -15
  436. package/src/networks/solana/constants.ts +55 -287
  437. package/src/networks/solana/program.ts +446 -28
  438. package/src/networks/solana/solana.ts +917 -288
  439. package/src/networks/solana/types.ts +173 -24
  440. package/src/networks/solana/utils.ts +125 -339
  441. package/src/staker.ts +25 -4
  442. package/src/types.ts +102 -22
  443. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.dbg.json +0 -4
  444. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +0 -4
  445. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.json +0 -952
  446. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +0 -4
  447. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +0 -4
  448. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +0 -4
  449. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +0 -4
  450. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +0 -4
  451. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +0 -4
  452. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +0 -4
  453. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +0 -4
  454. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +0 -4
  455. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +0 -4
  456. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +0 -4
  457. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +0 -4
  458. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +0 -4
  459. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +0 -4
  460. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.dbg.json +0 -4
  461. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.json +0 -10
  462. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.dbg.json +0 -4
  463. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.json +0 -10
  464. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.dbg.json +0 -4
  465. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.json +0 -10
  466. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.dbg.json +0 -4
  467. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.json +0 -10
  468. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.dbg.json +0 -4
  469. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.json +0 -291
  470. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +0 -4
  471. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +0 -4
  472. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.json +0 -555
  473. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +0 -4
  474. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.json +0 -1202
  475. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +0 -4
  476. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.json +0 -1791
  477. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +0 -4
  478. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +0 -4
  479. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +0 -4
  480. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.json +0 -460
  481. package/src/assets/ethereum/ABI/outpost/Aggregator.sol/Aggregator.json +0 -82
  482. package/src/assets/ethereum/ABI/outpost/BAR.sol/BAR.dbg.json +0 -4
  483. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.dbg.json +0 -4
  484. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.json +0 -1638
  485. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +0 -4
  486. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +0 -4
  487. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.dbg.json +0 -4
  488. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPP.dbg.json +0 -4
  489. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +0 -4
  490. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPInbound.dbg.json +0 -4
  491. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +0 -4
  492. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPSender.dbg.json +0 -4
  493. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/OPPCommon.dbg.json +0 -4
  494. package/src/assets/ethereum/ABI/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +0 -4
  495. package/src/assets/ethereum/ABI/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +0 -4
  496. package/src/assets/ethereum/ABI/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +0 -4
  497. package/src/assets/ethereum/ABI/outpost/OPPErrors.sol/OPPErrors.dbg.json +0 -4
  498. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.dbg.json +0 -4
  499. package/src/assets/ethereum/ABI/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +0 -4
  500. package/src/assets/ethereum/ABI/outpost/OPPSender.sol/OPPSender.dbg.json +0 -4
  501. package/src/assets/ethereum/ABI/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +0 -4
  502. package/src/assets/ethereum/ABI/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +0 -4
  503. package/src/assets/ethereum/ABI/outpost/OutpostManager.sol/OutpostManager.dbg.json +0 -4
  504. package/src/assets/ethereum/ABI/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +0 -4
  505. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +0 -4
  506. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +0 -4
  507. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +0 -4
  508. package/src/assets/ethereum/ABI/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +0 -4
  509. package/src/assets/ethereum/ABI/outpost/Pool.sol/Pool.dbg.json +0 -4
  510. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.dbg.json +0 -4
  511. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.json +0 -1650
  512. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +0 -4
  513. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +0 -4
  514. package/src/assets/ethereum/ABI/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +0 -4
  515. package/src/assets/ethereum/ABI/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +0 -4
  516. package/src/assets/ethereum/ABI/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +0 -4
  517. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.dbg.json +0 -4
  518. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.json +0 -472
  519. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.dbg.json +0 -4
  520. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.json +0 -330
  521. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.dbg.json +0 -4
  522. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.json +0 -449
  523. package/src/assets/solana/idl/transfer_hook.json +0 -197
  524. package/src/assets/solana/types/transfer_hook.ts +0 -203
  525. package/src/networks/solana/clients/deposit.client.ts +0 -274
  526. package/src/staker/types.ts +0 -62
  527. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/BeaconState.sol/BeaconState.json +0 -0
  528. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +0 -0
  529. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IDepositContract.json +0 -0
  530. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IDepositManager.json +0 -0
  531. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +0 -0
  532. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +0 -0
  533. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +0 -0
  534. /package/src/assets/ethereum/{ABI → hoodi}/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +0 -0
  535. /package/src/assets/ethereum/{ABI → hoodi}/outpost/OPPCommon.sol/IOPPEndpoint.json +0 -0
  536. /package/src/assets/ethereum/{ABI → hoodi}/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +0 -0
  537. /package/src/assets/ethereum/{ABI → hoodi}/outpost/interfaces/IPretoken.sol/IPretoken.json +0 -0
  538. /package/src/assets/ethereum/{ABI → hoodi}/outpost/interfaces/IWarrant.sol/IWarrant.json +0 -0
  539. /package/src/assets/ethereum/{ABI → hoodi}/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +0 -0
  540. /package/src/assets/ethereum/{ABI → hoodi}/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +0 -0
  541. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPP.sol/OPP.json +0 -0
  542. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPP.json +0 -0
  543. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPInbound.json +0 -0
  544. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPReceiver.json +0 -0
  545. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPSender.json +0 -0
  546. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/OPPCommon.json +0 -0
  547. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpoint.sol/OPPEndpoint.json +0 -0
  548. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +0 -0
  549. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +0 -0
  550. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPErrors.sol/OPPErrors.json +0 -0
  551. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPInbound.sol/OPPInbound.json +0 -0
  552. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPReceiver.sol/OPPReceiver.json +0 -0
  553. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPSender.sol/OPPSender.json +0 -0
  554. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManaged.sol/OutpostManaged.json +0 -0
  555. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +0 -0
  556. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerCommon.sol/IOutpostManager.json +0 -0
  557. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +0 -0
  558. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostOwnable.sol/OutpostOwnable.json +0 -0
@@ -1,65 +1,76 @@
1
1
  import { Program, BN, AnchorProvider } from '@coral-xyz/anchor';
2
-
3
2
  import {
4
3
  Connection,
5
4
  Keypair,
6
5
  PublicKey,
7
- SystemProgram,
8
- StakeProgram,
9
6
  } from '@solana/web3.js';
10
7
  import {
11
8
  TOKEN_2022_PROGRAM_ID,
12
- ASSOCIATED_TOKEN_PROGRAM_ID,
13
9
  getAssociatedTokenAddress,
14
10
  } from '@solana/spl-token';
15
11
 
16
12
  import {
17
- LIQSOL_CORE,
18
- LIQSOL_TOKEN,
19
- PAY_RATE_SCALE_FACTOR,
20
13
  DEFAULT_AVERAGE_PAY_RATE,
21
14
  EPHEMERAL_RENT_EXEMPTION,
22
- LAMPORTS_PER_SOL,
23
- lamportsToSol,
24
15
  solToLamports,
25
- deriveDepositAuthorityPda,
26
- deriveLiqsolMintPda,
27
- deriveLiqsolMintAuthorityPda,
28
- deriveVaultPda,
29
- deriveReservePoolPda,
30
- deriveStakeControllerStatePda,
31
- derivePayoutStatePda,
32
- deriveBucketAuthorityPda,
33
- deriveDistributionStatePda,
34
- deriveUserRecordPda,
35
- derivePayRateHistoryPda,
36
- deriveStakeControllerVaultPda,
37
- deriveEphemeralStakeAddress,
38
16
  DEFAULT_PAY_RATE_LOOKBACK,
39
- deriveOutpostGlobalStatePda,
40
- deriveOutpostPoolAuthorityPda,
41
- deriveOutpostAccountPda,
42
- deriveTrancheStatePda,
43
- deriveUserPretokenRecordPda,
44
17
  CHAINLINK_FEED,
45
18
  CHAINLINK_PROGRAM,
46
- deriveExtraAccountMetaListPda,
47
19
  } from './constants';
48
20
 
49
- import liqsolCoreIDL from '../../assets/solana/idl/liqsol_core.json';
50
- import { LiqsolCore } from '../../assets/solana/types/liqsol_core';
51
21
  import { GlobalState, TrancheState } from './types';
52
22
  import { TrancheLadderItem, TrancheSnapshot } from '../../types';
53
23
  import { ChainID } from '@wireio/core';
24
+ import { SolanaProgramService } from './program';
54
25
 
55
26
  // -----------------------------------------------------------------------------
56
27
  // Tranche Support
57
28
  // -----------------------------------------------------------------------------
58
-
59
29
  const INDEX_SCALE = BigInt(1_000_000_000_000); // 1e12
60
- const USD_SCALE = BigInt(100_000_000); // 1e8
30
+ const USD_SCALE = BigInt(100_000_000); // 1e8
61
31
  const BPS = BigInt(10_000);
62
32
 
33
+ /**
34
+ * Apply one forward growth step: value * (BPS + growthBps) / BPS.
35
+ * Simple integer round-half-up.
36
+ */
37
+ function growSupplyOnce(value: bigint, growthBps: number): bigint {
38
+ const g = BigInt(growthBps);
39
+ return (value * (BPS + g) + BPS / BigInt(2)) / BPS;
40
+ }
41
+
42
+ /**
43
+ * Apply one backward step: value * BPS / (BPS + growthBps).
44
+ * Also integer round-half-up.
45
+ */
46
+ function shrinkSupplyOnce(value: bigint, growthBps: number): bigint {
47
+ const g = BigInt(growthBps);
48
+ return (value * BPS + (BPS + g) / BigInt(2)) / (BPS + g);
49
+ }
50
+
51
+ /**
52
+ * Price step is expressed in *cents*, while prices are 1e8 USD.
53
+ * 1 cent = 0.01 * 1e8 = 1e6, so:
54
+ * step = priceGrowthCents * 1e6
55
+ */
56
+ function priceStepUsd1e8(priceGrowthCents: number): bigint {
57
+ if (!priceGrowthCents) return BigInt(0);
58
+ const CENT_SCALE = USD_SCALE / BigInt(100); // 1e6
59
+ return BigInt(priceGrowthCents) * CENT_SCALE;
60
+ }
61
+
62
+ function growPriceOnceUsd1e8(value: bigint, priceGrowthCents: number): bigint {
63
+ const step = priceStepUsd1e8(priceGrowthCents);
64
+ return value + step;
65
+ }
66
+
67
+ function shrinkPriceOnceUsd1e8(value: bigint, priceGrowthCents: number): bigint {
68
+ const step = priceStepUsd1e8(priceGrowthCents);
69
+ if (step === BigInt(0)) return value;
70
+ if (value <= step) return BigInt(0);
71
+ return value - step;
72
+ }
73
+
63
74
  /** BN | bigint -> bigint helper (keeps code readable) */
64
75
  export function toBigint(x: any): bigint {
65
76
  if (typeof x === 'bigint') return x;
@@ -80,24 +91,6 @@ export function tokensToShares(amount: bigint, currentIndex: bigint): bigint {
80
91
  return r === BigInt(0) ? q : q + BigInt(1);
81
92
  }
82
93
 
83
- /**
84
- * Apply one forward growth step: value * (BPS + growthBps) / BPS.
85
- * Simple integer round-half-up.
86
- */
87
- function growOnce(value: bigint, growthBps: number): bigint {
88
- const g = BigInt(growthBps);
89
- return (value * (BPS + g) + BPS / BigInt(2)) / BPS;
90
- }
91
-
92
- /**
93
- * Apply one backward step: value * BPS / (BPS + growthBps).
94
- * Also integer round-half-up.
95
- */
96
- function shrinkOnce(value: bigint, growthBps: number): bigint {
97
- const g = BigInt(growthBps);
98
- return (value * BPS + (BPS + g) / BigInt(2)) / (BPS + g);
99
- }
100
-
101
94
  /**
102
95
  * Build a local tranche ladder around the current tranche
103
96
  * using only on-chain config + current state.
@@ -112,9 +105,9 @@ export function buildSolanaTrancheLadder(options: {
112
105
  currentTranche: number;
113
106
  initialTrancheSupply: bigint;
114
107
  currentTrancheSupply: bigint;
115
- currentPriceUsd: bigint;
108
+ currentPriceUsd: bigint; // 1e8 scale
116
109
  supplyGrowthBps: number;
117
- priceGrowthBps: number;
110
+ priceGrowthCents: number; // e.g. 2 -> $0.02 per tranche
118
111
  windowBefore?: number;
119
112
  windowAfter?: number;
120
113
  }): TrancheLadderItem[] {
@@ -124,7 +117,7 @@ export function buildSolanaTrancheLadder(options: {
124
117
  currentTrancheSupply,
125
118
  currentPriceUsd,
126
119
  supplyGrowthBps,
127
- priceGrowthBps,
120
+ priceGrowthCents,
128
121
  windowBefore = 5,
129
122
  windowAfter = 5,
130
123
  } = options;
@@ -135,35 +128,41 @@ export function buildSolanaTrancheLadder(options: {
135
128
  const capacity = new Map<number, bigint>();
136
129
  const price = new Map<number, bigint>();
137
130
 
138
- // Seed current
131
+ // Seed current tranche
139
132
  capacity.set(currentTranche, initialTrancheSupply);
140
133
  price.set(currentTranche, currentPriceUsd);
141
134
 
142
- // Forward (future tranches)
135
+ // Forward (future tranches): grow supply by BPS, price by +cents (linear)
143
136
  for (let id = currentTranche + 1; id <= endId; id++) {
144
137
  const prevCap = capacity.get(id - 1)!;
145
138
  const prevPrice = price.get(id - 1)!;
146
- capacity.set(id, growOnce(prevCap, supplyGrowthBps));
147
- price.set(id, growOnce(prevPrice, priceGrowthBps));
139
+
140
+ capacity.set(id, growSupplyOnce(prevCap, supplyGrowthBps));
141
+ price.set(id, growPriceOnceUsd1e8(prevPrice, priceGrowthCents));
148
142
  }
149
143
 
150
- // Backward (past tranches)
144
+ // Backward (past tranches): shrink supply by inverse BPS, price by -cents
151
145
  for (let id = currentTranche - 1; id >= startId; id--) {
152
146
  const nextCap = capacity.get(id + 1)!;
153
147
  const nextPrice = price.get(id + 1)!;
154
- capacity.set(id, shrinkOnce(nextCap, supplyGrowthBps));
155
- price.set(id, shrinkOnce(nextPrice, priceGrowthBps));
148
+
149
+ capacity.set(id, shrinkSupplyOnce(nextCap, supplyGrowthBps));
150
+ price.set(id, shrinkPriceOnceUsd1e8(nextPrice, priceGrowthCents));
156
151
  }
157
152
 
158
153
  const ladder: TrancheLadderItem[] = [];
159
154
  for (let id = startId; id <= endId; id++) {
160
155
  const cap = capacity.get(id)!;
156
+
161
157
  let sold: bigint;
162
158
  if (id < currentTranche) {
159
+ // Past tranches fully sold
163
160
  sold = cap;
164
161
  } else if (id === currentTranche) {
162
+ // Current tranche: cap - remaining
165
163
  sold = cap - currentTrancheSupply;
166
164
  } else {
165
+ // Future tranches not yet opened
167
166
  sold = BigInt(0);
168
167
  }
169
168
 
@@ -172,7 +171,7 @@ export function buildSolanaTrancheLadder(options: {
172
171
  capacity: cap,
173
172
  sold,
174
173
  remaining: cap - sold,
175
- priceUsd: price.get(id)!,
174
+ priceUsd: price.get(id)!, // still 1e8 scale
176
175
  });
177
176
  }
178
177
 
@@ -210,7 +209,7 @@ export function buildSolanaTrancheSnapshot(options: {
210
209
  const totalPretokensSold = toBigint(trancheState.totalPretokensSold);
211
210
  const currentPriceUsd = toBigint(trancheState.currentTranchePriceUsd);
212
211
  const supplyGrowthBps = trancheState.supplyGrowthBps;
213
- const priceGrowthBps = trancheState.priceGrowthBps;
212
+ const priceGrowthCents = trancheState.priceGrowthCents;
214
213
 
215
214
  const ladder = buildSolanaTrancheLadder({
216
215
  currentTranche,
@@ -218,7 +217,7 @@ export function buildSolanaTrancheSnapshot(options: {
218
217
  currentTrancheSupply,
219
218
  currentPriceUsd,
220
219
  supplyGrowthBps,
221
- priceGrowthBps,
220
+ priceGrowthCents,
222
221
  windowBefore: ladderWindowBefore,
223
222
  windowAfter: ladderWindowAfter,
224
223
  });
@@ -230,7 +229,7 @@ export function buildSolanaTrancheSnapshot(options: {
230
229
  currentTranche,
231
230
  currentPriceUsd,
232
231
  supplyGrowthBps,
233
- priceGrowthBps,
232
+ priceGrowthCents,
234
233
  totalPretokensSold,
235
234
  currentTrancheSupply,
236
235
  initialTrancheSupply,
@@ -240,265 +239,6 @@ export function buildSolanaTrancheSnapshot(options: {
240
239
  };
241
240
  }
242
241
 
243
-
244
- // -----------------------------------------------------------------------------
245
- // Read-only liqsol_core Program helper
246
- // -----------------------------------------------------------------------------
247
-
248
- let _liqsolCoreProgram: Program<LiqsolCore> | null = null;
249
-
250
- export function getLiqsolCoreProgram(
251
- connection: Connection,
252
- ): Program<LiqsolCore> {
253
- if (_liqsolCoreProgram && _liqsolCoreProgram.provider.connection === connection) {
254
- return _liqsolCoreProgram;
255
- }
256
-
257
- // Dummy wallet – we're only doing read-only account fetches here.
258
- const tmpKeypair = Keypair.generate();
259
- const wallet: any = {
260
- publicKey: tmpKeypair.publicKey,
261
- signAllTransactions: async () => [],
262
- signTransaction: async () => tmpKeypair,
263
- };
264
-
265
- const provider = new AnchorProvider(connection, wallet, {
266
- commitment: 'confirmed',
267
- });
268
-
269
- const program = new Program(
270
- liqsolCoreIDL,
271
- provider,
272
- ) as Program<LiqsolCore>;
273
-
274
- _liqsolCoreProgram = program;
275
- return program;
276
- }
277
-
278
-
279
- // -----------------------------------------------------------------------------
280
- // Balance + state getters (UI-friendly)
281
- // -----------------------------------------------------------------------------
282
-
283
- export async function getUserLiqSolBalance(
284
- connection: Connection,
285
- user: PublicKey,
286
- ): Promise<number> {
287
- const liqsolMint = deriveLiqsolMintPda();
288
- const ata = await getAssociatedTokenAddress(
289
- liqsolMint,
290
- user,
291
- false,
292
- TOKEN_2022_PROGRAM_ID,
293
- );
294
-
295
- try {
296
- const bal = await connection.getTokenAccountBalance(ata);
297
- return Number(bal.value.amount); // raw lamports, not decimals-adjusted
298
- } catch {
299
- return 0;
300
- }
301
- }
302
-
303
- export async function getBucketLiqSolBalance(
304
- connection: Connection,
305
- ): Promise<number> {
306
- const liqsolMint = deriveLiqsolMintPda();
307
- const bucketAuthority = deriveBucketAuthorityPda();
308
- const ata = await getAssociatedTokenAddress(
309
- liqsolMint,
310
- bucketAuthority,
311
- true,
312
- TOKEN_2022_PROGRAM_ID,
313
- );
314
-
315
- try {
316
- const bal = await connection.getTokenAccountBalance(ata);
317
- return Number(bal.value.amount);
318
- } catch {
319
- return 0;
320
- }
321
- }
322
-
323
- export async function getReservePoolBalance(
324
- connection: Connection,
325
- ): Promise<number> {
326
- const reservePool = deriveReservePoolPda();
327
- try {
328
- const lamports = await connection.getBalance(reservePool);
329
- return lamports;
330
- } catch {
331
- return 0;
332
- }
333
- }
334
-
335
- /**
336
- * Raw account info for the stake_controller state (Anchor decode is left
337
- * to the caller so the SDK can stay IDL-agnostic at this layer).
338
- */
339
- export async function getStakeControllerStateRaw(
340
- connection: Connection,
341
- ): Promise<Uint8Array | null> {
342
- const pda = deriveStakeControllerStatePda();
343
- const info = await connection.getAccountInfo(pda);
344
- return info?.data ?? null;
345
- }
346
-
347
- /**
348
- * Raw account info for the payout-state account.
349
- */
350
- export async function getPayoutStateRaw(
351
- connection: Connection,
352
- ): Promise<Uint8Array | null> {
353
- const pda = derivePayoutStatePda();
354
- const info = await connection.getAccountInfo(pda);
355
- return info?.data ?? null;
356
- }
357
-
358
- /**
359
- * Raw account info for a user's distribution user_record.
360
- *
361
- * NOTE: user_record is keyed by the TOKEN ACCOUNT (ATA), not the wallet.
362
- * Here we derive the user's liqSOL ATA and then its user_record PDA.
363
- */
364
- export async function getUserRecordRaw(
365
- connection: Connection,
366
- user: PublicKey,
367
- ): Promise<Uint8Array | null> {
368
- const liqsolMint = deriveLiqsolMintPda();
369
- const userAta = await getAssociatedTokenAddress(
370
- liqsolMint,
371
- user,
372
- false,
373
- TOKEN_2022_PROGRAM_ID,
374
- );
375
- const pda = deriveUserRecordPda(userAta);
376
- const info = await connection.getAccountInfo(pda);
377
- return info?.data ?? null;
378
- }
379
-
380
-
381
- // -----------------------------------------------------------------------------
382
- // Pay-rate & fee utilities (on-chain compatible)
383
- // -----------------------------------------------------------------------------
384
-
385
- export async function getAveragePayRate(
386
- connection: Connection,
387
- lookback: number = DEFAULT_PAY_RATE_LOOKBACK,
388
- ): Promise<bigint> {
389
- const program = getLiqsolCoreProgram(connection);
390
- const payRateHistoryPda = derivePayRateHistoryPda();
391
-
392
- try {
393
- const anyProgram = program;
394
- const payRateHistoryAccount = await anyProgram.account.payRateHistory.fetch(
395
- payRateHistoryPda,
396
- );
397
-
398
- const entries = payRateHistoryAccount.entries ?? [];
399
- const totalEntriesAdded = Number(
400
- payRateHistoryAccount.totalEntriesAdded ?? 0,
401
- );
402
- const currentIndex: number = payRateHistoryAccount.currentIndex ?? 0;
403
- const maxEntries: number =
404
- payRateHistoryAccount.maxEntries ?? entries.length;
405
-
406
- if (!entries.length) {
407
- return DEFAULT_AVERAGE_PAY_RATE;
408
- }
409
-
410
- const entriesToFetch = Math.min(lookback, maxEntries, entries.length);
411
-
412
- let idx: number;
413
- if (totalEntriesAdded === 0) {
414
- idx = 0;
415
- } else if (currentIndex === 0) {
416
- idx = maxEntries - 1;
417
- } else {
418
- idx = currentIndex - 1;
419
- }
420
-
421
- let sum = BigInt(0);
422
- let validCount = BigInt(0);
423
-
424
- for (let i = 0; i < entriesToFetch; i++) {
425
- const entry = entries[idx];
426
- if (entry && typeof entry.scaledRate !== 'undefined') {
427
- const rate = BigInt(entry.scaledRate.toString());
428
- if (rate > BigInt(0)) {
429
- sum += rate;
430
- validCount += BigInt(1);
431
- }
432
- }
433
-
434
- if (totalEntriesAdded === 0) {
435
- idx = (idx + 1) % maxEntries;
436
- } else {
437
- idx = idx === 0 ? maxEntries - 1 : idx - 1;
438
- }
439
- }
440
-
441
- if (validCount === BigInt(0)) {
442
- return DEFAULT_AVERAGE_PAY_RATE;
443
- }
444
-
445
- return sum / validCount;
446
- } catch (err) {
447
- // Fallback to default when history missing/unavailable
448
- return DEFAULT_AVERAGE_PAY_RATE;
449
- }
450
- }
451
-
452
- /**
453
- * On-chain fee formula:
454
- * fee = (average_pay_rate * 4 * deposit_amount_lamports) / 10^12
455
- */
456
- export function calculateExpectedFee(
457
- depositAmountLamports: BN,
458
- averagePayRate: BN,
459
- ): BN {
460
- return averagePayRate
461
- .mul(new BN(4))
462
- .mul(depositAmountLamports)
463
- .div(new BN(1_000_000_000_000)); // 10^12
464
- }
465
-
466
- /**
467
- * Convenience helper to preview how a deposit splits between user + bucket
468
- * and how much goes into the reserve, assuming the simple model:
469
- *
470
- * - userLiqSol = amount - fee + EPHEMERAL_RENT_EXEMPTION
471
- * - bucketLiqSol = fee
472
- * - reserveLamports = amount + EPHEMERAL_RENT_EXEMPTION
473
- */
474
- export function previewDepositEffects(params: {
475
- depositAmountLamports: BN;
476
- averagePayRate: BN;
477
- rentExemptionLamports?: number;
478
- }): {
479
- feeLamports: BN;
480
- userLiqSolLamports: BN;
481
- bucketLiqSolLamports: BN;
482
- reserveIncreaseLamports: BN;
483
- } {
484
- const { depositAmountLamports, averagePayRate } = params;
485
- const rent = new BN(
486
- params.rentExemptionLamports ?? EPHEMERAL_RENT_EXEMPTION,
487
- );
488
-
489
- const fee = calculateExpectedFee(depositAmountLamports, averagePayRate);
490
- const userLiqSol = depositAmountLamports.sub(fee).add(rent);
491
- const bucketLiqSol = fee;
492
- const reserveIncrease = depositAmountLamports.add(rent);
493
-
494
- return {
495
- feeLamports: fee,
496
- userLiqSolLamports: userLiqSol,
497
- bucketLiqSolLamports: bucketLiqSol,
498
- reserveIncreaseLamports: reserveIncrease,
499
- };
500
- }
501
-
502
242
  /**
503
243
  * ---------------------------------------------------------------------------
504
244
  * Outpost-specific helpers
@@ -536,22 +276,32 @@ export interface OutpostAccounts {
536
276
 
537
277
  // Transfer hook extra accounts
538
278
  extraAccountMetaList: PublicKey;
279
+
280
+ // New
281
+ pretokenPurchaseHistory: PublicKey;
282
+
283
+ // OPP (outpost protocol pipeline)
284
+ globalConfig: PublicKey;
285
+ oppEpochState: PublicKey;
286
+ pendingAttestations: PublicKey;
287
+ bridgeState: PublicKey;
539
288
  }
540
289
 
541
290
  export async function buildOutpostAccounts(
542
291
  connection: Connection,
543
292
  user: PublicKey,
293
+ pgs: SolanaProgramService,
544
294
  ): Promise<OutpostAccounts> {
545
- const globalState = deriveOutpostGlobalStatePda();
546
- const poolAuthority = deriveOutpostPoolAuthorityPda();
547
- const liqsolMint = deriveLiqsolMintPda();
548
- const distributionState = deriveDistributionStatePda();
549
- const bucketAuthority = deriveBucketAuthorityPda();
550
- const trancheState = deriveTrancheStatePda();
295
+ const globalState = pgs.deriveOutpostGlobalStatePda();
296
+ const poolAuthority = pgs.deriveOutpostPoolAuthorityPda();
297
+ const liqsolMint = pgs.deriveLiqsolMintPda();
298
+ const distributionState = pgs.deriveDistributionStatePda();
299
+ const bucketAuthority = pgs.deriveBucketAuthorityPda();
300
+ const trancheState = pgs.deriveTrancheStatePda();
551
301
 
552
302
  // Outpost / pretoken PDAs
553
- const outpostAccount = deriveOutpostAccountPda(user);
554
- const userPretokenRecord = deriveUserPretokenRecordPda(user);
303
+ const outpostAccount = pgs.deriveOutpostAccountPda(user);
304
+ const userPretokenRecord = pgs.deriveUserPretokenRecordPda(user);
555
305
 
556
306
  // ATAs
557
307
  const liqsolPoolAta = await getAssociatedTokenAddress(
@@ -571,23 +321,32 @@ export async function buildOutpostAccounts(
571
321
  const userAta = await getAssociatedTokenAddress(
572
322
  liqsolMint,
573
323
  user,
574
- false,
324
+ true, // allow off curve in case squadsx vault
575
325
  TOKEN_2022_PROGRAM_ID,
576
326
  );
577
327
 
578
328
  // user_record PDAs keyed by TOKEN ACCOUNTS (matches capital-staking)
579
- const bucketUserRecord = deriveUserRecordPda(bucketTokenAccount);
580
- const liqsolPoolUserRecord = deriveUserRecordPda(liqsolPoolAta);
581
- const userUserRecord = deriveUserRecordPda(userAta);
329
+ const bucketUserRecord = pgs.deriveUserRecordPda(bucketTokenAccount);
330
+ const liqsolPoolUserRecord = pgs.deriveUserRecordPda(liqsolPoolAta);
331
+ const userUserRecord = pgs.deriveUserRecordPda(userAta);
332
+
333
+ const extraAccountMetaList = pgs.deriveExtraAccountMetaListPda(liqsolMint);
582
334
 
583
- const extraAccountMetaList = deriveExtraAccountMetaListPda(liqsolMint);
335
+ const pretokenPurchaseHistory = pgs.derivePretokenPurchaseHistoryPda(poolAuthority);
336
+
337
+ // OPP (outpost protocol pipeline)
338
+ const globalConfig = pgs.deriveGlobalConfigPda();
339
+ const oppEpochState = pgs.deriveOppEpochStatePda();
340
+ const epochNumber = await pgs.fetchOppEpochNumber(connection);
341
+ const pendingAttestations = pgs.derivePendingAttestationsPda(epochNumber);
342
+ const bridgeState = pgs.deriveOppBridgeStatePda();
584
343
 
585
344
  // Chainlink program feeds
586
345
  let chainLinkFeed = CHAINLINK_FEED;
587
346
  let chainLinkProgram = CHAINLINK_PROGRAM;
588
347
 
589
348
  try {
590
- const program = getLiqsolCoreProgram(connection);
349
+ const program = pgs.getProgram('liqsolCore');
591
350
  const ts: TrancheState =
592
351
  await program.account.trancheState.fetch(trancheState);
593
352
 
@@ -622,7 +381,12 @@ export async function buildOutpostAccounts(
622
381
  trancheState,
623
382
  chainLinkFeed,
624
383
  chainLinkProgram,
625
- extraAccountMetaList
384
+ extraAccountMetaList,
385
+ pretokenPurchaseHistory,
386
+ globalConfig,
387
+ oppEpochState,
388
+ pendingAttestations,
389
+ bridgeState,
626
390
  };
627
391
  }
628
392
  // -----------------------------------------------------------------------------
@@ -798,4 +562,26 @@ export async function waitUntilSafeToExecuteFunction(
798
562
  export interface ScheduleConfig {
799
563
  early?: number; // fraction of epoch, default 0.10
800
564
  late?: number; // fraction of epoch, default 0.90
801
- }
565
+ }
566
+
567
+ export function ceilDiv(n: BN, d: BN): BN {
568
+ if (d.isZero()) {
569
+ throw new Error('Division by zero in ceilDiv');
570
+ }
571
+ return n.add(d.subn(1)).div(d);
572
+ }
573
+
574
+ export function normalizeToBigInt(x: any): bigint {
575
+ if (typeof x === 'bigint') return x;
576
+ if (x != null && typeof x === 'object' && 'toString' in x) return BigInt(x.toString());
577
+ if (typeof x === 'number') return BigInt(x);
578
+ throw new Error(`normalizeToBigInt: unsupported type ${typeof x}`);
579
+ }
580
+
581
+ export const safeFetch = async <T>(promise: Promise<T>, label?: string): Promise<T | null> => {
582
+ try { return await promise; }
583
+ catch (err) {
584
+ console.error(`Safe Fetch Failed${label ? ` (${label})` : ''}:`,err);
585
+ return null;
586
+ }
587
+ };
package/src/staker.ts CHANGED
@@ -35,13 +35,27 @@ export class Staker {
35
35
  // console.log('STAKER INIT', config);
36
36
 
37
37
  config.forEach((cfg) => {
38
+ // if (+cfg.network.chainId === 31337){
39
+ // console.log('ETH Wire Devnet chainId detected, remapping to hoodi for staker config');
40
+ // cfg.network.chainId = EvmChainID.Hoodi; // remap local devnet to "Hoodi" chainId for now
41
+ // }
42
+
43
+ // if ((cfg.network.chainId as any) === 'devnet-wire'){
44
+ // console.log('SOL Wire Devnet chainId detected, remapping to devnet-wire for staker config');
45
+ // cfg.network.chainId = SolChainID.Devnet; // remap "devnet-wire" to Solana devnet chainId for now
46
+ // }
47
+
38
48
  switch (cfg.network.chainId) {
39
- case SolChainID.WireTestnet:
49
+ case SolChainID.Mainnet:
50
+ case SolChainID.Devnet:
51
+ case 'devnet-wire' as any:
40
52
  this.clients.set(cfg.network.chainId, new SolanaStakingClient(cfg));
41
53
  break;
42
54
 
55
+ case EvmChainID.Ethereum:
43
56
  case EvmChainID.Hoodi:
44
- this.clients.set(EvmChainID.Hoodi, new EthereumStakingClient(cfg));
57
+ case 31337 as any:
58
+ this.clients.set(cfg.network.chainId, new EthereumStakingClient(cfg));
45
59
  break;
46
60
 
47
61
  default:
@@ -52,13 +66,20 @@ export class Staker {
52
66
 
53
67
  this.selectedChainID = selectedChainID;
54
68
  }
55
-
69
+
56
70
  /**
57
71
  * Select a chain. Returns true if a client exists for it, false otherwise.
58
72
  * (We still record the selectedChainID so the UI can reflect the chosen chain.)
59
73
  */
60
74
  setChain(chainID: ChainID): boolean {
75
+ const hasClient = this.clients.has(chainID);
76
+
77
+ if (!hasClient) {
78
+ console.warn(`[Staker] setChain: no client configured for chain ${chainID}`);
79
+ return false;
80
+ }
81
+
61
82
  this.selectedChainID = chainID;
62
- return this.clients.has(chainID);
83
+ return true;
63
84
  }
64
85
  }