@wireio/stake 1.0.0 → 1.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/README.md +195 -243
  2. package/lib/stake.browser.js +48207 -10172
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +11368 -978
  5. package/lib/stake.js +46986 -8778
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +48207 -10172
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +4 -3
  10. package/src/assets/ethereum/hoodi/WNS/BucketWNS.sol/BucketWNS.dbg.json +4 -0
  11. package/src/assets/ethereum/hoodi/WNS/BucketWNS.sol/BucketWNS.json +699 -0
  12. package/src/assets/ethereum/hoodi/WNS/Challenge.sol/Challenge.dbg.json +4 -0
  13. package/src/assets/ethereum/hoodi/WNS/Challenge.sol/Challenge.json +3139 -0
  14. package/src/assets/ethereum/hoodi/WNS/ChallengeLib.sol/ChallengeLib.dbg.json +4 -0
  15. package/src/assets/ethereum/hoodi/WNS/ChallengeLib.sol/ChallengeLib.json +106 -0
  16. package/src/assets/ethereum/hoodi/WNS/Errors.sol/WNSErrs.dbg.json +4 -0
  17. package/src/assets/ethereum/hoodi/WNS/Errors.sol/WNSErrs.json +180 -0
  18. package/src/assets/ethereum/hoodi/WNS/LiqWNS.sol/LiqWNS.dbg.json +4 -0
  19. package/src/assets/ethereum/hoodi/WNS/LiqWNS.sol/LiqWNS.json +470 -0
  20. package/src/assets/ethereum/hoodi/WNS/SChain.sol/SChain.dbg.json +4 -0
  21. package/src/assets/ethereum/hoodi/WNS/SChain.sol/SChain.json +1983 -0
  22. package/src/assets/ethereum/hoodi/WNS/UTXO.sol/UTXO.dbg.json +4 -0
  23. package/src/assets/ethereum/hoodi/WNS/UTXO.sol/UTXO.json +1231 -0
  24. package/src/assets/ethereum/hoodi/WNS/UTXOio.sol/UTXOio.dbg.json +4 -0
  25. package/src/assets/ethereum/hoodi/WNS/UTXOio.sol/UTXOio.json +1524 -0
  26. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/IBucketWNS.dbg.json +4 -0
  27. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/IBucketWNS.json +119 -0
  28. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/IChallenge.dbg.json +4 -0
  29. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/IChallenge.json +374 -0
  30. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/ISChain.dbg.json +4 -0
  31. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/ISChain.json +865 -0
  32. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/IUTXO.dbg.json +4 -0
  33. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/IUTXO.json +524 -0
  34. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/WNSCommon.dbg.json +4 -0
  35. package/src/assets/ethereum/hoodi/WNS/WNSCommon.sol/WNSCommon.json +10 -0
  36. package/src/assets/ethereum/hoodi/WNS/WithdrawBatch.sol/WithdrawBatch.dbg.json +4 -0
  37. package/src/assets/ethereum/hoodi/WNS/WithdrawBatch.sol/WithdrawBatch.json +1232 -0
  38. package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.dbg.json +4 -0
  39. package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  40. package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  41. package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.dbg.json +4 -0
  42. package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  43. package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  44. package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  45. package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  46. package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  47. package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  48. package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  49. package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  50. package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  51. package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  52. package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  53. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  54. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.json +985 -0
  55. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  56. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  57. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.json +182 -0
  58. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  59. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  60. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  61. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  62. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  63. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  64. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  65. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  66. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IStakingModule.json +1 -1
  67. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  68. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  69. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  70. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/LiqEthCommon.json +2 -2
  71. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  72. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  73. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  74. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthManaged.sol/LiqEthManaged.json +2 -2
  75. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  76. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  77. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  78. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  79. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  80. package/src/assets/ethereum/{ABI → hoodi}/liqEth/Yield.sol/YieldOracle.json +2 -2
  81. package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.dbg.json +4 -0
  82. package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.json +629 -0
  83. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  84. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  85. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  86. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.json +1779 -0
  87. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  88. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/DepositManager.sol/DepositManager.json +3 -3
  89. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  90. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IAccounting.json +1 -1
  91. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  92. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  93. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  94. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  95. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  96. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  97. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  98. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IRewardsERC20.json +1 -1
  99. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  100. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IRewardsERC20Pausable.json +1 -1
  101. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  102. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  103. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  104. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  105. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  106. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  107. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  108. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  109. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  110. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/RewardsERC20.sol/RewardsERC20Upgradeable.json +1 -1
  111. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  112. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +1 -1
  113. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  114. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.json +548 -0
  115. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  116. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/liqEth.sol/LiqEthToken.json +3 -3
  117. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  118. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  119. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  120. package/src/assets/ethereum/{ABI → hoodi}/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +2 -2
  121. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  122. package/src/assets/ethereum/{ABI → hoodi}/liqEth/withdrawalVault.sol/Uint64BE.json +2 -2
  123. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  124. package/src/assets/ethereum/{ABI → hoodi}/liqEth/withdrawalVault.sol/WithdrawalVault.json +2 -2
  125. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.dbg.json +4 -0
  126. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.json +1111 -0
  127. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.dbg.json +4 -0
  128. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.json +1590 -0
  129. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  130. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  131. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +274 -0
  132. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.dbg.json +4 -0
  133. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.json +10 -0
  134. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.dbg.json +4 -0
  135. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.json +10 -0
  136. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.dbg.json +4 -0
  137. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.json +10 -0
  138. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawFailedCodec.dbg.json +4 -0
  139. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawFailedCodec.json +10 -0
  140. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.dbg.json +4 -0
  141. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.json +10 -0
  142. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/IDepositorBridgeHooks.dbg.json +4 -0
  143. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/IDepositorBridgeHooks.json +29 -0
  144. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.dbg.json +4 -0
  145. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.json +1033 -0
  146. package/src/assets/ethereum/hoodi/outpost/MockAggregator.sol/MockAggregator.json +97 -0
  147. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.dbg.json +4 -0
  148. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.json +1055 -0
  149. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  150. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.json +81 -0
  151. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  152. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  153. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.json +330 -0
  154. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  155. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
  156. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  157. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.json +41 -0
  158. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  159. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.json +287 -0
  160. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  161. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.json +294 -0
  162. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  163. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +415 -0
  164. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  165. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +399 -0
  166. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  167. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.json +245 -0
  168. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  169. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.json +1204 -0
  170. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  171. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.json +312 -0
  172. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  173. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.json +324 -0
  174. package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.dbg.json +4 -0
  175. package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.json +1068 -0
  176. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  177. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.json +211 -0
  178. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  179. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
  180. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  181. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.json +751 -0
  182. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  183. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
  184. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  185. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
  186. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  187. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  188. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
  189. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  190. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
  191. package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.dbg.json +4 -0
  192. package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.json +888 -0
  193. package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.dbg.json +4 -0
  194. package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.json +659 -0
  195. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
  196. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.json +1393 -0
  197. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  198. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.json +1738 -0
  199. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.dbg.json +4 -0
  200. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.json +10 -0
  201. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.dbg.json +4 -0
  202. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.json +10 -0
  203. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.dbg.json +4 -0
  204. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.json +10 -0
  205. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.dbg.json +4 -0
  206. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.json +10 -0
  207. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.dbg.json +4 -0
  208. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.json +10 -0
  209. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.dbg.json +4 -0
  210. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.json +10 -0
  211. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.dbg.json +4 -0
  212. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.json +10 -0
  213. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.dbg.json +4 -0
  214. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.json +10 -0
  215. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.dbg.json +4 -0
  216. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.json +10 -0
  217. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.dbg.json +4 -0
  218. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.json +10 -0
  219. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.dbg.json +4 -0
  220. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.json +1437 -0
  221. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.dbg.json +4 -0
  222. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.json +10 -0
  223. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  224. package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  225. package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  226. package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  227. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  228. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  229. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  230. package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.dbg.json +4 -0
  231. package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.json +560 -0
  232. package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.dbg.json +4 -0
  233. package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.json +460 -0
  234. package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.dbg.json +4 -0
  235. package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.json +624 -0
  236. package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.dbg.json +4 -0
  237. package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.json +164 -0
  238. package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  239. package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
  240. package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  241. package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
  242. package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.dbg.json +4 -0
  243. package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.json +618 -0
  244. package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  245. package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.json +40 -0
  246. package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  247. package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.json +10 -0
  248. package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  249. package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.json +10 -0
  250. package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  251. package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.json +233 -0
  252. package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  253. package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.json +49 -0
  254. package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  255. package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
  256. package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  257. package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.json +1458 -0
  258. package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  259. package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.json +1532 -0
  260. package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  261. package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.json +1525 -0
  262. package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  263. package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.json +1076 -0
  264. package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  265. package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.json +807 -0
  266. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  267. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.json +1004 -0
  268. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +4 -0
  269. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +29 -0
  270. package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +4 -0
  271. package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.json +897 -0
  272. package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  273. package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  274. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  275. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  276. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  277. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  278. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +4 -0
  279. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.json +189 -0
  280. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  281. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  282. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  283. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  284. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  285. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  286. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  287. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.json +279 -0
  288. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  289. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  290. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  291. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  292. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  293. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  294. package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  295. package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  296. package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  297. package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  298. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  299. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  300. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  301. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  302. package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.dbg.json +4 -0
  303. package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.json +89 -0
  304. package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  305. package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.json +1376 -0
  306. package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  307. package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  308. package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  309. package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.json +1896 -0
  310. package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  311. package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  312. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  313. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
  314. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  315. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  316. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  317. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  318. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  319. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  320. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  321. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
  322. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  323. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  324. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  325. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  326. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  327. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  328. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  329. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  330. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  331. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  332. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  333. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
  334. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  335. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
  336. package/src/assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  337. package/src/assets/ethereum/{ABI/liqEth → mainnet/liqEth/v1}/accounting.sol/Accounting.json +3 -3
  338. package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  339. package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  340. package/src/assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  341. package/src/assets/ethereum/{ABI/liqEth → mainnet/liqEth/v1}/stakingModule.sol/StakingModule.json +3 -3
  342. package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  343. package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
  344. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  345. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  346. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  347. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  348. package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.dbg.json +4 -0
  349. package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.json +1915 -0
  350. package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.dbg.json +4 -0
  351. package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.json +1845 -0
  352. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  353. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
  354. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  355. package/src/assets/ethereum/{ABI → mainnet}/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +33 -2
  356. package/src/assets/ethereum/mainnet/outpost/OPP.sol/OPP.dbg.json +4 -0
  357. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  358. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  359. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
  360. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  361. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  362. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  363. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  364. package/src/assets/ethereum/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  365. package/src/assets/ethereum/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  366. package/src/assets/ethereum/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  367. package/src/assets/ethereum/mainnet/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  368. package/src/assets/ethereum/mainnet/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  369. package/src/assets/ethereum/mainnet/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  370. package/src/assets/ethereum/mainnet/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  371. package/src/assets/ethereum/mainnet/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  372. package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostErrors.sol/OutpostErrors.json +33 -2
  373. package/src/assets/ethereum/mainnet/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  374. package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +4 -0
  375. package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.json +737 -0
  376. package/src/assets/ethereum/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  377. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  378. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  379. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
  380. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  381. package/src/assets/ethereum/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  382. package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.dbg.json +4 -0
  383. package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.json +943 -0
  384. package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.dbg.json +4 -0
  385. package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.json +1703 -0
  386. package/src/assets/ethereum/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  387. package/src/assets/ethereum/{ABI → mainnet}/outpost/ReceiptNFT.sol/ReceiptNFT.json +33 -2
  388. package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  389. package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  390. package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  391. package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
  392. package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  393. package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
  394. package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  395. package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
  396. package/src/assets/ethereum/mainnet/outpost/v1/BAR.sol/BAR.dbg.json +4 -0
  397. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/BAR.sol/BAR.json +34 -3
  398. package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.dbg.json +4 -0
  399. package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.json +1653 -0
  400. package/src/assets/ethereum/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  401. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/OutpostManager.sol/OutpostManager.json +3 -3
  402. package/src/assets/ethereum/mainnet/outpost/v1/Pool.sol/Pool.dbg.json +4 -0
  403. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/Pool.sol/Pool.json +34 -3
  404. package/src/assets/ethereum/mainnet/outpost/v1/Pretoken.sol/Pretoken.dbg.json +4 -0
  405. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/Pretoken.sol/Pretoken.json +34 -3
  406. package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  407. package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  408. package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  409. package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.json +330 -0
  410. package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  411. package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.json +449 -0
  412. package/src/assets/solana/devnet/idl/liqsol_core.json +8566 -0
  413. package/src/assets/solana/{idl → devnet/idl}/liqsol_token.json +34 -0
  414. package/src/assets/solana/devnet/idl/transfer_hook.json +490 -0
  415. package/src/assets/solana/devnet/idl/validator_leaderboard.json +735 -0
  416. package/src/assets/solana/devnet/types/liqsol_core.ts +8572 -0
  417. package/src/assets/solana/{types → devnet/types}/liqsol_token.ts +34 -0
  418. package/src/assets/solana/devnet/types/transfer_hook.ts +496 -0
  419. package/src/assets/solana/devnet/types/validator_leaderboard.ts +741 -0
  420. package/src/assets/solana/{idl → mainnet/idl}/liqsol_core.json +542 -30
  421. package/src/assets/solana/mainnet/idl/liqsol_token.json +217 -0
  422. package/src/assets/solana/mainnet/idl/transfer_hook.json +479 -0
  423. package/src/assets/solana/{types → mainnet/types}/liqsol_core.ts +542 -30
  424. package/src/assets/solana/mainnet/types/liqsol_token.ts +223 -0
  425. package/src/assets/solana/mainnet/types/transfer_hook.ts +485 -0
  426. package/src/assets/solana/realdevnet/idl/liqsol_core.json +7112 -0
  427. package/src/assets/solana/realdevnet/idl/liqsol_token.json +217 -0
  428. package/src/assets/solana/realdevnet/idl/transfer_hook.json +479 -0
  429. package/src/assets/solana/realdevnet/idl/validator_leaderboard.json +735 -0
  430. package/src/assets/solana/realdevnet/types/liqsol_core.ts +7118 -0
  431. package/src/assets/solana/realdevnet/types/liqsol_token.ts +223 -0
  432. package/src/assets/solana/realdevnet/types/transfer_hook.ts +485 -0
  433. package/src/assets/solana/realdevnet/types/validator_leaderboard.ts +741 -0
  434. package/src/index.ts +4 -2
  435. package/src/networks/ethereum/clients/convert.client.ts +35 -1
  436. package/src/networks/ethereum/clients/instaswap.client.ts +432 -0
  437. package/src/networks/ethereum/clients/opp.client.ts +20 -21
  438. package/src/networks/ethereum/clients/receipt.client.ts +93 -23
  439. package/src/networks/ethereum/clients/stake.client.ts +192 -20
  440. package/src/networks/ethereum/clients/validator.client.ts +61 -0
  441. package/src/networks/ethereum/contract.ts +423 -239
  442. package/src/networks/ethereum/ethereum.ts +379 -165
  443. package/src/networks/ethereum/types.ts +40 -11
  444. package/src/networks/solana/clients/convert.client.ts +377 -0
  445. package/src/networks/solana/clients/distribution.client.ts +141 -29
  446. package/src/networks/solana/clients/instaswap.client.ts +474 -0
  447. package/src/networks/solana/clients/leaderboard.client.ts +10 -13
  448. package/src/networks/solana/clients/outpost.client.ts +120 -80
  449. package/src/networks/solana/clients/token.client.ts +33 -22
  450. package/src/networks/solana/constants.ts +58 -285
  451. package/src/networks/solana/program.ts +467 -29
  452. package/src/networks/solana/solana.ts +529 -222
  453. package/src/networks/solana/types.ts +41 -15
  454. package/src/networks/solana/utils.ts +74 -306
  455. package/src/staker.ts +23 -2
  456. package/src/types.ts +82 -11
  457. package/src/assets/ethereum/ABI/common/Base58.sol/Base58.dbg.json +0 -4
  458. package/src/assets/ethereum/ABI/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +0 -4
  459. package/src/assets/ethereum/ABI/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +0 -4
  460. package/src/assets/ethereum/ABI/common/iodata.sol/iodata.dbg.json +0 -4
  461. package/src/assets/ethereum/ABI/common/iodata_util.sol/iodata_util.dbg.json +0 -4
  462. package/src/assets/ethereum/ABI/common/sysio_data.sol/sysio_data.dbg.json +0 -4
  463. package/src/assets/ethereum/ABI/common/sysio_errors.sol/sysio_errors.dbg.json +0 -4
  464. package/src/assets/ethereum/ABI/common/sysio_merkle.sol/sysio_merkle.dbg.json +0 -4
  465. package/src/assets/ethereum/ABI/common/sysio_name.sol/sysio_name.dbg.json +0 -4
  466. package/src/assets/ethereum/ABI/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +0 -4
  467. package/src/assets/ethereum/ABI/common/sysio_read.sol/sysio_read.dbg.json +0 -4
  468. package/src/assets/ethereum/ABI/common/sysio_tester.sol/SysioTester.dbg.json +0 -4
  469. package/src/assets/ethereum/ABI/common/sysio_verify.sol/sysio_verify.dbg.json +0 -4
  470. package/src/assets/ethereum/ABI/common/sysio_write.sol/sysio_write.dbg.json +0 -4
  471. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.dbg.json +0 -4
  472. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +0 -4
  473. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +0 -4
  474. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +0 -4
  475. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +0 -4
  476. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +0 -4
  477. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +0 -4
  478. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +0 -4
  479. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +0 -4
  480. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +0 -4
  481. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +0 -4
  482. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +0 -4
  483. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +0 -4
  484. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +0 -4
  485. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +0 -4
  486. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +0 -4
  487. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +0 -4
  488. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +0 -4
  489. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +0 -4
  490. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +0 -4
  491. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +0 -4
  492. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +0 -4
  493. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +0 -4
  494. package/src/assets/ethereum/ABI/outpost/Aggregator.sol/Aggregator.json +0 -82
  495. package/src/assets/ethereum/ABI/outpost/BAR.sol/BAR.dbg.json +0 -4
  496. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.dbg.json +0 -4
  497. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.json +0 -1622
  498. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +0 -4
  499. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +0 -4
  500. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.dbg.json +0 -4
  501. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPP.dbg.json +0 -4
  502. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +0 -4
  503. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPInbound.dbg.json +0 -4
  504. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +0 -4
  505. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPSender.dbg.json +0 -4
  506. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/OPPCommon.dbg.json +0 -4
  507. package/src/assets/ethereum/ABI/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +0 -4
  508. package/src/assets/ethereum/ABI/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +0 -4
  509. package/src/assets/ethereum/ABI/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +0 -4
  510. package/src/assets/ethereum/ABI/outpost/OPPErrors.sol/OPPErrors.dbg.json +0 -4
  511. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.dbg.json +0 -4
  512. package/src/assets/ethereum/ABI/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +0 -4
  513. package/src/assets/ethereum/ABI/outpost/OPPSender.sol/OPPSender.dbg.json +0 -4
  514. package/src/assets/ethereum/ABI/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +0 -4
  515. package/src/assets/ethereum/ABI/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +0 -4
  516. package/src/assets/ethereum/ABI/outpost/OutpostManager.sol/OutpostManager.dbg.json +0 -4
  517. package/src/assets/ethereum/ABI/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +0 -4
  518. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +0 -4
  519. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +0 -4
  520. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +0 -4
  521. package/src/assets/ethereum/ABI/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +0 -4
  522. package/src/assets/ethereum/ABI/outpost/Pool.sol/Pool.dbg.json +0 -4
  523. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.dbg.json +0 -4
  524. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +0 -4
  525. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +0 -4
  526. package/src/assets/ethereum/ABI/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +0 -4
  527. package/src/assets/ethereum/ABI/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +0 -4
  528. package/src/assets/ethereum/ABI/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +0 -4
  529. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.dbg.json +0 -4
  530. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.dbg.json +0 -4
  531. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.dbg.json +0 -4
  532. package/src/assets/solana/idl/transfer_hook.json +0 -197
  533. package/src/assets/solana/types/transfer_hook.ts +0 -203
  534. package/src/networks/solana/clients/deposit.client.ts +0 -292
  535. /package/src/assets/ethereum/{ABI → hoodi}/common/Base58.sol/Base58.json +0 -0
  536. /package/src/assets/ethereum/{ABI → hoodi}/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +0 -0
  537. /package/src/assets/ethereum/{ABI → hoodi}/common/RestrictedCallers.sol/RestrictedCallers.json +0 -0
  538. /package/src/assets/ethereum/{ABI → hoodi}/common/iodata.sol/iodata.json +0 -0
  539. /package/src/assets/ethereum/{ABI → hoodi}/common/iodata_util.sol/iodata_util.json +0 -0
  540. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_data.sol/sysio_data.json +0 -0
  541. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_errors.sol/sysio_errors.json +0 -0
  542. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_merkle.sol/sysio_merkle.json +0 -0
  543. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_name.sol/sysio_name.json +0 -0
  544. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_pubkey.sol/sysio_pubkey.json +0 -0
  545. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_read.sol/sysio_read.json +0 -0
  546. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_tester.sol/SysioTester.json +0 -0
  547. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_verify.sol/sysio_verify.json +0 -0
  548. /package/src/assets/ethereum/{ABI → hoodi}/common/sysio_write.sol/sysio_write.json +0 -0
  549. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/BeaconState.sol/BeaconState.json +0 -0
  550. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +0 -0
  551. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IDepositContract.json +0 -0
  552. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IDepositManager.json +0 -0
  553. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +0 -0
  554. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +0 -0
  555. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +0 -0
  556. /package/src/assets/ethereum/{ABI → hoodi}/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +0 -0
  557. /package/src/assets/ethereum/{ABI → hoodi}/outpost/OPPCommon.sol/IOPPEndpoint.json +0 -0
  558. /package/src/assets/ethereum/{ABI → hoodi}/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +0 -0
  559. /package/src/assets/ethereum/{ABI → hoodi}/outpost/interfaces/IPretoken.sol/IPretoken.json +0 -0
  560. /package/src/assets/ethereum/{ABI → hoodi}/outpost/interfaces/IWarrant.sol/IWarrant.json +0 -0
  561. /package/src/assets/ethereum/{ABI → hoodi}/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +0 -0
  562. /package/src/assets/ethereum/{ABI → hoodi}/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +0 -0
  563. /package/src/assets/ethereum/{ABI → hoodi}/token/ERC1155Token.sol/ERC1155Token.json +0 -0
  564. /package/src/assets/ethereum/{ABI → hoodi}/token/ERC20Token.sol/ERC20Token.json +0 -0
  565. /package/src/assets/ethereum/{ABI → hoodi}/token/ERC721Token.sol/ERC721Token.json +0 -0
  566. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPP.sol/OPP.json +0 -0
  567. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPP.json +0 -0
  568. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPInbound.json +0 -0
  569. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPReceiver.json +0 -0
  570. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPSender.json +0 -0
  571. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/OPPCommon.json +0 -0
  572. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpoint.sol/OPPEndpoint.json +0 -0
  573. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +0 -0
  574. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +0 -0
  575. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPErrors.sol/OPPErrors.json +0 -0
  576. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPInbound.sol/OPPInbound.json +0 -0
  577. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPReceiver.sol/OPPReceiver.json +0 -0
  578. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPSender.sol/OPPSender.json +0 -0
  579. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManaged.sol/OutpostManaged.json +0 -0
  580. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +0 -0
  581. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerCommon.sol/IOutpostManager.json +0 -0
  582. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +0 -0
  583. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostOwnable.sol/OutpostOwnable.json +0 -0
  584. /package/src/assets/solana/{idl → mainnet/idl}/validator_leaderboard.json +0 -0
  585. /package/src/assets/solana/{types → mainnet/types}/validator_leaderboard.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { BigNumber, ethers } from 'ethers';
2
- import { BalanceView } from '../../types';
2
+ import { BalanceView, ChainSymbol, WithdrawReceipt as UnifiedWithdrawReceipt } from '../../types';
3
3
 
4
4
  export const CONTRACT_NAMES = [
5
5
  // LiqETH contracts
@@ -11,7 +11,7 @@ export const CONTRACT_NAMES = [
11
11
  "DepositManager",
12
12
  "WithdrawalVault",
13
13
  "StakingModule",
14
- "YieldOracle",
14
+ // "YieldOracle",
15
15
 
16
16
  //Outpost contracts
17
17
  "OutpostManagerAuthority",
@@ -90,7 +90,17 @@ export interface WithdrawnStakeEvent {
90
90
  export interface WithdrawnStakeResult extends Result {
91
91
  /** Parsed WithdrawnStake event, if present */
92
92
  withdrawnstake?: WithdrawnStakeEvent;
93
+ }
94
+
95
+ export interface DepositAndStakeResult extends Result {
96
+ /** Parsed Staked event, if present */
97
+ staked?: StakedEvent;
98
+ }
99
+
100
+ export interface DepositAndPurchaseResult extends Result {
101
+ }
93
102
 
103
+ export interface UnstakeAndWithdrawResult extends Result {
94
104
  }
95
105
 
96
106
  export interface SharesBurnedEvent {
@@ -99,15 +109,34 @@ export interface SharesBurnedEvent {
99
109
  tokenValue: BigNumber;
100
110
  }
101
111
 
112
+ /**
113
+ * Legacy stake/pretoken receipt (kept for compatibility; not used in withdraw UI).
114
+ */
102
115
  export interface preLaunchReceipt {
103
116
  tokenId: bigint;
104
117
  receipt: {
105
- account: string,
106
- currency: number,
107
- kind: number,
108
- indexAtMint: BalanceView,
109
- principal: BalanceView,
110
- shares: BalanceView,
111
- timestamp: string,
112
- }
113
- }
118
+ account: string;
119
+ currency: number;
120
+ kind: number;
121
+ indexAtMint: BalanceView;
122
+ principal: BalanceView;
123
+ shares: BalanceView;
124
+ timestamp: string;
125
+ };
126
+ }
127
+
128
+ export interface ClaimedEvent {
129
+ user: string;
130
+ amount: BigNumber;
131
+ }
132
+
133
+ // Unified withdraw receipt type is defined centrally in src/types.ts
134
+ export type WithdrawReceipt = UnifiedWithdrawReceipt;
135
+
136
+
137
+
138
+ export interface ValidatorDepositedEvent {
139
+ sender: string;
140
+ amount: BigNumber;
141
+ shares: BigNumber
142
+ }
@@ -0,0 +1,377 @@
1
+ import { AnchorProvider, BN, Program } from '@coral-xyz/anchor';
2
+ import {
3
+ SystemProgram,
4
+ TransactionInstruction,
5
+ StakeProgram,
6
+ SYSVAR_INSTRUCTIONS_PUBKEY,
7
+ SYSVAR_CLOCK_PUBKEY,
8
+ SYSVAR_RENT_PUBKEY,
9
+ SYSVAR_STAKE_HISTORY_PUBKEY,
10
+ Connection,
11
+ PublicKey,
12
+ } from '@solana/web3.js';
13
+
14
+ import {
15
+ TOKEN_2022_PROGRAM_ID,
16
+ ASSOCIATED_TOKEN_PROGRAM_ID,
17
+ getAssociatedTokenAddressSync,
18
+ } from '@solana/spl-token';
19
+
20
+ import { LiqsolCoreClientIdl, SolanaProgramService } from '../program';
21
+ import { GlobalAccount, ReceiptData, WalletLike } from '../types';
22
+ import { BalanceView, WithdrawReceipt } from '../../../types';
23
+ import { normalizeToBigInt } from '../utils';
24
+
25
+ /**
26
+ * ConvertClient (Solana):
27
+ * - deposit SOL -> liqSOL
28
+ * - request withdraw (liqSOL burn -> NFT receipt)
29
+ * - list withdrawal receipts owned by a user
30
+ * - build claim_withdraw instruction
31
+ */
32
+ export class ConvertClient {
33
+ private program: Program<LiqsolCoreClientIdl>;
34
+
35
+ get connection(): Connection {
36
+ return this.provider.connection;
37
+ }
38
+
39
+ get wallet(): WalletLike {
40
+ return this.provider.wallet;
41
+ }
42
+
43
+ constructor(
44
+ private readonly provider: AnchorProvider,
45
+ private readonly pgs: SolanaProgramService,
46
+ ) {
47
+ this.program = pgs.getProgram('liqsolCore');
48
+ }
49
+
50
+ /**
51
+ * Build a deposit instruction (SOL -> liqSOL).
52
+ */
53
+ async buildDepositTx(
54
+ amount: bigint,
55
+ user = this.wallet.publicKey,
56
+ ): Promise<TransactionInstruction> {
57
+ const program: any = this.program;
58
+ if (!user) throw new Error('ConvertClient.buildDepositTx: wallet not connected');
59
+ if (!amount || amount <= BigInt(0))
60
+ throw new Error('ConvertClient.buildDepositTx: amount must be greater than zero.');
61
+
62
+ const depositAuthority = this.pgs.deriveDepositAuthorityPda();
63
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
64
+ const liqsolMintAuthority = this.pgs.deriveLiqsolMintAuthorityPda();
65
+ const reservePool = this.pgs.deriveReservePoolPda();
66
+ const vault = this.pgs.deriveVaultPda();
67
+ const controllerState = this.pgs.deriveStakeControllerStatePda();
68
+ const payoutState = this.pgs.derivePayoutStatePda();
69
+ const bucketAuthority = this.pgs.deriveBucketAuthorityPda();
70
+ const payRateHistory = this.pgs.derivePayRateHistoryPda();
71
+ const globalConfig = this.pgs.deriveGlobalConfigPda();
72
+
73
+ const userAta = getAssociatedTokenAddressSync(liqsolMint, user, true, TOKEN_2022_PROGRAM_ID);
74
+ const distributionState = this.pgs.deriveDistributionStatePda();
75
+ const userRecord = this.pgs.deriveUserRecordPda(userAta);
76
+ const bucketTokenAccount = getAssociatedTokenAddressSync(
77
+ liqsolMint,
78
+ bucketAuthority,
79
+ true,
80
+ TOKEN_2022_PROGRAM_ID,
81
+ );
82
+
83
+ const seed = Math.floor(Math.random() * 2 ** 32);
84
+ const ephemeralStake = await this.pgs.deriveEphemeralStakeAddress(user, seed);
85
+
86
+ return await program.methods
87
+ .deposit(new BN(amount.toString()), seed)
88
+ .accounts({
89
+ user,
90
+ depositAuthority,
91
+ systemProgram: SystemProgram.programId,
92
+ tokenProgram: TOKEN_2022_PROGRAM_ID,
93
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
94
+ liqsolProgram: this.pgs.PROGRAM_IDS.LIQSOL_TOKEN,
95
+ stakeProgram: StakeProgram.programId,
96
+ liqsolMint,
97
+ userAta,
98
+ liqsolMintAuthority,
99
+ reservePool,
100
+ vault,
101
+ ephemeralStake,
102
+ controllerState,
103
+ payoutState,
104
+ bucketAuthority,
105
+ bucketTokenAccount,
106
+ userRecord,
107
+ distributionState,
108
+ payRateHistory,
109
+ instructionsSysvar: SYSVAR_INSTRUCTIONS_PUBKEY,
110
+ clock: SYSVAR_CLOCK_PUBKEY,
111
+ stakeHistory: SYSVAR_STAKE_HISTORY_PUBKEY,
112
+ rent: SYSVAR_RENT_PUBKEY,
113
+ globalConfig,
114
+ })
115
+ .instruction();
116
+ }
117
+
118
+ async buildRegisterUserIx(
119
+ user = this.wallet.publicKey,
120
+ ): Promise<TransactionInstruction> {
121
+ const program: any = 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
+
150
+ /**
151
+ * Build a withdraw-request instruction (liqSOL burn -> NFT receipt).
152
+ */
153
+ async buildWithdrawTx(
154
+ amount: bigint,
155
+ user = this.wallet.publicKey,
156
+ ): Promise<TransactionInstruction> {
157
+ const program: any = this.program;
158
+ if (!user) throw new Error('ConvertClient.buildWithdrawTx: wallet not connected');
159
+ if (!amount || amount <= BigInt(0))
160
+ throw new Error('ConvertClient.buildWithdrawTx: amount must be greater than zero.');
161
+
162
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
163
+ const userAta = getAssociatedTokenAddressSync(liqsolMint, user, true, TOKEN_2022_PROGRAM_ID);
164
+ const userRecord = this.pgs.deriveUserRecordPda(userAta);
165
+ const distributionState = this.pgs.deriveDistributionStatePda();
166
+
167
+ const global = this.pgs.deriveWithdrawGlobalPda();
168
+ const reservePool = this.pgs.deriveReservePoolPda();
169
+ const stakeAllocationState = this.pgs.deriveStakeAllocationStatePda();
170
+ const stakeMetrics = this.pgs.deriveStakeMetricsPda();
171
+ const maintenanceLedger = this.pgs.deriveMaintenanceLedgerPda();
172
+ const globalConfig = this.pgs.deriveGlobalConfigPda();
173
+
174
+ const globalAcct: GlobalAccount = await program.account.global.fetch(global);
175
+ const rawId = globalAcct.nextReceiptId;
176
+ const receiptId = normalizeToBigInt(rawId);
177
+
178
+ const mintAuthority = this.pgs.deriveWithdrawMintAuthorityPda();
179
+ const metadata = this.pgs.deriveWithdrawMintMetadataPda();
180
+ const nftMint = this.pgs.deriveWithdrawNftMintPda(receiptId);
181
+ const receiptData = this.pgs.deriveLiqReceiptDataPda(nftMint);
182
+ const owner = user;
183
+ const nftAta = getAssociatedTokenAddressSync(nftMint, owner, true, TOKEN_2022_PROGRAM_ID);
184
+
185
+ const bucketAuthority = this.pgs.deriveBucketAuthorityPda();
186
+ const bucketTokenAccount = getAssociatedTokenAddressSync(
187
+ liqsolMint,
188
+ bucketAuthority,
189
+ true,
190
+ TOKEN_2022_PROGRAM_ID,
191
+ );
192
+
193
+ return await program.methods
194
+ .requestWithdraw(new BN(amount.toString()))
195
+ .accounts({
196
+ user,
197
+ owner,
198
+ global,
199
+ liqsolMint,
200
+ userAta,
201
+ userRecord,
202
+ reservePool,
203
+ stakeAllocationState,
204
+ stakeMetrics,
205
+ maintenanceLedger,
206
+ clock: SYSVAR_CLOCK_PUBKEY,
207
+ mintAuthority,
208
+ receiptData,
209
+ metadata,
210
+ nftMint,
211
+ nftAta,
212
+ distributionState,
213
+ bucketTokenAccount,
214
+ tokenProgram: TOKEN_2022_PROGRAM_ID,
215
+ tokenInterface: TOKEN_2022_PROGRAM_ID,
216
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
217
+ systemProgram: SystemProgram.programId,
218
+ rent: SYSVAR_RENT_PUBKEY,
219
+ globalConfig,
220
+ })
221
+ .instruction();
222
+ }
223
+
224
+ /**
225
+ * Enumerate withdrawal receipt NFTs owned by `owner`.
226
+ */
227
+ async fetchWithdrawReceipts(owner: PublicKey): Promise<WithdrawReceipt[]> {
228
+ const program: any = this.program;
229
+ const globalPda = this.pgs.deriveWithdrawGlobalPda();
230
+ const globalAcct: GlobalAccount = await program.account.global.fetch(globalPda);
231
+ const nextId = normalizeToBigInt(globalAcct.nextReceiptId);
232
+
233
+ const mintToId = new Map<string, bigint>();
234
+ for (let i = BigInt(0); i < nextId; i++) {
235
+ const mint = this.pgs.deriveWithdrawNftMintPda(i);
236
+ mintToId.set(mint.toBase58(), i);
237
+ }
238
+
239
+ const tokenAccounts = await this.connection.getParsedTokenAccountsByOwner(owner, {
240
+ programId: TOKEN_2022_PROGRAM_ID,
241
+ });
242
+
243
+ const receipts: WithdrawReceipt[] = [];
244
+
245
+ for (const { pubkey, account } of tokenAccounts.value) {
246
+ const info: any = account.data?.['parsed']?.info;
247
+ if (!info) continue;
248
+ const amount = info.tokenAmount;
249
+ const decimals = Number(amount?.decimals ?? 0);
250
+ const uiAmount = Number(amount?.uiAmount ?? 0);
251
+ if (decimals !== 0 || uiAmount !== 1) continue;
252
+
253
+ const mintStr: string | undefined = info.mint;
254
+ if (!mintStr) continue;
255
+ const receiptId = mintToId.get(mintStr);
256
+ if (receiptId === undefined) continue;
257
+
258
+ const mintKey = new PublicKey(mintStr);
259
+ const receiptDataPda = this.pgs.deriveLiqReceiptDataPda(mintKey);
260
+
261
+ let receiptData: ReceiptData;
262
+ try {
263
+ const raw = await program.account.liqReceiptData.fetch(receiptDataPda);
264
+ receiptData = {
265
+ receiptId: normalizeToBigInt(raw.receiptId),
266
+ liqports: normalizeToBigInt(raw.liqports),
267
+ epoch: normalizeToBigInt(raw.epoch),
268
+ fulfilled: Boolean(raw.fulfilled),
269
+ };
270
+ } catch (err) {
271
+ console.warn(`ConvertClient: failed to fetch receipt data for mint ${mintStr}`, err);
272
+ continue;
273
+ }
274
+
275
+ const { etaMs, readyAtMs } = await this.estimateEpochEta(receiptData.epoch);
276
+ const status = receiptData.fulfilled ? 'claimed' : etaMs <= 0 ? 'ready' : 'queued';
277
+
278
+ const amountView: BalanceView = {
279
+ amount: receiptData.liqports,
280
+ decimals: 9,
281
+ symbol: 'SOL',
282
+ };
283
+
284
+ receipts.push({
285
+ tokenId: receiptData.receiptId,
286
+ receipt: {
287
+ amount: amountView,
288
+ readyAt: readyAtMs,
289
+ chain: 'SOL',
290
+ epoch: receiptData.epoch,
291
+ status,
292
+ mint: mintKey.toBase58(),
293
+ ownerAta: pubkey.toBase58(),
294
+ },
295
+ });
296
+ }
297
+
298
+ return receipts;
299
+ }
300
+
301
+ /**
302
+ * Build the claim_withdraw instruction for a given receiptId.
303
+ */
304
+ async buildClaimWithdrawTx(
305
+ receiptId: bigint,
306
+ user: PublicKey,
307
+ ): Promise<TransactionInstruction> {
308
+ const program: any = this.program;
309
+ const mintAccount = this.pgs.deriveWithdrawNftMintPda(receiptId);
310
+ const receiptData = this.pgs.deriveLiqReceiptDataPda(mintAccount);
311
+ const ownerAta = getAssociatedTokenAddressSync(
312
+ mintAccount,
313
+ user,
314
+ true,
315
+ TOKEN_2022_PROGRAM_ID,
316
+ );
317
+
318
+ const accounts = {
319
+ user,
320
+ global: this.pgs.deriveWithdrawGlobalPda(),
321
+ mintAuthority: this.pgs.deriveWithdrawMintAuthorityPda(),
322
+ receiptData,
323
+ mintAccount,
324
+ ownerAta,
325
+ reservePool: this.pgs.deriveReservePoolPda(),
326
+ vault: this.pgs.deriveVaultPda(),
327
+ clock: SYSVAR_CLOCK_PUBKEY,
328
+ stakeHistory: SYSVAR_STAKE_HISTORY_PUBKEY,
329
+ globalConfig: this.pgs.deriveGlobalConfigPda(),
330
+ tokenProgram: TOKEN_2022_PROGRAM_ID,
331
+ stakeProgram: StakeProgram.programId,
332
+ systemProgram: SystemProgram.programId,
333
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
334
+ };
335
+
336
+ return program.methods.claimWithdraw().accounts(accounts).instruction();
337
+ }
338
+
339
+ /**
340
+ * Estimate ready time for target epoch using recent slot time.
341
+ */
342
+ private async estimateEpochEta(targetEpoch: bigint): Promise<{ etaMs: number; readyAtMs: number }> {
343
+ const conn = this.connection;
344
+ const epochInfo = await conn.getEpochInfo();
345
+ const schedule = await conn.getEpochSchedule();
346
+ const currentEpoch = BigInt(epochInfo.epoch);
347
+
348
+ if (targetEpoch <= currentEpoch) {
349
+ const now = Date.now();
350
+ return { etaMs: 0, readyAtMs: now };
351
+ }
352
+
353
+ let slotTimeSec = 0.4;
354
+ try {
355
+ const samples = await conn.getRecentPerformanceSamples(60);
356
+ if (samples?.length) {
357
+ const valid = samples.filter(s => s.numSlots > 0);
358
+ if (valid.length) {
359
+ slotTimeSec = valid.reduce((sum, s) => sum + s.samplePeriodSecs / s.numSlots, 0) / valid.length;
360
+ }
361
+ }
362
+ } catch (_) {
363
+ // ignore
364
+ }
365
+
366
+ const slotsPerEpoch = BigInt(schedule.slotsPerEpoch);
367
+ const slotsRemainingInCurrent = slotsPerEpoch - BigInt(epochInfo.slotIndex);
368
+ const epochsRemaining = targetEpoch - currentEpoch - BigInt(1);
369
+ const slotsRemaining =
370
+ (epochsRemaining > 0 ? epochsRemaining * slotsPerEpoch : BigInt(0)) +
371
+ slotsRemainingInCurrent;
372
+
373
+ const etaSeconds = Number(slotsRemaining) * slotTimeSec;
374
+ const etaMs = Math.max(0, Math.round(etaSeconds * 1000));
375
+ return { etaMs, readyAtMs: Date.now() + etaMs };
376
+ }
377
+ }
@@ -1,19 +1,13 @@
1
1
  import { AnchorProvider, Program, BN } from '@coral-xyz/anchor';
2
- import { PublicKey } from '@solana/web3.js';
3
-
4
- import { SolanaProgramService } from '../program';
5
- import type { LiqsolCore } from '../../../assets/solana/types/liqsol_core';
6
- import {
7
- deriveDistributionStatePda,
8
- deriveGlobalConfigPda,
9
- deriveLiqsolMintPda,
10
- derivePayRateHistoryPda,
11
- deriveUserRecordPda,
12
- } from '../constants';
2
+ import { PublicKey, SystemProgram, TransactionInstruction } from '@solana/web3.js';
3
+
4
+ import { LiqsolCoreClientIdl, SolanaProgramService } from '../program';
13
5
  import type { DistributionState, DistributionUserRecord, GlobalConfig, PayRateEntry, PayRateHistory } from '../types';
14
6
  import { getAssociatedTokenAddressSync, TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
15
7
  import { ceilDiv } from '../utils';
16
8
 
9
+ const INDEX_SCALE_BN = new BN('1000000000000');
10
+
17
11
  /**
18
12
  * Distribution client – wraps the distribution portion of the liqsol_core
19
13
  * program in the *new* shares-only model.
@@ -33,26 +27,38 @@ import { ceilDiv } from '../utils';
33
27
  * - DistributionState + UserRecord track *shares* for yield.
34
28
  */
35
29
  export class DistributionClient {
36
- private program: Program<LiqsolCore>;
30
+ private program: Program<LiqsolCoreClientIdl>;
37
31
 
38
- constructor(private provider: AnchorProvider) {
39
- const svc = new SolanaProgramService(provider);
40
- this.program = svc.getProgram('liqsolCore');
32
+ constructor(
33
+ private readonly provider: AnchorProvider,
34
+ private readonly pgs: SolanaProgramService
35
+ ) {
36
+ this.program = pgs.getProgram('liqsolCore');
41
37
  }
42
38
 
43
39
  get connection() {
44
40
  return this.provider.connection;
45
41
  }
46
42
 
43
+ private async getTokenBalance(ata: PublicKey): Promise<BN> {
44
+ try {
45
+ const bal = await this.connection.getTokenAccountBalance(ata);
46
+ return new BN(bal.value.amount);
47
+ } catch {
48
+ return new BN(0);
49
+ }
50
+ }
51
+
47
52
  /**
48
53
  * Fetch the global distribution state account.
49
54
  *
50
55
  * IDL account name: "distributionState"
51
56
  */
52
57
  async getDistributionState(): Promise<DistributionState | null> {
53
- const pda = deriveDistributionStatePda();
58
+ const pda = this.pgs.deriveDistributionStatePda();
59
+ const program: any = this.program;
54
60
  try {
55
- return await this.program.account.distributionState.fetch(pda);
61
+ return await program.account.distributionState.fetch(pda);
56
62
  } catch {
57
63
  return null;
58
64
  }
@@ -65,10 +71,11 @@ export class DistributionClient {
65
71
  * IDL account name: "payRateHistory"
66
72
  */
67
73
  async getPayRateHistory(): Promise<PayRateHistory | null> {
68
- const pda = derivePayRateHistoryPda();
74
+ const pda = this.pgs.derivePayRateHistoryPda();
75
+ const program: any = this.program;
69
76
  try {
70
77
  // Anchor types map directly onto our PayRateHistory TS type
71
- return (await this.program.account.payRateHistory.fetch(
78
+ return (await program.account.payRateHistory.fetch(
72
79
  pda,
73
80
  )) as PayRateHistory;
74
81
  } catch {
@@ -82,11 +89,12 @@ export class DistributionClient {
82
89
  * IDL account name: "globalConfig"
83
90
  */
84
91
  async getGlobalConfig(): Promise<GlobalConfig | null> {
85
- const pda = deriveGlobalConfigPda();
92
+ const pda = this.pgs.deriveGlobalConfigPda();
93
+ const program: any = this.program;
86
94
  try {
87
- return (await this.program.account.globalConfig.fetch(
95
+ return (await program.account.globalConfig.fetch(
88
96
  pda,
89
- ));
97
+ )) as GlobalConfig;
90
98
  } catch {
91
99
  return null;
92
100
  }
@@ -99,19 +107,20 @@ export class DistributionClient {
99
107
  async getUserRecord(
100
108
  ownerOrAta: PublicKey,
101
109
  ): Promise<DistributionUserRecord | null> {
102
- const liqsolMint = deriveLiqsolMintPda();
110
+ const program: any = this.program;
111
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
103
112
 
104
113
  // 1) Try treating ownerOrAta as a WALLET: derive its liqSOL ATA, then userRecord.
105
114
  try {
106
115
  const ata = getAssociatedTokenAddressSync(
107
116
  liqsolMint,
108
117
  ownerOrAta,
109
- false,
118
+ true,
110
119
  TOKEN_2022_PROGRAM_ID,
111
120
  );
112
- const pdaFromWallet = deriveUserRecordPda(ata);
121
+ const pdaFromWallet = this.pgs.deriveUserRecordPda(ata);
113
122
  const recFromWallet =
114
- await this.program.account.userRecord.fetchNullable(pdaFromWallet);
123
+ await program.account.userRecord.fetchNullable(pdaFromWallet);
115
124
  if (recFromWallet) {
116
125
  return recFromWallet;
117
126
  }
@@ -121,8 +130,8 @@ export class DistributionClient {
121
130
 
122
131
  // 2) Fallback: treat ownerOrAta as already being the TOKEN ACCOUNT.
123
132
  try {
124
- const pdaFromAta = deriveUserRecordPda(ownerOrAta);
125
- return await this.program.account.userRecord.fetchNullable(pdaFromAta);
133
+ const pdaFromAta = this.pgs.deriveUserRecordPda(ownerOrAta);
134
+ return await program.account.userRecord.fetchNullable(pdaFromAta);
126
135
  } catch {
127
136
  return null;
128
137
  }
@@ -167,6 +176,109 @@ export class DistributionClient {
167
176
  return { shares: userShares, totalShares, ratio };
168
177
  }
169
178
 
179
+ /**
180
+ * Compute claimable liqSOL for a wallet:
181
+ * claimable = max(0, entitled - actual)
182
+ * entitled = floor(shares * syncedIndex / 1e12)
183
+ *
184
+ * `syncedIndex` mirrors on-chain `sync_index` behavior by incorporating any
185
+ * unsynced bucket delta (bucket_balance - last_bucket_balance).
186
+ */
187
+ async getClaimableLiqsol(user: PublicKey): Promise<BN> {
188
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
189
+ const bucketAuthority = this.pgs.deriveBucketAuthorityPda();
190
+
191
+ const userAta = getAssociatedTokenAddressSync(
192
+ liqsolMint,
193
+ user,
194
+ true,
195
+ TOKEN_2022_PROGRAM_ID,
196
+ );
197
+ const bucketTokenAccount = getAssociatedTokenAddressSync(
198
+ liqsolMint,
199
+ bucketAuthority,
200
+ true,
201
+ TOKEN_2022_PROGRAM_ID,
202
+ );
203
+
204
+ const [distributionState, userRecord, actualBalance, bucketBalance] = await Promise.all([
205
+ this.getDistributionState(),
206
+ this.getUserRecord(user),
207
+ this.getTokenBalance(userAta),
208
+ this.getTokenBalance(bucketTokenAccount),
209
+ ]);
210
+
211
+ if (!distributionState || !userRecord) {
212
+ return new BN(0);
213
+ }
214
+
215
+ let syncedIndex = new BN(distributionState.currentIndex.toString());
216
+ const totalShares = new BN(distributionState.totalShares.toString());
217
+ const lastBucketBalance = new BN(distributionState.lastBucketBalance.toString());
218
+
219
+ if (totalShares.gt(new BN(0)) && bucketBalance.gt(lastBucketBalance)) {
220
+ const delta = bucketBalance.sub(lastBucketBalance);
221
+ const indexDelta = delta.mul(INDEX_SCALE_BN).div(totalShares);
222
+ if (indexDelta.gt(new BN(0))) {
223
+ syncedIndex = syncedIndex.add(indexDelta);
224
+ }
225
+ }
226
+
227
+ const shares = new BN(userRecord.shares.toString());
228
+ const entitled = shares.mul(syncedIndex).div(INDEX_SCALE_BN);
229
+
230
+ if (entitled.lte(actualBalance)) {
231
+ return new BN(0);
232
+ }
233
+ return entitled.sub(actualBalance);
234
+ }
235
+
236
+ /**
237
+ * Build claim_rewards instruction for a wallet.
238
+ */
239
+ async buildClaimRewardsIx(user: PublicKey): Promise<TransactionInstruction> {
240
+ const program: any = this.program;
241
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
242
+ const distributionState = this.pgs.deriveDistributionStatePda();
243
+ const bucketAuthority = this.pgs.deriveBucketAuthorityPda();
244
+
245
+ const userAta = getAssociatedTokenAddressSync(
246
+ liqsolMint,
247
+ user,
248
+ true,
249
+ TOKEN_2022_PROGRAM_ID,
250
+ );
251
+ const bucketTokenAccount = getAssociatedTokenAddressSync(
252
+ liqsolMint,
253
+ bucketAuthority,
254
+ true,
255
+ TOKEN_2022_PROGRAM_ID,
256
+ );
257
+
258
+ const userRecord = this.pgs.deriveUserRecordPda(userAta);
259
+ const bucketUserRecord = this.pgs.deriveUserRecordPda(bucketTokenAccount);
260
+ const extraAccountMetaList = this.pgs.deriveExtraAccountMetaListPda(liqsolMint);
261
+
262
+ return program.methods
263
+ .claimRewards()
264
+ .accounts({
265
+ user,
266
+ userAta,
267
+ userRecord,
268
+ bucketUserRecord,
269
+ distributionState,
270
+ extraAccountMetaList,
271
+ liqsolCoreProgram: this.pgs.PROGRAM_IDS.LIQSOL_CORE,
272
+ transferHookProgram: this.pgs.PROGRAM_IDS.TRANSFER_HOOK,
273
+ liqsolMint,
274
+ bucketAuthority,
275
+ bucketTokenAccount,
276
+ tokenProgram: TOKEN_2022_PROGRAM_ID,
277
+ systemProgram: SystemProgram.programId
278
+ })
279
+ .instruction();
280
+ }
281
+
170
282
  /**
171
283
  * Compute an average scaled pay rate over the most recent `windowSize`
172
284
  * valid entries in the pay-rate history circular buffer.
@@ -248,4 +360,4 @@ export class DistributionClient {
248
360
  // Same behavior as the dashboard: use a ceiling-like average
249
361
  return ceilDiv(sum, new BN(valid));
250
362
  }
251
- }
363
+ }