@lombard.finance/sdk 4.7.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +91 -2
- package/README.md +22 -21
- package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.d.ts.map +1 -1
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts.map +1 -1
- package/dist/api.cjs +1 -1
- package/dist/api.js +5 -5
- package/dist/bridge.cjs +1 -1
- package/dist/bridge.js +1 -1
- package/dist/btc.cjs +1 -1
- package/dist/btc.js +2 -2
- package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts.map +1 -1
- package/dist/chains/btc/actions/deposit/config/evm.d.ts.map +1 -1
- package/dist/chains/btc/actions/deposit/config/solana.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/types.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/BtcStake.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/config/evm.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/config/solana.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts.map +1 -1
- package/dist/chains/btc/client/getCurrentBlockHeight.d.ts.map +1 -1
- package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts +19 -4
- package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts.map +1 -1
- package/dist/chains/evm/actions/deploy/index.d.ts.map +1 -1
- package/dist/chains/evm/actions/deploy/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/deposit/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/deposit/index.d.ts.map +1 -1
- package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts.map +1 -1
- package/dist/chains/evm/actions/redeem/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/redeem/index.d.ts.map +1 -1
- package/dist/chains/evm/actions/redeem/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/stake/config/index.d.ts.map +1 -1
- package/dist/chains/evm/actions/stake/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/stake/index.d.ts.map +1 -1
- package/dist/chains/evm/actions/stake/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts.map +1 -1
- package/dist/chains/evm/actions/unstake/index.d.ts.map +1 -1
- package/dist/chains/evm/actions/unstake/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/withdraw/EvmCancelWithdraw.d.ts.map +1 -1
- package/dist/chains/evm/actions/withdraw/EvmWithdraw.d.ts +6 -0
- package/dist/chains/evm/actions/withdraw/EvmWithdraw.d.ts.map +1 -1
- package/dist/chains/evm/actions/withdraw/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/withdraw/types.d.ts.map +1 -1
- package/dist/chains/solana/SolanaActions.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/types.d.ts.map +1 -1
- package/dist/chains/solana/actions/stake/SolanaStake.d.ts.map +1 -1
- package/dist/chains/solana/actions/stake/types.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/factory.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/types.d.ts.map +1 -1
- package/dist/chains/solana/utils.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/config/index.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/factory.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/types.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/config/index.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/factory.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/types.d.ts.map +1 -1
- package/dist/chunks/{BtcActions-BczTnzRn.js → BtcActions-CFGiDxtv.js} +20 -22
- package/dist/chunks/BtcActions-CFGiDxtv.js.map +1 -0
- package/dist/chunks/BtcActions-DJJmmyzi.cjs +2 -0
- package/dist/chunks/BtcActions-DJJmmyzi.cjs.map +1 -0
- package/dist/chunks/EvmActions-CUKBeiUw.js +1508 -0
- package/dist/chunks/EvmActions-CUKBeiUw.js.map +1 -0
- package/dist/chunks/EvmActions-CxipDb7X.cjs +7 -0
- package/dist/chunks/EvmActions-CxipDb7X.cjs.map +1 -0
- package/dist/chunks/{ReferralsClient-W-0-383w.js → ReferralsClient-BRa26dYS.js} +4 -4
- package/dist/chunks/ReferralsClient-BRa26dYS.js.map +1 -0
- package/dist/chunks/{ReferralsClient-D8dHEk_X.cjs → ReferralsClient-o-3AUm7s.cjs} +2 -2
- package/dist/chunks/ReferralsClient-o-3AUm7s.cjs.map +1 -0
- package/dist/chunks/{approveLBTC-BMC4cZEk.cjs → approveLBTC-BBl3KcT2.cjs} +2 -2
- package/dist/chunks/{approveLBTC-BMC4cZEk.cjs.map → approveLBTC-BBl3KcT2.cjs.map} +1 -1
- package/dist/chunks/{approveLBTC-BkdT1N3V.js → approveLBTC-DnCt6ZZF.js} +3 -3
- package/dist/chunks/{approveLBTC-BkdT1N3V.js.map → approveLBTC-DnCt6ZZF.js.map} +1 -1
- package/dist/chunks/{blockchain-identifier-BLPnwbIN.js → blockchain-identifier-BkASqCgZ.js} +2 -2
- package/dist/chunks/blockchain-identifier-BkASqCgZ.js.map +1 -0
- package/dist/chunks/{blockchain-identifier-Bp-LTIdG.cjs → blockchain-identifier-DWfC3Es2.cjs} +2 -2
- package/dist/chunks/blockchain-identifier-DWfC3Es2.cjs.map +1 -0
- package/dist/chunks/{bridge-DbB23m2a.js → bridge-DV4fOcHe.js} +4 -4
- package/dist/chunks/bridge-DV4fOcHe.js.map +1 -0
- package/dist/chunks/{bridge-7Eq_Jmi2.cjs → bridge-DZp5x4Yb.cjs} +2 -2
- package/dist/chunks/bridge-DZp5x4Yb.cjs.map +1 -0
- package/dist/chunks/{config-ow9X5H0c.cjs → config-BfX8lrdO.cjs} +2 -2
- package/dist/chunks/config-BfX8lrdO.cjs.map +1 -0
- package/dist/chunks/{config-C8BfN_9P.js → config-wnjPtnjd.js} +46 -53
- package/dist/chunks/config-wnjPtnjd.js.map +1 -0
- package/dist/chunks/{defi-registry-B8V6dRVB.cjs → defi-registry-CyMKVT3z.cjs} +2 -2
- package/dist/chunks/defi-registry-CyMKVT3z.cjs.map +1 -0
- package/dist/chunks/{defi-registry-CD8EUcNu.js → defi-registry-DULXbu3D.js} +9 -9
- package/dist/chunks/defi-registry-DULXbu3D.js.map +1 -0
- package/dist/chunks/{depositStatus-BJA7tNqc.cjs → depositStatus-B9P1YXEU.cjs} +2 -2
- package/dist/chunks/depositStatus-B9P1YXEU.cjs.map +1 -0
- package/dist/chunks/{depositStatus-HosfExLl.js → depositStatus-Cgd_GDUt.js} +5 -5
- package/dist/chunks/depositStatus-Cgd_GDUt.js.map +1 -0
- package/dist/chunks/events-B9b3YdgM.cjs +2 -0
- package/dist/chunks/events-B9b3YdgM.cjs.map +1 -0
- package/dist/chunks/{events-BlzP_SCT.js → events-DU2wYlt_.js} +189 -191
- package/dist/chunks/events-DU2wYlt_.js.map +1 -0
- package/dist/chunks/{get-exchange-ratio-Bl6pt546.js → get-exchange-ratio-BvPUfcIQ.js} +2 -2
- package/dist/chunks/{get-exchange-ratio-Bl6pt546.js.map → get-exchange-ratio-BvPUfcIQ.js.map} +1 -1
- package/dist/chunks/{get-exchange-ratio-t1PW8I6_.cjs → get-exchange-ratio-DGztGO7i.cjs} +2 -2
- package/dist/chunks/{get-exchange-ratio-t1PW8I6_.cjs.map → get-exchange-ratio-DGztGO7i.cjs.map} +1 -1
- package/dist/chunks/{get-positions-summary-DdZvBmCN.cjs → get-positions-summary-CC7BDtlY.cjs} +2 -2
- package/dist/chunks/get-positions-summary-CC7BDtlY.cjs.map +1 -0
- package/dist/chunks/{get-positions-summary-CaX2BCHp.js → get-positions-summary-DxAgmaMl.js} +2 -2
- package/dist/chunks/get-positions-summary-DxAgmaMl.js.map +1 -0
- package/dist/chunks/get-vault-tvl-B6rSrGi_.js +203 -0
- package/dist/chunks/get-vault-tvl-B6rSrGi_.js.map +1 -0
- package/dist/chunks/get-vault-tvl-dvEPPxvT.cjs +2 -0
- package/dist/chunks/get-vault-tvl-dvEPPxvT.cjs.map +1 -0
- package/dist/chunks/get-vault-withdrawals-Cgx7VsM1.cjs +2 -0
- package/dist/chunks/get-vault-withdrawals-Cgx7VsM1.cjs.map +1 -0
- package/dist/chunks/get-vault-withdrawals-W5CgNbqE.js +154 -0
- package/dist/chunks/get-vault-withdrawals-W5CgNbqE.js.map +1 -0
- package/dist/chunks/{getUserStakeAndBakeSignature-CqlrwA0t.js → getUserStakeAndBakeSignature-BRhWFYyY.js} +4 -4
- package/dist/chunks/getUserStakeAndBakeSignature-BRhWFYyY.js.map +1 -0
- package/dist/chunks/{getUserStakeAndBakeSignature-BmY5j0OM.cjs → getUserStakeAndBakeSignature-VlC_GHmz.cjs} +2 -2
- package/dist/chunks/getUserStakeAndBakeSignature-VlC_GHmz.cjs.map +1 -0
- package/dist/chunks/hex-BiCL4CPh.js +11 -0
- package/dist/chunks/hex-BiCL4CPh.js.map +1 -0
- package/dist/chunks/hex-DeJtv8eu.cjs +2 -0
- package/dist/chunks/hex-DeJtv8eu.cjs.map +1 -0
- package/dist/chunks/{lbtc-addresses-BlyGFWnW.js → lbtc-addresses-ClXt-tuB.js} +2 -2
- package/dist/chunks/{lbtc-addresses-BlyGFWnW.js.map → lbtc-addresses-ClXt-tuB.js.map} +1 -1
- package/dist/chunks/{lbtc-addresses-DjsipX5Q.cjs → lbtc-addresses-D3jG1VUC.cjs} +2 -2
- package/dist/chunks/{lbtc-addresses-DjsipX5Q.cjs.map → lbtc-addresses-D3jG1VUC.cjs.map} +1 -1
- package/dist/chunks/parameters-CcpaKGU2.js +24 -0
- package/dist/chunks/parameters-CcpaKGU2.js.map +1 -0
- package/dist/chunks/parameters-YNWmaAho.cjs +2 -0
- package/dist/chunks/parameters-YNWmaAho.cjs.map +1 -0
- package/dist/chunks/{statusConstants-BJIXJNIC.cjs → statusConstants-B-7VEYgO.cjs} +2 -2
- package/dist/chunks/statusConstants-B-7VEYgO.cjs.map +1 -0
- package/dist/chunks/{statusConstants-BQna5LGH.js → statusConstants-C3JHNUTC.js} +15 -17
- package/dist/chunks/statusConstants-C3JHNUTC.js.map +1 -0
- package/dist/chunks/{storeNetworkFeeSignature-tprCigR1.js → storeNetworkFeeSignature-CY_Z-Wtn.js} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-tprCigR1.js.map → storeNetworkFeeSignature-CY_Z-Wtn.js.map} +1 -1
- package/dist/chunks/{storeNetworkFeeSignature-CLm8I2pf.cjs → storeNetworkFeeSignature-DJgBfZp7.cjs} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-CLm8I2pf.cjs.map → storeNetworkFeeSignature-DJgBfZp7.cjs.map} +1 -1
- package/dist/chunks/token-addresses-C7H9E4qz.cjs +2 -0
- package/dist/chunks/token-addresses-C7H9E4qz.cjs.map +1 -0
- package/dist/chunks/{token-addresses-Ddar0FyS.js → token-addresses-DVnRPyu4.js} +16 -14
- package/dist/chunks/token-addresses-DVnRPyu4.js.map +1 -0
- package/dist/chunks/{tokens-HhVpKe3K.js → tokens-Btl3GXbc.js} +3 -3
- package/dist/chunks/tokens-Btl3GXbc.js.map +1 -0
- package/dist/chunks/{tokens-CBsz6l_2.cjs → tokens-DEYY7W7O.cjs} +2 -2
- package/dist/chunks/tokens-DEYY7W7O.cjs.map +1 -0
- package/dist/chunks/unwrapBtceToLbtcv-C4OxoVVU.js +321 -0
- package/dist/chunks/unwrapBtceToLbtcv-C4OxoVVU.js.map +1 -0
- package/dist/chunks/unwrapBtceToLbtcv-Dg-yUGpg.cjs +2 -0
- package/dist/chunks/unwrapBtceToLbtcv-Dg-yUGpg.cjs.map +1 -0
- package/dist/chunks/withdrawEarn-CTtVruit.cjs +7 -0
- package/dist/chunks/withdrawEarn-CTtVruit.cjs.map +1 -0
- package/dist/chunks/{unstakeLBTC-Bg8OsAMV.js → withdrawEarn-QFaMhs0t.js} +965 -612
- package/dist/chunks/withdrawEarn-QFaMhs0t.js.map +1 -0
- package/dist/client/ApiNamespace.d.ts +3 -6
- package/dist/client/ApiNamespace.d.ts.map +1 -1
- package/dist/common/blockchain-identifier.d.ts.map +1 -1
- package/dist/common/chains.d.ts +1 -1
- package/dist/common/chains.d.ts.map +1 -1
- package/dist/common/feature-config.d.ts.map +1 -1
- package/dist/contract-functions/cancelEarnWithdrawal/cancelEarnWithdrawal.d.ts +19 -0
- package/dist/contract-functions/cancelEarnWithdrawal/cancelEarnWithdrawal.d.ts.map +1 -0
- package/dist/contract-functions/cancelEarnWithdrawal/index.d.ts +2 -0
- package/dist/contract-functions/cancelEarnWithdrawal/index.d.ts.map +1 -0
- package/dist/contract-functions/depositEarn/depositEarn.d.ts +36 -0
- package/dist/contract-functions/depositEarn/depositEarn.d.ts.map +1 -0
- package/dist/contract-functions/depositEarn/index.d.ts +2 -0
- package/dist/contract-functions/depositEarn/index.d.ts.map +1 -0
- package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.d.ts.map +1 -1
- package/dist/contract-functions/getEarnPosition/getEarnPosition.d.ts +17 -16
- package/dist/contract-functions/getEarnPosition/getEarnPosition.d.ts.map +1 -1
- package/dist/contract-functions/getShareValue/getShareValue.d.ts +5 -15
- package/dist/contract-functions/getShareValue/getShareValue.d.ts.map +1 -1
- package/dist/contract-functions/getSharesByAddress/getSharesByAddress.d.ts +5 -20
- package/dist/contract-functions/getSharesByAddress/getSharesByAddress.d.ts.map +1 -1
- package/dist/contract-functions/index.d.ts +4 -2
- package/dist/contract-functions/index.d.ts.map +1 -1
- package/dist/contract-functions/previewWithdrawEarn/index.d.ts +2 -0
- package/dist/contract-functions/previewWithdrawEarn/index.d.ts.map +1 -0
- package/dist/contract-functions/previewWithdrawEarn/previewWithdrawEarn.d.ts +38 -0
- package/dist/contract-functions/previewWithdrawEarn/previewWithdrawEarn.d.ts.map +1 -0
- package/dist/contract-functions/signStakeAndBake/validation.d.ts.map +1 -1
- package/dist/contract-functions/withdrawEarn/index.d.ts +2 -0
- package/dist/contract-functions/withdrawEarn/index.d.ts.map +1 -0
- package/dist/contract-functions/withdrawEarn/withdrawEarn.d.ts +46 -0
- package/dist/contract-functions/withdrawEarn/withdrawEarn.d.ts.map +1 -0
- package/dist/contract-functions/wrapToBtce/wrapToBtce.d.ts.map +1 -1
- package/dist/contracts.cjs +1 -1
- package/dist/contracts.js +32 -30
- package/dist/core/assets/catalog.d.ts.map +1 -1
- package/dist/core/assets/utils.d.ts.map +1 -1
- package/dist/core/chains/utils.d.ts.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +19 -19
- package/dist/defi/defi-registry.d.ts.map +1 -1
- package/dist/defi/index.d.ts +1 -1
- package/dist/defi/index.d.ts.map +1 -1
- package/dist/defi.cjs +1 -1
- package/dist/defi.js +4 -4
- package/dist/entries/api.d.ts +14 -14
- package/dist/entries/api.d.ts.map +1 -1
- package/dist/entries/contracts.d.ts +4 -2
- package/dist/entries/contracts.d.ts.map +1 -1
- package/dist/entries/defi.d.ts +1 -1
- package/dist/entries/defi.d.ts.map +1 -1
- package/dist/entries/evm.d.ts +7 -7
- package/dist/entries/evm.d.ts.map +1 -1
- package/dist/entries/utils.d.ts +9 -9
- package/dist/entries/utils.d.ts.map +1 -1
- package/dist/entries/vaults.d.ts +1 -1
- package/dist/entries/vaults.d.ts.map +1 -1
- package/dist/evm.cjs +1 -1
- package/dist/evm.js +4 -4
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +67 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +171 -174
- package/dist/index.js.map +1 -1
- package/dist/metrics.cjs +1 -1
- package/dist/metrics.js +1 -1
- package/dist/services/EvmService.d.ts.map +1 -1
- package/dist/shared/actions/BaseAction.d.ts.map +1 -1
- package/dist/shared/deposits/depositStatus.d.ts.map +1 -1
- package/dist/shared/validation/index.d.ts.map +1 -1
- package/dist/tokens/tokens.d.ts.map +1 -1
- package/dist/utils/chain.d.ts.map +1 -1
- package/dist/utils/consoleLogger.d.ts.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +16 -16
- package/dist/vaults/index.d.ts +8 -10
- package/dist/vaults/index.d.ts.map +1 -1
- package/dist/vaults/lib/config.d.ts +148 -150
- package/dist/vaults/lib/config.d.ts.map +1 -1
- package/dist/vaults/lib/metrics/get-vault-apy.d.ts +2 -4
- package/dist/vaults/lib/metrics/get-vault-apy.d.ts.map +1 -1
- package/dist/vaults/lib/metrics/get-vault-points.d.ts +2 -5
- package/dist/vaults/lib/metrics/get-vault-points.d.ts.map +1 -1
- package/dist/vaults/lib/metrics/get-vault-tvl.d.ts +5 -8
- package/dist/vaults/lib/metrics/get-vault-tvl.d.ts.map +1 -1
- package/dist/vaults/lib/ops/deposit.d.ts +5 -14
- package/dist/vaults/lib/ops/deposit.d.ts.map +1 -1
- package/dist/vaults/lib/ops/get-vault-deposits.d.ts +9 -13
- package/dist/vaults/lib/ops/get-vault-deposits.d.ts.map +1 -1
- package/dist/vaults/lib/ops/get-vault-minimum-deposit.d.ts +4 -7
- package/dist/vaults/lib/ops/get-vault-minimum-deposit.d.ts.map +1 -1
- package/dist/vaults/lib/ops/get-vault-withdrawals.d.ts +14 -18
- package/dist/vaults/lib/ops/get-vault-withdrawals.d.ts.map +1 -1
- package/dist/vaults/lib/ops/preview-vault-deposit.d.ts +4 -8
- package/dist/vaults/lib/ops/preview-vault-deposit.d.ts.map +1 -1
- package/dist/vaults/lib/ops/withdraw.d.ts +11 -27
- package/dist/vaults/lib/ops/withdraw.d.ts.map +1 -1
- package/dist/vaults.cjs +1 -1
- package/dist/vaults.cjs.map +1 -1
- package/dist/vaults.js +91 -103
- package/dist/vaults.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/BtcActions-BczTnzRn.js.map +0 -1
- package/dist/chunks/BtcActions-PyJhuiZN.cjs +0 -2
- package/dist/chunks/BtcActions-PyJhuiZN.cjs.map +0 -1
- package/dist/chunks/EvmActions-D3RAK9_Z.cjs +0 -2
- package/dist/chunks/EvmActions-D3RAK9_Z.cjs.map +0 -1
- package/dist/chunks/EvmActions-DSKThOAy.js +0 -1341
- package/dist/chunks/EvmActions-DSKThOAy.js.map +0 -1
- package/dist/chunks/ReferralsClient-D8dHEk_X.cjs.map +0 -1
- package/dist/chunks/ReferralsClient-W-0-383w.js.map +0 -1
- package/dist/chunks/blockchain-identifier-BLPnwbIN.js.map +0 -1
- package/dist/chunks/blockchain-identifier-Bp-LTIdG.cjs.map +0 -1
- package/dist/chunks/bridge-7Eq_Jmi2.cjs.map +0 -1
- package/dist/chunks/bridge-DbB23m2a.js.map +0 -1
- package/dist/chunks/config-C8BfN_9P.js.map +0 -1
- package/dist/chunks/config-ow9X5H0c.cjs.map +0 -1
- package/dist/chunks/defi-registry-B8V6dRVB.cjs.map +0 -1
- package/dist/chunks/defi-registry-CD8EUcNu.js.map +0 -1
- package/dist/chunks/depositStatus-BJA7tNqc.cjs.map +0 -1
- package/dist/chunks/depositStatus-HosfExLl.js.map +0 -1
- package/dist/chunks/events-BlzP_SCT.js.map +0 -1
- package/dist/chunks/events-DNehj45M.cjs +0 -2
- package/dist/chunks/events-DNehj45M.cjs.map +0 -1
- package/dist/chunks/get-positions-summary-CaX2BCHp.js.map +0 -1
- package/dist/chunks/get-positions-summary-DdZvBmCN.cjs.map +0 -1
- package/dist/chunks/get-vault-tvl-CihHEkqK.js +0 -226
- package/dist/chunks/get-vault-tvl-CihHEkqK.js.map +0 -1
- package/dist/chunks/get-vault-tvl-DZ-xzehy.cjs +0 -2
- package/dist/chunks/get-vault-tvl-DZ-xzehy.cjs.map +0 -1
- package/dist/chunks/get-vault-withdrawals-DLwFMQEB.cjs +0 -2
- package/dist/chunks/get-vault-withdrawals-DLwFMQEB.cjs.map +0 -1
- package/dist/chunks/get-vault-withdrawals-QJOdxB5Z.js +0 -161
- package/dist/chunks/get-vault-withdrawals-QJOdxB5Z.js.map +0 -1
- package/dist/chunks/getUserStakeAndBakeSignature-BmY5j0OM.cjs.map +0 -1
- package/dist/chunks/getUserStakeAndBakeSignature-CqlrwA0t.js.map +0 -1
- package/dist/chunks/parameters-C_16L5ft.js +0 -11
- package/dist/chunks/parameters-C_16L5ft.js.map +0 -1
- package/dist/chunks/parameters-DK9cYCAH.cjs +0 -2
- package/dist/chunks/parameters-DK9cYCAH.cjs.map +0 -1
- package/dist/chunks/statusConstants-BJIXJNIC.cjs.map +0 -1
- package/dist/chunks/statusConstants-BQna5LGH.js.map +0 -1
- package/dist/chunks/time-I-BeyUkG.cjs +0 -2
- package/dist/chunks/time-I-BeyUkG.cjs.map +0 -1
- package/dist/chunks/time-Sa5gggPG.js +0 -24
- package/dist/chunks/time-Sa5gggPG.js.map +0 -1
- package/dist/chunks/token-addresses-Ddar0FyS.js.map +0 -1
- package/dist/chunks/token-addresses-DvY-Mw7b.cjs +0 -2
- package/dist/chunks/token-addresses-DvY-Mw7b.cjs.map +0 -1
- package/dist/chunks/tokens-CBsz6l_2.cjs.map +0 -1
- package/dist/chunks/tokens-HhVpKe3K.js.map +0 -1
- package/dist/chunks/unstakeLBTC-Bg8OsAMV.js.map +0 -1
- package/dist/chunks/unstakeLBTC-BmHvDxBN.cjs +0 -2
- package/dist/chunks/unstakeLBTC-BmHvDxBN.cjs.map +0 -1
- package/dist/chunks/withdraw-Bkp5-2dG.cjs +0 -12
- package/dist/chunks/withdraw-Bkp5-2dG.cjs.map +0 -1
- package/dist/chunks/withdraw-kf8mYbYH.js +0 -209
- package/dist/chunks/withdraw-kf8mYbYH.js.map +0 -1
- package/dist/chunks/wrapToBtce-By2mh503.js +0 -298
- package/dist/chunks/wrapToBtce-By2mh503.js.map +0 -1
- package/dist/chunks/wrapToBtce-DDeIlv3d.cjs +0 -2
- package/dist/chunks/wrapToBtce-DDeIlv3d.cjs.map +0 -1
- package/dist/contract-functions/getShareValue/index.d.ts +0 -2
- package/dist/contract-functions/getShareValue/index.d.ts.map +0 -1
- package/dist/contract-functions/getSharesByAddress/index.d.ts +0 -2
- package/dist/contract-functions/getSharesByAddress/index.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const $=require("bignumber.js"),F=require("viem"),u=require("./tokens-CBsz6l_2.cjs"),e=require("./token-addresses-DvY-Mw7b.cjs"),U=require("./numbers-3LtmxfD8.cjs"),ee=require("./array-DKG6Pz4i.cjs"),Z=require("./approveLBTC-BMC4cZEk.cjs"),te=require("@layerzerolabs/lz-v2-utilities"),G=JSON.parse('[{"inputs":[{"internalType":"address","name":"wrappedNative","type":"address"},{"internalType":"address","name":"armProxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BadARMSignal","type":"error"},{"inputs":[],"name":"FailedToSendValue","type":"error"},{"inputs":[],"name":"InsufficientFeeTokenAmount","type":"error"},{"inputs":[],"name":"InvalidMsgValue","type":"error"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"InvalidRecipientAddress","type":"error"},{"inputs":[{"internalType":"uint64","name":"chainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"name":"OffRampMismatch","type":"error"},{"inputs":[],"name":"OnlyOffRamp","type":"error"},{"inputs":[{"internalType":"uint64","name":"destChainSelector","type":"uint64"}],"name":"UnsupportedDestinationChain","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"messageId","type":"bytes32"},{"indexed":false,"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"offRamp","type":"address"},{"indexed":false,"internalType":"bytes32","name":"calldataHash","type":"bytes32"}],"name":"MessageExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"offRamp","type":"address"}],"name":"OffRampAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"offRamp","type":"address"}],"name":"OffRampRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"destChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"onRamp","type":"address"}],"name":"OnRampSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"MAX_RET_BYTES","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint64","name":"destChainSelector","type":"uint64"},{"internalType":"address","name":"onRamp","type":"address"}],"internalType":"struct Router.OnRamp[]","name":"onRampUpdates","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"internalType":"struct Router.OffRamp[]","name":"offRampRemoves","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"internalType":"struct Router.OffRamp[]","name":"offRampAdds","type":"tuple[]"}],"name":"applyRampUpdates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"destinationChainSelector","type":"uint64"},{"components":[{"internalType":"bytes","name":"receiver","type":"bytes"},{"internalType":"bytes","name":"data","type":"bytes"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Client.EVMTokenAmount[]","name":"tokenAmounts","type":"tuple[]"},{"internalType":"address","name":"feeToken","type":"address"},{"internalType":"bytes","name":"extraArgs","type":"bytes"}],"internalType":"struct Client.EVM2AnyMessage","name":"message","type":"tuple"}],"name":"ccipSend","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getArmProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"destinationChainSelector","type":"uint64"},{"components":[{"internalType":"bytes","name":"receiver","type":"bytes"},{"internalType":"bytes","name":"data","type":"bytes"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Client.EVMTokenAmount[]","name":"tokenAmounts","type":"tuple[]"},{"internalType":"address","name":"feeToken","type":"address"},{"internalType":"bytes","name":"extraArgs","type":"bytes"}],"internalType":"struct Client.EVM2AnyMessage","name":"message","type":"tuple"}],"name":"getFee","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOffRamps","outputs":[{"components":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"internalType":"struct Router.OffRamp[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"destChainSelector","type":"uint64"}],"name":"getOnRamp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainSelector","type":"uint64"}],"name":"getSupportedTokens","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWrappedNative","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainSelector","type":"uint64"}],"name":"isChainSupported","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"name":"isOffRamp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"messageId","type":"bytes32"},{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"bytes","name":"sender","type":"bytes"},{"internalType":"bytes","name":"data","type":"bytes"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Client.EVMTokenAmount[]","name":"destTokenAmounts","type":"tuple[]"}],"internalType":"struct Client.Any2EVMMessage","name":"message","type":"tuple"},{"internalType":"uint16","name":"gasForCallExactCheck","type":"uint16"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"routeMessage","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"retData","type":"bytes"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wrappedNative","type":"address"}],"name":"setWrappedNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"typeAndVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]'),ne={[e.ChainId.ethereum]:{routerAddress:"0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D",chainSelector:"5009297550715157269"},[e.ChainId.base]:{routerAddress:"0x881e3A65B4d4a04dD529061dd0071cf975F58bCD",chainSelector:"15971525489660198786"},[e.ChainId.binanceSmartChain]:{routerAddress:"0x34B03Cb9086d7D758AC55af71584F81A598759FE",chainSelector:"11344663589394136015"},[e.ChainId.sonic]:{routerAddress:"0xB4e1Ff7882474BB93042be9AD5E1fA387949B860",chainSelector:"1673871237479749969"},[e.ChainId.katana]:{routerAddress:"0x7c19b79D2a054114Ab36ad758A36e92376e267DA",chainSelector:"2459028469735686113"},[e.ChainId.megaeth]:{routerAddress:"0xfa546248C54939AA6C48279CdC1EAf9A1125c411",chainSelector:"6093540873831549674"},[e.ChainId.avalanche]:{routerAddress:"0xF4c7E640EdA248ef95972845a62bdC74237805dB",chainSelector:"6433500567565415381"},[e.ChainId.monad]:{routerAddress:"0x33566fE5976AAa420F3d5C64996641Fc3858CaDB",chainSelector:"8481857512324358265"},[e.ChainId.stable]:{routerAddress:"0xECFF67559c0583027A5fbd85136E33bC4D66eeA0",chainSelector:"16978377838628290997"},[e.ChainId.holesky]:{routerAddress:"0xb9531b46fE8808fB3659e39704953c2B1112DD43",chainSelector:"7717148896336251131"},[e.ChainId.baseSepoliaTestnet]:{routerAddress:"0xD3b06cEbF099CE7DA4AcCf578aaebFDBd6e88a93",chainSelector:"10344971235874465080"},[e.ChainId.binanceSmartChainTestnet]:{routerAddress:"0xE1053aE1857476f36A3C62580FF9b016E8EE8F6f",chainSelector:"13264668187771770619"},[e.ChainId.avalancheFuji]:{routerAddress:"0xF694E193200268f9a4868e4Aa017A0118C9a8177",chainSelector:"14767482510784806043"}};function z(n){return ne[n]}const g=JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AdapterNotConfirmed","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[{"internalType":"uint256","name":"commission","type":"uint256"}],"name":"AmountLessThanCommission","type":"error"},{"inputs":[],"name":"AmountTooSmallToPayRelativeFee","type":"error"},{"inputs":[],"name":"BadCommission","type":"error"},{"inputs":[],"name":"BadConfiguration","type":"error"},{"inputs":[],"name":"Bridge_ZeroAddress","type":"error"},{"inputs":[],"name":"Bridge_ZeroAmount","type":"error"},{"inputs":[],"name":"ConsortiumNotConfirmed","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"KnownDestination","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[],"name":"MathOverflowedMulDiv","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotValidDestination","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"PayloadAlreadyUsed","type":"error"},{"inputs":[],"name":"PayloadTooLarge","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes4","name":"action","type":"bytes4"}],"name":"UnexpectedAction","type":"error"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UnknownAdapter","type":"error"},{"inputs":[],"name":"UnknownDestination","type":"error"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes32","name":"fromContract","type":"bytes32"}],"name":"UnknownOriginContract","type":"error"},{"inputs":[],"name":"WrongChainId","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroChainId","type":"error"},{"inputs":[],"name":"ZeroContractHash","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdapter","type":"address"},{"indexed":false,"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"AdapterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"contractAddress","type":"bytes32"}],"name":"BridgeDestinationAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"BridgeDestinationRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract INotaryConsortium","name":"prevVal","type":"address"},{"indexed":true,"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"ConsortiumChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"newValue","type":"uint64"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositAbsoluteCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"newValue","type":"uint16"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositRelativeCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"DepositToBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"}],"name":"PayloadNotarized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"adapter","type":"address"}],"name":"PayloadReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"limit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"window","type":"uint256"}],"name":"RateLimitsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousTreasury","type":"address"},{"indexed":false,"internalType":"address","name":"newTreasury","type":"address"}],"name":"TreasuryChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"amount","type":"uint64"}],"name":"WithdrawFromBridge","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toContract","type":"bytes32"},{"internalType":"uint16","name":"relCommission","type":"uint16"},{"internalType":"uint64","name":"absCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"name":"addDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"authNotary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"chain","type":"bytes32"},{"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"changeAdapter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"changeConsortium","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"newValue","type":"uint64"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositAbsoluteCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"newValue","type":"uint16"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositRelativeCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"consortium","outputs":[{"internalType":"contract INotaryConsortium","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getAdapter","outputs":[{"internalType":"contract IAdapter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"getAdapterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositAbsoluteCommission","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositRelativeCommission","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDestination","outputs":[{"components":[{"internalType":"bytes32","name":"bridgeContract","type":"bytes32"},{"internalType":"uint16","name":"relativeCommission","type":"uint16"},{"internalType":"uint64","name":"absoluteCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"internalType":"struct Bridge.DestinationConfig","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ILBTC","name":"lbtc_","type":"address"},{"internalType":"address","name":"treasury_","type":"address"},{"internalType":"address","name":"owner_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lbtc","outputs":[{"internalType":"contract ILBTC","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"receivePayload","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"removeDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"depositRateLimits","type":"tuple[]"},{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"withdrawRateLimits","type":"tuple[]"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"withdraw","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"nonpayable","type":"function"}]'),o=JSON.parse('[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"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"},{"inputs":[],"name":"InvalidDelegate","type":"error"},{"inputs":[],"name":"InvalidEndpointCall","type":"error"},{"inputs":[],"name":"InvalidLocalDecimals","type":"error"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"name":"InvalidOptions","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"NoPeer","type":"error"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"NotEnoughNative","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"OnlyEndpoint","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"name":"OnlyPeer","type":"error"},{"inputs":[],"name":"OnlySelf","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"name":"SimulationResult","type":"error"},{"inputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"}],"name":"SlippageExceeded","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"indexed":false,"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"EnforcedOptionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inspector","type":"address"}],"name":"MsgInspectorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"srcEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"dstEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"eid","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"peer","type":"bytes32"}],"name":"PeerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preCrimeAddress","type":"address"}],"name":"PreCrimeSet","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"indexed":false,"internalType":"struct RateLimits.Config[]","name":"rateLimitConfigs","type":"tuple[]"},{"indexed":false,"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"RateLimitsChanged","type":"event"},{"inputs":[],"name":"SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEND_AND_CALL","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"}],"name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"uint16","name":"_msgType","type":"uint16"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"}],"name":"combineOptions","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"empty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"}],"name":"enforcedOptions","outputs":[{"internalType":"bytes","name":"enforcedOption","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_srcEid","type":"uint32"}],"name":"getAmountCanBeReceived","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeReceived","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_dstEid","type":"uint32"}],"name":"getAmountCanBeSent","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeSent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"srcEid","type":"uint32"}],"name":"inboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"","type":"tuple"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]"}],"name":"lzReceiveAndRevert","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceiveSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oftVersion","outputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"},{"internalType":"uint64","name":"version","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"dstEid","type":"uint32"}],"name":"outboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"}],"name":"quoteOFT","outputs":[{"components":[{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"uint256","name":"maxAmountLD","type":"uint256"}],"internalType":"struct OFTLimit","name":"oftLimit","type":"tuple"},{"components":[{"internalType":"int256","name":"feeAmountLD","type":"int256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct OFTFeeDetail[]","name":"oftFeeDetails","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"internalType":"bool","name":"_payInLzToken","type":"bool"}],"name":"quoteSend","outputs":[{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"msgFee","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"_fee","type":"tuple"},{"internalType":"address","name":"_refundAddress","type":"address"}],"name":"send","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"setEnforcedOptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_msgInspector","type":"address"}],"name":"setMsgInspector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"setPeer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"name":"setPreCrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"_rateLimitConfigs","type":"tuple[]"},{"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]'),S=$(1e-6);var T=(n=>(n.CCIP="CCIP",n.OFT="OFT",n))(T||{});const q={CCIP:"https://ccip.chain.link/tx/{txHash}",OFT:"https://layerzeroscan.com/tx/{txHash}"},H=[e.ChainId.ethereum,e.ChainId.base,e.ChainId.binanceSmartChain,e.ChainId.katana,e.ChainId.sonic,e.ChainId.avalanche,e.ChainId.monad,e.ChainId.stable,e.ChainId.avalancheFuji,e.ChainId.baseSepoliaTestnet,e.ChainId.holesky,e.ChainId.sepolia],W=[e.ChainId.ethereum,e.ChainId.berachain,e.ChainId.corn,e.ChainId.etherlink,e.ChainId.swell,e.ChainId.tac,e.ChainId.berachainBartioTestnet,e.ChainId.sepolia];ee.unique([...H,...W]);const j=9e4,J=2e5,K=[e.ChainId.berachain,e.ChainId.etherlink,e.ChainId.morph,e.ChainId.sonic,e.ChainId.corn,e.ChainId.tac,e.ChainId.berachainBartioTestnet,e.ChainId.morphHolesky],t=([n,r])=>`[from:${n}, to: ${r}]`,ae={routes:[t([e.ChainId.ethereum,e.ChainId.base]),t([e.ChainId.ethereum,e.ChainId.binanceSmartChain]),t([e.ChainId.ethereum,e.ChainId.sonic]),t([e.ChainId.ethereum,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.ethereum}},ie={routes:[t([e.ChainId.base,e.ChainId.ethereum]),t([e.ChainId.base,e.ChainId.binanceSmartChain]),t([e.ChainId.base,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.base}},se={routes:[t([e.ChainId.binanceSmartChain,e.ChainId.ethereum]),t([e.ChainId.binanceSmartChain,e.ChainId.base]),t([e.ChainId.binanceSmartChain,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.binanceSmartChain}},re={routes:[t([e.ChainId.katana,e.ChainId.ethereum]),t([e.ChainId.katana,e.ChainId.base]),t([e.ChainId.katana,e.ChainId.binanceSmartChain]),t([e.ChainId.katana,e.ChainId.sonic])],type:"CCIP",contract:{address:"0xA869817b48b25EeE986bdF4bE04062e6fd2C418B",abi:g,chainId:e.ChainId.katana}},pe={routes:[t([e.ChainId.sonic,e.ChainId.ethereum]),t([e.ChainId.sonic,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.sonic}},ye={routes:[t([e.ChainId.baseSepoliaTestnet,e.ChainId.holesky])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:g,chainId:e.ChainId.baseSepoliaTestnet}},oe={routes:[t([e.ChainId.holesky,e.ChainId.baseSepoliaTestnet])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:g,chainId:e.ChainId.holesky}},ue=[ae,ie,se,re,pe,ye,oe].reduce((n,r)=>{if(r.type!=="CCIP")return n;const c=r.routes.map(C=>[C,{type:"CCIP",contract:r.contract}]);return n.concat(c)},[]),de=[[t([e.ChainId.ethereum,e.ChainId.berachain]),{type:"OFT",contract:{address:"0x1290A6b480f7eF14925229fdB66f5680aD8F44AD",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.corn]),{type:"OFT",contract:{address:"0x6bc15d7930839ec18a57f6f7df72ae1b439d077f",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.etherlink]),{type:"OFT",contract:{address:"0x3a7647c1323144a16e7D0D71A581E3FE5BD95299",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.swell]),{type:"OFT",contract:{address:"0x37E92d760a15231e652a2C502182a6b44c7510c0",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.tac]),{type:"OFT",contract:{address:"0xA7c4d94F98b6e94C139c4645e4E9a94CD7C0Abf7",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.berachain,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0x630e12D53D4E041b8C5451aD035Ea841E08391d7",abi:o,chainId:e.ChainId.berachain}}],[t([e.ChainId.corn,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0xfc7B20D9B59A8A466f4fC3d34aA69a7D98e71d7A",abi:o,chainId:e.ChainId.corn}}],[t([e.ChainId.etherlink,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0xC832183d4d5fc5831daaC892a93dBBfd798034E3",abi:o,chainId:e.ChainId.etherlink}}],[t([e.ChainId.swell,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0x7B3784AD646C10A8Ddf42b47a4f4bd9aFD351E54",abi:o,chainId:e.ChainId.swell}}],[t([e.ChainId.tac,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0x1298131cDa718bBcA7ACB1f2411e71c05E16f269",abi:o,chainId:e.ChainId.tac}}],[t([e.ChainId.berachainBartioTestnet,e.ChainId.sepolia]),{type:"OFT",contract:{address:"0x1977013acaf27856ac8048C42EE2ed0134d53895",abi:o,chainId:e.ChainId.berachainBartioTestnet}}],[t([e.ChainId.sepolia,e.ChainId.berachainBartioTestnet]),{type:"OFT",contract:{address:"0xe3748bF0Ec0A76767539eE28610B3367e35fe2C2",abi:o,chainId:e.ChainId.sepolia}}]],me=new Map([...ue,...de]),D=(n,r)=>me.get(t([n,r]));function le(n){const r="0x97a657c9",c=F.encodePacked(["uint256"],[n]);return`${r}${c.slice(2)}`}async function X({to:n,amount:r,approve:c,recipient:C,account:a,chainId:i,provider:f,env:I,rpcUrl:b}){const s=$(r),w=C||a,p=D(i,n);if(!p||p.type!==T.CCIP)throw new Error(`Unsupported bridge from ${i} to ${n}. Please switch to the supported chains: ${H.join(", ")}`);const d=z(i),y=z(n);if(!d||!y)throw new Error(`CCIP configuration not found for chains ${i} -> ${n}`);const m=d.routerAddress,l=await u.getTokenInfo(e.Token.LBTC,i,I,b);if(!l)throw new Error("Could not retrieve LBTC contract info.");const h=u.makePublicClient({chainId:i,rpcUrl:b}),_=e.makeWalletClient({provider:f,chainId:i}),A=U.toBigInt(u.toBaseDenomination(s,l.decimals));if(s.isLessThan(S))throw new Error(`The amount is smaller than the minimum amount allowed: ${S.toFixed()}`);const B=await h.readContract({address:l.address,abi:l.abi,functionName:"balanceOf",args:[a]}),v=u.fromBaseDenomination(String(B),l.decimals);if(s.isGreaterThan(v))throw new Error(`The amount exceeds the account's balance.
|
|
1
|
+
"use strict";const $=require("bignumber.js"),F=require("viem"),u=require("./tokens-DEYY7W7O.cjs"),e=require("./token-addresses-C7H9E4qz.cjs"),U=require("./numbers-3LtmxfD8.cjs"),ee=require("./array-DKG6Pz4i.cjs"),Z=require("./approveLBTC-BBl3KcT2.cjs"),te=require("@layerzerolabs/lz-v2-utilities"),G=JSON.parse('[{"inputs":[{"internalType":"address","name":"wrappedNative","type":"address"},{"internalType":"address","name":"armProxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BadARMSignal","type":"error"},{"inputs":[],"name":"FailedToSendValue","type":"error"},{"inputs":[],"name":"InsufficientFeeTokenAmount","type":"error"},{"inputs":[],"name":"InvalidMsgValue","type":"error"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"InvalidRecipientAddress","type":"error"},{"inputs":[{"internalType":"uint64","name":"chainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"name":"OffRampMismatch","type":"error"},{"inputs":[],"name":"OnlyOffRamp","type":"error"},{"inputs":[{"internalType":"uint64","name":"destChainSelector","type":"uint64"}],"name":"UnsupportedDestinationChain","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"messageId","type":"bytes32"},{"indexed":false,"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"offRamp","type":"address"},{"indexed":false,"internalType":"bytes32","name":"calldataHash","type":"bytes32"}],"name":"MessageExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"offRamp","type":"address"}],"name":"OffRampAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"offRamp","type":"address"}],"name":"OffRampRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"destChainSelector","type":"uint64"},{"indexed":false,"internalType":"address","name":"onRamp","type":"address"}],"name":"OnRampSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"MAX_RET_BYTES","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint64","name":"destChainSelector","type":"uint64"},{"internalType":"address","name":"onRamp","type":"address"}],"internalType":"struct Router.OnRamp[]","name":"onRampUpdates","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"internalType":"struct Router.OffRamp[]","name":"offRampRemoves","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"internalType":"struct Router.OffRamp[]","name":"offRampAdds","type":"tuple[]"}],"name":"applyRampUpdates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"destinationChainSelector","type":"uint64"},{"components":[{"internalType":"bytes","name":"receiver","type":"bytes"},{"internalType":"bytes","name":"data","type":"bytes"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Client.EVMTokenAmount[]","name":"tokenAmounts","type":"tuple[]"},{"internalType":"address","name":"feeToken","type":"address"},{"internalType":"bytes","name":"extraArgs","type":"bytes"}],"internalType":"struct Client.EVM2AnyMessage","name":"message","type":"tuple"}],"name":"ccipSend","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getArmProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"destinationChainSelector","type":"uint64"},{"components":[{"internalType":"bytes","name":"receiver","type":"bytes"},{"internalType":"bytes","name":"data","type":"bytes"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Client.EVMTokenAmount[]","name":"tokenAmounts","type":"tuple[]"},{"internalType":"address","name":"feeToken","type":"address"},{"internalType":"bytes","name":"extraArgs","type":"bytes"}],"internalType":"struct Client.EVM2AnyMessage","name":"message","type":"tuple"}],"name":"getFee","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOffRamps","outputs":[{"components":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"internalType":"struct Router.OffRamp[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"destChainSelector","type":"uint64"}],"name":"getOnRamp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainSelector","type":"uint64"}],"name":"getSupportedTokens","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWrappedNative","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainSelector","type":"uint64"}],"name":"isChainSupported","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"address","name":"offRamp","type":"address"}],"name":"isOffRamp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"messageId","type":"bytes32"},{"internalType":"uint64","name":"sourceChainSelector","type":"uint64"},{"internalType":"bytes","name":"sender","type":"bytes"},{"internalType":"bytes","name":"data","type":"bytes"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Client.EVMTokenAmount[]","name":"destTokenAmounts","type":"tuple[]"}],"internalType":"struct Client.Any2EVMMessage","name":"message","type":"tuple"},{"internalType":"uint16","name":"gasForCallExactCheck","type":"uint16"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"routeMessage","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"retData","type":"bytes"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wrappedNative","type":"address"}],"name":"setWrappedNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"typeAndVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]'),ne={[e.ChainId.ethereum]:{routerAddress:"0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D",chainSelector:"5009297550715157269"},[e.ChainId.base]:{routerAddress:"0x881e3A65B4d4a04dD529061dd0071cf975F58bCD",chainSelector:"15971525489660198786"},[e.ChainId.binanceSmartChain]:{routerAddress:"0x34B03Cb9086d7D758AC55af71584F81A598759FE",chainSelector:"11344663589394136015"},[e.ChainId.sonic]:{routerAddress:"0xB4e1Ff7882474BB93042be9AD5E1fA387949B860",chainSelector:"1673871237479749969"},[e.ChainId.katana]:{routerAddress:"0x7c19b79D2a054114Ab36ad758A36e92376e267DA",chainSelector:"2459028469735686113"},[e.ChainId.megaeth]:{routerAddress:"0xfa546248C54939AA6C48279CdC1EAf9A1125c411",chainSelector:"6093540873831549674"},[e.ChainId.avalanche]:{routerAddress:"0xF4c7E640EdA248ef95972845a62bdC74237805dB",chainSelector:"6433500567565415381"},[e.ChainId.monad]:{routerAddress:"0x33566fE5976AAa420F3d5C64996641Fc3858CaDB",chainSelector:"8481857512324358265"},[e.ChainId.stable]:{routerAddress:"0xECFF67559c0583027A5fbd85136E33bC4D66eeA0",chainSelector:"16978377838628290997"},[e.ChainId.holesky]:{routerAddress:"0xb9531b46fE8808fB3659e39704953c2B1112DD43",chainSelector:"7717148896336251131"},[e.ChainId.baseSepoliaTestnet]:{routerAddress:"0xD3b06cEbF099CE7DA4AcCf578aaebFDBd6e88a93",chainSelector:"10344971235874465080"},[e.ChainId.binanceSmartChainTestnet]:{routerAddress:"0xE1053aE1857476f36A3C62580FF9b016E8EE8F6f",chainSelector:"13264668187771770619"},[e.ChainId.avalancheFuji]:{routerAddress:"0xF694E193200268f9a4868e4Aa017A0118C9a8177",chainSelector:"14767482510784806043"}};function z(n){return ne[n]}const g=JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AdapterNotConfirmed","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[{"internalType":"uint256","name":"commission","type":"uint256"}],"name":"AmountLessThanCommission","type":"error"},{"inputs":[],"name":"AmountTooSmallToPayRelativeFee","type":"error"},{"inputs":[],"name":"BadCommission","type":"error"},{"inputs":[],"name":"BadConfiguration","type":"error"},{"inputs":[],"name":"Bridge_ZeroAddress","type":"error"},{"inputs":[],"name":"Bridge_ZeroAmount","type":"error"},{"inputs":[],"name":"ConsortiumNotConfirmed","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"KnownDestination","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[],"name":"MathOverflowedMulDiv","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotValidDestination","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"PayloadAlreadyUsed","type":"error"},{"inputs":[],"name":"PayloadTooLarge","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes4","name":"action","type":"bytes4"}],"name":"UnexpectedAction","type":"error"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UnknownAdapter","type":"error"},{"inputs":[],"name":"UnknownDestination","type":"error"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes32","name":"fromContract","type":"bytes32"}],"name":"UnknownOriginContract","type":"error"},{"inputs":[],"name":"WrongChainId","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroChainId","type":"error"},{"inputs":[],"name":"ZeroContractHash","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdapter","type":"address"},{"indexed":false,"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"AdapterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"contractAddress","type":"bytes32"}],"name":"BridgeDestinationAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"BridgeDestinationRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract INotaryConsortium","name":"prevVal","type":"address"},{"indexed":true,"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"ConsortiumChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"newValue","type":"uint64"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositAbsoluteCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"newValue","type":"uint16"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositRelativeCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"DepositToBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"}],"name":"PayloadNotarized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"adapter","type":"address"}],"name":"PayloadReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"limit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"window","type":"uint256"}],"name":"RateLimitsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousTreasury","type":"address"},{"indexed":false,"internalType":"address","name":"newTreasury","type":"address"}],"name":"TreasuryChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"amount","type":"uint64"}],"name":"WithdrawFromBridge","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toContract","type":"bytes32"},{"internalType":"uint16","name":"relCommission","type":"uint16"},{"internalType":"uint64","name":"absCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"name":"addDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"authNotary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"chain","type":"bytes32"},{"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"changeAdapter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"changeConsortium","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"newValue","type":"uint64"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositAbsoluteCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"newValue","type":"uint16"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositRelativeCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"consortium","outputs":[{"internalType":"contract INotaryConsortium","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getAdapter","outputs":[{"internalType":"contract IAdapter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"getAdapterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositAbsoluteCommission","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositRelativeCommission","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDestination","outputs":[{"components":[{"internalType":"bytes32","name":"bridgeContract","type":"bytes32"},{"internalType":"uint16","name":"relativeCommission","type":"uint16"},{"internalType":"uint64","name":"absoluteCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"internalType":"struct Bridge.DestinationConfig","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ILBTC","name":"lbtc_","type":"address"},{"internalType":"address","name":"treasury_","type":"address"},{"internalType":"address","name":"owner_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lbtc","outputs":[{"internalType":"contract ILBTC","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"receivePayload","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"removeDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"depositRateLimits","type":"tuple[]"},{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"withdrawRateLimits","type":"tuple[]"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"withdraw","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"nonpayable","type":"function"}]'),o=JSON.parse('[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"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"},{"inputs":[],"name":"InvalidDelegate","type":"error"},{"inputs":[],"name":"InvalidEndpointCall","type":"error"},{"inputs":[],"name":"InvalidLocalDecimals","type":"error"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"name":"InvalidOptions","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"NoPeer","type":"error"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"NotEnoughNative","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"OnlyEndpoint","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"name":"OnlyPeer","type":"error"},{"inputs":[],"name":"OnlySelf","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"name":"SimulationResult","type":"error"},{"inputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"}],"name":"SlippageExceeded","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"indexed":false,"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"EnforcedOptionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inspector","type":"address"}],"name":"MsgInspectorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"srcEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"dstEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"eid","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"peer","type":"bytes32"}],"name":"PeerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preCrimeAddress","type":"address"}],"name":"PreCrimeSet","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"indexed":false,"internalType":"struct RateLimits.Config[]","name":"rateLimitConfigs","type":"tuple[]"},{"indexed":false,"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"RateLimitsChanged","type":"event"},{"inputs":[],"name":"SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEND_AND_CALL","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"}],"name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"uint16","name":"_msgType","type":"uint16"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"}],"name":"combineOptions","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"empty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"}],"name":"enforcedOptions","outputs":[{"internalType":"bytes","name":"enforcedOption","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_srcEid","type":"uint32"}],"name":"getAmountCanBeReceived","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeReceived","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_dstEid","type":"uint32"}],"name":"getAmountCanBeSent","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeSent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"srcEid","type":"uint32"}],"name":"inboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"","type":"tuple"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]"}],"name":"lzReceiveAndRevert","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceiveSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oftVersion","outputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"},{"internalType":"uint64","name":"version","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"dstEid","type":"uint32"}],"name":"outboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"}],"name":"quoteOFT","outputs":[{"components":[{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"uint256","name":"maxAmountLD","type":"uint256"}],"internalType":"struct OFTLimit","name":"oftLimit","type":"tuple"},{"components":[{"internalType":"int256","name":"feeAmountLD","type":"int256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct OFTFeeDetail[]","name":"oftFeeDetails","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"internalType":"bool","name":"_payInLzToken","type":"bool"}],"name":"quoteSend","outputs":[{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"msgFee","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"_fee","type":"tuple"},{"internalType":"address","name":"_refundAddress","type":"address"}],"name":"send","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"setEnforcedOptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_msgInspector","type":"address"}],"name":"setMsgInspector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"setPeer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"name":"setPreCrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"_rateLimitConfigs","type":"tuple[]"},{"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]'),S=$(1e-6);var T=(n=>(n.CCIP="CCIP",n.OFT="OFT",n))(T||{});const q={CCIP:"https://ccip.chain.link/tx/{txHash}",OFT:"https://layerzeroscan.com/tx/{txHash}"},H=[e.ChainId.ethereum,e.ChainId.base,e.ChainId.binanceSmartChain,e.ChainId.katana,e.ChainId.sonic,e.ChainId.avalanche,e.ChainId.monad,e.ChainId.stable,e.ChainId.avalancheFuji,e.ChainId.baseSepoliaTestnet,e.ChainId.holesky,e.ChainId.sepolia],W=[e.ChainId.ethereum,e.ChainId.berachain,e.ChainId.corn,e.ChainId.etherlink,e.ChainId.swell,e.ChainId.tac,e.ChainId.berachainBartioTestnet,e.ChainId.sepolia];ee.unique([...H,...W]);const j=9e4,J=2e5,K=[e.ChainId.berachain,e.ChainId.etherlink,e.ChainId.morph,e.ChainId.sonic,e.ChainId.corn,e.ChainId.tac,e.ChainId.berachainBartioTestnet,e.ChainId.morphHolesky],t=([n,r])=>`[from:${n}, to: ${r}]`,ae={routes:[t([e.ChainId.ethereum,e.ChainId.base]),t([e.ChainId.ethereum,e.ChainId.binanceSmartChain]),t([e.ChainId.ethereum,e.ChainId.sonic]),t([e.ChainId.ethereum,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.ethereum}},ie={routes:[t([e.ChainId.base,e.ChainId.ethereum]),t([e.ChainId.base,e.ChainId.binanceSmartChain]),t([e.ChainId.base,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.base}},se={routes:[t([e.ChainId.binanceSmartChain,e.ChainId.ethereum]),t([e.ChainId.binanceSmartChain,e.ChainId.base]),t([e.ChainId.binanceSmartChain,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.binanceSmartChain}},re={routes:[t([e.ChainId.katana,e.ChainId.ethereum]),t([e.ChainId.katana,e.ChainId.base]),t([e.ChainId.katana,e.ChainId.binanceSmartChain]),t([e.ChainId.katana,e.ChainId.sonic])],type:"CCIP",contract:{address:"0xA869817b48b25EeE986bdF4bE04062e6fd2C418B",abi:g,chainId:e.ChainId.katana}},pe={routes:[t([e.ChainId.sonic,e.ChainId.ethereum]),t([e.ChainId.sonic,e.ChainId.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:g,chainId:e.ChainId.sonic}},ye={routes:[t([e.ChainId.baseSepoliaTestnet,e.ChainId.holesky])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:g,chainId:e.ChainId.baseSepoliaTestnet}},oe={routes:[t([e.ChainId.holesky,e.ChainId.baseSepoliaTestnet])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:g,chainId:e.ChainId.holesky}},ue=[ae,ie,se,re,pe,ye,oe].reduce((n,r)=>{if(r.type!=="CCIP")return n;const c=r.routes.map(C=>[C,{type:"CCIP",contract:r.contract}]);return n.concat(c)},[]),de=[[t([e.ChainId.ethereum,e.ChainId.berachain]),{type:"OFT",contract:{address:"0x1290A6b480f7eF14925229fdB66f5680aD8F44AD",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.corn]),{type:"OFT",contract:{address:"0x6bc15d7930839ec18a57f6f7df72ae1b439d077f",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.etherlink]),{type:"OFT",contract:{address:"0x3a7647c1323144a16e7D0D71A581E3FE5BD95299",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.swell]),{type:"OFT",contract:{address:"0x37E92d760a15231e652a2C502182a6b44c7510c0",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.ethereum,e.ChainId.tac]),{type:"OFT",contract:{address:"0xA7c4d94F98b6e94C139c4645e4E9a94CD7C0Abf7",abi:o,chainId:e.ChainId.ethereum}}],[t([e.ChainId.berachain,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0x630e12D53D4E041b8C5451aD035Ea841E08391d7",abi:o,chainId:e.ChainId.berachain}}],[t([e.ChainId.corn,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0xfc7B20D9B59A8A466f4fC3d34aA69a7D98e71d7A",abi:o,chainId:e.ChainId.corn}}],[t([e.ChainId.etherlink,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0xC832183d4d5fc5831daaC892a93dBBfd798034E3",abi:o,chainId:e.ChainId.etherlink}}],[t([e.ChainId.swell,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0x7B3784AD646C10A8Ddf42b47a4f4bd9aFD351E54",abi:o,chainId:e.ChainId.swell}}],[t([e.ChainId.tac,e.ChainId.ethereum]),{type:"OFT",contract:{address:"0x1298131cDa718bBcA7ACB1f2411e71c05E16f269",abi:o,chainId:e.ChainId.tac}}],[t([e.ChainId.berachainBartioTestnet,e.ChainId.sepolia]),{type:"OFT",contract:{address:"0x1977013acaf27856ac8048C42EE2ed0134d53895",abi:o,chainId:e.ChainId.berachainBartioTestnet}}],[t([e.ChainId.sepolia,e.ChainId.berachainBartioTestnet]),{type:"OFT",contract:{address:"0xe3748bF0Ec0A76767539eE28610B3367e35fe2C2",abi:o,chainId:e.ChainId.sepolia}}]],me=new Map([...ue,...de]),D=(n,r)=>me.get(t([n,r]));function le(n){const r="0x97a657c9",c=F.encodePacked(["uint256"],[n]);return`${r}${c.slice(2)}`}async function X({to:n,amount:r,approve:c,recipient:C,account:a,chainId:i,provider:f,env:I,rpcUrl:b}){const s=$(r),w=C||a,p=D(i,n);if(!p||p.type!==T.CCIP)throw new Error(`Unsupported bridge from ${i} to ${n}. Please switch to the supported chains: ${H.join(", ")}`);const d=z(i),y=z(n);if(!d||!y)throw new Error(`CCIP configuration not found for chains ${i} -> ${n}`);const m=d.routerAddress,l=await u.getTokenInfo(e.Token.LBTC,i,I,b);if(!l)throw new Error("Could not retrieve LBTC contract info.");const h=u.makePublicClient({chainId:i,rpcUrl:b}),_=e.makeWalletClient({provider:f,chainId:i}),A=U.toBigInt(u.toBaseDenomination(s,l.decimals));if(s.isLessThan(S))throw new Error(`The amount is smaller than the minimum amount allowed: ${S.toFixed()}`);const B=await h.readContract({address:l.address,abi:l.abi,functionName:"balanceOf",args:[a]}),v=u.fromBaseDenomination(String(B),l.decimals);if(s.isGreaterThan(v))throw new Error(`The amount exceeds the account's balance.
|
|
2
2
|
Amount: ${s.toFixed()}
|
|
3
3
|
Balance: ${v.toFixed()}`);const P=await h.readContract({address:l.address,abi:l.abi,functionName:"allowance",args:[a,m]}),M=u.fromBaseDenomination(String(P),l.decimals);if(s.isGreaterThan(M)){const x=`The amount exceeds allowance.
|
|
4
4
|
Amount: ${s.toFixed()}
|
|
@@ -9,4 +9,4 @@ Balance: ${A.toFixed()}`);const B=await m.readContract({address:y.address,abi:y.
|
|
|
9
9
|
Amount: ${s.toFixed()}
|
|
10
10
|
Allowance: ${v.toFixed()}`;if(!c)throw new Error(N);console.info(N);try{const x=await Z.approveLBTC({account:a,spender:d.address,amount:s,chainId:i,provider:f,rpcUrl:b,env:I});console.info(`Approve tx hash: ${x}`),console.info(`Approved ${h} for ${d.address}`)}catch(x){const O=u.getErrorMessage(x);throw new Error(`Could not approve ${h} for ${d.address}.
|
|
11
11
|
Reason: ${O}`)}}const P=te.Options.newOptions().addExecutorLzReceiveOption(K.includes(n)?J:j,0),M=[ce[n],F.pad(w),h,h,P.toHex(),"0x","0x"],{nativeFee:E,lzTokenFee:L}=await m.readContract({abi:d.abi,address:d.address,account:a,functionName:"quoteSend",args:[M,!1]}),R=[M,[E,L],a],{request:k}=await m.simulateContract({abi:d.abi,address:d.address,account:a,functionName:"send",args:R,value:E});return await l.writeContract(k)}async function be({to:n,amount:r,approve:c,account:C,chainId:a,provider:i,recipient:f,rpcUrl:I,env:b,experimentalAllowOFT:s=!1}){const w=D(a,n);if(!w||!s&&w.type===T.OFT)throw new Error(`Unsupported bridge from ${a} to ${n}. Please switch to the supported chains: ${H.join(", ")}`);switch(w.type){case T.CCIP:{const p=await X({to:n,amount:r,approve:c,recipient:f,account:C,chainId:a,provider:i,env:b,rpcUrl:I});return{txHash:p,explorerUrl:q[T.CCIP].replace("{txHash}",p),type:T.CCIP}}case T.OFT:{const p=await Y({to:n,amount:r,approve:c,recipient:f,account:C,chainId:a,provider:i,env:b,rpcUrl:I});return{txHash:p,explorerUrl:q[T.OFT].replace("{txHash}",p),type:T.OFT}}}}exports.OFT_GAS_LIMIT=j;exports.OFT_HI_GAS_LIMIT=J;exports.OFT_HI_GAS_LIMIT_CHAINS=K;exports.bridge=be;exports.bridgeCCIP=X;exports.bridgeOFT=Y;exports.getBridgeInfo=D;
|
|
12
|
-
//# sourceMappingURL=bridge-
|
|
12
|
+
//# sourceMappingURL=bridge-DZp5x4Yb.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-DZp5x4Yb.cjs","sources":["../../src/bridge/lib/ccip-config.ts","../../src/bridge/lib/config.ts","../../src/bridge/lib/ccip-bridge.ts","../../src/bridge/lib/oft-bridge.ts","../../src/bridge/lib/bridge.ts"],"sourcesContent":["import { Address } from 'viem';\n\nimport { ChainId } from '../../common/chains';\n\nexport type CCIPChainConfig = {\n routerAddress: Address;\n chainSelector: string;\n};\n\ntype CCIPConfig = Record<number, CCIPChainConfig>;\n\nexport const CCIP_CONFIG: CCIPConfig = {\n [ChainId.ethereum]: {\n routerAddress: '0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D',\n chainSelector: '5009297550715157269',\n },\n [ChainId.base]: {\n routerAddress: '0x881e3A65B4d4a04dD529061dd0071cf975F58bCD',\n chainSelector: '15971525489660198786',\n },\n [ChainId.binanceSmartChain]: {\n routerAddress: '0x34B03Cb9086d7D758AC55af71584F81A598759FE',\n chainSelector: '11344663589394136015',\n },\n [ChainId.sonic]: {\n routerAddress: '0xB4e1Ff7882474BB93042be9AD5E1fA387949B860',\n chainSelector: '1673871237479749969',\n },\n [ChainId.katana]: {\n routerAddress: '0x7c19b79D2a054114Ab36ad758A36e92376e267DA',\n chainSelector: '2459028469735686113',\n },\n [ChainId.megaeth]: {\n routerAddress: '0xfa546248C54939AA6C48279CdC1EAf9A1125c411',\n chainSelector: '6093540873831549674',\n },\n [ChainId.avalanche]: {\n routerAddress: '0xF4c7E640EdA248ef95972845a62bdC74237805dB',\n chainSelector: '6433500567565415381',\n },\n [ChainId.monad]: {\n routerAddress: '0x33566fE5976AAa420F3d5C64996641Fc3858CaDB',\n chainSelector: '8481857512324358265',\n },\n [ChainId.stable]: {\n routerAddress: '0xECFF67559c0583027A5fbd85136E33bC4D66eeA0',\n chainSelector: '16978377838628290997',\n },\n // Testnets\n [ChainId.holesky]: {\n routerAddress: '0xb9531b46fE8808fB3659e39704953c2B1112DD43',\n chainSelector: '7717148896336251131',\n },\n [ChainId.baseSepoliaTestnet]: {\n routerAddress: '0xD3b06cEbF099CE7DA4AcCf578aaebFDBd6e88a93',\n chainSelector: '10344971235874465080',\n },\n [ChainId.binanceSmartChainTestnet]: {\n routerAddress: '0xE1053aE1857476f36A3C62580FF9b016E8EE8F6f',\n chainSelector: '13264668187771770619',\n },\n [ChainId.avalancheFuji]: {\n routerAddress: '0xF694E193200268f9a4868e4Aa017A0118C9a8177',\n chainSelector: '14767482510784806043',\n },\n};\n\nexport function getCCIPConfig(chainId: ChainId): CCIPChainConfig | undefined {\n return CCIP_CONFIG[chainId];\n}\n","import BigNumber from 'bignumber.js';\nimport { Abi, Address } from 'viem';\n\nimport { ChainId } from '../../common/chains';\nimport { ContractInfo } from '../../common/contract-info';\nimport { featureConfig } from '../../common/feature-config';\nimport { unique } from '../../utils/array';\nimport CCIP_BRIDGE_ADAPTER_ABI from '../abi/CCIP_BRIDGE_ADAPTER_ABI.json';\nimport OFT_BRIDGE_ADAPTER_ABI from '../abi/OFT_BRIDGE_ADAPTER_ABI.json';\n\nexport const MIN_BRIDGE_AMOUNT = BigNumber(0.000001);\n\nexport enum BridgeType {\n /** CCIP - (Chainlink) Cross-Chain Interoperability Protocol */\n CCIP = 'CCIP',\n\n /** OFT - (LayerZero) Omnichain Fungible Token */\n OFT = 'OFT',\n}\n\nexport const BRIDGE_EXPLORER_URL_MAP = {\n [BridgeType.CCIP]: 'https://ccip.chain.link/tx/{txHash}',\n [BridgeType.OFT]: 'https://layerzeroscan.com/tx/{txHash}',\n};\n\nexport const CCIP_BRIDGE_CHAINS = [\n // Mainnets:\n ChainId.ethereum,\n ChainId.base,\n ChainId.binanceSmartChain,\n ChainId.katana,\n ChainId.sonic,\n ...(featureConfig.isAvalancheMainnetEnabled ? [ChainId.avalanche] : []),\n ...(featureConfig.isMonadEnabled ? [ChainId.monad] : []),\n ChainId.stable,\n // Testnets:\n ...(featureConfig.isAvalancheFujiEnabled ? [ChainId.avalancheFuji] : []),\n ChainId.baseSepoliaTestnet,\n ChainId.holesky,\n ChainId.sepolia,\n];\nexport type CCIPBridgeChain = (typeof CCIP_BRIDGE_CHAINS)[number];\n\nexport const OFT_BRIDGE_CHAINS = [\n // Mainnets:\n ChainId.ethereum,\n ChainId.berachain,\n ChainId.corn,\n ChainId.etherlink,\n ChainId.swell,\n ChainId.tac,\n // Testnets:\n ChainId.berachainBartioTestnet,\n ChainId.sepolia,\n];\n\nexport const BRIDGE_CHAINS = unique([\n ...CCIP_BRIDGE_CHAINS,\n ...OFT_BRIDGE_CHAINS,\n]);\nexport type BridgeChain = CCIPBridgeChain | OFTBridgeChain;\n\nexport const OFT_GAS_LIMIT = 90_000;\nexport const OFT_HI_GAS_LIMIT = 200_000;\nexport const OFT_HI_GAS_LIMIT_CHAINS = [\n // Mainnets:\n ChainId.berachain,\n ChainId.etherlink,\n ChainId.morph,\n ChainId.sonic,\n ChainId.corn,\n ChainId.tac,\n // Testnets:\n ChainId.berachainBartioTestnet,\n ChainId.morphHolesky,\n];\n\nexport type OFTBridgeChain = (typeof OFT_BRIDGE_CHAINS)[number];\n\ntype BridgeIdentifier<Ch extends CCIPBridgeChain | OFTBridgeChain> =\n `[from:${Ch}, to: ${Ch}]`;\n\nconst bridgeIdentifier = <Ch extends CCIPBridgeChain | OFTBridgeChain>([\n from,\n to,\n]: [from: Ch, to: Ch]): BridgeIdentifier<Ch> => `[from:${from}, to: ${to}]`;\n\ntype BridgeInfo = { type: BridgeType; contract: ContractInfo };\n\ntype CCIPBridgesConfig = [\n BridgeIdentifier<CCIPBridgeChain>,\n { type: BridgeType.CCIP; contract: ContractInfo },\n];\n\nconst CCIP_FROM_ETH = {\n routes: [\n bridgeIdentifier([ChainId.ethereum, ChainId.base]),\n bridgeIdentifier([ChainId.ethereum, ChainId.binanceSmartChain]),\n bridgeIdentifier([ChainId.ethereum, ChainId.sonic]),\n bridgeIdentifier([ChainId.ethereum, ChainId.katana]),\n ],\n type: BridgeType.CCIP,\n contract: {\n address: '0xa869817b48b25eee986bdf4be04062e6fd2c418b' as Address,\n abi: CCIP_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.ethereum,\n },\n};\n\nconst CCIP_FROM_BASE = {\n routes: [\n bridgeIdentifier([ChainId.base, ChainId.ethereum]),\n bridgeIdentifier([ChainId.base, ChainId.binanceSmartChain]),\n bridgeIdentifier([ChainId.base, ChainId.katana]),\n ],\n type: BridgeType.CCIP,\n contract: {\n address: '0xa869817b48b25eee986bdf4be04062e6fd2c418b' as Address,\n abi: CCIP_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.base,\n },\n};\n\nconst CCIP_FROM_BSC = {\n routes: [\n bridgeIdentifier([ChainId.binanceSmartChain, ChainId.ethereum]),\n bridgeIdentifier([ChainId.binanceSmartChain, ChainId.base]),\n bridgeIdentifier([ChainId.binanceSmartChain, ChainId.katana]),\n ],\n type: BridgeType.CCIP,\n contract: {\n address: '0xa869817b48b25eee986bdf4be04062e6fd2c418b' as Address,\n abi: CCIP_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.binanceSmartChain,\n },\n};\n\nconst CCIP_FROM_KATANA = {\n routes: [\n bridgeIdentifier([ChainId.katana, ChainId.ethereum]),\n bridgeIdentifier([ChainId.katana, ChainId.base]),\n bridgeIdentifier([ChainId.katana, ChainId.binanceSmartChain]),\n bridgeIdentifier([ChainId.katana, ChainId.sonic]),\n ],\n type: BridgeType.CCIP,\n contract: {\n address: '0xA869817b48b25EeE986bdF4bE04062e6fd2C418B' as Address,\n abi: CCIP_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.katana,\n },\n};\n\nconst CCIP_FROM_SONIC = {\n routes: [\n bridgeIdentifier([ChainId.sonic, ChainId.ethereum]),\n bridgeIdentifier([ChainId.sonic, ChainId.katana]),\n ],\n type: BridgeType.CCIP,\n contract: {\n address: '0xa869817b48b25eee986bdf4be04062e6fd2c418b' as Address,\n abi: CCIP_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.sonic,\n },\n};\n\nconst CCIP_FROM_BASE_SEPOLIA = {\n routes: [bridgeIdentifier([ChainId.baseSepoliaTestnet, ChainId.holesky])],\n type: BridgeType.CCIP,\n contract: {\n address: '0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F' as Address,\n abi: CCIP_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.baseSepoliaTestnet,\n },\n};\n\nconst CCIP_FROM_HOLESKY = {\n routes: [bridgeIdentifier([ChainId.holesky, ChainId.baseSepoliaTestnet])],\n type: BridgeType.CCIP,\n contract: {\n address: '0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F' as Address,\n abi: CCIP_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.holesky,\n },\n};\n\nconst CCIP_BRIDGES: CCIPBridgesConfig[] = [\n // Mainnets:\n CCIP_FROM_ETH,\n CCIP_FROM_BASE,\n CCIP_FROM_BSC,\n CCIP_FROM_KATANA,\n CCIP_FROM_SONIC,\n // Testnets:\n CCIP_FROM_BASE_SEPOLIA,\n CCIP_FROM_HOLESKY,\n].reduce((acc, cur) => {\n if (cur.type !== BridgeType.CCIP) return acc;\n\n const c: CCIPBridgesConfig[] = cur.routes.map((route) => [\n route,\n { type: BridgeType.CCIP, contract: cur.contract },\n ]);\n\n return acc.concat(c);\n}, [] as CCIPBridgesConfig[]);\n\ntype OFTBridgeConfig = [\n BridgeIdentifier<OFTBridgeChain>,\n { type: BridgeType.OFT; contract: ContractInfo },\n];\nconst OFT_BRIDGES: OFTBridgeConfig[] = [\n // Mainnets:\n\n [\n bridgeIdentifier([ChainId.ethereum, ChainId.berachain]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x1290A6b480f7eF14925229fdB66f5680aD8F44AD',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.ethereum,\n },\n },\n ],\n [\n bridgeIdentifier([ChainId.ethereum, ChainId.corn]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x6bc15d7930839ec18a57f6f7df72ae1b439d077f',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.ethereum,\n },\n },\n ],\n [\n bridgeIdentifier([ChainId.ethereum, ChainId.etherlink]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x3a7647c1323144a16e7D0D71A581E3FE5BD95299',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.ethereum,\n },\n },\n ],\n [\n bridgeIdentifier([ChainId.ethereum, ChainId.swell]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x37E92d760a15231e652a2C502182a6b44c7510c0',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.ethereum,\n },\n },\n ],\n [\n bridgeIdentifier([ChainId.ethereum, ChainId.tac]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0xA7c4d94F98b6e94C139c4645e4E9a94CD7C0Abf7',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.ethereum,\n },\n },\n ],\n\n [\n bridgeIdentifier([ChainId.berachain, ChainId.ethereum]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x630e12D53D4E041b8C5451aD035Ea841E08391d7',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.berachain,\n },\n },\n ],\n\n [\n bridgeIdentifier([ChainId.corn, ChainId.ethereum]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0xfc7B20D9B59A8A466f4fC3d34aA69a7D98e71d7A',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.corn,\n },\n },\n ],\n\n [\n bridgeIdentifier([ChainId.etherlink, ChainId.ethereum]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0xC832183d4d5fc5831daaC892a93dBBfd798034E3',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.etherlink,\n },\n },\n ],\n\n [\n bridgeIdentifier([ChainId.swell, ChainId.ethereum]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x7B3784AD646C10A8Ddf42b47a4f4bd9aFD351E54',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.swell,\n },\n },\n ],\n [\n bridgeIdentifier([ChainId.tac, ChainId.ethereum]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x1298131cDa718bBcA7ACB1f2411e71c05E16f269',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.tac,\n },\n },\n ],\n\n // Testnets:\n\n [\n bridgeIdentifier([ChainId.berachainBartioTestnet, ChainId.sepolia]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0x1977013acaf27856ac8048C42EE2ed0134d53895',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.berachainBartioTestnet,\n },\n },\n ],\n\n [\n bridgeIdentifier([ChainId.sepolia, ChainId.berachainBartioTestnet]),\n {\n type: BridgeType.OFT,\n contract: {\n address: '0xe3748bF0Ec0A76767539eE28610B3367e35fe2C2',\n abi: OFT_BRIDGE_ADAPTER_ABI as Abi,\n chainId: ChainId.sepolia,\n },\n },\n ],\n];\n\nexport const BRIDGES = new Map<BridgeIdentifier<BridgeChain>, BridgeInfo>([\n ...CCIP_BRIDGES,\n ...OFT_BRIDGES,\n]);\n\n/** Gets the bridge information */\nexport const getBridgeInfo = (from: BridgeChain, to: BridgeChain) => {\n return BRIDGES.get(bridgeIdentifier([from, to]));\n};\n","import BigNumber from 'bignumber.js';\nimport {\n Address,\n encodeAbiParameters,\n encodePacked,\n parseAbiParameters,\n} from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { makeWalletClient } from '../../clients/wallet-client';\nimport { CommonWriteParameters } from '../../common/parameters';\nimport { approveLBTC } from '../../contract-functions';\nimport { Token } from '../../tokens/token-addresses';\nimport {\n fromBaseDenomination,\n getTokenInfo,\n toBaseDenomination,\n} from '../../tokens/tokens';\nimport { getErrorMessage } from '../../utils/err';\nimport toBigInt from '../../utils/numbers';\nimport CCIP_ROUTER_ABI from '../abi/CCIP_ROUTER_ABI.json';\nimport { getCCIPConfig } from './ccip-config';\nimport {\n BridgeType,\n CCIP_BRIDGE_CHAINS,\n CCIPBridgeChain,\n getBridgeInfo,\n MIN_BRIDGE_AMOUNT,\n} from './config';\n\nexport type BridgeCCIPParameters = {\n /** The destination chain id. */\n to: CCIPBridgeChain;\n /** The LBTC amount. */\n amount: BigNumber.Value;\n /**\n * A flag determining whether the amount should be approved within\n * the execution of this function. If set to `false` it will\n * throw an error when the deposit amount exceeds allowance.\n */\n approve?: boolean;\n /** The destination address. If omitted the same as the account address. */\n recipient?: Address;\n} & CommonWriteParameters;\n\n/**\n * Encodes extraArgs for CCIP according to version 1\n * Format: EVMExtraArgsV1 { gasLimit: uint256 }\n *\n * @see https://github.com/smartcontractkit/smart-contract-examples/blob/main/ccip/offchain/javascript/src/transfer-tokens.js\n */\nfunction encodeExtraArgs(gasLimit: bigint): `0x${string}` {\n // Tag for EVMExtraArgsV1\n const tag = '0x97a657c9';\n\n // Encode gasLimit as uint256\n const encodedGasLimit = encodePacked(['uint256'], [gasLimit]);\n\n return `${tag}${encodedGasLimit.slice(2)}` as `0x${string}`;\n}\n\n/**\n * Transfers tokens via CCIP using direct Router contract calls\n * Based on Chainlink example:\n * @see https://github.com/smartcontractkit/smart-contract-examples/blob/main/ccip/offchain/javascript/src/transfer-tokens.js\n */\nexport async function bridgeCCIP({\n to,\n amount: amountRaw,\n approve,\n recipient: optionalRecipient,\n account,\n chainId: from,\n provider,\n env,\n rpcUrl,\n}: BridgeCCIPParameters) {\n const amount = BigNumber(amountRaw);\n const recipient = optionalRecipient || account;\n\n const bridgeInfo = getBridgeInfo(from as CCIPBridgeChain, to);\n if (!bridgeInfo || bridgeInfo.type !== BridgeType.CCIP) {\n throw new Error(\n `Unsupported bridge from ${from} to ${to}. Please switch to the supported chains: ${CCIP_BRIDGE_CHAINS.join(', ')}`,\n );\n }\n\n // Get CCIP Router configuration\n const sourceChainConfig = getCCIPConfig(from);\n const destinationChainConfig = getCCIPConfig(to);\n\n if (!sourceChainConfig || !destinationChainConfig) {\n throw new Error(`CCIP configuration not found for chains ${from} -> ${to}`);\n }\n\n const routerAddress = sourceChainConfig.routerAddress;\n\n const lbtcContract = await getTokenInfo(Token.LBTC, from, env, rpcUrl);\n if (!lbtcContract) {\n throw new Error('Could not retrieve LBTC contract info.');\n }\n\n const publicClient = makePublicClient({ chainId: from, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId: from });\n\n const amountBase = toBigInt(\n toBaseDenomination(amount, lbtcContract.decimals),\n );\n\n if (amount.isLessThan(MIN_BRIDGE_AMOUNT)) {\n throw new Error(\n `The amount is smaller than the minimum amount allowed: ${MIN_BRIDGE_AMOUNT.toFixed()}`,\n );\n }\n\n const balanceRaw = await publicClient.readContract({\n address: lbtcContract.address,\n abi: lbtcContract.abi,\n functionName: 'balanceOf',\n args: [account],\n });\n const balance = fromBaseDenomination(\n String(balanceRaw),\n lbtcContract.decimals,\n );\n\n // check if amount exceeds balance\n if (amount.isGreaterThan(balance)) {\n throw new Error(\n `The amount exceeds the account's balance. \\nAmount: ${amount.toFixed()} \\nBalance: ${balance.toFixed()}`,\n );\n }\n\n const allowanceRaw = await publicClient.readContract({\n address: lbtcContract.address,\n abi: lbtcContract.abi,\n functionName: 'allowance',\n args: [account, routerAddress],\n });\n const allowance = fromBaseDenomination(\n String(allowanceRaw),\n lbtcContract.decimals,\n );\n\n // check if amount exceeds allowance\n if (amount.isGreaterThan(allowance)) {\n const exceededMessage = `The amount exceeds allowance. \\nAmount: ${amount.toFixed()} \\nAllowance: ${allowance.toFixed()}`;\n if (!approve) {\n throw new Error(exceededMessage);\n }\n\n // try to approve new amount for Router\n console.info(exceededMessage);\n try {\n const txHash = await approveLBTC({\n account,\n spender: routerAddress,\n amount,\n chainId: from,\n provider,\n rpcUrl,\n env,\n });\n console.info(`Approve tx hash: ${txHash}`);\n console.info(`Approved ${amountBase} for ${routerAddress}`);\n } catch (err) {\n const msg = getErrorMessage(err);\n throw new Error(\n `Could not approve ${amountBase} for ${routerAddress}. \\nReason: ${msg}`,\n );\n }\n }\n\n // Build CCIP message (EVM2AnyMessage)\n // IMPORTANT: receiver must be abi.encode(address) for EVM chains, not encodePacked\n const receiverBytes = encodeAbiParameters(parseAbiParameters('address'), [\n recipient,\n ]);\n const extraArgs = encodeExtraArgs(0n);\n\n const message = {\n receiver: receiverBytes,\n data: '0x' as `0x${string}`,\n tokenAmounts: [\n {\n token: lbtcContract.address,\n amount: amountBase,\n },\n ],\n feeToken: '0x0000000000000000000000000000000000000000' as Address, // address(0) means payment in native currency\n extraArgs, // 0 = automatic gas limit calculation\n };\n\n // Get fee for sending the message\n const fee = (await publicClient.readContract({\n address: routerAddress,\n abi: CCIP_ROUTER_ABI,\n functionName: 'getFee',\n args: [BigInt(destinationChainConfig.chainSelector), message],\n })) as bigint;\n\n // Send CCIP message\n const { request } = await publicClient.simulateContract({\n address: routerAddress,\n abi: CCIP_ROUTER_ABI,\n account,\n functionName: 'ccipSend',\n args: [BigInt(destinationChainConfig.chainSelector), message],\n value: fee,\n });\n\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n","import { Options } from '@layerzerolabs/lz-v2-utilities';\nimport BigNumber from 'bignumber.js';\nimport { Address, pad } from 'viem';\n\nimport { makePublicClient } from '../../clients/public-client';\nimport { makeWalletClient } from '../../clients/wallet-client';\nimport { ChainId } from '../../common/chains';\nimport { CommonWriteParameters } from '../../common/parameters';\nimport { approveLBTC } from '../../contract-functions';\nimport { Token } from '../../tokens/token-addresses';\nimport {\n fromBaseDenomination,\n getTokenInfo,\n toBaseDenomination,\n} from '../../tokens/tokens';\nimport { getErrorMessage } from '../../utils/err';\nimport toBigInt from '../../utils/numbers';\nimport {\n BridgeType,\n getBridgeInfo,\n MIN_BRIDGE_AMOUNT,\n OFT_BRIDGE_CHAINS,\n OFT_GAS_LIMIT,\n OFT_HI_GAS_LIMIT,\n OFT_HI_GAS_LIMIT_CHAINS,\n OFTBridgeChain,\n} from './config';\n\nconst DESTINATION_ENDPOINT_ID_MAP: Record<OFTBridgeChain, number> = {\n // Mainnets:\n [ChainId.ethereum]: 30101,\n [ChainId.berachain]: 30362,\n [ChainId.corn]: 30331,\n [ChainId.etherlink]: 30292,\n [ChainId.swell]: 30335,\n [ChainId.tac]: 30377,\n // Testnets:\n [ChainId.sepolia]: 40161,\n [ChainId.berachainBartioTestnet]: 40291,\n};\n\nexport type BridgeOFTParameters = {\n /** The destination chain id. */\n to: OFTBridgeChain;\n /** The LBTC amount. */\n amount: BigNumber.Value;\n /**\n * A flag determining whether the amount should be approved within\n * the execution of this function. If set to `false` it will\n * throw an error when the deposit amount exceeds allowance.\n */\n approve?: boolean;\n /** The destination address. If omitted the same as the account address. */\n recipient?: Address;\n} & CommonWriteParameters;\nexport async function bridgeOFT({\n to,\n amount: amountRaw,\n approve,\n recipient: optionalRecipient,\n account,\n chainId: from,\n provider,\n env,\n rpcUrl,\n}: BridgeOFTParameters) {\n console.warn(\n 'The \"bridgeOFT\" function is provided as is and it is not the recommended way of bridging tokens between chains. Please, use \"bridgeCCIP\" or the generic \"bridge\" function.',\n );\n\n const amount = BigNumber(amountRaw);\n const recipient = optionalRecipient || account;\n\n const bridgeInfo = getBridgeInfo(from as OFTBridgeChain, to);\n if (!bridgeInfo || bridgeInfo.type !== BridgeType.OFT) {\n throw new Error(\n `Unsupported bridge from ${from} to ${to}. Please switch to the supported chains: ${OFT_BRIDGE_CHAINS.join(', ')}`,\n );\n }\n\n const bridgeContract = bridgeInfo.contract;\n\n const lbtcContract = await getTokenInfo(Token.LBTC, from, env, rpcUrl);\n if (!lbtcContract) {\n throw new Error('Could not retrieve LBTC contract info.');\n }\n\n const publicClient = makePublicClient({ chainId: from, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId: from });\n\n const amountBase = toBigInt(\n toBaseDenomination(amount, lbtcContract.decimals),\n );\n\n if (amount.isLessThan(MIN_BRIDGE_AMOUNT)) {\n throw new Error(\n `The amount is smaller than the minimum amount allowed: ${MIN_BRIDGE_AMOUNT.toFixed()}`,\n );\n }\n\n const balanceRaw = await publicClient.readContract({\n address: lbtcContract.address,\n abi: lbtcContract.abi,\n functionName: 'balanceOf',\n args: [account],\n });\n const balance = fromBaseDenomination(\n String(balanceRaw),\n lbtcContract.decimals,\n );\n\n // check if amount exceeds balance\n if (amount.isGreaterThan(balance)) {\n throw new Error(\n `The amount exceeds the account's balance. \\nAmount: ${amount.toFixed()} \\nBalance: ${balance.toFixed()}`,\n );\n }\n\n const allowanceRaw = await publicClient.readContract({\n address: lbtcContract.address,\n abi: lbtcContract.abi,\n functionName: 'allowance',\n args: [account, bridgeContract.address],\n });\n const allowance = fromBaseDenomination(\n String(allowanceRaw),\n lbtcContract.decimals,\n );\n\n // check if amount exceeds allowance\n if (amount.isGreaterThan(allowance)) {\n const exceededMessage = `The amount exceeds allowance. \\nAmount: ${amount.toFixed()} \\nAllowance: ${allowance.toFixed()}`;\n if (!approve) {\n throw new Error(exceededMessage);\n }\n\n // try to approve new amount\n console.info(exceededMessage);\n try {\n const txHash = await approveLBTC({\n account,\n spender: bridgeContract.address,\n amount,\n chainId: from,\n provider,\n rpcUrl,\n env,\n });\n console.info(`Approve tx hash: ${txHash}`);\n console.info(`Approved ${amountBase} for ${bridgeContract.address}`);\n } catch (err) {\n const msg = getErrorMessage(err);\n throw new Error(\n `Could not approve ${amountBase} for ${bridgeContract.address}. \\nReason: ${msg}`,\n );\n }\n }\n\n const extraOptions = Options.newOptions().addExecutorLzReceiveOption(\n (OFT_HI_GAS_LIMIT_CHAINS as number[]).includes(to)\n ? OFT_HI_GAS_LIMIT\n : OFT_GAS_LIMIT,\n 0,\n );\n\n /** _sendParam */\n const sendParam = [\n /** dstEid - uint32 */\n DESTINATION_ENDPOINT_ID_MAP[to],\n /** to - bytes32 */\n pad(recipient),\n /** amountLD - uint256 */\n amountBase,\n /** minAmountLD - uint256 */\n amountBase,\n /** extraOptions - bytes */\n extraOptions.toHex(),\n /** composeMsg - bytes */\n '0x',\n /** oftCmd - bytes */\n '0x',\n ];\n\n const { nativeFee, lzTokenFee } = (await publicClient.readContract({\n abi: bridgeContract.abi,\n address: bridgeContract.address,\n account,\n functionName: 'quoteSend',\n args: [sendParam, false],\n })) as { nativeFee: bigint; lzTokenFee: bigint };\n\n const bridgeArgs = [\n /** _sendParam */\n sendParam,\n /** _fee */\n [\n /** nativeFee - uint256 */\n nativeFee,\n /** lzTokenFee - uint256 */\n lzTokenFee,\n ],\n /** address - address */\n account,\n ];\n\n const { request } = await publicClient.simulateContract({\n abi: bridgeContract.abi,\n address: bridgeContract.address,\n account,\n functionName: 'send',\n args: bridgeArgs,\n value: nativeFee,\n });\n\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n","import BigNumber from 'bignumber.js';\nimport { Address } from 'viem';\n\nimport { CommonWriteParameters } from '../../common/parameters';\nimport { bridgeCCIP } from './ccip-bridge';\nimport {\n BRIDGE_EXPLORER_URL_MAP,\n BridgeChain,\n BridgeType,\n CCIP_BRIDGE_CHAINS,\n CCIPBridgeChain,\n getBridgeInfo,\n OFTBridgeChain,\n} from './config';\nimport { bridgeOFT } from './oft-bridge';\n\nexport type BridgeParameters = {\n /** The destination chain id. */\n to: BridgeChain;\n /** The LBTC amount. */\n amount: BigNumber.Value;\n /**\n * A flag determining whether the amount should be approved within\n * the execution of this function. If set to `false` it will\n * throw an error when the deposit amount exceeds allowance.\n */\n approve?: boolean;\n /** The destination address. If omitted the same as the account address. */\n recipient?: Address;\n} & CommonWriteParameters & {\n /**\n * A flag indicating whether the OFT bridge should be allowed.\n * Use at your onw risk!\n */\n experimentalAllowOFT?: boolean;\n };\n\n/**\n * Bridges funds (`amount`) from the connected chain (`chainId`) to the provided\n * destination chain (`to`)\n */\nexport async function bridge({\n to,\n amount,\n approve,\n account,\n chainId,\n provider,\n recipient,\n rpcUrl,\n env,\n experimentalAllowOFT = false,\n}: BridgeParameters) {\n const bridgeInfo = getBridgeInfo(chainId as BridgeChain, to);\n\n if (\n !bridgeInfo ||\n (!experimentalAllowOFT && bridgeInfo.type === BridgeType.OFT)\n ) {\n // The OFT bridges are disabled for now in this generic function as we're\n // working on moving all bridges to the CCIP method. OFT bridging shouldn't\n // be exposed.\n throw new Error(\n `Unsupported bridge from ${chainId} to ${to}. Please switch to the supported chains: ${CCIP_BRIDGE_CHAINS.join(', ')}`,\n );\n }\n\n switch (bridgeInfo.type) {\n case BridgeType.CCIP: {\n const txHash = await bridgeCCIP({\n to: to as CCIPBridgeChain,\n amount,\n approve,\n recipient,\n account,\n chainId,\n provider,\n env,\n rpcUrl,\n });\n\n return {\n txHash,\n explorerUrl: BRIDGE_EXPLORER_URL_MAP[BridgeType.CCIP].replace(\n '{txHash}',\n txHash,\n ),\n type: BridgeType.CCIP,\n };\n }\n\n case BridgeType.OFT: {\n const txHash = await bridgeOFT({\n to: to as OFTBridgeChain,\n amount,\n approve,\n recipient,\n account,\n chainId,\n provider,\n env,\n rpcUrl,\n });\n\n return {\n txHash,\n explorerUrl: BRIDGE_EXPLORER_URL_MAP[BridgeType.OFT].replace(\n '{txHash}',\n txHash,\n ),\n type: BridgeType.OFT,\n };\n }\n }\n}\n"],"names":["CCIP_CONFIG","ChainId","getCCIPConfig","chainId","MIN_BRIDGE_AMOUNT","BigNumber","BridgeType","BRIDGE_EXPLORER_URL_MAP","CCIP_BRIDGE_CHAINS","OFT_BRIDGE_CHAINS","unique","OFT_GAS_LIMIT","OFT_HI_GAS_LIMIT","OFT_HI_GAS_LIMIT_CHAINS","bridgeIdentifier","from","to","CCIP_FROM_ETH","CCIP_BRIDGE_ADAPTER_ABI","CCIP_FROM_BASE","CCIP_FROM_BSC","CCIP_FROM_KATANA","CCIP_FROM_SONIC","CCIP_FROM_BASE_SEPOLIA","CCIP_FROM_HOLESKY","CCIP_BRIDGES","acc","cur","route","OFT_BRIDGES","OFT_BRIDGE_ADAPTER_ABI","BRIDGES","getBridgeInfo","encodeExtraArgs","gasLimit","tag","encodedGasLimit","encodePacked","bridgeCCIP","amountRaw","approve","optionalRecipient","account","provider","env","rpcUrl","amount","recipient","bridgeInfo","sourceChainConfig","destinationChainConfig","routerAddress","lbtcContract","getTokenInfo","Token","publicClient","makePublicClient","walletClient","makeWalletClient","amountBase","toBigInt","toBaseDenomination","balanceRaw","balance","fromBaseDenomination","allowanceRaw","allowance","exceededMessage","txHash","approveLBTC","err","msg","getErrorMessage","receiverBytes","encodeAbiParameters","parseAbiParameters","extraArgs","message","fee","CCIP_ROUTER_ABI","request","DESTINATION_ENDPOINT_ID_MAP","bridgeOFT","bridgeContract","extraOptions","Options","sendParam","pad","nativeFee","lzTokenFee","bridgeArgs","bridge","experimentalAllowOFT"],"mappings":"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"}
|