@lombard.finance/sdk 4.5.1 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/api.cjs +1 -1
  3. package/dist/api.js +2 -2
  4. package/dist/btc.cjs +1 -1
  5. package/dist/btc.js +2 -2
  6. package/dist/chunks/{BtcActions-B-ttz47_.cjs → BtcActions-Bic_HKkw.cjs} +2 -2
  7. package/dist/chunks/{BtcActions-B-ttz47_.cjs.map → BtcActions-Bic_HKkw.cjs.map} +1 -1
  8. package/dist/chunks/{BtcActions-HGHFC106.js → BtcActions-CI5XotUx.js} +4 -4
  9. package/dist/chunks/{BtcActions-HGHFC106.js.map → BtcActions-CI5XotUx.js.map} +1 -1
  10. package/dist/chunks/{EvmActions-TNM8i9Xg.js → EvmActions-C7EKF3jb.js} +6 -6
  11. package/dist/chunks/{EvmActions-TNM8i9Xg.js.map → EvmActions-C7EKF3jb.js.map} +1 -1
  12. package/dist/chunks/{EvmActions-BGxXtQFZ.cjs → EvmActions-D_sFfTAK.cjs} +2 -2
  13. package/dist/chunks/{EvmActions-BGxXtQFZ.cjs.map → EvmActions-D_sFfTAK.cjs.map} +1 -1
  14. package/dist/chunks/{ReferralsClient-DvEsA3II.js → ReferralsClient-AxhLoWRT.js} +2 -2
  15. package/dist/chunks/{ReferralsClient-DvEsA3II.js.map → ReferralsClient-AxhLoWRT.js.map} +1 -1
  16. package/dist/chunks/{ReferralsClient-Cmrjo9bN.cjs → ReferralsClient-bZo9Jpg6.cjs} +2 -2
  17. package/dist/chunks/{ReferralsClient-Cmrjo9bN.cjs.map → ReferralsClient-bZo9Jpg6.cjs.map} +1 -1
  18. package/dist/chunks/config-CSo0k7gN.cjs +2 -0
  19. package/dist/chunks/config-CSo0k7gN.cjs.map +1 -0
  20. package/dist/chunks/config-JT3GvwPB.js +392 -0
  21. package/dist/chunks/config-JT3GvwPB.js.map +1 -0
  22. package/dist/chunks/{defi-registry-DDNavtO1.cjs → defi-registry-hHpGoh1m.cjs} +2 -2
  23. package/dist/chunks/{defi-registry-DDNavtO1.cjs.map → defi-registry-hHpGoh1m.cjs.map} +1 -1
  24. package/dist/chunks/{defi-registry-DxjjBQTV.js → defi-registry-ig-wro_O.js} +2 -2
  25. package/dist/chunks/{defi-registry-DxjjBQTV.js.map → defi-registry-ig-wro_O.js.map} +1 -1
  26. package/dist/chunks/{depositStatus-DTc01ZoZ.js → depositStatus-BrrE4n4B.js} +2 -2
  27. package/dist/chunks/{depositStatus-DTc01ZoZ.js.map → depositStatus-BrrE4n4B.js.map} +1 -1
  28. package/dist/chunks/{depositStatus-CFo5jW89.cjs → depositStatus-D5t8HN_A.cjs} +2 -2
  29. package/dist/chunks/{depositStatus-CFo5jW89.cjs.map → depositStatus-D5t8HN_A.cjs.map} +1 -1
  30. package/dist/chunks/{events-DvTn2yHn.cjs → events-BfRsYM_-.cjs} +2 -2
  31. package/dist/chunks/{events-DvTn2yHn.cjs.map → events-BfRsYM_-.cjs.map} +1 -1
  32. package/dist/chunks/{events-83d3qdxG.js → events-LMs7IA1e.js} +8 -8
  33. package/dist/chunks/{events-83d3qdxG.js.map → events-LMs7IA1e.js.map} +1 -1
  34. package/dist/chunks/{get-vault-tvl-Ct_Zkg7C.js → get-vault-tvl-C3Yr4MI4.js} +2 -2
  35. package/dist/chunks/{get-vault-tvl-Ct_Zkg7C.js.map → get-vault-tvl-C3Yr4MI4.js.map} +1 -1
  36. package/dist/chunks/{get-vault-tvl-D_tQIDAs.cjs → get-vault-tvl-CRbxkHmr.cjs} +2 -2
  37. package/dist/chunks/{get-vault-tvl-D_tQIDAs.cjs.map → get-vault-tvl-CRbxkHmr.cjs.map} +1 -1
  38. package/dist/chunks/{get-vault-withdrawals-jk7Sv4S4.js → get-vault-withdrawals-CQwNiILS.js} +2 -2
  39. package/dist/chunks/{get-vault-withdrawals-jk7Sv4S4.js.map → get-vault-withdrawals-CQwNiILS.js.map} +1 -1
  40. package/dist/chunks/{get-vault-withdrawals-8ALlEiAC.cjs → get-vault-withdrawals-QqvpZnxA.cjs} +2 -2
  41. package/dist/chunks/{get-vault-withdrawals-8ALlEiAC.cjs.map → get-vault-withdrawals-QqvpZnxA.cjs.map} +1 -1
  42. package/dist/chunks/{statusConstants-qfM-LJfE.js → statusConstants-BU4PglPs.js} +3 -3
  43. package/dist/chunks/{statusConstants-qfM-LJfE.js.map → statusConstants-BU4PglPs.js.map} +1 -1
  44. package/dist/chunks/{statusConstants-8ra-0ydr.cjs → statusConstants-CCKi5qUm.cjs} +2 -2
  45. package/dist/chunks/{statusConstants-8ra-0ydr.cjs.map → statusConstants-CCKi5qUm.cjs.map} +1 -1
  46. package/dist/chunks/{unstakeLBTC-CmoCaGX9.cjs → unstakeLBTC-3bwLj1qT.cjs} +2 -2
  47. package/dist/chunks/{unstakeLBTC-CmoCaGX9.cjs.map → unstakeLBTC-3bwLj1qT.cjs.map} +1 -1
  48. package/dist/chunks/{unstakeLBTC-DtvVbpbU.js → unstakeLBTC-BrVLnaac.js} +2 -2
  49. package/dist/chunks/{unstakeLBTC-DtvVbpbU.js.map → unstakeLBTC-BrVLnaac.js.map} +1 -1
  50. package/dist/chunks/{withdraw-i0AueZ_C.cjs → withdraw-BKEovicU.cjs} +2 -2
  51. package/dist/chunks/{withdraw-i0AueZ_C.cjs.map → withdraw-BKEovicU.cjs.map} +1 -1
  52. package/dist/chunks/{withdraw-DgjuaUN3.js → withdraw-rndehhDn.js} +2 -2
  53. package/dist/chunks/{withdraw-DgjuaUN3.js.map → withdraw-rndehhDn.js.map} +1 -1
  54. package/dist/chunks/wrapToBtce-BVu8ALEo.cjs +2 -0
  55. package/dist/chunks/wrapToBtce-BVu8ALEo.cjs.map +1 -0
  56. package/dist/chunks/wrapToBtce-CML1FYEZ.js +298 -0
  57. package/dist/chunks/wrapToBtce-CML1FYEZ.js.map +1 -0
  58. package/dist/contract-functions/getBtceShares/getBtceShares.d.ts +25 -0
  59. package/dist/contract-functions/getBtceShares/getBtceShares.d.ts.map +1 -0
  60. package/dist/contract-functions/getBtceShares/index.d.ts +2 -0
  61. package/dist/contract-functions/getBtceShares/index.d.ts.map +1 -0
  62. package/dist/contract-functions/getEarnPosition/getEarnPosition.d.ts +52 -0
  63. package/dist/contract-functions/getEarnPosition/getEarnPosition.d.ts.map +1 -0
  64. package/dist/contract-functions/getEarnPosition/index.d.ts +2 -0
  65. package/dist/contract-functions/getEarnPosition/index.d.ts.map +1 -0
  66. package/dist/contract-functions/getSharesByAddress/getSharesByAddress.d.ts +5 -1
  67. package/dist/contract-functions/getSharesByAddress/getSharesByAddress.d.ts.map +1 -1
  68. package/dist/contract-functions/index.d.ts +4 -0
  69. package/dist/contract-functions/index.d.ts.map +1 -1
  70. package/dist/contract-functions/unwrapBtceToLbtcv/index.d.ts +2 -0
  71. package/dist/contract-functions/unwrapBtceToLbtcv/index.d.ts.map +1 -0
  72. package/dist/contract-functions/unwrapBtceToLbtcv/unwrapBtceToLbtcv.d.ts +26 -0
  73. package/dist/contract-functions/unwrapBtceToLbtcv/unwrapBtceToLbtcv.d.ts.map +1 -0
  74. package/dist/contract-functions/wrapToBtce/index.d.ts +2 -0
  75. package/dist/contract-functions/wrapToBtce/index.d.ts.map +1 -0
  76. package/dist/contract-functions/wrapToBtce/wrapToBtce.d.ts +30 -0
  77. package/dist/contract-functions/wrapToBtce/wrapToBtce.d.ts.map +1 -0
  78. package/dist/contracts.cjs +1 -1
  79. package/dist/contracts.js +19 -15
  80. package/dist/core.cjs +1 -1
  81. package/dist/core.js +6 -6
  82. package/dist/defi.cjs +1 -1
  83. package/dist/defi.js +2 -2
  84. package/dist/entries/contracts.d.ts +4 -0
  85. package/dist/entries/contracts.d.ts.map +1 -1
  86. package/dist/evm.cjs +1 -1
  87. package/dist/evm.js +3 -3
  88. package/dist/index.cjs +1 -1
  89. package/dist/index.d.ts +5 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +132 -125
  92. package/dist/vaults/index.d.ts +1 -1
  93. package/dist/vaults/index.d.ts.map +1 -1
  94. package/dist/vaults/lib/config.d.ts +23 -0
  95. package/dist/vaults/lib/config.d.ts.map +1 -1
  96. package/dist/vaults.cjs +1 -1
  97. package/dist/vaults.js +5 -5
  98. package/package.json +1 -1
  99. package/dist/chunks/config-DghboRx0.js +0 -374
  100. package/dist/chunks/config-DghboRx0.js.map +0 -1
  101. package/dist/chunks/config-DmCmanM_.cjs +0 -2
  102. package/dist/chunks/config-DmCmanM_.cjs.map +0 -1
  103. package/dist/chunks/getSharesByAddress-D8hehnP1.cjs +0 -2
  104. package/dist/chunks/getSharesByAddress-D8hehnP1.cjs.map +0 -1
  105. package/dist/chunks/getSharesByAddress-_tBaIBsw.js +0 -121
  106. package/dist/chunks/getSharesByAddress-_tBaIBsw.js.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("./token-addresses-nzvTOi24.cjs"),y=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Enter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Exit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"enter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hook","outputs":[{"internalType":"contract BeforeTransferHook","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"data","type":"bytes[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"manage","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"manage","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_hook","type":"address"}],"name":"setBeforeTransferHook","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]'),d=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"payoutAddress","type":"address"},{"internalType":"uint96","name":"startingExchangeRate","type":"uint96"},{"internalType":"address","name":"_base","type":"address"},{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"},{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"},{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"},{"internalType":"uint16","name":"managementFee","type":"uint16"},{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccountantWithRateProviders__ExchangeRateAboveHighwaterMark","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__LowerBoundTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__ManagementFeeTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__OnlyCallableByBoringVault","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__Paused","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__PerformanceFeeTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__UpdateDelayTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__UpperBoundTooSmall","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__ZeroFeesOwed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint24","name":"oldDelay","type":"uint24"},{"indexed":false,"internalType":"uint24","name":"newDelay","type":"uint24"}],"name":"DelayInSecondsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint96","name":"oldRate","type":"uint96"},{"indexed":false,"internalType":"uint96","name":"newRate","type":"uint96"},{"indexed":false,"internalType":"uint64","name":"currentTime","type":"uint64"}],"name":"ExchangeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"feeAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeesClaimed","type":"event"},{"anonymous":false,"inputs":[],"name":"HighwaterMarkReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldBound","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newBound","type":"uint16"}],"name":"LowerBoundUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newFee","type":"uint16"}],"name":"ManagementFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPayout","type":"address"},{"indexed":false,"internalType":"address","name":"newPayout","type":"address"}],"name":"PayoutAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newFee","type":"uint16"}],"name":"PerformanceFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"bool","name":"isPegged","type":"bool"},{"indexed":false,"internalType":"address","name":"rateProvider","type":"address"}],"name":"RateProviderUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldBound","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newBound","type":"uint16"}],"name":"UpperBoundUpdated","type":"event"},{"inputs":[],"name":"accountantState","outputs":[{"internalType":"address","name":"payoutAddress","type":"address"},{"internalType":"uint96","name":"highwaterMark","type":"uint96"},{"internalType":"uint128","name":"feesOwedInBase","type":"uint128"},{"internalType":"uint128","name":"totalSharesLastUpdate","type":"uint128"},{"internalType":"uint96","name":"exchangeRate","type":"uint96"},{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"},{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"},{"internalType":"uint64","name":"lastUpdateTimestamp","type":"uint64"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"},{"internalType":"uint16","name":"managementFee","type":"uint16"},{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"feeAsset","type":"address"}],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRate","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"quote","type":"address"}],"name":"getRateInQuote","outputs":[{"internalType":"uint256","name":"rateInQuote","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"quote","type":"address"}],"name":"getRateInQuoteSafe","outputs":[{"internalType":"uint256","name":"rateInQuote","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRateSafe","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"name":"rateProviderData","outputs":[{"internalType":"bool","name":"isPeggedToBase","type":"bool"},{"internalType":"contract IRateProvider","name":"rateProvider","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resetHighwaterMark","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"bool","name":"isPeggedToBase","type":"bool"},{"internalType":"address","name":"rateProvider","type":"address"}],"name":"setRateProviderData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"}],"name":"updateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint96","name":"newExchangeRate","type":"uint96"}],"name":"updateExchangeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"}],"name":"updateLower","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"managementFee","type":"uint16"}],"name":"updateManagementFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payoutAddress","type":"address"}],"name":"updatePayoutAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"name":"updatePerformanceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"}],"name":"updateUpper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract BoringVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]'),n=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract Authority","name":"_auth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AtomicQueue__Paused","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__RequestDeadlineExceeded","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestAccountantOfferMismatch","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestCannotCastToUint88","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"AtomicQueue__SafeRequestDeadlineExceeded","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestDiscountTooLarge","type":"error"},{"inputs":[{"internalType":"uint256","name":"offerAmount","type":"uint256"},{"internalType":"uint256","name":"offerAllowance","type":"uint256"}],"name":"AtomicQueue__SafeRequestInsufficientOfferAllowance","type":"error"},{"inputs":[{"internalType":"uint256","name":"offerAmount","type":"uint256"},{"internalType":"uint256","name":"offerBalance","type":"uint256"}],"name":"AtomicQueue__SafeRequestOfferAmountGreaterThanOfferBalance","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestOfferAmountZero","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__UserNotInSolve","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__UserRepeated","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__ZeroOfferAmount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"offerToken","type":"address"},{"indexed":true,"internalType":"address","name":"wantToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"offerAmountSpent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wantAmountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AtomicRequestFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"offerToken","type":"address"},{"indexed":true,"internalType":"address","name":"wantToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"minPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AtomicRequestUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"MAX_DISCOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"}],"name":"getUserAtomicRequest","outputs":[{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"address","name":"user","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"}],"name":"isAtomicRequestValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"},{"internalType":"contract AccountantWithRateProviders","name":"accountant","type":"address"},{"internalType":"uint256","name":"discount","type":"uint256"}],"name":"safeUpdateAtomicRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bytes","name":"runData","type":"bytes"},{"internalType":"address","name":"solver","type":"address"}],"name":"solve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"}],"name":"updateAtomicRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"contract ERC20","name":"","type":"address"},{"internalType":"contract ERC20","name":"","type":"address"}],"name":"userAtomicRequest","outputs":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"}],"name":"viewSolveMetaData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"flags","type":"uint8"},{"internalType":"uint256","name":"assetsToOffer","type":"uint256"},{"internalType":"uint256","name":"assetsForWant","type":"uint256"}],"internalType":"struct AtomicQueue.SolveMetaData[]","name":"metaData","type":"tuple[]"},{"internalType":"uint256","name":"totalAssetsForWant","type":"uint256"},{"internalType":"uint256","name":"totalAssetsToOffer","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"}],"name":"viewVerboseSolveMetaData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"deadlineExceeded","type":"bool"},{"internalType":"bool","name":"zeroOfferAmount","type":"bool"},{"internalType":"bool","name":"insufficientOfferBalance","type":"bool"},{"internalType":"bool","name":"insufficientOfferAllowance","type":"bool"},{"internalType":"uint256","name":"assetsToOffer","type":"uint256"},{"internalType":"uint256","name":"assetsForWant","type":"uint256"}],"internalType":"struct AtomicQueue.VerboseSolveMetaData[]","name":"metaData","type":"tuple[]"},{"internalType":"uint256","name":"totalAssetsForWant","type":"uint256"},{"internalType":"uint256","name":"totalAssetsToOffer","type":"uint256"}],"stateMutability":"view","type":"function"}]'),o=[{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract BoringVault",name:"boringVault",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"shares",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"balanceOfInAssets",outputs:[{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"checkUserDeposit",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"checkUserDepositWithPermit",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"exchangeRate",outputs:[{internalType:"uint256",name:"rate",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"isTellerPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"previewDeposit",outputs:[{internalType:"uint256",name:"shares",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"totalAssets",outputs:[{internalType:"contract ERC20",name:"asset",type:"address"},{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"userUnlockTime",outputs:[{internalType:"uint256",name:"time",type:"uint256"}],stateMutability:"view",type:"function"}],p=JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"Actions_ZeroAddress","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FeeGreaterThanMaximum","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NoDepositorSet","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"PayloadTooLarge","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"WrongChainId","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroDepositAmount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"indexed":false,"internalType":"struct StakeAndBake.StakeAndBakeData","name":"data","type":"tuple"}],"name":"BatchStakeAndBakeReverted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"}],"name":"DepositorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"oldFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"FeeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"CLAIMER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct StakeAndBake.StakeAndBakeData[]","name":"data","type":"tuple[]"}],"name":"batchStakeAndBake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakeAndBakeDepositor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakeAndBakeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"lbtc_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"operator_","type":"address"},{"internalType":"uint256","name":"fee_","type":"uint256"},{"internalType":"address","name":"claimer_","type":"address"},{"internalType":"address","name":"pauser_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"depositor","type":"address"}],"name":"setDepositor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct StakeAndBake.StakeAndBakeData","name":"data","type":"tuple"}],"name":"stakeAndBake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]'),a=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_accountant","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"TellerWithMultiAssetSupport__AssetNotSupported","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__BadDepositHash","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__DualDeposit","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__MinimumAssetsNotMet","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__MinimumMintNotMet","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__Paused","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__PermitFailedAndAllowanceTooLow","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ShareLockPeriodTooLong","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharePremiumTooLarge","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharesAreLocked","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharesAreUnLocked","type":"error"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"TellerWithMultiAssetSupport__TransferDenied","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ZeroAssets","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ZeroShares","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"bool","name":"allowDeposits","type":"bool"},{"indexed":false,"internalType":"bool","name":"allowWithdraws","type":"bool"},{"indexed":false,"internalType":"uint16","name":"sharePremium","type":"uint16"}],"name":"AssetDataUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"depositAmount","type":"uint256"}],"name":"BulkDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"BulkWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"depositAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"depositAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareLockPeriodAtTimeOfDeposit","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"depositHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DepositRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"accountant","outputs":[{"internalType":"contract AccountantWithRateProviders","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"name":"assetData","outputs":[{"internalType":"bool","name":"allowDeposits","type":"bool"},{"internalType":"bool","name":"allowWithdraws","type":"bool"},{"internalType":"uint16","name":"sharePremium","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"beforeTransfer","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"bulkDeposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"withdrawAsset","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"},{"internalType":"uint256","name":"minimumAssets","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"bulkWithdraw","outputs":[{"internalType":"uint256","name":"assetsOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositNonce","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"depositWithPermit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"fromDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nativeWrapper","outputs":[{"internalType":"contract WETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"operatorDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"publicDepositHistory","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"shareAmount","type":"uint256"},{"internalType":"uint256","name":"depositTimestamp","type":"uint256"},{"internalType":"uint256","name":"shareLockUpPeriodAtTimeOfDeposit","type":"uint256"}],"name":"refundDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_shareLockPeriod","type":"uint64"}],"name":"setShareLockPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareLockPeriod","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shareUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"toDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"bool","name":"allowDeposits","type":"bool"},{"internalType":"bool","name":"allowWithdraws","type":"bool"},{"internalType":"uint16","name":"sharePremium","type":"uint16"}],"name":"updateAssetData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract BoringVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]'),i=[e.ChainId.ethereum,e.ChainId.base,e.ChainId.binanceSmartChain,e.ChainId.corn],l=t=>i.includes(t),m={[e.ChainId.ethereum]:"ethereum",[e.ChainId.base]:"base",[e.ChainId.corn]:"corn",[e.ChainId.binanceSmartChain]:"bnb"},T={ethereum:e.ChainId.ethereum,base:e.ChainId.base,corn:e.ChainId.corn,bnb:e.ChainId.binanceSmartChain},s=[e.ChainId.ethereum,e.ChainId.sepolia],c=t=>s.includes(t),b=e.ChainId.ethereum,f="0x5401b8620E5FB570064CA9114fd1e135fd77D57c",A="0x28634D0c5edC67CF2450E74deA49B90a4FF93dCE",h="0x5232bc0F5999f8dA604c42E1748A13a170F94A1B",M={[e.ChainId.ethereum]:{abi:a,address:"0x4E8f5128F473C6948127f9Cbca474a6700F99bab",chainId:e.ChainId.ethereum},[e.ChainId.base]:{abi:a,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:e.ChainId.base},[e.ChainId.binanceSmartChain]:{abi:a,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:e.ChainId.binanceSmartChain},[e.ChainId.corn]:{abi:a,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:e.ChainId.corn}},r={[e.ChainId.ethereum]:{abi:p,address:"0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef",chainId:e.ChainId.ethereum},[e.ChainId.sepolia]:{abi:p,address:"0x77eD6a84fEF665156e81247ECbd43A847B8A6398",chainId:e.ChainId.sepolia}},v={[e.ChainId.ethereum]:{abi:n,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:e.ChainId.ethereum},[e.ChainId.base]:{abi:n,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:e.ChainId.ethereum},[e.ChainId.binanceSmartChain]:{abi:n,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:e.ChainId.ethereum},[e.ChainId.corn]:{abi:n,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:e.ChainId.ethereum}};var u=(t=>(t.Veda="veda",t))(u||{});const w={veda:{defaultChainId:b,chains:i,tokens:{[e.Token.LBTC]:i,[e.Token.BTCBinance]:[e.ChainId.binanceSmartChain],[e.Token.cbBTC]:[e.ChainId.ethereum,e.ChainId.base],[e.Token.eBTC]:[e.ChainId.ethereum],[e.Token.wBTC]:[e.ChainId.ethereum],[e.Token.wBTCN]:[e.ChainId.corn]},stakeAndBakeChains:s,decimals:8,vaultContract:{abi:y,address:f},accountantContract:{abi:d,address:A},lensContract:{abi:o,address:h},spenderContracts:r,tellerContracts:M,withdrawQueueContracts:v,queueWithdrawDiscountPercent:"0.01",queueWithdrawDaysValid:"14"}};exports.NETWORK_TO_VEDA_VAULT_CHAIN_MAP=T;exports.VAULTS=w;exports.VEDA_VAULT_CHAIN_TO_NETWORK_MAP=m;exports.VEDA_VAULT_SPENDER_CONTRACTS=r;exports.VEDA_VAULT_STAKE_AND_BAKE_CHAINS=s;exports.Vault=u;exports.isVedaVaultChain=l;exports.isVedaVaultStakeAndBakeChain=c;
2
- //# sourceMappingURL=config-DmCmanM_.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-DmCmanM_.cjs","sources":["../../src/vaults/lib/config.ts"],"sourcesContent":["import { Abi, Address } from 'viem';\n\nimport { ChainId } from '../../common/chains';\nimport { Token } from '../../tokens/token-addresses';\nimport VEDA_VAULT_ABI from '../abi/VEDA_VAULT_ABI.json';\nimport VEDA_VAULT_ACCOUNTANT_ABI from '../abi/VEDA_VAULT_ACCOUNTANT_ABI.json';\nimport VEDA_VAULT_BASE_ASSET_ABI from '../abi/VEDA_VAULT_BASE_ASSET_ABI.json';\nimport VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI from '../abi/VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI.json';\nimport VEDA_VAULT_LENS_ABI from '../abi/VEDA_VAULT_LENS_ABI.json';\nimport VEDA_VAULT_SPENDER_ABI from '../abi/VEDA_VAULT_SPENDER_ABI.json';\nimport VEDA_VAULT_TELLER_ABI from '../abi/VEDA_VAULT_TELLER_ABI.json';\n\ntype ContractInfo = {\n abi: Abi;\n address: Address;\n chainId: ChainId;\n};\n\nexport const VEDA_VAULT_CHAINS = [\n ChainId.ethereum,\n ChainId.base,\n ChainId.binanceSmartChain,\n ChainId.corn,\n] as const;\n\nexport type VedaVaultChain = (typeof VEDA_VAULT_CHAINS)[number];\nexport const isVedaVaultChain = (chainId: number): chainId is VedaVaultChain =>\n VEDA_VAULT_CHAINS.includes(chainId as VedaVaultChain);\n\nexport const VEDA_VAULT_CHAIN_TO_NETWORK_MAP: Record<VedaVaultChain, string> = {\n [ChainId.ethereum]: 'ethereum',\n [ChainId.base]: 'base',\n [ChainId.corn]: 'corn',\n [ChainId.binanceSmartChain]: 'bnb',\n};\n\nexport const NETWORK_TO_VEDA_VAULT_CHAIN_MAP: Record<string, VedaVaultChain> = {\n ethereum: ChainId.ethereum,\n base: ChainId.base,\n corn: ChainId.corn,\n bnb: ChainId.binanceSmartChain,\n};\n\n/** A list of chains where stake and bake is enabled */\nexport const VEDA_VAULT_STAKE_AND_BAKE_CHAINS = [\n ChainId.ethereum,\n // Testnets:\n ChainId.sepolia,\n];\nexport type VedaVaultStakeAndBakeChain =\n (typeof VEDA_VAULT_STAKE_AND_BAKE_CHAINS)[number];\nexport const isVedaVaultStakeAndBakeChain = (\n chainId: number,\n): chainId is VedaVaultStakeAndBakeChain =>\n VEDA_VAULT_STAKE_AND_BAKE_CHAINS.includes(\n chainId as VedaVaultStakeAndBakeChain,\n );\n\nexport const VEDA_VAULT_DEFAULT_CHAIN_ID: VedaVaultChain = ChainId.ethereum;\n\nexport const VEDA_VAULT_CONTRACT = '0x5401b8620E5FB570064CA9114fd1e135fd77D57c';\nexport const VEDA_VAULT_ACCOUNTANT_CONTRACT =\n '0x28634D0c5edC67CF2450E74deA49B90a4FF93dCE';\nexport const VEDA_VAULT_LENS_CONTRACT =\n '0x5232bc0F5999f8dA604c42E1748A13a170F94A1B';\n\nexport const VEDA_VAULT_TELLER_CONTRACTS: Record<VedaVaultChain, ContractInfo> =\n {\n [ChainId.ethereum]: {\n abi: VEDA_VAULT_TELLER_ABI as Abi,\n address: '0x4E8f5128F473C6948127f9Cbca474a6700F99bab',\n chainId: ChainId.ethereum,\n },\n [ChainId.base]: {\n abi: VEDA_VAULT_TELLER_ABI as Abi,\n address: '0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3',\n chainId: ChainId.base,\n },\n [ChainId.binanceSmartChain]: {\n abi: VEDA_VAULT_TELLER_ABI as Abi,\n address: '0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3',\n chainId: ChainId.binanceSmartChain,\n },\n [ChainId.corn]: {\n abi: VEDA_VAULT_TELLER_ABI as Abi,\n address: '0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3',\n chainId: ChainId.corn,\n },\n } as const;\n\n/** Stake and bake contracts */\nexport const VEDA_VAULT_SPENDER_CONTRACTS: Record<\n VedaVaultStakeAndBakeChain,\n ContractInfo\n> = {\n [ChainId.ethereum]: {\n abi: VEDA_VAULT_SPENDER_ABI as Abi,\n address: '0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef',\n chainId: ChainId.ethereum,\n },\n // Testnets:\n [ChainId.sepolia]: {\n abi: VEDA_VAULT_SPENDER_ABI as Abi,\n address: '0x77eD6a84fEF665156e81247ECbd43A847B8A6398',\n chainId: ChainId.sepolia,\n },\n} as const;\n\nexport const VEDA_VAULT_WITHDRAW_QUEUE_CONTRACTS: Record<\n VedaVaultChain,\n ContractInfo\n> = {\n [ChainId.ethereum]: {\n abi: VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI as Abi,\n address: '0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8',\n chainId: ChainId.ethereum,\n },\n [ChainId.base]: {\n abi: VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI as Abi,\n address: '0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8',\n chainId: ChainId.ethereum,\n },\n [ChainId.binanceSmartChain]: {\n abi: VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI as Abi,\n address: '0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8',\n chainId: ChainId.ethereum,\n },\n [ChainId.corn]: {\n abi: VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI as Abi,\n address: '0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8',\n chainId: ChainId.ethereum,\n },\n};\n\nexport const VEDA_VAULT_BASE_ASSET = {\n abi: VEDA_VAULT_BASE_ASSET_ABI,\n symbol: 'WBTC',\n displayName: 'wBTC',\n address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',\n decimals: 8,\n};\n\nexport enum Vault {\n Veda = 'veda',\n}\n\nexport const VaultNameMap = {\n [Vault.Veda]: 'Veda / Lombard DeFi Vault',\n} as const;\n\nexport const VAULTS = {\n [Vault.Veda]: {\n defaultChainId: VEDA_VAULT_DEFAULT_CHAIN_ID,\n chains: VEDA_VAULT_CHAINS,\n tokens: {\n [Token.LBTC]: VEDA_VAULT_CHAINS,\n [Token.BTCBinance]: [ChainId.binanceSmartChain],\n [Token.cbBTC]: [ChainId.ethereum, ChainId.base],\n [Token.eBTC]: [ChainId.ethereum],\n [Token.wBTC]: [ChainId.ethereum],\n [Token.wBTCN]: [ChainId.corn],\n },\n stakeAndBakeChains: VEDA_VAULT_STAKE_AND_BAKE_CHAINS,\n decimals: 8,\n vaultContract: {\n abi: VEDA_VAULT_ABI,\n address: VEDA_VAULT_CONTRACT,\n },\n accountantContract: {\n abi: VEDA_VAULT_ACCOUNTANT_ABI,\n address: VEDA_VAULT_ACCOUNTANT_CONTRACT,\n },\n lensContract: {\n abi: VEDA_VAULT_LENS_ABI,\n address: VEDA_VAULT_LENS_CONTRACT,\n },\n spenderContracts: VEDA_VAULT_SPENDER_CONTRACTS,\n tellerContracts: VEDA_VAULT_TELLER_CONTRACTS,\n withdrawQueueContracts: VEDA_VAULT_WITHDRAW_QUEUE_CONTRACTS,\n\n queueWithdrawDiscountPercent: '0.01',\n queueWithdrawDaysValid: '14',\n },\n} as const;\n"],"names":["VEDA_VAULT_CHAINS","ChainId","isVedaVaultChain","chainId","VEDA_VAULT_CHAIN_TO_NETWORK_MAP","NETWORK_TO_VEDA_VAULT_CHAIN_MAP","VEDA_VAULT_STAKE_AND_BAKE_CHAINS","isVedaVaultStakeAndBakeChain","VEDA_VAULT_DEFAULT_CHAIN_ID","VEDA_VAULT_CONTRACT","VEDA_VAULT_ACCOUNTANT_CONTRACT","VEDA_VAULT_LENS_CONTRACT","VEDA_VAULT_TELLER_CONTRACTS","VEDA_VAULT_TELLER_ABI","VEDA_VAULT_SPENDER_CONTRACTS","VEDA_VAULT_SPENDER_ABI","VEDA_VAULT_WITHDRAW_QUEUE_CONTRACTS","VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI","Vault","VAULTS","Token","VEDA_VAULT_ABI","VEDA_VAULT_ACCOUNTANT_ABI","VEDA_VAULT_LENS_ABI"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const s=require("./tokens-BkvA0Gp1.cjs"),i=require("./token-addresses-nzvTOi24.cjs"),b=require("./satoshi-CZEsHl5X.cjs"),T=require("./index-BKzxeh1Y.cjs"),w=require("viem"),m=require("./unstakeLBTC-CmoCaGX9.cjs"),f=require("./time-I-BeyUkG.cjs"),u=require("./config-DmCmanM_.cjs");async function A({chainId:e,rpcUrl:o,env:c}){const t=c||s.determineEnv(e),a=s.makePublicClient({chainId:e,rpcUrl:o,env:t}),n=await s.getTokenContractInfo(i.Token.LBTC,e,t),r=await a.readContract({abi:n.abi,address:n.address,functionName:"totalSupply"});return b.fromSatoshi(String(r))}async function E({data:e,proofSignature:o,account:c,chainId:t,provider:a,rpcUrl:n,env:r=T.p}){const l=s.makePublicClient({chainId:t,rpcUrl:n,env:r}),C=i.makeWalletClient({chainId:t,provider:a}),d=await s.getTokenContractInfo(i.Token.BTCb,t,r,i.AddressKind.Adapter),g=await l.readContract({address:d.address,abi:d.abi,functionName:"getAssetRouter"});if(!g||g===w.zeroAddress)throw new Error("AssetRouter address not found in token adapter");const h={address:g,account:c,chain:i.CHAIN_ID_TO_VIEM_CHAIN_MAP[t],abi:m.ASSET_ROUTER_ABI,functionName:"mint",args:[f.ensureHex(e),f.ensureHex(o)]},k=i.isKatanaChain(t)?await m.estimateGasFees(l,h,w.parseGwei("1")):{},{request:S}=await l.simulateContract({...h,...k});return await C.writeContract(S)}async function p({chainId:e,rpcUrl:o,vaultKey:c=u.Vault.Veda}){const t=u.VAULTS[c];if(!t)throw new Error(`Unknown vault key: ${c}`);if(!u.isVedaVaultChain(e))throw new Error(`Unsupported chain id: ${e}. Please switch to one of the supported chains: ${t.chains.join(", ")}`);try{const a=s.makePublicClient({chainId:e,rpcUrl:o}),r=await w.getContract({abi:t.accountantContract.abi,address:t.accountantContract.address,client:a}).read.getRate();return b.fromSatoshi(String(r))}catch(a){const n=s.getErrorMessage(a);throw new Error(n)}}async function V({chainId:e,rpcUrl:o,address:c,vaultKey:t=u.Vault.Veda}){const a=u.VAULTS[t];if(!a)throw new Error(`Unknown vault key: ${t}`);if(!u.isVedaVaultChain(e))throw new Error(`Unsupported chain id: ${e}. Please switch to one of the supported chains: ${a.chains.join(", ")}`);try{const n=s.makePublicClient({chainId:e,rpcUrl:o}),l=await w.getContract({abi:a.lensContract.abi,address:a.lensContract.address,client:n}).read.balanceOf([c,a.vaultContract.address]),C=b.fromSatoshi(String(l)),d=await p({chainId:e,rpcUrl:o,vaultKey:t});return{balance:C,exchangeRate:d,balanceLbtc:C.multipliedBy(d)}}catch(n){const r=s.getErrorMessage(n);throw new Error(r)}}exports.claimUnstakeRedeem=E;exports.getLBTCTotalSupply=A;exports.getShareValue=p;exports.getSharesByAddress=V;
2
- //# sourceMappingURL=getSharesByAddress-D8hehnP1.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSharesByAddress-D8hehnP1.cjs","sources":["../../src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts","../../src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts","../../src/contract-functions/getShareValue/getShareValue.ts","../../src/contract-functions/getSharesByAddress/getSharesByAddress.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { CommonParameters } from '../../common/parameters';\nimport { Token } from '../../tokens/token-addresses';\nimport { getTokenContractInfo } from '../../tokens/tokens';\nimport { determineEnv } from '../../utils/env';\nimport { fromSatoshi } from '../../utils/satoshi';\n\n/**\n * Get the total supply of LBTC tokens.\n *\n * @param {CommonParameters} parameters - The parameters.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @return {Promise<BigNumber>}\n */\nexport async function getLBTCTotalSupply({\n chainId,\n rpcUrl,\n env,\n}: CommonParameters): Promise<BigNumber> {\n const environment = env || determineEnv(chainId);\n const publicClient = makePublicClient({ chainId, rpcUrl, env: environment });\n const lbtcContract = await getTokenContractInfo(\n Token.LBTC,\n chainId,\n environment,\n );\n\n const totalSupplyRaw = await publicClient.readContract({\n abi: lbtcContract.abi,\n address: lbtcContract.address,\n functionName: 'totalSupply',\n });\n\n return fromSatoshi(String(totalSupplyRaw));\n}\n","import { DEFAULT_ENV } from '@lombard.finance/sdk-common';\nimport { Hash, parseGwei, zeroAddress } from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { makeWalletClient } from '../../clients/wallet-client';\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP, isKatanaChain } from '../../common/chains';\nimport { CommonWriteParameters } from '../../common/parameters';\nimport ASSET_ROUTER_ABI from '../../tokens/abi/ASSET_ROUTER_ABI';\nimport { AddressKind, Token } from '../../tokens/token-addresses';\nimport { getTokenContractInfo } from '../../tokens/tokens';\nimport { estimateGasFees } from '../../utils/gas';\nimport { ensureHex } from '../../utils/hex';\n\n/**\n * Parameters for claiming BTC.b from unstake redemptions\n */\nexport interface IClaimUnstakeRedeemParams extends CommonWriteParameters {\n /** Raw payload from the unstake redemption (`Unstake.rawPayload`) */\n data: string;\n\n /** Signature/proof from the unstake redemption (`Unstake.proof`) */\n proofSignature: string;\n}\n\n/**\n * Claims BTC.b tokens from an unstake redemption (LBTC → BTC.b)\n *\n * This function is specifically for claiming native chain redemptions after the 7-day unstaking period.\n * Unlike deposits which use `adapter.mintV1`, unstake redemptions use `assetRouter.mint`.\n *\n * Business Rules:\n * - Only works for native chain redemptions (LBTC → BTC.b)\n * - Requires notarization status = SESSION_APPROVED\n * - Requires session state = COMPLETED\n * - Must be called after 7 days from unstake\n *\n * @param params - Parameters for claiming\n * @returns Transaction hash of the claim operation\n *\n * @throws Error if claiming fails or if action selector doesn't match\n */\nexport async function claimUnstakeRedeem({\n data,\n proofSignature,\n account,\n chainId,\n provider,\n rpcUrl,\n env = DEFAULT_ENV,\n}: IClaimUnstakeRedeemParams): Promise<Hash> {\n const publicClient = makePublicClient({ chainId, rpcUrl, env });\n const walletClient = makeWalletClient({ chainId, provider });\n\n // Get AssetRouter address from BTCb token adapter\n const btcbTokenContract = await getTokenContractInfo(\n Token.BTCb,\n chainId,\n env,\n AddressKind.Adapter,\n );\n\n // Read AssetRouter address from token adapter\n const assetRouterAddress = await publicClient.readContract({\n address: btcbTokenContract.address,\n abi: btcbTokenContract.abi,\n functionName: 'getAssetRouter',\n });\n\n if (!assetRouterAddress || assetRouterAddress === zeroAddress) {\n throw new Error('AssetRouter address not found in token adapter');\n }\n\n // Call AssetRouter.mint function\n const callData = {\n address: assetRouterAddress,\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n abi: ASSET_ROUTER_ABI,\n functionName: 'mint',\n args: [ensureHex(data), ensureHex(proofSignature)],\n } as const;\n\n const gasEstimationData = isKatanaChain(chainId)\n ? await estimateGasFees(publicClient, callData, parseGwei('1'))\n : {};\n\n const { request } = await publicClient.simulateContract({\n ...callData,\n ...gasEstimationData,\n });\n\n const txHash = await walletClient.writeContract(request);\n\n return txHash;\n}\n","import BigNumber from 'bignumber.js';\nimport { getContract } from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { CommonParameters } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\nimport { fromSatoshi } from '../../utils/satoshi';\nimport { isVedaVaultChain, Vault, VAULTS } from '../../vaults/lib/config';\n\nexport interface IGetShareValueParameters extends CommonParameters {\n /**\n * Optional DeFi vault identifier specifying the vault in use\n * @default {string} - \"veda\"\n */\n vaultKey?: Vault;\n}\n\n/**\n * Gets the value of a single share unit (in LBTC) from the specified vault.\n *\n * @param {IGetShareValueParameters} parameters - The parameters.\n * @param {Vault} parameters.vaultKey - The optional DeFi vault identifier.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<BigNumber>}\n */\nexport async function getShareValue({\n chainId,\n rpcUrl,\n vaultKey = Vault.Veda,\n}: IGetShareValueParameters): Promise<BigNumber> {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n try {\n const client = makePublicClient({ chainId, rpcUrl });\n\n const accountantContract = getContract({\n abi: vault.accountantContract.abi,\n address: vault.accountantContract.address,\n client,\n });\n\n const exchangeRate = await accountantContract.read.getRate();\n return fromSatoshi(String(exchangeRate));\n } catch (err) {\n const errorMessage = getErrorMessage(err);\n throw new Error(errorMessage);\n }\n}\n","import BigNumber from 'bignumber.js';\nimport { getContract } from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { CommonParameters } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\nimport { fromSatoshi } from '../../utils/satoshi';\nimport { isVedaVaultChain, Vault, VAULTS } from '../../vaults/lib/config';\nimport { getShareValue } from '../getShareValue';\n\nexport interface IGetSharesByAddressParameters extends CommonParameters {\n /**\n * The address of the share holder.\n */\n address: string;\n /**\n * Optional vault key specifying the vault in use\n * @default {string} - \"veda\"\n */\n vaultKey?: Vault;\n}\n\ninterface IGetSharesByAddressResponse {\n /** The amount of share owned. */\n balance: BigNumber;\n /** The value of a single share unit */\n exchangeRate: BigNumber;\n /** The balance represented in BTC. */\n balanceLbtc: BigNumber;\n}\n\n/**\n * Gets the amount of shares (LBTCv) owned by the provided address.\n *\n * @param {IGetSharesByAddressParameters} parameters - The parameters.\n * @param {Vault} parameters.vaultKey - The optional DeFi vault identifier.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @return {Promise<IGetSharesByAddressResponse>}\n */\nexport async function getSharesByAddress({\n chainId,\n rpcUrl,\n address,\n vaultKey = Vault.Veda,\n}: IGetSharesByAddressParameters): Promise<IGetSharesByAddressResponse> {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n try {\n const client = makePublicClient({ chainId, rpcUrl });\n\n const lensContract = getContract({\n abi: vault.lensContract.abi,\n address: vault.lensContract.address,\n client,\n });\n\n const balanceValue = await lensContract.read.balanceOf([\n address,\n vault.vaultContract.address,\n ]);\n\n const balance = fromSatoshi(String(balanceValue));\n\n const exchangeRate = await getShareValue({ chainId, rpcUrl, vaultKey });\n\n return {\n balance,\n exchangeRate,\n balanceLbtc: balance.multipliedBy(exchangeRate),\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n throw new Error(errorMessage);\n }\n}\n"],"names":["getLBTCTotalSupply","chainId","rpcUrl","env","environment","determineEnv","publicClient","makePublicClient","lbtcContract","getTokenContractInfo","Token","totalSupplyRaw","fromSatoshi","claimUnstakeRedeem","data","proofSignature","account","provider","DEFAULT_ENV","walletClient","makeWalletClient","btcbTokenContract","AddressKind","assetRouterAddress","zeroAddress","callData","CHAIN_ID_TO_VIEM_CHAIN_MAP","ASSET_ROUTER_ABI","ensureHex","gasEstimationData","isKatanaChain","estimateGasFees","parseGwei","request","getShareValue","vaultKey","Vault","vault","VAULTS","isVedaVaultChain","client","exchangeRate","getContract","err","errorMessage","getErrorMessage","getSharesByAddress","address","balanceValue","balance","error"],"mappings":"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"}
@@ -1,121 +0,0 @@
1
- import { determineEnv as T, makePublicClient as d, getTokenContractInfo as C, getErrorMessage as f } from "./tokens-DgC1hfkm.js";
2
- import { Token as b, makeWalletClient as y, AddressKind as R, CHAIN_ID_TO_VIEM_CHAIN_MAP as V, isKatanaChain as _ } from "./token-addresses-D0v5cR1j.js";
3
- import { fromSatoshi as w } from "./satoshi-CSoJBXc6.js";
4
- import { p as x } from "./index-CfcQ_g3t.js";
5
- import { zeroAddress as B, parseGwei as U, getContract as g } from "viem";
6
- import { estimateGasFees as $, ASSET_ROUTER_ABI as H } from "./unstakeLBTC-DtvVbpbU.js";
7
- import { ensureHex as p } from "./time-Sa5gggPG.js";
8
- import { Vault as h, isVedaVaultChain as A, VAULTS as E } from "./config-DghboRx0.js";
9
- async function z({
10
- chainId: a,
11
- rpcUrl: o,
12
- env: s
13
- }) {
14
- const t = s || T(a), e = d({ chainId: a, rpcUrl: o, env: t }), n = await C(
15
- b.LBTC,
16
- a,
17
- t
18
- ), r = await e.readContract({
19
- abi: n.abi,
20
- address: n.address,
21
- functionName: "totalSupply"
22
- });
23
- return w(String(r));
24
- }
25
- async function F({
26
- data: a,
27
- proofSignature: o,
28
- account: s,
29
- chainId: t,
30
- provider: e,
31
- rpcUrl: n,
32
- env: r = x
33
- }) {
34
- const c = d({ chainId: t, rpcUrl: n, env: r }), l = y({ chainId: t, provider: e }), i = await C(
35
- b.BTCb,
36
- t,
37
- r,
38
- R.Adapter
39
- ), u = await c.readContract({
40
- address: i.address,
41
- abi: i.abi,
42
- functionName: "getAssetRouter"
43
- });
44
- if (!u || u === B)
45
- throw new Error("AssetRouter address not found in token adapter");
46
- const m = {
47
- address: u,
48
- account: s,
49
- chain: V[t],
50
- abi: H,
51
- functionName: "mint",
52
- args: [p(a), p(o)]
53
- }, S = _(t) ? await $(c, m, U("1")) : {}, { request: k } = await c.simulateContract({
54
- ...m,
55
- ...S
56
- });
57
- return await l.writeContract(k);
58
- }
59
- async function M({
60
- chainId: a,
61
- rpcUrl: o,
62
- vaultKey: s = h.Veda
63
- }) {
64
- const t = E[s];
65
- if (!t)
66
- throw new Error(`Unknown vault key: ${s}`);
67
- if (!A(a))
68
- throw new Error(
69
- `Unsupported chain id: ${a}. Please switch to one of the supported chains: ${t.chains.join(", ")}`
70
- );
71
- try {
72
- const e = d({ chainId: a, rpcUrl: o }), r = await g({
73
- abi: t.accountantContract.abi,
74
- address: t.accountantContract.address,
75
- client: e
76
- }).read.getRate();
77
- return w(String(r));
78
- } catch (e) {
79
- const n = f(e);
80
- throw new Error(n);
81
- }
82
- }
83
- async function W({
84
- chainId: a,
85
- rpcUrl: o,
86
- address: s,
87
- vaultKey: t = h.Veda
88
- }) {
89
- const e = E[t];
90
- if (!e)
91
- throw new Error(`Unknown vault key: ${t}`);
92
- if (!A(a))
93
- throw new Error(
94
- `Unsupported chain id: ${a}. Please switch to one of the supported chains: ${e.chains.join(", ")}`
95
- );
96
- try {
97
- const n = d({ chainId: a, rpcUrl: o }), c = await g({
98
- abi: e.lensContract.abi,
99
- address: e.lensContract.address,
100
- client: n
101
- }).read.balanceOf([
102
- s,
103
- e.vaultContract.address
104
- ]), l = w(String(c)), i = await M({ chainId: a, rpcUrl: o, vaultKey: t });
105
- return {
106
- balance: l,
107
- exchangeRate: i,
108
- balanceLbtc: l.multipliedBy(i)
109
- };
110
- } catch (n) {
111
- const r = f(n);
112
- throw new Error(r);
113
- }
114
- }
115
- export {
116
- F as claimUnstakeRedeem,
117
- z as getLBTCTotalSupply,
118
- M as getShareValue,
119
- W as getSharesByAddress
120
- };
121
- //# sourceMappingURL=getSharesByAddress-_tBaIBsw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSharesByAddress-_tBaIBsw.js","sources":["../../src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts","../../src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts","../../src/contract-functions/getShareValue/getShareValue.ts","../../src/contract-functions/getSharesByAddress/getSharesByAddress.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { CommonParameters } from '../../common/parameters';\nimport { Token } from '../../tokens/token-addresses';\nimport { getTokenContractInfo } from '../../tokens/tokens';\nimport { determineEnv } from '../../utils/env';\nimport { fromSatoshi } from '../../utils/satoshi';\n\n/**\n * Get the total supply of LBTC tokens.\n *\n * @param {CommonParameters} parameters - The parameters.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @return {Promise<BigNumber>}\n */\nexport async function getLBTCTotalSupply({\n chainId,\n rpcUrl,\n env,\n}: CommonParameters): Promise<BigNumber> {\n const environment = env || determineEnv(chainId);\n const publicClient = makePublicClient({ chainId, rpcUrl, env: environment });\n const lbtcContract = await getTokenContractInfo(\n Token.LBTC,\n chainId,\n environment,\n );\n\n const totalSupplyRaw = await publicClient.readContract({\n abi: lbtcContract.abi,\n address: lbtcContract.address,\n functionName: 'totalSupply',\n });\n\n return fromSatoshi(String(totalSupplyRaw));\n}\n","import { DEFAULT_ENV } from '@lombard.finance/sdk-common';\nimport { Hash, parseGwei, zeroAddress } from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { makeWalletClient } from '../../clients/wallet-client';\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP, isKatanaChain } from '../../common/chains';\nimport { CommonWriteParameters } from '../../common/parameters';\nimport ASSET_ROUTER_ABI from '../../tokens/abi/ASSET_ROUTER_ABI';\nimport { AddressKind, Token } from '../../tokens/token-addresses';\nimport { getTokenContractInfo } from '../../tokens/tokens';\nimport { estimateGasFees } from '../../utils/gas';\nimport { ensureHex } from '../../utils/hex';\n\n/**\n * Parameters for claiming BTC.b from unstake redemptions\n */\nexport interface IClaimUnstakeRedeemParams extends CommonWriteParameters {\n /** Raw payload from the unstake redemption (`Unstake.rawPayload`) */\n data: string;\n\n /** Signature/proof from the unstake redemption (`Unstake.proof`) */\n proofSignature: string;\n}\n\n/**\n * Claims BTC.b tokens from an unstake redemption (LBTC → BTC.b)\n *\n * This function is specifically for claiming native chain redemptions after the 7-day unstaking period.\n * Unlike deposits which use `adapter.mintV1`, unstake redemptions use `assetRouter.mint`.\n *\n * Business Rules:\n * - Only works for native chain redemptions (LBTC → BTC.b)\n * - Requires notarization status = SESSION_APPROVED\n * - Requires session state = COMPLETED\n * - Must be called after 7 days from unstake\n *\n * @param params - Parameters for claiming\n * @returns Transaction hash of the claim operation\n *\n * @throws Error if claiming fails or if action selector doesn't match\n */\nexport async function claimUnstakeRedeem({\n data,\n proofSignature,\n account,\n chainId,\n provider,\n rpcUrl,\n env = DEFAULT_ENV,\n}: IClaimUnstakeRedeemParams): Promise<Hash> {\n const publicClient = makePublicClient({ chainId, rpcUrl, env });\n const walletClient = makeWalletClient({ chainId, provider });\n\n // Get AssetRouter address from BTCb token adapter\n const btcbTokenContract = await getTokenContractInfo(\n Token.BTCb,\n chainId,\n env,\n AddressKind.Adapter,\n );\n\n // Read AssetRouter address from token adapter\n const assetRouterAddress = await publicClient.readContract({\n address: btcbTokenContract.address,\n abi: btcbTokenContract.abi,\n functionName: 'getAssetRouter',\n });\n\n if (!assetRouterAddress || assetRouterAddress === zeroAddress) {\n throw new Error('AssetRouter address not found in token adapter');\n }\n\n // Call AssetRouter.mint function\n const callData = {\n address: assetRouterAddress,\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n abi: ASSET_ROUTER_ABI,\n functionName: 'mint',\n args: [ensureHex(data), ensureHex(proofSignature)],\n } as const;\n\n const gasEstimationData = isKatanaChain(chainId)\n ? await estimateGasFees(publicClient, callData, parseGwei('1'))\n : {};\n\n const { request } = await publicClient.simulateContract({\n ...callData,\n ...gasEstimationData,\n });\n\n const txHash = await walletClient.writeContract(request);\n\n return txHash;\n}\n","import BigNumber from 'bignumber.js';\nimport { getContract } from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { CommonParameters } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\nimport { fromSatoshi } from '../../utils/satoshi';\nimport { isVedaVaultChain, Vault, VAULTS } from '../../vaults/lib/config';\n\nexport interface IGetShareValueParameters extends CommonParameters {\n /**\n * Optional DeFi vault identifier specifying the vault in use\n * @default {string} - \"veda\"\n */\n vaultKey?: Vault;\n}\n\n/**\n * Gets the value of a single share unit (in LBTC) from the specified vault.\n *\n * @param {IGetShareValueParameters} parameters - The parameters.\n * @param {Vault} parameters.vaultKey - The optional DeFi vault identifier.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<BigNumber>}\n */\nexport async function getShareValue({\n chainId,\n rpcUrl,\n vaultKey = Vault.Veda,\n}: IGetShareValueParameters): Promise<BigNumber> {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n try {\n const client = makePublicClient({ chainId, rpcUrl });\n\n const accountantContract = getContract({\n abi: vault.accountantContract.abi,\n address: vault.accountantContract.address,\n client,\n });\n\n const exchangeRate = await accountantContract.read.getRate();\n return fromSatoshi(String(exchangeRate));\n } catch (err) {\n const errorMessage = getErrorMessage(err);\n throw new Error(errorMessage);\n }\n}\n","import BigNumber from 'bignumber.js';\nimport { getContract } from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { CommonParameters } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\nimport { fromSatoshi } from '../../utils/satoshi';\nimport { isVedaVaultChain, Vault, VAULTS } from '../../vaults/lib/config';\nimport { getShareValue } from '../getShareValue';\n\nexport interface IGetSharesByAddressParameters extends CommonParameters {\n /**\n * The address of the share holder.\n */\n address: string;\n /**\n * Optional vault key specifying the vault in use\n * @default {string} - \"veda\"\n */\n vaultKey?: Vault;\n}\n\ninterface IGetSharesByAddressResponse {\n /** The amount of share owned. */\n balance: BigNumber;\n /** The value of a single share unit */\n exchangeRate: BigNumber;\n /** The balance represented in BTC. */\n balanceLbtc: BigNumber;\n}\n\n/**\n * Gets the amount of shares (LBTCv) owned by the provided address.\n *\n * @param {IGetSharesByAddressParameters} parameters - The parameters.\n * @param {Vault} parameters.vaultKey - The optional DeFi vault identifier.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @return {Promise<IGetSharesByAddressResponse>}\n */\nexport async function getSharesByAddress({\n chainId,\n rpcUrl,\n address,\n vaultKey = Vault.Veda,\n}: IGetSharesByAddressParameters): Promise<IGetSharesByAddressResponse> {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n try {\n const client = makePublicClient({ chainId, rpcUrl });\n\n const lensContract = getContract({\n abi: vault.lensContract.abi,\n address: vault.lensContract.address,\n client,\n });\n\n const balanceValue = await lensContract.read.balanceOf([\n address,\n vault.vaultContract.address,\n ]);\n\n const balance = fromSatoshi(String(balanceValue));\n\n const exchangeRate = await getShareValue({ chainId, rpcUrl, vaultKey });\n\n return {\n balance,\n exchangeRate,\n balanceLbtc: balance.multipliedBy(exchangeRate),\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n throw new Error(errorMessage);\n }\n}\n"],"names":["getLBTCTotalSupply","chainId","rpcUrl","env","environment","determineEnv","publicClient","makePublicClient","lbtcContract","getTokenContractInfo","Token","totalSupplyRaw","fromSatoshi","claimUnstakeRedeem","data","proofSignature","account","provider","DEFAULT_ENV","walletClient","makeWalletClient","btcbTokenContract","AddressKind","assetRouterAddress","zeroAddress","callData","CHAIN_ID_TO_VIEM_CHAIN_MAP","ASSET_ROUTER_ABI","ensureHex","gasEstimationData","isKatanaChain","estimateGasFees","parseGwei","request","getShareValue","vaultKey","Vault","vault","VAULTS","isVedaVaultChain","client","exchangeRate","getContract","err","errorMessage","getErrorMessage","getSharesByAddress","address","balanceValue","balance","error"],"mappings":"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"}