@wireio/stake 0.2.4 → 0.2.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 (554) hide show
  1. package/README.md +185 -243
  2. package/lib/stake.browser.js +59679 -12796
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +16805 -3254
  5. package/lib/stake.js +60211 -13152
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +59679 -12796
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +6 -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/BeaconState.sol/BeaconState.json +807 -0
  40. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  41. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.json +985 -0
  42. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  43. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  44. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  45. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IAccounting.json +182 -0
  46. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  47. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  48. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  49. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  50. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  51. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  52. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  53. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  54. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  55. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.json +344 -0
  56. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  57. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +59 -0
  58. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  59. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +14 -12
  60. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  61. package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/LiqEthCommon.json +2 -2
  62. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  63. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  64. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  65. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  66. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  67. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  68. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  69. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  70. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  71. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.json +1376 -0
  72. package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.dbg.json +4 -0
  73. package/src/assets/ethereum/hoodi/liqEth/accounting.sol/AccountingV2.json +629 -0
  74. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  75. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  76. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  77. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.json +1779 -0
  78. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  79. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  80. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  81. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IAccounting.json +1 -1
  82. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  83. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  84. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  85. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  86. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  87. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  88. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  89. package/src/assets/ethereum/{ABI/liqEth → hoodi/liqEth/v1}/LiqEthCommon.sol/IRewardsERC20.json +37 -1
  90. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  91. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  92. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  93. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  94. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  95. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  96. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  97. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  98. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  99. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  100. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  101. package/src/assets/ethereum/{ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.json → hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json} +140 -78
  102. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  103. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
  104. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  105. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.json +548 -0
  106. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  107. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  108. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  109. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  110. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  111. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
  112. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  113. package/src/assets/ethereum/{ABI → hoodi}/liqEth/withdrawalVault.sol/Uint64BE.json +2 -2
  114. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  115. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  116. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.dbg.json +4 -0
  117. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BAR.json +1111 -0
  118. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.dbg.json +4 -0
  119. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/Depositor.json +1696 -0
  120. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  121. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  122. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +274 -0
  123. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.dbg.json +4 -0
  124. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeDepositCodec.json +10 -0
  125. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.dbg.json +4 -0
  126. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawCodec.json +10 -0
  127. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.dbg.json +4 -0
  128. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/BridgeWithdrawConfirmCodec.json +10 -0
  129. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.dbg.json +4 -0
  130. package/src/assets/ethereum/hoodi/outpost/InstaswapBridgeAttestations.sol/InstaswapBridgeAttestationTypeLib.json +10 -0
  131. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.dbg.json +4 -0
  132. package/src/assets/ethereum/hoodi/outpost/LiqEthBridge.sol/LiqEthBridge.json +1044 -0
  133. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.dbg.json +4 -0
  134. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.json +1055 -0
  135. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  136. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.json +81 -0
  137. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  138. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  139. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.json +330 -0
  140. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  141. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
  142. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  143. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.json +41 -0
  144. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  145. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.json +287 -0
  146. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  147. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.json +294 -0
  148. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  149. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +415 -0
  150. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  151. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +399 -0
  152. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  153. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.json +245 -0
  154. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  155. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.json +1204 -0
  156. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  157. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.json +312 -0
  158. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  159. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.json +324 -0
  160. package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.dbg.json +4 -0
  161. package/src/assets/ethereum/hoodi/outpost/OperatorRegistry.sol/OperatorRegistry.json +1068 -0
  162. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  163. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.json +211 -0
  164. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  165. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
  166. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  167. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManager.json +751 -0
  168. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  169. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
  170. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  171. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
  172. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  173. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  174. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
  175. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  176. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
  177. package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.dbg.json +4 -0
  178. package/src/assets/ethereum/hoodi/outpost/OutpostReserve.sol/OutpostReserve.json +888 -0
  179. package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.dbg.json +4 -0
  180. package/src/assets/ethereum/hoodi/outpost/Pool.sol/Pool.json +659 -0
  181. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
  182. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/Pretoken.json +1393 -0
  183. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  184. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.json +1738 -0
  185. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.dbg.json +4 -0
  186. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapConfirmCodec.json +10 -0
  187. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.dbg.json +4 -0
  188. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapFailedCodec.json +10 -0
  189. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.dbg.json +4 -0
  190. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapRequestCodec.json +10 -0
  191. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.dbg.json +4 -0
  192. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/InstaswapSettlementCodec.json +10 -0
  193. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.dbg.json +4 -0
  194. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitConfirmCodec.json +10 -0
  195. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.dbg.json +4 -0
  196. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitFailedCodec.json +10 -0
  197. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.dbg.json +4 -0
  198. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalExitRequestCodec.json +10 -0
  199. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.dbg.json +4 -0
  200. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/PrincipalStakeDeltaCodec.json +10 -0
  201. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.dbg.json +4 -0
  202. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAssetCodec.json +10 -0
  203. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.dbg.json +4 -0
  204. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestationTypeLib.json +10 -0
  205. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.dbg.json +4 -0
  206. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/WireYieldHubAttestations.json +1437 -0
  207. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.dbg.json +4 -0
  208. package/src/assets/ethereum/hoodi/outpost/WireYieldHubAttestations.sol/YieldDepositCodec.json +10 -0
  209. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  210. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  211. package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  212. package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  213. package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  214. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  215. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  216. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  217. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.json +330 -0
  218. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  219. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.json +449 -0
  220. package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.dbg.json +4 -0
  221. package/src/assets/ethereum/hoodi/token/Eman1155.sol/Eman1155.json +560 -0
  222. package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.dbg.json +4 -0
  223. package/src/assets/ethereum/hoodi/token/Eman20.sol/Eman20.json +460 -0
  224. package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.dbg.json +4 -0
  225. package/src/assets/ethereum/hoodi/token/Eman721.sol/Eman721.json +624 -0
  226. package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.dbg.json +4 -0
  227. package/src/assets/ethereum/mainnet/common/Base58.sol/Base58.json +164 -0
  228. package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  229. package/src/assets/ethereum/mainnet/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
  230. package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  231. package/src/assets/ethereum/mainnet/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
  232. package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.dbg.json +4 -0
  233. package/src/assets/ethereum/mainnet/common/iodata.sol/iodata.json +618 -0
  234. package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  235. package/src/assets/ethereum/mainnet/common/iodata_util.sol/iodata_util.json +40 -0
  236. package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  237. package/src/assets/ethereum/mainnet/common/sysio_data.sol/sysio_data.json +10 -0
  238. package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  239. package/src/assets/ethereum/mainnet/common/sysio_errors.sol/sysio_errors.json +10 -0
  240. package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  241. package/src/assets/ethereum/mainnet/common/sysio_merkle.sol/sysio_merkle.json +233 -0
  242. package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  243. package/src/assets/ethereum/mainnet/common/sysio_name.sol/sysio_name.json +49 -0
  244. package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  245. package/src/assets/ethereum/mainnet/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
  246. package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  247. package/src/assets/ethereum/mainnet/common/sysio_read.sol/sysio_read.json +1458 -0
  248. package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  249. package/src/assets/ethereum/mainnet/common/sysio_tester.sol/SysioTester.json +1532 -0
  250. package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  251. package/src/assets/ethereum/mainnet/common/sysio_verify.sol/sysio_verify.json +1525 -0
  252. package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  253. package/src/assets/ethereum/mainnet/common/sysio_write.sol/sysio_write.json +1076 -0
  254. package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  255. package/src/assets/ethereum/mainnet/liqEth/BeaconState.sol/BeaconState.json +807 -0
  256. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  257. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/DepositManagerV2.json +1004 -0
  258. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +4 -0
  259. package/src/assets/ethereum/mainnet/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +29 -0
  260. package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +4 -0
  261. package/src/assets/ethereum/mainnet/liqEth/KeyBondManager.sol/KeyBondManager.json +897 -0
  262. package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  263. package/src/assets/ethereum/mainnet/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  264. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  265. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  266. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  267. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  268. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +4 -0
  269. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IKeyBondManager.json +189 -0
  270. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  271. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  272. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  273. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  274. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  275. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  276. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  277. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IStakingModule.json +279 -0
  278. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  279. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  280. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  281. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  282. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  283. package/src/assets/ethereum/mainnet/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  284. package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  285. package/src/assets/ethereum/mainnet/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  286. package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  287. package/src/assets/ethereum/mainnet/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  288. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  289. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  290. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  291. package/src/assets/ethereum/mainnet/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  292. package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.dbg.json +4 -0
  293. package/src/assets/ethereum/mainnet/liqEth/StakingLib.sol/StakingLib.json +89 -0
  294. package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  295. package/src/assets/ethereum/mainnet/liqEth/Yield.sol/YieldOracle.json +1376 -0
  296. package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  297. package/src/assets/ethereum/mainnet/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  298. package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  299. package/src/assets/ethereum/mainnet/liqEth/stakingModule.sol/StakingModuleV2.json +1896 -0
  300. package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  301. package/src/assets/ethereum/mainnet/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  302. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  303. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
  304. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  305. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  306. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  307. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  308. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  309. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  310. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  311. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
  312. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  313. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  314. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  315. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  316. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  317. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  318. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  319. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  320. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  321. package/src/assets/ethereum/mainnet/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  322. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  323. package/src/assets/ethereum/{ABI/liqEth/RewardsERC20.sol/RewardsERC20.json → mainnet/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json} +159 -34
  324. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  325. package/src/assets/ethereum/mainnet/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
  326. package/src/assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  327. package/src/assets/ethereum/mainnet/liqEth/v1/accounting.sol/Accounting.json +542 -0
  328. package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  329. package/src/assets/ethereum/mainnet/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  330. package/src/assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  331. package/src/assets/ethereum/mainnet/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  332. package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  333. package/src/assets/ethereum/mainnet/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
  334. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  335. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  336. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  337. package/src/assets/ethereum/mainnet/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  338. package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.dbg.json +4 -0
  339. package/src/assets/ethereum/mainnet/outpost/BAR.sol/BARV2.json +1915 -0
  340. package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.dbg.json +4 -0
  341. package/src/assets/ethereum/mainnet/outpost/Depositor.sol/DepositorV2.json +1845 -0
  342. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  343. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
  344. package/src/assets/ethereum/mainnet/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  345. package/src/assets/ethereum/{ABI → mainnet}/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +31 -81
  346. package/src/assets/ethereum/mainnet/outpost/OPP.sol/OPP.dbg.json +4 -0
  347. package/src/assets/ethereum/mainnet/outpost/OPP.sol/OPP.json +948 -0
  348. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  349. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  350. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
  351. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  352. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  353. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  354. package/src/assets/ethereum/mainnet/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  355. package/src/assets/ethereum/mainnet/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  356. package/src/assets/ethereum/mainnet/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  357. package/src/assets/ethereum/mainnet/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  358. package/src/assets/ethereum/mainnet/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  359. package/src/assets/ethereum/mainnet/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  360. package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPInbound.sol/OPPInbound.json +2 -2
  361. package/src/assets/ethereum/mainnet/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  362. package/src/assets/ethereum/mainnet/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  363. package/src/assets/ethereum/mainnet/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  364. package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostErrors.sol/OutpostErrors.json +33 -18
  365. package/src/assets/ethereum/mainnet/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  366. package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +4 -0
  367. package/src/assets/ethereum/mainnet/outpost/OutpostManager.sol/OutpostManagerV2.json +737 -0
  368. package/src/assets/ethereum/mainnet/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  369. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  370. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  371. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
  372. package/src/assets/ethereum/mainnet/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  373. package/src/assets/ethereum/mainnet/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  374. package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.dbg.json +4 -0
  375. package/src/assets/ethereum/mainnet/outpost/Pool.sol/PoolV2.json +943 -0
  376. package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.dbg.json +4 -0
  377. package/src/assets/ethereum/mainnet/outpost/Pretoken.sol/PretokenV2.json +1703 -0
  378. package/src/assets/ethereum/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  379. package/src/assets/ethereum/mainnet/outpost/ReceiptNFT.sol/ReceiptNFT.json +2015 -0
  380. package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  381. package/src/assets/ethereum/mainnet/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  382. package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  383. package/src/assets/ethereum/mainnet/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
  384. package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  385. package/src/assets/ethereum/mainnet/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
  386. package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  387. package/src/assets/ethereum/mainnet/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
  388. package/src/assets/ethereum/mainnet/outpost/v1/BAR.sol/BAR.dbg.json +4 -0
  389. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/BAR.sol/BAR.json +34 -19
  390. package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.dbg.json +4 -0
  391. package/src/assets/ethereum/mainnet/outpost/v1/Depositor.sol/Depositor.json +1653 -0
  392. package/src/assets/ethereum/mainnet/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  393. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/OutpostManager.sol/OutpostManager.json +3 -3
  394. package/src/assets/ethereum/mainnet/outpost/v1/Pool.sol/Pool.dbg.json +4 -0
  395. package/src/assets/ethereum/{ABI/outpost → mainnet/outpost/v1}/Pool.sol/Pool.json +34 -19
  396. package/src/assets/ethereum/mainnet/outpost/v1/Pretoken.sol/Pretoken.dbg.json +4 -0
  397. package/src/assets/ethereum/mainnet/outpost/v1/Pretoken.sol/Pretoken.json +1665 -0
  398. package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  399. package/src/assets/ethereum/mainnet/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  400. package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  401. package/src/assets/ethereum/mainnet/token/ERC20Token.sol/ERC20Token.json +330 -0
  402. package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  403. package/src/assets/ethereum/mainnet/token/ERC721Token.sol/ERC721Token.json +449 -0
  404. package/src/assets/solana/devnet/idl/liqsol_core.json +8566 -0
  405. package/src/assets/solana/{idl → devnet/idl}/liqsol_token.json +35 -1
  406. package/src/assets/solana/devnet/idl/transfer_hook.json +490 -0
  407. package/src/assets/solana/devnet/idl/validator_leaderboard.json +735 -0
  408. package/src/assets/solana/devnet/types/liqsol_core.ts +8572 -0
  409. package/src/assets/solana/{types → devnet/types}/liqsol_token.ts +35 -1
  410. package/src/assets/solana/devnet/types/transfer_hook.ts +496 -0
  411. package/src/assets/solana/devnet/types/validator_leaderboard.ts +741 -0
  412. package/src/assets/solana/{idl → mainnet/idl}/liqsol_core.json +3816 -1567
  413. package/src/assets/solana/mainnet/idl/liqsol_token.json +217 -0
  414. package/src/assets/solana/mainnet/idl/transfer_hook.json +479 -0
  415. package/src/assets/solana/{idl → mainnet/idl}/validator_leaderboard.json +4 -4
  416. package/src/assets/solana/{types → mainnet/types}/liqsol_core.ts +3816 -1567
  417. package/src/assets/solana/mainnet/types/liqsol_token.ts +223 -0
  418. package/src/assets/solana/mainnet/types/transfer_hook.ts +485 -0
  419. package/src/assets/solana/{types → mainnet/types}/validator_leaderboard.ts +4 -4
  420. package/src/assets/solana/realdevnet/idl/liqsol_core.json +7112 -0
  421. package/src/assets/solana/realdevnet/idl/liqsol_token.json +217 -0
  422. package/src/assets/solana/realdevnet/idl/transfer_hook.json +479 -0
  423. package/src/assets/solana/realdevnet/idl/validator_leaderboard.json +735 -0
  424. package/src/assets/solana/realdevnet/types/liqsol_core.ts +7118 -0
  425. package/src/assets/solana/realdevnet/types/liqsol_token.ts +223 -0
  426. package/src/assets/solana/realdevnet/types/transfer_hook.ts +485 -0
  427. package/src/assets/solana/realdevnet/types/validator_leaderboard.ts +741 -0
  428. package/src/index.ts +2 -2
  429. package/src/networks/ethereum/clients/convert.client.ts +221 -0
  430. package/src/networks/ethereum/clients/opp.client.ts +389 -0
  431. package/src/networks/ethereum/clients/pretoken.client.ts +165 -0
  432. package/src/networks/ethereum/clients/receipt.client.ts +199 -0
  433. package/src/networks/ethereum/clients/stake.client.ts +110 -122
  434. package/src/networks/ethereum/clients/validator.client.ts +61 -0
  435. package/src/networks/ethereum/contract.ts +424 -165
  436. package/src/networks/ethereum/ethereum.ts +505 -172
  437. package/src/networks/ethereum/types.ts +71 -30
  438. package/src/networks/ethereum/utils.ts +340 -0
  439. package/src/networks/solana/clients/convert.client.ts +341 -0
  440. package/src/networks/solana/clients/distribution.client.ts +269 -263
  441. package/src/networks/solana/clients/leaderboard.client.ts +68 -26
  442. package/src/networks/solana/clients/outpost.client.ts +224 -357
  443. package/src/networks/solana/clients/token.client.ts +96 -107
  444. package/src/networks/solana/constants.ts +88 -216
  445. package/src/networks/solana/program.ts +432 -28
  446. package/src/networks/solana/solana.ts +1070 -399
  447. package/src/networks/solana/types.ts +688 -75
  448. package/src/networks/solana/utils.ts +160 -359
  449. package/src/staker.ts +25 -4
  450. package/src/types.ts +261 -40
  451. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +0 -4
  452. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.json +0 -1114
  453. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +0 -4
  454. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +0 -4
  455. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +0 -4
  456. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +0 -4
  457. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +0 -4
  458. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.json +0 -118
  459. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +0 -4
  460. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +0 -4
  461. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +0 -4
  462. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.dbg.json +0 -4
  463. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.dbg.json +0 -4
  464. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.dbg.json +0 -4
  465. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.json +0 -10
  466. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.dbg.json +0 -4
  467. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.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 -225
  470. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.dbg.json +0 -4
  471. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.json +0 -10
  472. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.dbg.json +0 -4
  473. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.json +0 -10
  474. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +0 -4
  475. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.json +0 -813
  476. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +0 -4
  477. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.json +0 -573
  478. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +0 -4
  479. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.json +0 -1087
  480. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +0 -4
  481. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.json +0 -1183
  482. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +0 -4
  483. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +0 -927
  484. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +0 -4
  485. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +0 -4
  486. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.json +0 -447
  487. package/src/assets/ethereum/ABI/outpost/BAR.sol/BAR.dbg.json +0 -4
  488. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.dbg.json +0 -4
  489. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.json +0 -1753
  490. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +0 -4
  491. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +0 -4
  492. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.dbg.json +0 -4
  493. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.json +0 -930
  494. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPP.dbg.json +0 -4
  495. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +0 -4
  496. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPInbound.dbg.json +0 -4
  497. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +0 -4
  498. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/IOPPSender.dbg.json +0 -4
  499. package/src/assets/ethereum/ABI/outpost/OPPCommon.sol/OPPCommon.dbg.json +0 -4
  500. package/src/assets/ethereum/ABI/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +0 -4
  501. package/src/assets/ethereum/ABI/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +0 -4
  502. package/src/assets/ethereum/ABI/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +0 -4
  503. package/src/assets/ethereum/ABI/outpost/OPPErrors.sol/OPPErrors.dbg.json +0 -4
  504. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.dbg.json +0 -4
  505. package/src/assets/ethereum/ABI/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +0 -4
  506. package/src/assets/ethereum/ABI/outpost/OPPSender.sol/OPPSender.dbg.json +0 -4
  507. package/src/assets/ethereum/ABI/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +0 -4
  508. package/src/assets/ethereum/ABI/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +0 -4
  509. package/src/assets/ethereum/ABI/outpost/OutpostManager.sol/OutpostManager.dbg.json +0 -4
  510. package/src/assets/ethereum/ABI/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +0 -4
  511. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +0 -4
  512. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +0 -4
  513. package/src/assets/ethereum/ABI/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +0 -4
  514. package/src/assets/ethereum/ABI/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +0 -4
  515. package/src/assets/ethereum/ABI/outpost/Pool.sol/Pool.dbg.json +0 -4
  516. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +0 -4
  517. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.json +0 -2020
  518. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.dbg.json +0 -4
  519. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.json +0 -1650
  520. package/src/assets/ethereum/ABI/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +0 -4
  521. package/src/assets/ethereum/ABI/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +0 -4
  522. package/src/assets/ethereum/ABI/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +0 -4
  523. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.dbg.json +0 -4
  524. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.json +0 -472
  525. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.dbg.json +0 -4
  526. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.json +0 -330
  527. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.dbg.json +0 -4
  528. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.json +0 -449
  529. package/src/networks/ethereum/clients/deposit.client.ts +0 -82
  530. package/src/networks/solana/clients/deposit.client.ts +0 -127
  531. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IDepositContract.json +0 -0
  532. /package/src/assets/ethereum/{ABI → hoodi}/liqEth/LiqEthCommon.sol/IDepositManager.json +0 -0
  533. /package/src/assets/ethereum/{ABI → hoodi}/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +0 -0
  534. /package/src/assets/ethereum/{ABI → hoodi}/outpost/OPPCommon.sol/IOPPEndpoint.json +0 -0
  535. /package/src/assets/ethereum/{ABI → hoodi}/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +0 -0
  536. /package/src/assets/ethereum/{ABI → hoodi}/outpost/interfaces/IWarrant.sol/IWarrant.json +0 -0
  537. /package/src/assets/ethereum/{ABI → hoodi}/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +0 -0
  538. /package/src/assets/ethereum/{ABI → hoodi}/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +0 -0
  539. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPP.json +0 -0
  540. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPInbound.json +0 -0
  541. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPReceiver.json +0 -0
  542. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/IOPPSender.json +0 -0
  543. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPCommon.sol/OPPCommon.json +0 -0
  544. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpoint.sol/OPPEndpoint.json +0 -0
  545. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +0 -0
  546. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +0 -0
  547. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPErrors.sol/OPPErrors.json +0 -0
  548. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPReceiver.sol/OPPReceiver.json +0 -0
  549. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OPPSender.sol/OPPSender.json +0 -0
  550. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManaged.sol/OutpostManaged.json +0 -0
  551. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +0 -0
  552. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerCommon.sol/IOutpostManager.json +0 -0
  553. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +0 -0
  554. /package/src/assets/ethereum/{ABI → mainnet}/outpost/OutpostOwnable.sol/OutpostOwnable.json +0 -0
@@ -1,352 +1,358 @@
1
- import { AnchorProvider, Program } from '@coral-xyz/anchor';
2
- import {
3
- ParsedAccountData,
4
- PublicKey,
5
- SYSVAR_INSTRUCTIONS_PUBKEY,
6
- Transaction,
7
- SystemProgram,
8
- } from '@solana/web3.js';
9
- import {
10
- TOKEN_2022_PROGRAM_ID,
11
- getAssociatedTokenAddress,
12
- } from '@solana/spl-token';
13
-
14
- import { SolanaProgramService } from '../program';
15
- import type { LiqsolCore } from '../../../assets/solana/types/liqsol_core';
16
- import {
17
- deriveBucketAuthorityPda,
18
- deriveDistributionStatePda,
19
- deriveLiqsolMintPda,
20
- derivePayRateHistoryPda,
21
- deriveUserRecordPda,
22
- } from '../constants';
23
- import type { CorrectRegisterBuildResult, DistributionState, MismatchCandidate, ParsedAccountInfo, UserRecord } from '../types';
1
+ import { AnchorProvider, Program, BN } from '@coral-xyz/anchor';
2
+ import { PublicKey, SystemProgram, TransactionInstruction } from '@solana/web3.js';
3
+
4
+ import { LiqsolCoreClientIdl, SolanaProgramService } from '../program';
5
+ import type { DistributionState, DistributionUserRecord, GlobalConfig, PayRateEntry, PayRateHistory } from '../types';
6
+ import { getAssociatedTokenAddressSync, TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
7
+ import { ceilDiv } from '../utils';
8
+
9
+ const INDEX_SCALE_BN = new BN('1000000000000');
24
10
 
25
11
  /**
26
12
  * Distribution client – wraps the distribution portion of the liqsol_core
27
- * program. Responsible for:
28
- * - Reading DistributionState + UserRecord
29
- * - Computing mismatch candidates (tracked > actual)
30
- * - Building a "correct then register" transaction for the caller
13
+ * program in the *new* shares-only model.
14
+ *
15
+ * Responsibilities:
16
+ * - Read DistributionState (global index/share pool)
17
+ * - Read per-user UserRecord (shares)
18
+ * - Provide simple helpers for querying user share positions
31
19
  *
32
- * Aligned with the on-chain `update_user` script:
33
- * - Single `updateUser()` entrypoint that:
34
- * * Can create userRecord if missing
35
- * * Reconciles tracked vs actual using user, userAta, bucket, pay-rate
20
+ * There is no longer any notion of:
21
+ * - tracked vs actual balances
22
+ * - mismatch candidates
23
+ * - updateUser / correct-&-register flow
24
+ *
25
+ * On-chain truth:
26
+ * - User balances live in their liqSOL ATA.
27
+ * - DistributionState + UserRecord track *shares* for yield.
36
28
  */
37
29
  export class DistributionClient {
38
- private program: Program<LiqsolCore>;
30
+ private program: Program<LiqsolCoreClientIdl>;
39
31
 
40
- constructor(private provider: AnchorProvider) {
41
- const svc = new SolanaProgramService(provider);
42
- this.program = svc.getProgram('liqsolCore');
32
+ constructor(
33
+ private readonly provider: AnchorProvider,
34
+ private readonly pgs: SolanaProgramService
35
+ ) {
36
+ this.program = pgs.getProgram('liqsolCore');
43
37
  }
44
38
 
45
- get connection() { return this.provider.connection; }
39
+ get connection() {
40
+ return this.provider.connection;
41
+ }
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
+ }
46
51
 
47
52
  /**
48
53
  * Fetch the global distribution state account.
54
+ *
55
+ * IDL account name: "distributionState"
49
56
  */
50
57
  async getDistributionState(): Promise<DistributionState | null> {
51
- const pda = deriveDistributionStatePda();
58
+ const pda = this.pgs.deriveDistributionStatePda();
52
59
  try {
53
- // IDL account name: "distributionState"
54
60
  return await this.program.account.distributionState.fetch(pda);
55
61
  } catch {
56
62
  return null;
57
63
  }
58
64
  }
59
65
 
66
+
60
67
  /**
61
- * Fetch a user's distribution userRecord (or null if missing).
68
+ * Fetch the global payRateHistory account (circular buffer of scaled pay rates).
69
+ *
70
+ * IDL account name: "payRateHistory"
62
71
  */
63
- async getUserRecord(user: PublicKey): Promise<UserRecord | null> {
64
- const pda = deriveUserRecordPda(user);
72
+ async getPayRateHistory(): Promise<PayRateHistory | null> {
73
+ const pda = this.pgs.derivePayRateHistoryPda();
65
74
  try {
66
- return await this.program.account.userRecord.fetchNullable(pda);
75
+ // Anchor types map directly onto our PayRateHistory TS type
76
+ return (await this.program.account.payRateHistory.fetch(
77
+ pda,
78
+ )) as PayRateHistory;
67
79
  } catch {
68
80
  return null;
69
81
  }
70
82
  }
71
83
 
72
84
  /**
73
- * Helper: get actual liqSOL balances for all token holders.
85
+ * Fetch the globalConfig account (contains depositFeeMultiplier, etc).
74
86
  *
75
- * Returns a map: owner (base58) -> actual balance (BigInt)
87
+ * IDL account name: "globalConfig"
76
88
  */
77
- private async getActualBalancesByOwner(): Promise<Map<string, bigint>> {
78
- const liqsolMint = deriveLiqsolMintPda();
79
- const mintStr = liqsolMint.toBase58();
80
-
81
- const accounts = await this.connection.getParsedProgramAccounts(
82
- TOKEN_2022_PROGRAM_ID,
83
- {
84
- filters: [
85
- // SPL token layout: mint at offset 0
86
- { memcmp: { offset: 0, bytes: mintStr } },
87
- ],
88
- commitment: 'confirmed',
89
- },
90
- );
91
-
92
- const byOwner = new Map<string, bigint>();
93
-
94
- for (const acct of accounts) {
95
- const data = acct.account.data as ParsedAccountData;
96
- const parsed = data.parsed;
97
- if (!parsed || parsed.type !== 'account') continue;
89
+ async getGlobalConfig(): Promise<GlobalConfig | null> {
90
+ const pda = this.pgs.deriveGlobalConfigPda();
91
+ try {
92
+ return (await this.program.account.globalConfig.fetch(
93
+ pda,
94
+ )) as GlobalConfig;
95
+ } catch {
96
+ return null;
97
+ }
98
+ }
99
+ /**
100
+ * Fetch a user's distribution userRecord (or null if missing).
101
+ *
102
+ * IDL account name: "userRecord"
103
+ */
104
+ async getUserRecord(
105
+ ownerOrAta: PublicKey,
106
+ ): Promise<DistributionUserRecord | null> {
107
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
98
108
 
99
- const info: ParsedAccountInfo = parsed.info;
100
- const ownerStr = info.owner;
101
- const amountStr = info.tokenAmount.amount;
102
- const amount = BigInt(amountStr);
109
+ // 1) Try treating ownerOrAta as a WALLET: derive its liqSOL ATA, then userRecord.
110
+ try {
111
+ const ata = getAssociatedTokenAddressSync(
112
+ liqsolMint,
113
+ ownerOrAta,
114
+ true,
115
+ TOKEN_2022_PROGRAM_ID,
116
+ );
117
+ const pdaFromWallet = this.pgs.deriveUserRecordPda(ata);
118
+ const recFromWallet =
119
+ await this.program.account.userRecord.fetchNullable(pdaFromWallet);
120
+ if (recFromWallet) {
121
+ return recFromWallet;
122
+ }
123
+ } catch {
124
+ // fall through
125
+ }
103
126
 
104
- const prev = byOwner.get(ownerStr) ?? BigInt(0);
105
- byOwner.set(ownerStr, prev + amount);
127
+ // 2) Fallback: treat ownerOrAta as already being the TOKEN ACCOUNT.
128
+ try {
129
+ const pdaFromAta = this.pgs.deriveUserRecordPda(ownerOrAta);
130
+ return await this.program.account.userRecord.fetchNullable(pdaFromAta);
131
+ } catch {
132
+ return null;
106
133
  }
134
+ }
107
135
 
108
- return byOwner;
136
+ /**
137
+ * Convenience: get the user's current distribution shares.
138
+ *
139
+ * Returns BN(0) if the user has no userRecord yet.
140
+ */
141
+ async getUserShares(user: PublicKey): Promise<BN> {
142
+ const record = await this.getUserRecord(user);
143
+ return record ? record.shares : new BN(0);
109
144
  }
110
145
 
111
146
  /**
112
- * Helper: get tracked balances from all userRecord accounts,
113
- * keyed by *actual wallet owner*, not the userRecord PDA.
147
+ * Convenience: get both the user's shares and totalShares, plus a
148
+ * floating-point ratio (userShares / totalShares).
114
149
  *
115
- * userRecord struct:
116
- * - userAta: pubkey
117
- * - trackedBalance: u64
118
- * - claimBalance: u64
119
- * - lastClaimTimestamp: i64
120
- * - bump: u8
150
+ * NOTE: ratio is a JS number and may lose precision for very large values,
151
+ * but is fine for display / percentage UIs.
121
152
  */
122
- private async getTrackedBalances(): Promise<
123
- Map<string, { owner: PublicKey; tracked: bigint }>
124
- > {
125
- const records = await this.program.account.userRecord.all();
126
- const map = new Map<string, { owner: PublicKey; tracked: bigint }>();
127
-
128
- for (const r of records) {
129
- const ur = r.account as UserRecord;
130
- const userAta = ur.userAta as PublicKey;
131
-
132
- // Resolve the *wallet* that owns this ATA
133
- const ataInfo = await this.connection.getParsedAccountInfo(userAta);
134
- const parsedData = ataInfo.value?.data as ParsedAccountData | undefined;
135
- if (!parsedData) continue;
136
-
137
- const parsed = parsedData.parsed;
138
- if (!parsed || (parsed as any).type !== 'account') continue;
139
-
140
- const info: ParsedAccountInfo = parsed.info;
141
- const ownerStr = info.owner;
142
- const owner = new PublicKey(ownerStr);
143
-
144
- const tracked = BigInt(ur.trackedBalance.toString());
145
- map.set(ownerStr, { owner, tracked });
153
+ async getUserSharePosition(user: PublicKey): Promise<{
154
+ shares: BN;
155
+ totalShares: BN;
156
+ ratio: number;
157
+ }> {
158
+ const [dist, userShares] = await Promise.all([
159
+ this.getDistributionState(),
160
+ this.getUserShares(user),
161
+ ]);
162
+
163
+ const totalShares = dist ? dist.totalShares : new BN(0);
164
+
165
+ let ratio = 0;
166
+ if (!totalShares.isZero()) {
167
+ // use toNumber() for UI-friendly ratio; if you need exact math,
168
+ // do it with BN or bigint at the call site instead.
169
+ ratio = userShares.toNumber() / totalShares.toNumber();
146
170
  }
147
171
 
148
- return map;
172
+ return { shares: userShares, totalShares, ratio };
149
173
  }
150
174
 
151
175
  /**
152
- * Discover all mismatch candidates where tracked > actual.
176
+ * Compute claimable liqSOL for a wallet:
177
+ * claimable = max(0, entitled - actual)
178
+ * entitled = floor(shares * syncedIndex / 1e12)
153
179
  *
154
- * - actual balances are derived from token accounts for the liqSOL mint
155
- * - tracked balances come from Distribution.userRecord
180
+ * `syncedIndex` mirrors on-chain `sync_index` behavior by incorporating any
181
+ * unsynced bucket delta (bucket_balance - last_bucket_balance).
156
182
  */
157
- private async deriveMismatchCandidates(): Promise<MismatchCandidate[]> {
158
- const [actualByOwner, trackedByOwner] = await Promise.all([
159
- this.getActualBalancesByOwner(),
160
- this.getTrackedBalances(),
183
+ async getClaimableLiqsol(user: PublicKey): Promise<BN> {
184
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
185
+ const bucketAuthority = this.pgs.deriveBucketAuthorityPda();
186
+
187
+ const userAta = getAssociatedTokenAddressSync(
188
+ liqsolMint,
189
+ user,
190
+ true,
191
+ TOKEN_2022_PROGRAM_ID,
192
+ );
193
+ const bucketTokenAccount = getAssociatedTokenAddressSync(
194
+ liqsolMint,
195
+ bucketAuthority,
196
+ true,
197
+ TOKEN_2022_PROGRAM_ID,
198
+ );
199
+
200
+ const [distributionState, userRecord, actualBalance, bucketBalance] = await Promise.all([
201
+ this.getDistributionState(),
202
+ this.getUserRecord(user),
203
+ this.getTokenBalance(userAta),
204
+ this.getTokenBalance(bucketTokenAccount),
161
205
  ]);
162
206
 
163
- const out: MismatchCandidate[] = [];
207
+ if (!distributionState || !userRecord) {
208
+ return new BN(0);
209
+ }
210
+
211
+ let syncedIndex = new BN(distributionState.currentIndex.toString());
212
+ const totalShares = new BN(distributionState.totalShares.toString());
213
+ const lastBucketBalance = new BN(distributionState.lastBucketBalance.toString());
164
214
 
165
- for (const [ownerStr, { owner, tracked }] of trackedByOwner.entries()) {
166
- const actual = actualByOwner.get(ownerStr) ?? BigInt(0);
167
- const delta = tracked - actual;
168
- if (delta > BigInt(0)) {
169
- out.push({ owner, actual, tracked, delta });
215
+ if (totalShares.gt(new BN(0)) && bucketBalance.gt(lastBucketBalance)) {
216
+ const delta = bucketBalance.sub(lastBucketBalance);
217
+ const indexDelta = delta.mul(INDEX_SCALE_BN).div(totalShares);
218
+ if (indexDelta.gt(new BN(0))) {
219
+ syncedIndex = syncedIndex.add(indexDelta);
170
220
  }
171
221
  }
172
222
 
173
- // Largest discrepancy first
174
- out.sort((a, b) => (b.delta > a.delta ? 1 : b.delta < a.delta ? -1 : 0));
175
- return out;
223
+ const shares = new BN(userRecord.shares.toString());
224
+ const entitled = shares.mul(syncedIndex).div(INDEX_SCALE_BN);
225
+
226
+ if (entitled.lte(actualBalance)) {
227
+ return new BN(0);
228
+ }
229
+ return entitled.sub(actualBalance);
176
230
  }
177
231
 
178
232
  /**
179
- * Canonical helper to build an `updateUser` instruction for a given user,
180
- * matching the standalone update-user.ts script.
233
+ * Build claim_rewards instruction for a wallet.
181
234
  */
182
- private async buildUpdateUserIx(targetUser: PublicKey) {
183
- const walletPk = this.provider.wallet.publicKey;
184
-
185
- const distributionStatePDA = deriveDistributionStatePda();
186
- const userRecordPDA = deriveUserRecordPda(targetUser);
187
- const liqsolMintPDA = deriveLiqsolMintPda();
188
- const payRateHistoryPDA = derivePayRateHistoryPda();
189
- const bucketAuthorityPDA = deriveBucketAuthorityPda();
190
-
191
- const userAta = await getAssociatedTokenAddress(
192
- liqsolMintPDA,
193
- targetUser,
194
- false,
235
+ async buildClaimRewardsIx(user: PublicKey): Promise<TransactionInstruction> {
236
+ const liqsolMint = this.pgs.deriveLiqsolMintPda();
237
+ const distributionState = this.pgs.deriveDistributionStatePda();
238
+ const bucketAuthority = this.pgs.deriveBucketAuthorityPda();
239
+
240
+ const userAta = getAssociatedTokenAddressSync(
241
+ liqsolMint,
242
+ user,
243
+ true,
195
244
  TOKEN_2022_PROGRAM_ID,
196
245
  );
197
-
198
- const bucketTokenAccount = await getAssociatedTokenAddress(
199
- liqsolMintPDA,
200
- bucketAuthorityPDA,
201
- true, // allowOwnerOffCurve
246
+ const bucketTokenAccount = getAssociatedTokenAddressSync(
247
+ liqsolMint,
248
+ bucketAuthority,
249
+ true,
202
250
  TOKEN_2022_PROGRAM_ID,
203
251
  );
204
252
 
205
- return (this.program.methods as any)
206
- .updateUser()
253
+ const userRecord = this.pgs.deriveUserRecordPda(userAta);
254
+ const bucketUserRecord = this.pgs.deriveUserRecordPda(bucketTokenAccount);
255
+ const extraAccountMetaList = this.pgs.deriveExtraAccountMetaListPda(liqsolMint);
256
+
257
+ return this.program.methods
258
+ .claimRewards()
207
259
  .accounts({
208
- user: targetUser,
260
+ user,
209
261
  userAta,
210
- userRecord: userRecordPDA,
211
- authority: walletPk,
212
- payer: walletPk,
213
- distributionState: distributionStatePDA,
214
- liqsolMint: liqsolMintPDA,
215
- instructionsSysvar: SYSVAR_INSTRUCTIONS_PUBKEY,
216
- tokenProgram: TOKEN_2022_PROGRAM_ID,
217
- bucketAuthority: bucketAuthorityPDA,
262
+ userRecord,
263
+ bucketUserRecord,
264
+ distributionState,
265
+ extraAccountMetaList,
266
+ liqsolCoreProgram: this.pgs.PROGRAM_IDS.LIQSOL_CORE,
267
+ transferHookProgram: this.pgs.PROGRAM_IDS.TRANSFER_HOOK,
268
+ liqsolMint,
269
+ bucketAuthority,
218
270
  bucketTokenAccount,
219
- payRateHistory: payRateHistoryPDA,
220
- systemProgram: SystemProgram.programId,
271
+ tokenProgram: TOKEN_2022_PROGRAM_ID,
272
+ systemProgram: SystemProgram.programId
221
273
  })
222
274
  .instruction();
223
275
  }
224
276
 
225
277
  /**
226
- * Build the "correct & register" transaction.
278
+ * Compute an average scaled pay rate over the most recent `windowSize`
279
+ * valid entries in the pay-rate history circular buffer.
227
280
  *
228
- * - Fetches DistributionState + all userRecords + token holders
229
- * - Computes caller's untracked amount (actual - tracked)
230
- * - If DistributionState.availableBalance already covers that, we only
231
- * send updateUser(caller).
232
- * - Otherwise we select top mismatch candidates until their freed deltas
233
- * cover the shortfall, then build updateUser(target) for each,
234
- * followed by updateUser(caller).
235
- *
236
- * NOTE:
237
- * - This no longer uses a separate updateSpecificUser; the single
238
- * updateUser entrypoint accepts any `user` as long as authority/payer
239
- * are valid, per your script.
281
+ * Returns a BN scaled by 1e12 (same as on-chain).
240
282
  */
241
- async buildCorrectRegisterTx(opts: {
242
- amount?: bigint;
243
- maxCandidates?: number;
244
- } = {}): Promise<CorrectRegisterBuildResult> {
245
- const walletPk = this.provider.wallet.publicKey;
246
- const callerStr = walletPk.toBase58();
247
-
248
- const [distState, actualByOwner, trackedByOwner] = await Promise.all([
249
- this.getDistributionState(),
250
- this.getActualBalancesByOwner(),
251
- this.getTrackedBalances(),
252
- ]);
253
-
254
- if (!distState) {
255
- return {
256
- needToRegister: false,
257
- canSucceed: false,
258
- reason: 'DistributionState not initialized',
259
- transaction: undefined,
260
- plan: { deficit: BigInt(0), willFree: BigInt(0), selected: [] },
261
- };
262
- }
263
-
264
- const availableBalance = BigInt(distState.availableBalance.toString());
265
-
266
- const trackedEntry =
267
- trackedByOwner.get(callerStr) ?? {
268
- owner: walletPk,
269
- tracked: BigInt(0),
270
- };
271
-
272
- const actual = actualByOwner.get(callerStr) ?? BigInt(0);
273
- const tracked = trackedEntry.tracked;
274
- const untracked = actual - tracked;
275
-
276
- // Nothing to register
277
- if (untracked <= BigInt(0)) {
278
- return {
279
- needToRegister: false,
280
- canSucceed: true,
281
- reason: 'No untracked liqSOL to register',
282
- transaction: undefined,
283
- plan: { deficit: BigInt(0), willFree: BigInt(0), selected: [] },
284
- };
283
+ async getAverageScaledPayRate(windowSize = 5): Promise<BN> {
284
+ const history = await this.getPayRateHistory();
285
+ if (!history) {
286
+ return new BN(0);
285
287
  }
286
288
 
287
- // Optional user-specified cap on how much to register.
288
- const targetRegister =
289
- opts.amount && opts.amount > BigInt(0) ? opts.amount : untracked;
290
-
291
- // Simple case: availableBalance already covers what we want to register
292
- if (availableBalance >= targetRegister) {
293
- const tx = new Transaction();
294
- const ix = await this.buildUpdateUserIx(walletPk); // caller only
295
- tx.add(ix);
296
-
297
- return {
298
- needToRegister: true,
299
- canSucceed: true,
300
- transaction: tx,
301
- plan: { deficit: BigInt(0), willFree: BigInt(0), selected: [] },
302
- };
289
+ const entries: PayRateEntry[] = history.entries ?? [];
290
+ if (!entries.length) {
291
+ return new BN(0);
303
292
  }
304
293
 
305
- // Need to free up more availableBalance by correcting others.
306
- const deficit = targetRegister - availableBalance;
294
+ const maxEntries: number =
295
+ typeof history.maxEntries === 'number'
296
+ ? history.maxEntries
297
+ : entries.length;
307
298
 
308
- const allCandidates = await this.deriveMismatchCandidates();
309
- const maxCandidates = opts.maxCandidates ?? 10;
299
+ const rawTotalAdded: any = history.totalEntriesAdded ?? 0;
300
+ const totalAddedBn = new BN(rawTotalAdded.toString());
310
301
 
311
- const selected: MismatchCandidate[] = [];
312
- let willFree = BigInt(0);
313
-
314
- for (const c of allCandidates) {
315
- if (c.owner.equals(walletPk)) continue; // don't self-correct here
316
- selected.push(c);
317
- willFree += c.delta;
318
- if (willFree >= deficit || selected.length >= maxCandidates) break;
302
+ // No valid entries written yet
303
+ if (totalAddedBn.isZero()) {
304
+ return new BN(0);
319
305
  }
320
306
 
321
- if (willFree < deficit) {
322
- return {
323
- needToRegister: true,
324
- canSucceed: false,
325
- reason: 'Not enough mismatched candidates to cover deficit',
326
- transaction: undefined,
327
- plan: { deficit, willFree, selected },
328
- };
307
+ const totalAdded = Math.min(
308
+ totalAddedBn.toNumber(),
309
+ maxEntries,
310
+ entries.length,
311
+ );
312
+
313
+ if (!totalAdded) {
314
+ return new BN(0);
329
315
  }
330
316
 
331
- const tx = new Transaction();
317
+ const COUNT = Math.max(1, Math.min(windowSize, totalAdded));
318
+
319
+ const currentIndexNum = Number(history.currentIndex ?? 0);
320
+
321
+ // Most recently written entry is at currentIndex - 1 (mod maxEntries)
322
+ let idx =
323
+ currentIndexNum === 0
324
+ ? maxEntries - 1
325
+ : currentIndexNum - 1;
326
+
327
+ let sum = new BN(0);
328
+ let valid = 0;
329
+ const zero = new BN(0);
330
+
331
+ for (let i = 0; i < COUNT; i++) {
332
+ const entry: any = entries[idx];
333
+ if (entry) {
334
+ // Support both camelCase and snake_case (for safety)
335
+ const rawScaled =
336
+ entry.scaledRate ??
337
+ entry.scaled_rate ??
338
+ 0;
339
+
340
+ const rate = new BN(rawScaled.toString());
341
+ if (rate.gt(zero)) {
342
+ sum = sum.add(rate);
343
+ valid += 1;
344
+ }
345
+ }
332
346
 
333
- // 1) Correct selected mismatched users.
334
- for (const c of selected) {
335
- const ix = await this.buildUpdateUserIx(c.owner);
336
- tx.add(ix);
347
+ // Walk backwards through the circular buffer
348
+ idx = idx === 0 ? maxEntries - 1 : idx - 1;
337
349
  }
338
350
 
339
- // 2) Register caller (updateUser(caller)).
340
- {
341
- const ix = await this.buildUpdateUserIx(walletPk);
342
- tx.add(ix);
351
+ if (!valid) {
352
+ return new BN(0);
343
353
  }
344
354
 
345
- return {
346
- needToRegister: true,
347
- canSucceed: true,
348
- transaction: tx,
349
- plan: { deficit, willFree, selected },
350
- };
355
+ // Same behavior as the dashboard: use a ceiling-like average
356
+ return ceilDiv(sum, new BN(valid));
351
357
  }
352
- }
358
+ }