@lombard.finance/sdk 4.1.2 → 4.2.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 +94 -0
- package/README.md +59 -10
- package/dist/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.d.ts +5 -1
- package/dist/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.d.ts.map +1 -1
- package/dist/api.cjs +2 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.js +41 -0
- package/dist/api.js.map +1 -0
- package/dist/bridge/lib/ccip-config.d.ts.map +1 -1
- package/dist/bridge.cjs +2 -0
- package/dist/bridge.cjs.map +1 -0
- package/dist/bridge.js +11 -0
- package/dist/bridge.js.map +1 -0
- package/dist/btc.cjs +2 -0
- package/dist/btc.cjs.map +1 -0
- package/dist/btc.js +13 -0
- package/dist/btc.js.map +1 -0
- package/dist/chains/btc/actions/deposit/config/index.d.ts +2 -1
- package/dist/chains/btc/actions/deposit/config/index.d.ts.map +1 -1
- package/dist/chains/btc/actions/deposit/config/types.d.ts +2 -1
- package/dist/chains/btc/actions/deposit/config/types.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/config/evm.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts +2 -1
- package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/config/types.d.ts +2 -1
- package/dist/chains/btc/actions/depositAndDeploy/config/types.d.ts.map +1 -1
- package/dist/chains/btc/actions/shared/validation.d.ts +2 -1
- package/dist/chains/btc/actions/shared/validation.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/index.d.ts +2 -1
- package/dist/chains/btc/actions/stake/config/index.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/config/solana.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/config/starknet.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/config/sui.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/config/types.d.ts +2 -1
- package/dist/chains/btc/actions/stake/config/types.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/config/evm.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts +2 -1
- package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/config/types.d.ts +2 -1
- package/dist/chains/btc/actions/stakeAndDeploy/config/types.d.ts.map +1 -1
- package/dist/chains/evm/EvmActions.d.ts +39 -0
- package/dist/chains/evm/EvmActions.d.ts.map +1 -1
- package/dist/chains/evm/actions/deploy/config/evm.d.ts +2 -1
- package/dist/chains/evm/actions/deploy/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/deploy/config/types.d.ts +2 -1
- package/dist/chains/evm/actions/deploy/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/deposit/config/evm.d.ts +2 -1
- package/dist/chains/evm/actions/deposit/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/deposit/config/types.d.ts +2 -1
- package/dist/chains/evm/actions/deposit/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/index.d.ts +1 -0
- package/dist/chains/evm/actions/index.d.ts.map +1 -1
- package/dist/chains/evm/actions/redeem/config/evm.d.ts +2 -1
- package/dist/chains/evm/actions/redeem/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/redeem/config/types.d.ts +2 -1
- package/dist/chains/evm/actions/redeem/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/stake/config/evm.d.ts +2 -1
- package/dist/chains/evm/actions/stake/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/stake/config/types.d.ts +2 -1
- package/dist/chains/evm/actions/stake/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/unstake/config/evm.d.ts +2 -1
- package/dist/chains/evm/actions/unstake/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/unstake/config/types.d.ts +2 -1
- package/dist/chains/evm/actions/unstake/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/withdraw/EvmCancelWithdraw.d.ts +27 -0
- package/dist/chains/evm/actions/withdraw/EvmCancelWithdraw.d.ts.map +1 -0
- package/dist/chains/evm/actions/withdraw/EvmWithdraw.d.ts +39 -0
- package/dist/chains/evm/actions/withdraw/EvmWithdraw.d.ts.map +1 -0
- package/dist/chains/evm/actions/withdraw/config/evm.d.ts +22 -0
- package/dist/chains/evm/actions/withdraw/config/evm.d.ts.map +1 -0
- package/dist/chains/evm/actions/withdraw/config/index.d.ts +8 -0
- package/dist/chains/evm/actions/withdraw/config/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/withdraw/config/types.d.ts +31 -0
- package/dist/chains/evm/actions/withdraw/config/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/withdraw/factory.d.ts +53 -0
- package/dist/chains/evm/actions/withdraw/factory.d.ts.map +1 -0
- package/dist/chains/evm/actions/withdraw/index.d.ts +12 -0
- package/dist/chains/evm/actions/withdraw/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/withdraw/types.d.ts +87 -0
- package/dist/chains/evm/actions/withdraw/types.d.ts.map +1 -0
- package/dist/chains/evm/shared/feeAuth.d.ts +1 -1
- package/dist/chains/evm/shared/feeAuth.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/config/btc.d.ts +2 -1
- package/dist/chains/solana/actions/unstake/config/btc.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/config/solana.d.ts +2 -1
- package/dist/chains/solana/actions/unstake/config/solana.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/config/types.d.ts +2 -1
- package/dist/chains/solana/actions/unstake/config/types.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/config/btc.d.ts +2 -1
- package/dist/chains/starknet/actions/unstake/config/btc.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/config/starknet.d.ts +2 -1
- package/dist/chains/starknet/actions/unstake/config/starknet.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/config/types.d.ts +2 -1
- package/dist/chains/starknet/actions/unstake/config/types.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/config/btc.d.ts +2 -1
- package/dist/chains/sui/actions/unstake/config/btc.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/config/sui.d.ts +2 -1
- package/dist/chains/sui/actions/unstake/config/sui.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/config/types.d.ts +2 -1
- package/dist/chains/sui/actions/unstake/config/types.d.ts.map +1 -1
- package/dist/chunks/BtcActions-D9eBmDj6.cjs +2 -0
- package/dist/chunks/BtcActions-D9eBmDj6.cjs.map +1 -0
- package/dist/chunks/BtcActions-DGqmtxjd.js +1791 -0
- package/dist/chunks/BtcActions-DGqmtxjd.js.map +1 -0
- package/dist/chunks/EvmActions-BOwYPThp.cjs +2 -0
- package/dist/chunks/EvmActions-BOwYPThp.cjs.map +1 -0
- package/dist/chunks/EvmActions-MW5mNmqs.js +1351 -0
- package/dist/chunks/EvmActions-MW5mNmqs.js.map +1 -0
- package/dist/chunks/ReferralsClient-DUwyIUe3.cjs +2 -0
- package/dist/chunks/ReferralsClient-DUwyIUe3.cjs.map +1 -0
- package/dist/chunks/ReferralsClient-JjWLlIO4.js +462 -0
- package/dist/chunks/ReferralsClient-JjWLlIO4.js.map +1 -0
- package/dist/chunks/api-config-CtcP3TVl.js +35 -0
- package/dist/chunks/api-config-CtcP3TVl.js.map +1 -0
- package/dist/chunks/api-config-DkXqqfCK.cjs +2 -0
- package/dist/chunks/api-config-DkXqqfCK.cjs.map +1 -0
- package/dist/chunks/approveLBTC-CN6rJF6_.cjs +2 -0
- package/dist/chunks/approveLBTC-CN6rJF6_.cjs.map +1 -0
- package/dist/chunks/approveLBTC-DOP0wsm3.js +26 -0
- package/dist/chunks/approveLBTC-DOP0wsm3.js.map +1 -0
- package/dist/chunks/array-Cev6kyLJ.js +15 -0
- package/dist/chunks/array-Cev6kyLJ.js.map +1 -0
- package/dist/chunks/array-DKG6Pz4i.cjs +2 -0
- package/dist/chunks/array-DKG6Pz4i.cjs.map +1 -0
- package/dist/chunks/blockchain-identifier-DtIGGlIi.cjs +2 -0
- package/dist/chunks/blockchain-identifier-DtIGGlIi.cjs.map +1 -0
- package/dist/chunks/blockchain-identifier-PNEhu-QU.js +113 -0
- package/dist/chunks/blockchain-identifier-PNEhu-QU.js.map +1 -0
- package/dist/chunks/bridge-DkZMwO7c.cjs +12 -0
- package/dist/chunks/bridge-DkZMwO7c.cjs.map +1 -0
- package/dist/chunks/bridge-DyAiDpxD.js +693 -0
- package/dist/chunks/bridge-DyAiDpxD.js.map +1 -0
- package/dist/chunks/config-DqbLaiRi.cjs +2 -0
- package/dist/chunks/config-DqbLaiRi.cjs.map +1 -0
- package/dist/chunks/config-_8X_2sG4.js +374 -0
- package/dist/chunks/config-_8X_2sG4.js.map +1 -0
- package/dist/chunks/constants-BBK-JNcY.cjs +2 -0
- package/dist/chunks/constants-BBK-JNcY.cjs.map +1 -0
- package/dist/chunks/constants-CuT4axsy.js +5 -0
- package/dist/chunks/constants-CuT4axsy.js.map +1 -0
- package/dist/chunks/defi-registry-NGWlyxAY.cjs +2 -0
- package/dist/chunks/defi-registry-NGWlyxAY.cjs.map +1 -0
- package/dist/chunks/defi-registry-dhrQMy94.js +172 -0
- package/dist/chunks/defi-registry-dhrQMy94.js.map +1 -0
- package/dist/chunks/depositStatus-DeCO-K5Q.js +205 -0
- package/dist/chunks/depositStatus-DeCO-K5Q.js.map +1 -0
- package/dist/chunks/depositStatus-K6gky8zH.cjs +2 -0
- package/dist/chunks/depositStatus-K6gky8zH.cjs.map +1 -0
- package/dist/chunks/events-CLVUaKQS.js +996 -0
- package/dist/chunks/events-CLVUaKQS.js.map +1 -0
- package/dist/chunks/events-DIKZG4SZ.cjs +2 -0
- package/dist/chunks/events-DIKZG4SZ.cjs.map +1 -0
- package/dist/chunks/evm-by-btc-address-CwLiENtM.js +39 -0
- package/dist/chunks/evm-by-btc-address-CwLiENtM.js.map +1 -0
- package/dist/chunks/evm-by-btc-address-DiQoIWsr.cjs +2 -0
- package/dist/chunks/evm-by-btc-address-DiQoIWsr.cjs.map +1 -0
- package/dist/chunks/fee-requirements-CICSxYYL.cjs +2 -0
- package/dist/chunks/fee-requirements-CICSxYYL.cjs.map +1 -0
- package/dist/chunks/fee-requirements-x8-8mpJ7.js +14 -0
- package/dist/chunks/fee-requirements-x8-8mpJ7.js.map +1 -0
- package/dist/chunks/get-exchange-ratio-B0CNEGOB.js +20 -0
- package/dist/chunks/get-exchange-ratio-B0CNEGOB.js.map +1 -0
- package/dist/chunks/get-exchange-ratio-CM8W0jTw.cjs +2 -0
- package/dist/chunks/get-exchange-ratio-CM8W0jTw.cjs.map +1 -0
- package/dist/chunks/get-positions-summary-Cled5YPA.js +103 -0
- package/dist/chunks/get-positions-summary-Cled5YPA.js.map +1 -0
- package/dist/chunks/get-positions-summary-Co7RZBiK.cjs +2 -0
- package/dist/chunks/get-positions-summary-Co7RZBiK.cjs.map +1 -0
- package/dist/chunks/get-vault-tvl-Bydlvlrv.cjs +2 -0
- package/dist/chunks/get-vault-tvl-Bydlvlrv.cjs.map +1 -0
- package/dist/chunks/get-vault-tvl-DxjO9xDs.js +226 -0
- package/dist/chunks/get-vault-tvl-DxjO9xDs.js.map +1 -0
- package/dist/chunks/get-vault-withdrawals-CSQqKFB8.js +161 -0
- package/dist/chunks/get-vault-withdrawals-CSQqKFB8.js.map +1 -0
- package/dist/chunks/get-vault-withdrawals-DBA3ok0m.cjs +2 -0
- package/dist/chunks/get-vault-withdrawals-DBA3ok0m.cjs.map +1 -0
- package/dist/chunks/getSharesByAddress-CK2q7gBI.js +121 -0
- package/dist/chunks/getSharesByAddress-CK2q7gBI.js.map +1 -0
- package/dist/chunks/getSharesByAddress-De7as74h.cjs +2 -0
- package/dist/chunks/getSharesByAddress-De7as74h.cjs.map +1 -0
- package/dist/chunks/getUserStakeAndBakeSignature--XsK93Lb.cjs +2 -0
- package/dist/chunks/getUserStakeAndBakeSignature--XsK93Lb.cjs.map +1 -0
- package/dist/chunks/getUserStakeAndBakeSignature-2xPkL9v_.js +120 -0
- package/dist/chunks/getUserStakeAndBakeSignature-2xPkL9v_.js.map +1 -0
- package/dist/chunks/index-BKzxeh1Y.cjs +2 -0
- package/dist/chunks/index-BKzxeh1Y.cjs.map +1 -0
- package/dist/chunks/index-CfcQ_g3t.js +37 -0
- package/dist/chunks/index-CfcQ_g3t.js.map +1 -0
- package/dist/chunks/lbtc-addresses-NHg9Gk5y.js +10 -0
- package/dist/chunks/lbtc-addresses-NHg9Gk5y.js.map +1 -0
- package/dist/chunks/lbtc-addresses-bj--zuK9.cjs +2 -0
- package/dist/chunks/lbtc-addresses-bj--zuK9.cjs.map +1 -0
- package/dist/chunks/numbers-3LtmxfD8.cjs +2 -0
- package/dist/chunks/numbers-3LtmxfD8.cjs.map +1 -0
- package/dist/chunks/numbers-CM-lcmt4.js +15 -0
- package/dist/chunks/numbers-CM-lcmt4.js.map +1 -0
- package/dist/chunks/parameters-CDV-6Hk5.js +11 -0
- package/dist/chunks/parameters-CDV-6Hk5.js.map +1 -0
- package/dist/chunks/parameters-DK9cYCAH.cjs +2 -0
- package/dist/chunks/parameters-DK9cYCAH.cjs.map +1 -0
- package/dist/chunks/satoshi-CZEsHl5X.cjs +2 -0
- package/dist/chunks/satoshi-CZEsHl5X.cjs.map +1 -0
- package/dist/chunks/satoshi-Ch6y8aYG.js +19 -0
- package/dist/chunks/satoshi-Ch6y8aYG.js.map +1 -0
- package/dist/chunks/statusConstants-DTDi_4Go.cjs +2 -0
- package/dist/chunks/statusConstants-DTDi_4Go.cjs.map +1 -0
- package/dist/chunks/statusConstants-ZJia15m2.js +4446 -0
- package/dist/chunks/statusConstants-ZJia15m2.js.map +1 -0
- package/dist/chunks/storeNetworkFeeSignature-BZUZOxns.js +65 -0
- package/dist/chunks/storeNetworkFeeSignature-BZUZOxns.js.map +1 -0
- package/dist/chunks/storeNetworkFeeSignature-pV7xUOSo.cjs +2 -0
- package/dist/chunks/storeNetworkFeeSignature-pV7xUOSo.cjs.map +1 -0
- package/dist/chunks/time-I-BeyUkG.cjs +2 -0
- package/dist/chunks/time-I-BeyUkG.cjs.map +1 -0
- package/dist/chunks/time-QPeEEEnQ.js +24 -0
- package/dist/chunks/time-QPeEEEnQ.js.map +1 -0
- package/dist/chunks/token-addresses-D859i6tX.cjs +2 -0
- package/dist/chunks/token-addresses-D859i6tX.cjs.map +1 -0
- package/dist/chunks/token-addresses-DmAr89jP.js +579 -0
- package/dist/chunks/token-addresses-DmAr89jP.js.map +1 -0
- package/dist/chunks/tokens-Bw35TZqd.js +6663 -0
- package/dist/chunks/tokens-Bw35TZqd.js.map +1 -0
- package/dist/chunks/tokens-DLGMNeqZ.cjs +2 -0
- package/dist/chunks/tokens-DLGMNeqZ.cjs.map +1 -0
- package/dist/chunks/unstakeLBTC-CqZzj9WL.cjs +2 -0
- package/dist/chunks/unstakeLBTC-CqZzj9WL.cjs.map +1 -0
- package/dist/chunks/unstakeLBTC-Huy_ncVl.js +3866 -0
- package/dist/chunks/unstakeLBTC-Huy_ncVl.js.map +1 -0
- package/dist/chunks/withdraw-CVNVJ7-x.js +209 -0
- package/dist/chunks/withdraw-CVNVJ7-x.js.map +1 -0
- package/dist/chunks/withdraw-Z77x7Hj4.cjs +12 -0
- package/dist/chunks/withdraw-Z77x7Hj4.cjs.map +1 -0
- package/dist/client/ApiNamespace.d.ts +39 -0
- package/dist/client/ApiNamespace.d.ts.map +1 -1
- package/dist/client/createLombardSDK.d.ts.map +1 -1
- package/dist/clients/rpc-url-config.d.ts.map +1 -1
- package/dist/common/chains.d.ts.map +1 -1
- package/dist/common/feature-config.d.ts +7 -7
- package/dist/contracts.cjs +2 -0
- package/dist/contracts.cjs.map +1 -0
- package/dist/contracts.js +32 -0
- package/dist/contracts.js.map +1 -0
- package/dist/core/assets/catalog.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/types.d.ts +0 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core.cjs +2 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.js +101 -0
- package/dist/core.js.map +1 -0
- package/dist/debug.cjs +2 -0
- package/dist/debug.cjs.map +1 -0
- package/dist/debug.js +7 -0
- package/dist/debug.js.map +1 -0
- package/dist/defi.cjs +2 -0
- package/dist/defi.cjs.map +1 -0
- package/dist/defi.js +14 -0
- package/dist/defi.js.map +1 -0
- package/dist/entries/api.d.ts +26 -0
- package/dist/entries/api.d.ts.map +1 -0
- package/dist/entries/bridge.d.ts +7 -0
- package/dist/entries/bridge.d.ts.map +1 -0
- package/dist/entries/btc.d.ts +11 -0
- package/dist/entries/btc.d.ts.map +1 -0
- package/dist/entries/contracts.d.ts +23 -0
- package/dist/entries/contracts.d.ts.map +1 -0
- package/dist/entries/core.d.ts +45 -0
- package/dist/entries/core.d.ts.map +1 -0
- package/dist/entries/debug.d.ts +9 -0
- package/dist/entries/debug.d.ts.map +1 -0
- package/dist/entries/defi.d.ts +7 -0
- package/dist/entries/defi.d.ts.map +1 -0
- package/dist/entries/evm.d.ts +17 -0
- package/dist/entries/evm.d.ts.map +1 -0
- package/dist/entries/metrics.d.ts +10 -0
- package/dist/entries/metrics.d.ts.map +1 -0
- package/dist/entries/utils.d.ts +21 -0
- package/dist/entries/utils.d.ts.map +1 -0
- package/dist/entries/vaults.d.ts +7 -0
- package/dist/entries/vaults.d.ts.map +1 -0
- package/dist/evm.cjs +2 -0
- package/dist/evm.cjs.map +1 -0
- package/dist/evm.js +48 -0
- package/dist/evm.js.map +1 -0
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +49 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +293 -267
- package/dist/index.js.map +1 -0
- package/dist/metrics.cjs +2 -0
- package/dist/metrics.cjs.map +1 -0
- package/dist/metrics.js +9 -0
- package/dist/metrics.js.map +1 -0
- package/dist/shared/errors.d.ts +14 -1
- package/dist/shared/errors.d.ts.map +1 -1
- package/dist/shared/events.d.ts +25 -2
- package/dist/shared/events.d.ts.map +1 -1
- package/dist/tokens/token-addresses.d.ts +2 -2
- package/dist/tokens/token-addresses.d.ts.map +1 -1
- package/dist/utils.cjs +2 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.js +101 -0
- package/dist/utils.js.map +1 -0
- package/dist/vaults.cjs +2 -0
- package/dist/vaults.cjs.map +1 -0
- package/dist/vaults.js +18 -0
- package/dist/vaults.js.map +1 -0
- package/package.json +98 -6
- package/dist/ccip.cjs +0 -1
- package/dist/ccip.js +0 -149
- package/dist/index2.cjs +0 -66
- package/dist/index2.js +0 -48325
|
@@ -0,0 +1,579 @@
|
|
|
1
|
+
import { p as D, r as t } from "./index-CfcQ_g3t.js";
|
|
2
|
+
import { custom as K, createWalletClient as j, defineChain as l, extractChain as z } from "viem";
|
|
3
|
+
import { addChain as V } from "viem/actions";
|
|
4
|
+
import * as u from "viem/chains";
|
|
5
|
+
function P({
|
|
6
|
+
provider: e,
|
|
7
|
+
chainId: s
|
|
8
|
+
}) {
|
|
9
|
+
const c = I[s], n = K(e);
|
|
10
|
+
return j({
|
|
11
|
+
chain: c,
|
|
12
|
+
transport: n
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const {
|
|
16
|
+
avalanche: G,
|
|
17
|
+
avalancheFuji: W,
|
|
18
|
+
base: Y,
|
|
19
|
+
baseSepolia: J,
|
|
20
|
+
bsc: Q,
|
|
21
|
+
bscTestnet: X,
|
|
22
|
+
corn: $,
|
|
23
|
+
holesky: q,
|
|
24
|
+
mainnet: Z,
|
|
25
|
+
sepolia: aa,
|
|
26
|
+
sonic: ea,
|
|
27
|
+
sonicBlazeTestnet: ta
|
|
28
|
+
} = u, S = l({
|
|
29
|
+
id: 747474,
|
|
30
|
+
name: "Katana",
|
|
31
|
+
nativeCurrency: {
|
|
32
|
+
decimals: 18,
|
|
33
|
+
name: "Ether",
|
|
34
|
+
symbol: "ETH"
|
|
35
|
+
},
|
|
36
|
+
rpcUrls: {
|
|
37
|
+
default: {
|
|
38
|
+
http: ["https://rpc.katana.network"],
|
|
39
|
+
webSocket: ["wss://rpc.katana.network"]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
blockExplorers: {
|
|
43
|
+
default: { name: "Katana Explorer", url: "https://explorer.katanarpc.com" }
|
|
44
|
+
},
|
|
45
|
+
contracts: {
|
|
46
|
+
multicall3: {
|
|
47
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
48
|
+
blockCreated: 1898013
|
|
49
|
+
// TODO: Confirm this
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}), k = l({
|
|
53
|
+
testnet: !0,
|
|
54
|
+
id: 129399,
|
|
55
|
+
name: "Tatara",
|
|
56
|
+
nativeCurrency: {
|
|
57
|
+
decimals: 18,
|
|
58
|
+
name: "Ether",
|
|
59
|
+
symbol: "ETH"
|
|
60
|
+
},
|
|
61
|
+
rpcUrls: {
|
|
62
|
+
default: {
|
|
63
|
+
http: ["https://rpc.tatara.katanarpc.com"]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
blockExplorers: {
|
|
67
|
+
default: {
|
|
68
|
+
name: "Tatara Explorer",
|
|
69
|
+
url: "https://explorer.tatara.katana.network"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
contracts: {
|
|
73
|
+
multicall3: {
|
|
74
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
75
|
+
blockCreated: 7771207
|
|
76
|
+
// TODO: Confirm this
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}), ca = l({
|
|
80
|
+
id: 239,
|
|
81
|
+
name: "TAC",
|
|
82
|
+
nativeCurrency: {
|
|
83
|
+
decimals: 18,
|
|
84
|
+
name: "TAC",
|
|
85
|
+
symbol: "TAC"
|
|
86
|
+
},
|
|
87
|
+
rpcUrls: {
|
|
88
|
+
default: {
|
|
89
|
+
http: ["https://rpc.tac.build"]
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
blockExplorers: {
|
|
93
|
+
default: { name: "TAC Explorer", url: "https://explorer.tac.build" }
|
|
94
|
+
}
|
|
95
|
+
}), Da = l({
|
|
96
|
+
id: 60808,
|
|
97
|
+
name: "BOB",
|
|
98
|
+
nativeCurrency: {
|
|
99
|
+
decimals: 18,
|
|
100
|
+
name: "Ether",
|
|
101
|
+
symbol: "ETH"
|
|
102
|
+
},
|
|
103
|
+
rpcUrls: {
|
|
104
|
+
default: {
|
|
105
|
+
http: ["https://rpc.gobob.xyz"]
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
blockExplorers: {
|
|
109
|
+
default: { name: "BOB Explorer", url: "https://explorer.gobob.xyz" }
|
|
110
|
+
}
|
|
111
|
+
}), Aa = l({
|
|
112
|
+
id: 808813,
|
|
113
|
+
name: "BOB Sepolia",
|
|
114
|
+
nativeCurrency: {
|
|
115
|
+
decimals: 18,
|
|
116
|
+
name: "Ether",
|
|
117
|
+
symbol: "ETH"
|
|
118
|
+
},
|
|
119
|
+
rpcUrls: {
|
|
120
|
+
default: {
|
|
121
|
+
http: ["https://bob-sepolia.rpc.gobob.xyz"]
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
blockExplorers: {
|
|
125
|
+
default: {
|
|
126
|
+
name: "BOB Sepolia Explorer",
|
|
127
|
+
url: "https://bob-sepolia.explorer.gobob.xyz/"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}), v = l({
|
|
131
|
+
id: 143,
|
|
132
|
+
name: "Monad",
|
|
133
|
+
nativeCurrency: {
|
|
134
|
+
decimals: 18,
|
|
135
|
+
name: "Monad",
|
|
136
|
+
symbol: "MONAD"
|
|
137
|
+
},
|
|
138
|
+
rpcUrls: {
|
|
139
|
+
default: {
|
|
140
|
+
http: ["https://monad-mainnet.drpc.org"]
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
blockExplorers: {
|
|
144
|
+
default: {
|
|
145
|
+
name: "Monad Explorer",
|
|
146
|
+
url: "https://monadvision.com"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
contracts: {
|
|
150
|
+
multicall3: {
|
|
151
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
152
|
+
blockCreated: 9248132
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}), _ = l({
|
|
156
|
+
id: 988,
|
|
157
|
+
name: "Stable",
|
|
158
|
+
nativeCurrency: {
|
|
159
|
+
decimals: 18,
|
|
160
|
+
name: "gUSDT",
|
|
161
|
+
symbol: "gUSDT"
|
|
162
|
+
},
|
|
163
|
+
rpcUrls: {
|
|
164
|
+
default: {
|
|
165
|
+
http: [
|
|
166
|
+
"https://partners-rpc.stable.xyz/lombard.075830647a2c30190712a9d102011ffe5a2a01d24ff3405f711d6ea8aca10baf"
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
// TODO: Update with the correct RPC URL once the stable network is live
|
|
170
|
+
},
|
|
171
|
+
blockExplorers: {
|
|
172
|
+
default: {
|
|
173
|
+
name: "Stable Explorer",
|
|
174
|
+
url: "https://stablescan.xyz"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
contracts: {
|
|
178
|
+
multicall3: {
|
|
179
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
180
|
+
blockCreated: 1
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}), N = l({
|
|
184
|
+
id: 4326,
|
|
185
|
+
name: "MegaETH",
|
|
186
|
+
nativeCurrency: {
|
|
187
|
+
decimals: 18,
|
|
188
|
+
name: "Ether",
|
|
189
|
+
symbol: "ETH"
|
|
190
|
+
},
|
|
191
|
+
rpcUrls: {
|
|
192
|
+
default: {
|
|
193
|
+
http: ["https://mainnet.megaeth.com/rpc"]
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
blockExplorers: {
|
|
197
|
+
default: {
|
|
198
|
+
name: "MegaETH Explorer",
|
|
199
|
+
url: "http://megaeth-testnet-v3.blockscout.com"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
contracts: {
|
|
203
|
+
multicall3: {
|
|
204
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
205
|
+
blockCreated: 2591807
|
|
206
|
+
// TODO: Confirm this
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}), na = {
|
|
210
|
+
...u,
|
|
211
|
+
katana: S,
|
|
212
|
+
katanaTatara: k,
|
|
213
|
+
tac: ca,
|
|
214
|
+
monad: v,
|
|
215
|
+
stable: _,
|
|
216
|
+
megaeth: N
|
|
217
|
+
}, sa = "sui:devnet", p = "sui:testnet", ra = "sui:localnet", y = "sui:mainnet", g = (e) => [
|
|
218
|
+
sa,
|
|
219
|
+
p,
|
|
220
|
+
ra,
|
|
221
|
+
y
|
|
222
|
+
].includes(e), L = "solana:mainnet-beta", O = "solana:testnet", H = "solana:devnet", M = (e) => [
|
|
223
|
+
L,
|
|
224
|
+
O,
|
|
225
|
+
H
|
|
226
|
+
].includes(e), o = "0x534e5f4d41494e", d = "0x534e5f5345504f4c4941", w = (e) => e === o || e === d, a = {
|
|
227
|
+
ethereum: 1,
|
|
228
|
+
avalanche: 43114,
|
|
229
|
+
base: 8453,
|
|
230
|
+
berachain: 80094,
|
|
231
|
+
binanceSmartChain: 56,
|
|
232
|
+
corn: 21e6,
|
|
233
|
+
etherlink: 42793,
|
|
234
|
+
katana: 747474,
|
|
235
|
+
megaeth: 4326,
|
|
236
|
+
monad: 143,
|
|
237
|
+
morph: 2818,
|
|
238
|
+
sonic: 146,
|
|
239
|
+
stable: 988,
|
|
240
|
+
swell: 1923,
|
|
241
|
+
tac: 239,
|
|
242
|
+
bob: 60808,
|
|
243
|
+
// Testnets:
|
|
244
|
+
avalancheFuji: 43113,
|
|
245
|
+
baseSepoliaTestnet: 84532,
|
|
246
|
+
berachainBartioTestnet: 80084,
|
|
247
|
+
binanceSmartChainTestnet: 97,
|
|
248
|
+
holesky: 17e3,
|
|
249
|
+
katanaTatara: 129399,
|
|
250
|
+
morphHolesky: 2810,
|
|
251
|
+
sepolia: 11155111,
|
|
252
|
+
sonicBlazeTestnet: 57054
|
|
253
|
+
}, I = {
|
|
254
|
+
[a.ethereum]: Z,
|
|
255
|
+
[a.avalanche]: G,
|
|
256
|
+
[a.base]: Y,
|
|
257
|
+
[a.binanceSmartChain]: Q,
|
|
258
|
+
[a.corn]: $,
|
|
259
|
+
[a.katana]: S,
|
|
260
|
+
[a.megaeth]: N,
|
|
261
|
+
[a.monad]: v,
|
|
262
|
+
[a.sonic]: ea,
|
|
263
|
+
[a.stable]: _,
|
|
264
|
+
[a.avalancheFuji]: W,
|
|
265
|
+
[a.baseSepoliaTestnet]: J,
|
|
266
|
+
[a.binanceSmartChainTestnet]: X,
|
|
267
|
+
[a.holesky]: q,
|
|
268
|
+
[a.katanaTatara]: k,
|
|
269
|
+
[a.sepolia]: aa,
|
|
270
|
+
[a.sonicBlazeTestnet]: ta
|
|
271
|
+
}, Ta = (e) => [a.katana, a.katanaTatara].includes(
|
|
272
|
+
e
|
|
273
|
+
), pa = (e) => e === a.monad, ha = (e) => [a.ethereum].includes(e), ma = (e) => e === a.stable, Ba = (e) => [a.megaeth].includes(e), oa = {
|
|
274
|
+
[a.ethereum]: "ethereum",
|
|
275
|
+
[a.avalanche]: "avalanche",
|
|
276
|
+
[a.base]: "base",
|
|
277
|
+
[a.berachain]: "berachain",
|
|
278
|
+
[a.binanceSmartChain]: "bsc",
|
|
279
|
+
[a.corn]: "corn",
|
|
280
|
+
[a.etherlink]: "etherlink",
|
|
281
|
+
[a.morph]: "morph",
|
|
282
|
+
[a.sonic]: "sonic",
|
|
283
|
+
[a.swell]: "swellchain",
|
|
284
|
+
[a.megaeth]: "megaeth",
|
|
285
|
+
[a.monad]: "monad",
|
|
286
|
+
[a.katana]: "katana",
|
|
287
|
+
[a.stable]: "stable"
|
|
288
|
+
};
|
|
289
|
+
function R(e) {
|
|
290
|
+
return Object.values(a).includes(e);
|
|
291
|
+
}
|
|
292
|
+
async function xa({ provider: e, chainId: s }) {
|
|
293
|
+
const c = P({
|
|
294
|
+
provider: e,
|
|
295
|
+
chainId: a.ethereum
|
|
296
|
+
}), n = I[s];
|
|
297
|
+
if (!n)
|
|
298
|
+
throw new Error(`Chain ${s} not found`);
|
|
299
|
+
await V(c, {
|
|
300
|
+
chain: n
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
const Fa = (e) => oa[e], ua = (e) => z({ chains: Object.values(na), id: e });
|
|
304
|
+
var h = /* @__PURE__ */ ((e) => (e.Adapter = "adapter", e.Token = "token", e))(h || {}), da = /* @__PURE__ */ ((e) => (e.LBTC = "LBTC", e.BTCK = "BTCK", e.BTCb = "BTC.b", e.BTCBinance = "BTCB", e.cbBTC = "cbBTC", e.eBTC = "eBTC", e.wBTC = "wBTC", e.wBTCN = "wBTCN", e))(da || {});
|
|
305
|
+
const Sa = {
|
|
306
|
+
TOKEN_SYMBOL_STLBTC: "LBTC"
|
|
307
|
+
/* LBTC */
|
|
308
|
+
}, F = {
|
|
309
|
+
[t.prod]: {
|
|
310
|
+
[a.katana]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",
|
|
311
|
+
[a.avalanche]: {
|
|
312
|
+
token: "0x152b9d0FdC40C096757F570A51E494bd4b943E50",
|
|
313
|
+
adapter: "0x85D1D52e11290F174444d21C2a167bEDBE36e4d2"
|
|
314
|
+
},
|
|
315
|
+
[a.monad]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",
|
|
316
|
+
[a.megaeth]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",
|
|
317
|
+
[a.stable]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072"
|
|
318
|
+
},
|
|
319
|
+
[t.ibc]: {
|
|
320
|
+
[a.avalancheFuji]: {
|
|
321
|
+
adapter: "0x1391f9AC408cf13214DDB71d359002658eaF9ebb",
|
|
322
|
+
token: "0x71ba2b8dc58e7ca1b6d81a60729e31aefa37ae02"
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
[t.dev]: {
|
|
326
|
+
[a.avalancheFuji]: {
|
|
327
|
+
adapter: "0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e",
|
|
328
|
+
token: "0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6"
|
|
329
|
+
},
|
|
330
|
+
[a.binanceSmartChainTestnet]: "0xea3F66E5f2928dB9673103BfA01a2153A57a8050",
|
|
331
|
+
[a.sepolia]: "0x195219A262423d209E126BD21cf4F4F9AA796927",
|
|
332
|
+
[a.katanaTatara]: "0xA74D838817f3098166d74a141b7d241efB15F42c"
|
|
333
|
+
},
|
|
334
|
+
[t.stage]: {
|
|
335
|
+
[a.avalancheFuji]: {
|
|
336
|
+
adapter: "0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e",
|
|
337
|
+
token: "0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6"
|
|
338
|
+
},
|
|
339
|
+
[a.sepolia]: "0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58",
|
|
340
|
+
[a.katanaTatara]: "0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58"
|
|
341
|
+
},
|
|
342
|
+
[t.testnet]: {
|
|
343
|
+
[a.avalancheFuji]: {
|
|
344
|
+
adapter: "0x41BCd71e7C92b1c8dDe53037F9b2c4AA2058b1cB",
|
|
345
|
+
token: "0xB14f240714Bd23Bda103A7189D512A90326E4D01"
|
|
346
|
+
},
|
|
347
|
+
[a.sepolia]: "0x20eA7b8ABb4B583788F1DFC738C709a2d9675681",
|
|
348
|
+
[a.katanaTatara]: "0x20eA7b8ABb4B583788F1DFC738C709a2d9675681"
|
|
349
|
+
}
|
|
350
|
+
}, ba = {
|
|
351
|
+
[t.prod]: {
|
|
352
|
+
[a.ethereum]: "0x8236a87084f8b84306f72007f36f2618a5634494",
|
|
353
|
+
[a.avalanche]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
354
|
+
[a.base]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
355
|
+
[a.berachain]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
356
|
+
[a.binanceSmartChain]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
357
|
+
[a.corn]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
358
|
+
[a.etherlink]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
359
|
+
[a.katana]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
360
|
+
[a.megaeth]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
361
|
+
[a.morph]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
362
|
+
[a.sonic]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
363
|
+
[a.stable]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
364
|
+
[a.swell]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
365
|
+
[a.tac]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
|
|
366
|
+
[a.bob]: "0xA45d4121b3D47719FF57a947A9d961539Ba33204",
|
|
367
|
+
[a.monad]: "0xecAc9C5F704e954931349Da37F60E39f515c11c1"
|
|
368
|
+
},
|
|
369
|
+
[t.stage]: {
|
|
370
|
+
[a.avalancheFuji]: void 0,
|
|
371
|
+
[a.baseSepoliaTestnet]: "0x731eFa688F3679688cf60A3993b8658138953ED6",
|
|
372
|
+
[a.berachainBartioTestnet]: "0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",
|
|
373
|
+
[a.binanceSmartChainTestnet]: "0x731eFa688F3679688cf60A3993b8658138953ED6",
|
|
374
|
+
[a.holesky]: "0xED7bfd5C1790576105Af4649817f6d35A75CD818",
|
|
375
|
+
[a.katanaTatara]: "0x731eFa688F3679688cf60A3993b8658138953ED6",
|
|
376
|
+
[a.sepolia]: "0x731eFa688F3679688cf60A3993b8658138953ED6",
|
|
377
|
+
[a.sonicBlazeTestnet]: "0x731eFa688F3679688cf60A3993b8658138953ED6"
|
|
378
|
+
},
|
|
379
|
+
[t.testnet]: {
|
|
380
|
+
[a.avalancheFuji]: "0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",
|
|
381
|
+
[a.baseSepoliaTestnet]: "0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",
|
|
382
|
+
[a.berachainBartioTestnet]: "0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",
|
|
383
|
+
[a.binanceSmartChainTestnet]: "0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",
|
|
384
|
+
[a.holesky]: "0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2",
|
|
385
|
+
[a.sepolia]: "0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",
|
|
386
|
+
[a.sonicBlazeTestnet]: "0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",
|
|
387
|
+
[a.katanaTatara]: "0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5"
|
|
388
|
+
},
|
|
389
|
+
[t.dev]: {
|
|
390
|
+
[a.avalancheFuji]: "0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",
|
|
391
|
+
[a.sepolia]: "0x93283b6B889C591893dB0dc93baD71656D5d8923",
|
|
392
|
+
[a.baseSepoliaTestnet]: "0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",
|
|
393
|
+
[a.berachainBartioTestnet]: "0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",
|
|
394
|
+
[a.binanceSmartChainTestnet]: "0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",
|
|
395
|
+
[a.katanaTatara]: "0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30"
|
|
396
|
+
}
|
|
397
|
+
}, la = {
|
|
398
|
+
BTCB: {
|
|
399
|
+
[t.prod]: {
|
|
400
|
+
[a.binanceSmartChain]: "0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
eBTC: {
|
|
404
|
+
[t.prod]: {
|
|
405
|
+
[a.ethereum]: "0x657e8c867d8b37dcc18fa4caead9c45eb088c642"
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
wBTC: {
|
|
409
|
+
[t.prod]: {
|
|
410
|
+
[a.ethereum]: "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
wBTCN: {
|
|
414
|
+
[t.prod]: {
|
|
415
|
+
[a.corn]: "0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2"
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}, U = {
|
|
419
|
+
LBTC: ba,
|
|
420
|
+
"BTC.b": F,
|
|
421
|
+
BTCK: F,
|
|
422
|
+
// alias for NativeLBTC
|
|
423
|
+
...la
|
|
424
|
+
}, m = {
|
|
425
|
+
LBTC: {
|
|
426
|
+
[t.prod]: {
|
|
427
|
+
[y]: "0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040"
|
|
428
|
+
},
|
|
429
|
+
[t.stage]: {
|
|
430
|
+
[p]: "0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0"
|
|
431
|
+
},
|
|
432
|
+
[t.testnet]: {
|
|
433
|
+
[p]: "0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa"
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}, ka = (e, s = D) => {
|
|
437
|
+
var c, n;
|
|
438
|
+
return ((n = (c = m.LBTC) == null ? void 0 : c[s]) == null ? void 0 : n[e]) || void 0;
|
|
439
|
+
}, B = {
|
|
440
|
+
LBTC: {
|
|
441
|
+
[t.prod]: {
|
|
442
|
+
[L]: "LomP48F7bLbKyMRHHsDVt7wuHaUQvQnVVspjcbfuAek"
|
|
443
|
+
},
|
|
444
|
+
[t.testnet]: {
|
|
445
|
+
[O]: "79cscM6J9Af24TGGWcXyDf56fDLoodkyXdVy4R9aZ6C6"
|
|
446
|
+
},
|
|
447
|
+
[t.stage]: {
|
|
448
|
+
[H]: "HEY7PCJe3GB27UWdopuYb1xDbB5SNtTcYPxRjntvfBSA"
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}, va = (e, s = D) => {
|
|
452
|
+
var c, n;
|
|
453
|
+
return ((n = (c = B.LBTC) == null ? void 0 : c[s]) == null ? void 0 : n[e]) || void 0;
|
|
454
|
+
}, _a = (e, s, c = D, n = h.Token) => {
|
|
455
|
+
var C, f;
|
|
456
|
+
if (!e || !s) return;
|
|
457
|
+
const b = [
|
|
458
|
+
"LBTC",
|
|
459
|
+
"BTC.b"
|
|
460
|
+
/* BTCb */
|
|
461
|
+
], A = [
|
|
462
|
+
[w, x],
|
|
463
|
+
[g, m],
|
|
464
|
+
[M, B],
|
|
465
|
+
[R, U]
|
|
466
|
+
];
|
|
467
|
+
for (const E of b)
|
|
468
|
+
for (const [T, i] of A)
|
|
469
|
+
if (T(s)) {
|
|
470
|
+
let r = (f = (C = i == null ? void 0 : i[E]) == null ? void 0 : C[c]) == null ? void 0 : f[s];
|
|
471
|
+
if (r && (r = typeof r == "string" ? r : r[n], e.toLowerCase() === r.toLowerCase()))
|
|
472
|
+
return E;
|
|
473
|
+
}
|
|
474
|
+
}, Na = (e, s = h.Token, c = D) => {
|
|
475
|
+
var n, b, A, C, f, E, T, i;
|
|
476
|
+
if (R(e)) {
|
|
477
|
+
const r = (b = (n = U.LBTC) == null ? void 0 : n[c]) == null ? void 0 : b[e];
|
|
478
|
+
if (r)
|
|
479
|
+
return typeof r == "string" ? r : r[s];
|
|
480
|
+
}
|
|
481
|
+
if (g(e))
|
|
482
|
+
return (C = (A = m.LBTC) == null ? void 0 : A[c]) == null ? void 0 : C[e];
|
|
483
|
+
if (M(e))
|
|
484
|
+
return (E = (f = B.LBTC) == null ? void 0 : f[c]) == null ? void 0 : E[e];
|
|
485
|
+
if (w(e))
|
|
486
|
+
return (i = (T = x.LBTC) == null ? void 0 : T[c]) == null ? void 0 : i[e];
|
|
487
|
+
}, x = {
|
|
488
|
+
LBTC: {
|
|
489
|
+
[t.prod]: {
|
|
490
|
+
[d]: void 0,
|
|
491
|
+
[o]: "0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4"
|
|
492
|
+
},
|
|
493
|
+
[t.stage]: {
|
|
494
|
+
[d]: "0x00b442f5420860e937a99659326e81a97e07bfd538b3cee65b90029c9da38a5f",
|
|
495
|
+
[o]: void 0
|
|
496
|
+
},
|
|
497
|
+
[t.testnet]: {
|
|
498
|
+
[d]: "0x00456a829ab75ba5e97534dc70d7fc617cfda244f8dcda47b11624de67c6e70c",
|
|
499
|
+
[o]: void 0
|
|
500
|
+
},
|
|
501
|
+
[t.dev]: {
|
|
502
|
+
[d]: "0x0723de0c550b7bfbb5051dade72966d71a08bef952c0197462a5244497eb57c1",
|
|
503
|
+
[o]: void 0
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}, ia = {
|
|
507
|
+
LBTC: {
|
|
508
|
+
[t.prod]: {
|
|
509
|
+
[d]: void 0,
|
|
510
|
+
[o]: "0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976"
|
|
511
|
+
},
|
|
512
|
+
[t.stage]: {
|
|
513
|
+
[d]: "0x01d27f156092746d0d7cd9d9deec5e937f27c3c7c1c28365e9e5efac459880b3",
|
|
514
|
+
[o]: void 0
|
|
515
|
+
},
|
|
516
|
+
[t.testnet]: {
|
|
517
|
+
[d]: "0x063b7b5c8b114ebd5b9602fbd5d0ffd2cc3a598f1d91c6904cc0997cd8fea760",
|
|
518
|
+
[o]: void 0
|
|
519
|
+
},
|
|
520
|
+
[t.dev]: {
|
|
521
|
+
[d]: "0x04838a05c798dc57e01e85526979841c84f1f3c732a525cff53adb3e8bee3d24",
|
|
522
|
+
[o]: void 0
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}, ya = (e, s = D, c = "token") => {
|
|
526
|
+
var n, b;
|
|
527
|
+
return ((b = (n = (c === "token" ? x : ia).LBTC) == null ? void 0 : n[s]) == null ? void 0 : b[e]) || void 0;
|
|
528
|
+
};
|
|
529
|
+
export {
|
|
530
|
+
sa as A,
|
|
531
|
+
ra as B,
|
|
532
|
+
oa as C,
|
|
533
|
+
y as D,
|
|
534
|
+
p as E,
|
|
535
|
+
ca as F,
|
|
536
|
+
h as G,
|
|
537
|
+
ba as H,
|
|
538
|
+
va as I,
|
|
539
|
+
ya as J,
|
|
540
|
+
ka as K,
|
|
541
|
+
Na as L,
|
|
542
|
+
_a as M,
|
|
543
|
+
B as N,
|
|
544
|
+
ia as O,
|
|
545
|
+
x as P,
|
|
546
|
+
m as Q,
|
|
547
|
+
Sa as R,
|
|
548
|
+
H as S,
|
|
549
|
+
da as T,
|
|
550
|
+
U,
|
|
551
|
+
P as V,
|
|
552
|
+
xa as a,
|
|
553
|
+
na as b,
|
|
554
|
+
Da as c,
|
|
555
|
+
Aa as d,
|
|
556
|
+
I as e,
|
|
557
|
+
a as f,
|
|
558
|
+
ua as g,
|
|
559
|
+
Fa as h,
|
|
560
|
+
ha as i,
|
|
561
|
+
Ta as j,
|
|
562
|
+
Ba as k,
|
|
563
|
+
pa as l,
|
|
564
|
+
M as m,
|
|
565
|
+
ma as n,
|
|
566
|
+
w as o,
|
|
567
|
+
g as p,
|
|
568
|
+
R as q,
|
|
569
|
+
S as r,
|
|
570
|
+
k as s,
|
|
571
|
+
N as t,
|
|
572
|
+
v as u,
|
|
573
|
+
L as v,
|
|
574
|
+
O as w,
|
|
575
|
+
_ as x,
|
|
576
|
+
o as y,
|
|
577
|
+
d as z
|
|
578
|
+
};
|
|
579
|
+
//# sourceMappingURL=token-addresses-DmAr89jP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-addresses-DmAr89jP.js","sources":["../../src/clients/wallet-client.ts","../../src/common/chains.ts","../../src/tokens/types.ts","../../src/tokens/token-addresses.ts"],"sourcesContent":["import {\n createWalletClient,\n custom,\n EIP1193Provider,\n WalletClient,\n} from 'viem';\n\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP, ChainId } from '../common/chains';\n\ntype MakeClientParameters = {\n provider: EIP1193Provider;\n chainId: ChainId;\n};\n\n/**\n * Creates the client for specified `chainId`.\n * @param chainId - The chain id\n * @param rpcUrl - The overridden RPC url for specified chain id.\n * @returns The public client instance\n */\nexport function makeWalletClient({\n provider,\n chainId,\n}: MakeClientParameters): WalletClient {\n const chain = CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId];\n const transport = custom(provider);\n\n const client = createWalletClient({\n chain,\n transport,\n });\n\n return client as WalletClient<typeof transport>;\n}\n","import { defineChain, type EIP1193Provider, extractChain } from 'viem';\nimport { addChain as viem_addChain } from 'viem/actions';\nimport * as viem_chains from 'viem/chains';\n\nimport { makeWalletClient } from '../clients/wallet-client';\nimport { featureConfig } from './feature-config';\n\nconst {\n avalanche,\n avalancheFuji,\n base,\n baseSepolia,\n berachain,\n berachainTestnetbArtio,\n bsc,\n bscTestnet,\n corn,\n etherlink,\n holesky,\n mainnet,\n morph,\n morphHolesky,\n sepolia,\n sonic,\n sonicBlazeTestnet,\n swellchain,\n} = viem_chains;\n\n// FIXME: Remove this custom chain definition once katana is supported by viem\nexport const katana = defineChain({\n id: 747474,\n name: 'Katana',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://rpc.katana.network'],\n webSocket: ['wss://rpc.katana.network'],\n },\n },\n blockExplorers: {\n default: { name: 'Katana Explorer', url: 'https://explorer.katanarpc.com' },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1898013, // TODO: Confirm this\n },\n },\n});\n\nexport const katanaTatara = defineChain({\n testnet: true,\n id: 129399,\n name: 'Tatara',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://rpc.tatara.katanarpc.com'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Tatara Explorer',\n url: 'https://explorer.tatara.katana.network',\n },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 7771207, // TODO: Confirm this\n },\n },\n});\n\n// FIXME: Remove this custom chain definition once TAC is supported by viem\nexport const tac = defineChain({\n id: 239,\n name: 'TAC',\n nativeCurrency: {\n decimals: 18,\n name: 'TAC',\n symbol: 'TAC',\n },\n rpcUrls: {\n default: {\n http: ['https://rpc.tac.build'],\n },\n },\n blockExplorers: {\n default: { name: 'TAC Explorer', url: 'https://explorer.tac.build' },\n },\n});\n\nexport const bob = defineChain({\n id: 60808,\n name: 'BOB',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://rpc.gobob.xyz'],\n },\n },\n blockExplorers: {\n default: { name: 'BOB Explorer', url: 'https://explorer.gobob.xyz' },\n },\n});\n\nexport const bobSepolia = defineChain({\n id: 808813,\n name: 'BOB Sepolia',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://bob-sepolia.rpc.gobob.xyz'],\n },\n },\n blockExplorers: {\n default: {\n name: 'BOB Sepolia Explorer',\n url: 'https://bob-sepolia.explorer.gobob.xyz/',\n },\n },\n});\n\nexport const monad = defineChain({\n id: 143,\n name: 'Monad',\n nativeCurrency: {\n decimals: 18,\n name: 'Monad',\n symbol: 'MONAD',\n },\n rpcUrls: {\n default: {\n http: ['https://monad-mainnet.drpc.org'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Monad Explorer',\n url: 'https://monadvision.com',\n },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 9248132,\n },\n },\n});\n\nexport const stable = defineChain({\n id: 988,\n name: 'Stable',\n nativeCurrency: {\n decimals: 18,\n name: 'gUSDT',\n symbol: 'gUSDT',\n },\n rpcUrls: {\n default: {\n http: [\n 'https://partners-rpc.stable.xyz/lombard.075830647a2c30190712a9d102011ffe5a2a01d24ff3405f711d6ea8aca10baf',\n ],\n }, // TODO: Update with the correct RPC URL once the stable network is live\n },\n blockExplorers: {\n default: {\n name: 'Stable Explorer',\n url: 'https://stablescan.xyz',\n },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1,\n },\n },\n});\n\nexport const megaeth = defineChain({\n id: 4326,\n name: 'MegaETH',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://mainnet.megaeth.com/rpc'],\n },\n },\n blockExplorers: {\n default: {\n name: 'MegaETH Explorer',\n url: 'http://megaeth-testnet-v3.blockscout.com',\n },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 2591807, // TODO: Confirm this\n },\n },\n});\n\nexport const allChains: Record<string, viem_chains.Chain> = {\n ...viem_chains,\n katana,\n katanaTatara,\n tac,\n monad,\n stable,\n megaeth,\n};\n\nexport const SUI_DEVNET_CHAIN = 'sui:devnet' as const;\nexport const SUI_TESTNET_CHAIN = 'sui:testnet' as const;\nexport const SUI_LOCALNET_CHAIN = 'sui:localnet' as const;\nexport const SUI_MAINNET_CHAIN = 'sui:mainnet' as const;\n\nexport type SuiChain =\n | typeof SUI_DEVNET_CHAIN\n | typeof SUI_TESTNET_CHAIN\n | typeof SUI_LOCALNET_CHAIN\n | typeof SUI_MAINNET_CHAIN;\n\nexport const isSuiChain = (chainId: unknown): chainId is SuiChain => {\n return (\n [\n SUI_DEVNET_CHAIN,\n SUI_TESTNET_CHAIN,\n SUI_LOCALNET_CHAIN,\n SUI_MAINNET_CHAIN,\n ] as string[]\n ).includes(chainId as string);\n};\n\nexport const SOLANA_MAINNET_CHAIN = 'solana:mainnet-beta' as const;\nexport const SOLANA_TESTNET_CHAIN = 'solana:testnet' as const;\nexport const SOLANA_DEVNET_CHAIN = 'solana:devnet' as const;\n\nexport type SolanaChain =\n | typeof SOLANA_MAINNET_CHAIN\n | typeof SOLANA_TESTNET_CHAIN\n | typeof SOLANA_DEVNET_CHAIN;\n\nexport const isSolanaChain = (chainId: unknown): chainId is SolanaChain => {\n return (\n [\n SOLANA_MAINNET_CHAIN,\n SOLANA_TESTNET_CHAIN,\n SOLANA_DEVNET_CHAIN,\n ] as string[]\n ).includes(chainId as string);\n};\n\n// Starknet chain identifiers:\nexport const STARKNET_MAINNET_CHAIN = '0x534e5f4d41494e' as const;\nexport const STARKNET_SEPOLIA_CHAIN = '0x534e5f5345504f4c4941' as const;\nexport type StarknetChainId =\n | typeof STARKNET_MAINNET_CHAIN\n | typeof STARKNET_SEPOLIA_CHAIN;\n\nexport const isStarknetChainId = (\n chainId: unknown,\n): chainId is StarknetChainId => {\n return (\n chainId === STARKNET_MAINNET_CHAIN || chainId === STARKNET_SEPOLIA_CHAIN\n );\n};\n\nexport const ChainId = {\n ethereum: 1,\n avalanche: 43114,\n base: 8453,\n berachain: 80094,\n binanceSmartChain: 56,\n corn: 21000000,\n etherlink: 42793,\n katana: 747474,\n megaeth: 4326,\n monad: 143,\n morph: 2818,\n sonic: 146,\n stable: 988,\n swell: 1923,\n tac: 239,\n bob: 60808,\n // Testnets:\n avalancheFuji: 43113,\n baseSepoliaTestnet: 84532,\n berachainBartioTestnet: 80084,\n binanceSmartChainTestnet: 97,\n holesky: 17000,\n katanaTatara: 129399,\n morphHolesky: 2810,\n sepolia: 11155111,\n sonicBlazeTestnet: 57054,\n} as const;\n\nexport type ChainId = (typeof ChainId)[keyof typeof ChainId];\n\nexport const CHAIN_ID_TO_VIEM_CHAIN_MAP = {\n [ChainId.ethereum]: mainnet,\n // Avalanche mainnet - BTC.b not released yet\n ...(featureConfig.isAvalancheMainnetEnabled\n ? { [ChainId.avalanche]: avalanche }\n : {}),\n [ChainId.base]: base,\n // Feature-gated chains\n ...(featureConfig.isBerachainEnabled\n ? { [ChainId.berachain]: berachain }\n : {}),\n [ChainId.binanceSmartChain]: bsc,\n ...(featureConfig.isCornEnabled ? { [ChainId.corn]: corn } : {}),\n ...(featureConfig.isEtherlinkEnabled\n ? { [ChainId.etherlink]: etherlink }\n : {}),\n [ChainId.katana]: katana,\n [ChainId.megaeth]: megaeth,\n [ChainId.monad]: monad,\n ...(featureConfig.isMorphEnabled ? { [ChainId.morph]: morph } : {}),\n [ChainId.sonic]: sonic,\n [ChainId.stable]: stable,\n ...(featureConfig.isSwellchainEnabled\n ? { [ChainId.swell]: swellchain }\n : {}),\n ...(featureConfig.isTacEnabled ? { [ChainId.tac]: tac } : {}),\n ...(featureConfig.isBobEnabled ? { [ChainId.bob]: bob } : {}),\n // Testnets:\n // Avalanche Fuji - enabled for testing (Silo integration)\n ...(featureConfig.isAvalancheFujiEnabled\n ? { [ChainId.avalancheFuji]: avalancheFuji }\n : {}),\n [ChainId.baseSepoliaTestnet]: baseSepolia,\n ...(featureConfig.isBerachainEnabled\n ? { [ChainId.berachainBartioTestnet]: berachainTestnetbArtio }\n : {}),\n [ChainId.binanceSmartChainTestnet]: bscTestnet,\n [ChainId.holesky]: holesky,\n [ChainId.katanaTatara]: katanaTatara,\n ...(featureConfig.isMorphEnabled\n ? { [ChainId.morphHolesky]: morphHolesky }\n : {}),\n [ChainId.sepolia]: sepolia,\n [ChainId.sonicBlazeTestnet]: sonicBlazeTestnet,\n};\n\ntype KatanaChain = typeof ChainId.katana | typeof ChainId.katanaTatara;\nexport const isKatanaChain = (chainId: unknown): chainId is KatanaChain => {\n return ([ChainId.katana, ChainId.katanaTatara] as number[]).includes(\n chainId as number,\n );\n};\ntype MonadChain = typeof ChainId.monad;\nexport const isMonadChain = (chainId: unknown): chainId is MonadChain => {\n return chainId === ChainId.monad;\n};\n\ntype EthereumChain = typeof ChainId.ethereum;\nexport const isEthereumChain = (chainId: unknown): chainId is EthereumChain => {\n return ([ChainId.ethereum] as number[]).includes(chainId as number);\n};\n\ntype StableChain = typeof ChainId.stable;\nexport const isStableChain = (chainId: unknown): chainId is StableChain => {\n return chainId === ChainId.stable;\n};\n\ntype MegaethChain = typeof ChainId.megaeth;\nexport const isMegaethChain = (chainId: unknown): chainId is MegaethChain => {\n return ([ChainId.megaeth] as number[]).includes(chainId as number);\n};\nexport const CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP = {\n [ChainId.ethereum]: 'ethereum',\n ...(featureConfig.isAvalancheMainnetEnabled\n ? { [ChainId.avalanche]: 'avalanche' }\n : {}),\n [ChainId.base]: 'base',\n [ChainId.berachain]: 'berachain',\n [ChainId.binanceSmartChain]: 'bsc',\n [ChainId.corn]: 'corn',\n [ChainId.etherlink]: 'etherlink',\n [ChainId.morph]: 'morph',\n [ChainId.sonic]: 'sonic',\n [ChainId.swell]: 'swellchain',\n [ChainId.megaeth]: 'megaeth',\n [ChainId.monad]: 'monad',\n [ChainId.katana]: 'katana',\n [ChainId.stable]: 'stable',\n} as const;\ntype LlamaChain =\n (typeof CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP)[keyof typeof CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP];\n\nexport function isValidChain(chainId: unknown): chainId is ChainId {\n return Object.values(ChainId).includes(chainId as ChainId);\n}\n\nexport type AddChainParameters = {\n provider: EIP1193Provider;\n chainId: ChainId;\n};\n\nexport async function addChain({ provider, chainId }: AddChainParameters) {\n const walletClient = makeWalletClient({\n provider,\n chainId: ChainId.ethereum,\n });\n\n const chain = CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId];\n\n if (!chain) {\n throw new Error(`Chain ${chainId} not found`);\n }\n\n await viem_addChain(walletClient, {\n chain,\n });\n}\nexport const getLlamaChainName = (chainId: ChainId): LlamaChain | undefined => {\n const name =\n CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP[\n chainId as keyof typeof CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP\n ];\n return name;\n};\n\nexport const getChain = (chainId: number): viem_chains.Chain | undefined =>\n extractChain({ chains: Object.values(allChains), id: chainId as ChainId });\n","import { Address } from 'viem';\n\n/**\n * Address kinds for tokens that have multiple contract addresses.\n *\n * **BTC.b Integration Architecture:**\n *\n * BTC.b on Avalanche uses a dual-contract architecture with both a token contract\n * and an adapter contract serving different purposes:\n *\n * **When to use Token vs Adapter:**\n *\n * - **Token** (`AddressKind.Token`):\n * - Use for EIP-2612 `permit()` signatures (Stake and Bake)\n * - Use for querying token balance, symbol, decimals\n * - Use for standard ERC20 operations (allowance checks, balance queries)\n * - This is the actual BTC.b ERC20 token contract\n *\n * - **Adapter** (`AddressKind.Adapter`):\n * - Use for burn/mint/transfer operations via BridgeTokenAdapter\n * - Use for bridge deposit/withdrawal operations\n * - Use as spender address when approving tokens for bridge operations\n * - This adapter serves as an intermediary between BridgeToken and both AssetRouter and Bridge\n *\n * **Important Notes:**\n *\n * 1. **Permit Signatures**: Always use `AddressKind.Token` as the `verifyingContract` in\n * EIP-2612 permit signatures. The token contract implements the `permit()` function,\n * not the adapter.\n *\n * 2. **Approvals**: For bridge and redemption operations, users must grant allowance to\n * the **BridgeTokenAdapter** address, not the vault or bridge contract.\n *\n * 3. **Deposit Address**: For Ledger integration, the token address includes the adapter\n * address when tweaking deposit addresses.\n *\n * @example\n * ```typescript\n * // For permit signatures (Stake and Bake):\n * const tokenContract = await getTokenContractInfo(\n * Token.BTCb,\n * ChainId.avalancheFuji,\n * env,\n * AddressKind.Token // ✅ Use token address for permit\n * );\n *\n * // For bridge operations:\n * const adapterContract = await getTokenContractInfo(\n * Token.BTCb,\n * ChainId.avalancheFuji,\n * env,\n * AddressKind.Adapter // ✅ Use adapter address for bridge\n * );\n * ```\n */\nexport enum AddressKind {\n /**\n * The bridge adapter contract address (BridgeTokenAdapter).\n * Used for burn/mint/transfer operations and as the spender for bridge approvals.\n */\n Adapter = 'adapter',\n\n /**\n * The token contract address (standard ERC20).\n * Used for permit signatures, balance queries, and standard ERC20 operations.\n */\n Token = 'token',\n}\n\n/**\n * Address structure for tokens with both token and adapter addresses.\n *\n * Currently only used by `Token.BTCb` on Avalanche chains.\n */\nexport type BridgeTokenAddresses = {\n /** The bridge adapter contract address (BridgeTokenAdapter) */\n [AddressKind.Adapter]: Address;\n /** The token contract address (standard ERC20) */\n [AddressKind.Token]: Address;\n};\n","/**\n * Token Address Constants\n *\n * @deprecated v4.1 Migration Target\n *\n * This module contains hardcoded token addresses. For v4.1, these should be\n * migrated to use the Asset Catalog (`core/assets/`) which supports dynamic\n * address loading from remote sources.\n *\n * See: docs/ADDRESS_SYSTEM_UNIFICATION.md\n *\n * Current usage (~26 files) should migrate to:\n * - `getAssetAddress()` from `core/assets/utils`\n * - Pass `catalog` from `ResolvedLombardConfig`\n *\n * @module tokens/token-addresses\n */\n\nimport { DEFAULT_ENV, Env } from '@lombard.finance/sdk-common';\nimport { Address } from 'viem';\n\nimport {\n ChainId,\n isSolanaChain,\n isStarknetChainId,\n isSuiChain,\n isValidChain,\n SOLANA_DEVNET_CHAIN,\n SOLANA_MAINNET_CHAIN,\n SOLANA_TESTNET_CHAIN,\n SolanaChain,\n STARKNET_MAINNET_CHAIN,\n STARKNET_SEPOLIA_CHAIN,\n StarknetChainId,\n SUI_MAINNET_CHAIN,\n SUI_TESTNET_CHAIN,\n SuiChain,\n} from '../common/chains';\nimport { featureConfig } from '../common/feature-config';\nimport { AddressKind, BridgeTokenAddresses } from './types';\n\n// Re-export for backward compatibility\nexport type { BridgeTokenAddresses } from './types';\nexport { AddressKind } from './types';\n\nexport enum Token {\n // Lombard tokens:\n /** LBTC: the yield-bearing token */\n LBTC = 'LBTC',\n /**\n * BTCK: the native LBTC token on Katana chain\n * @deprecated - Switch to {@link Token.BTCb} as soon as the BTCK becomes obsolete.\n */\n BTCK = 'BTCK',\n /** BTC.b: the native Lombard's BTC wrapper token */\n BTCb = 'BTC.b',\n\n // Supporting tokens:\n BTCBinance = 'BTCB',\n cbBTC = 'cbBTC',\n eBTC = 'eBTC',\n wBTC = 'wBTC',\n wBTCN = 'wBTCN',\n}\n\ntype SupportingToken =\n | Token.BTCBinance\n | Token.cbBTC\n | Token.eBTC\n | Token.wBTC\n | Token.wBTCN;\n\nexport type RatioToken = 'TOKEN_SYMBOL_STLBTC';\nexport const RATIO_TOKEN_MAP: Record<RatioToken, Token> = {\n TOKEN_SYMBOL_STLBTC: Token.LBTC,\n};\n\nexport type TokenAddressesPerEnv<\n token extends Token,\n chain extends string | number | symbol = ChainId | SuiChain | SolanaChain,\n> = Partial<\n Record<\n Env,\n Partial<\n Record<\n chain,\n | (token extends Token.BTCb\n ? chain extends\n | typeof ChainId.avalanche\n | typeof ChainId.avalancheFuji\n ? BridgeTokenAddresses\n : Address\n : chain extends ChainId | SuiChain | StarknetChainId\n ? Address\n : string)\n | undefined\n >\n >\n >\n>;\n\nexport type TokenAddresses<\n token extends Token,\n chain extends string | number | symbol = ChainId | SuiChain | SolanaChain,\n> = Partial<Record<token, TokenAddressesPerEnv<token, chain>>>;\n\n/**\n * BTC.b token addresses across different chains and environments.\n *\n * **Architecture:**\n * - On **Avalanche chains** (Avalanche Mainnet, Avalanche Fuji): Uses dual-contract architecture\n * with both `token` and `adapter` addresses\n * - On **other chains** (Katana, Sepolia, BSC, etc.): Uses single address\n *\n * **Address Usage:**\n * - `token`: BTC.b ERC20 contract - use for permits, balance queries, standard ERC20 operations\n * - `adapter`: BridgeTokenAdapter contract - use for bridge operations, burn/mint/transfer\n *\n * @example\n * ```typescript\n * // Avalanche Fuji (testnet) has dual addresses:\n * const addresses = EVM_BTCB_ADDRESSES[Env.testnet][ChainId.avalancheFuji];\n * // { token: '0xB14f240...', adapter: '0x41BCd71...' }\n *\n * // Katana Tatara (testnet) has single address:\n * const address = EVM_BTCB_ADDRESSES[Env.testnet][ChainId.katanaTatara];\n * // '0x20eA7b8...'\n * ```\n */\nconst EVM_BTCB_ADDRESSES: TokenAddressesPerEnv<Token.BTCb, ChainId> = {\n [Env.prod]: {\n [ChainId.katana]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n ...(featureConfig.isAvalancheMainnetEnabled\n ? {\n [ChainId.avalanche]: {\n token: '0x152b9d0FdC40C096757F570A51E494bd4b943E50',\n adapter: '0x85D1D52e11290F174444d21C2a167bEDBE36e4d2',\n },\n }\n : {}),\n ...(featureConfig.isMonadEnabled\n ? {\n [ChainId.monad]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n }\n : {}),\n [ChainId.megaeth]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n [ChainId.stable]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n },\n [Env.ibc]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x1391f9AC408cf13214DDB71d359002658eaF9ebb',\n token: '0x71ba2b8dc58e7ca1b6d81a60729e31aefa37ae02',\n },\n }\n : {}),\n },\n [Env.dev]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e',\n token: '0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6',\n },\n }\n : {}),\n [ChainId.binanceSmartChainTestnet]:\n '0xea3F66E5f2928dB9673103BfA01a2153A57a8050',\n [ChainId.sepolia]: '0x195219A262423d209E126BD21cf4F4F9AA796927',\n [ChainId.katanaTatara]: '0xA74D838817f3098166d74a141b7d241efB15F42c',\n },\n [Env.stage]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e',\n token: '0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6',\n },\n }\n : {}),\n [ChainId.sepolia]: '0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58',\n [ChainId.katanaTatara]: '0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58',\n },\n [Env.testnet]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x41BCd71e7C92b1c8dDe53037F9b2c4AA2058b1cB',\n token: '0xB14f240714Bd23Bda103A7189D512A90326E4D01',\n },\n }\n : {}),\n [ChainId.sepolia]: '0x20eA7b8ABb4B583788F1DFC738C709a2d9675681',\n [ChainId.katanaTatara]: '0x20eA7b8ABb4B583788F1DFC738C709a2d9675681',\n },\n};\n\nexport const EVM_LBTC_ADDRESSES: TokenAddressesPerEnv<Token.LBTC, ChainId> = {\n [Env.prod]: {\n [ChainId.ethereum]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n ...(featureConfig.isAvalancheMainnetEnabled\n ? {\n [ChainId.avalanche]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n }\n : {}),\n [ChainId.base]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.berachain]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.binanceSmartChain]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.corn]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.etherlink]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.katana]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.megaeth]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.morph]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.sonic]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.stable]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.swell]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.tac]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.bob]: '0xA45d4121b3D47719FF57a947A9d961539Ba33204',\n ...(featureConfig.isMonadEnabled\n ? {\n [ChainId.monad]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n }\n : {}),\n },\n [Env.stage]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: undefined,\n }\n : {}),\n [ChainId.baseSepoliaTestnet]: '0x731eFa688F3679688cf60A3993b8658138953ED6',\n [ChainId.berachainBartioTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.binanceSmartChainTestnet]:\n '0x731eFa688F3679688cf60A3993b8658138953ED6',\n [ChainId.holesky]: '0xED7bfd5C1790576105Af4649817f6d35A75CD818',\n [ChainId.katanaTatara]: '0x731eFa688F3679688cf60A3993b8658138953ED6',\n [ChainId.sepolia]: '0x731eFa688F3679688cf60A3993b8658138953ED6',\n [ChainId.sonicBlazeTestnet]: '0x731eFa688F3679688cf60A3993b8658138953ED6',\n },\n [Env.testnet]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n }\n : {}),\n [ChainId.baseSepoliaTestnet]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n [ChainId.berachainBartioTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.binanceSmartChainTestnet]:\n '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n [ChainId.holesky]: '0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2',\n [ChainId.sepolia]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n [ChainId.sonicBlazeTestnet]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n [ChainId.katanaTatara]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n },\n [Env.dev]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n }\n : {}),\n [ChainId.sepolia]: '0x93283b6B889C591893dB0dc93baD71656D5d8923',\n [ChainId.baseSepoliaTestnet]: '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.berachainBartioTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.binanceSmartChainTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.katanaTatara]: '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n },\n};\n\nconst EVM_SUPPORTING_TOKEN_ADDRESSES: TokenAddresses<SupportingToken, ChainId> =\n {\n [Token.BTCBinance]: {\n [Env.prod]: {\n [ChainId.binanceSmartChain]:\n '0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c',\n },\n },\n [Token.eBTC]: {\n [Env.prod]: {\n [ChainId.ethereum]: '0x657e8c867d8b37dcc18fa4caead9c45eb088c642',\n },\n },\n [Token.wBTC]: {\n [Env.prod]: {\n [ChainId.ethereum]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n },\n },\n [Token.wBTCN]: {\n [Env.prod]: {\n [ChainId.corn]: '0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2',\n },\n },\n };\n\nexport const TOKEN_ADDRESSES: TokenAddresses<Token, ChainId> = {\n [Token.LBTC]: EVM_LBTC_ADDRESSES,\n [Token.BTCb]: EVM_BTCB_ADDRESSES,\n [Token.BTCK]: EVM_BTCB_ADDRESSES, // alias for NativeLBTC\n ...EVM_SUPPORTING_TOKEN_ADDRESSES,\n};\n\nexport const SUI_TOKEN_ADDRESSES: TokenAddresses<Token.LBTC, SuiChain> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [SUI_MAINNET_CHAIN]:\n '0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040',\n },\n [Env.stage]: {\n [SUI_TESTNET_CHAIN]:\n '0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0',\n },\n [Env.testnet]: {\n [SUI_TESTNET_CHAIN]:\n '0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa',\n },\n },\n};\n\nexport const getSuiTokenAddress = (\n chainId: SuiChain,\n env = DEFAULT_ENV,\n): Address | undefined => {\n return SUI_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId] || undefined;\n};\n\nexport const SOLANA_TOKEN_ADDRESSES: TokenAddresses<Token.LBTC, SolanaChain> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [SOLANA_MAINNET_CHAIN]: 'LomP48F7bLbKyMRHHsDVt7wuHaUQvQnVVspjcbfuAek',\n },\n [Env.testnet]: {\n [SOLANA_TESTNET_CHAIN]: '79cscM6J9Af24TGGWcXyDf56fDLoodkyXdVy4R9aZ6C6',\n },\n [Env.stage]: {\n [SOLANA_DEVNET_CHAIN]: 'HEY7PCJe3GB27UWdopuYb1xDbB5SNtTcYPxRjntvfBSA',\n },\n },\n};\n\nexport const getSolanaTokenAddress = (\n chainId: SolanaChain,\n env = DEFAULT_ENV,\n): string | undefined => {\n return SOLANA_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId] || undefined;\n};\n\nexport const getTokenByAddress = (\n tokenAddress?: string,\n chainId?: ChainId | SuiChain | SolanaChain | StarknetChainId,\n env = DEFAULT_ENV,\n addressKind: AddressKind = AddressKind.Token,\n) => {\n if (!tokenAddress || !chainId) return;\n\n const detectableTokens = [Token.LBTC, Token.BTCb];\n\n const addressMaps = [\n [isStarknetChainId, STARKNET_TOKEN_ADDRESSES],\n [isSuiChain, SUI_TOKEN_ADDRESSES],\n [isSolanaChain, SOLANA_TOKEN_ADDRESSES],\n [isValidChain, TOKEN_ADDRESSES],\n ] as const;\n\n for (const token of detectableTokens) {\n for (const [checkChain, addresses] of addressMaps) {\n if (checkChain(chainId)) {\n let address = (\n addresses as TokenAddresses<typeof token, typeof chainId>\n )?.[token]?.[env]?.[chainId];\n if (address) {\n address =\n typeof address === 'string' ? address : address[addressKind];\n if (tokenAddress.toLowerCase() === address.toLowerCase())\n return token;\n }\n }\n }\n }\n};\n\nexport const getTokenAddressForChain = (\n chainId: ChainId | SuiChain | SolanaChain | StarknetChainId,\n adapter: AddressKind = AddressKind.Token,\n env: Env = DEFAULT_ENV,\n): string | undefined => {\n if (isValidChain(chainId)) {\n const found = TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n if (found) {\n return typeof found === 'string' ? found : found[adapter];\n }\n }\n if (isSuiChain(chainId)) {\n return SUI_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n }\n if (isSolanaChain(chainId)) {\n return SOLANA_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n }\n if (isStarknetChainId(chainId)) {\n return STARKNET_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n }\n return undefined;\n};\n\n// Starknet token addresses\n// See: packages/sdk-starknet/src/tokens/lib/tokens.ts\nexport const STARKNET_TOKEN_ADDRESSES: TokenAddresses<\n Token.LBTC,\n StarknetChainId\n> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [STARKNET_SEPOLIA_CHAIN]: undefined,\n [STARKNET_MAINNET_CHAIN]:\n '0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4',\n },\n [Env.stage]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x00b442f5420860e937a99659326e81a97e07bfd538b3cee65b90029c9da38a5f',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.testnet]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x00456a829ab75ba5e97534dc70d7fc617cfda244f8dcda47b11624de67c6e70c',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.dev]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x0723de0c550b7bfbb5051dade72966d71a08bef952c0197462a5244497eb57c1',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n },\n} as const;\n\nexport const STARKNET_ASSET_ROUTER_ADDRESSES: TokenAddresses<\n Token.LBTC,\n StarknetChainId\n> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [STARKNET_SEPOLIA_CHAIN]: undefined,\n [STARKNET_MAINNET_CHAIN]:\n '0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976',\n },\n [Env.stage]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x01d27f156092746d0d7cd9d9deec5e937f27c3c7c1c28365e9e5efac459880b3',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.testnet]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x063b7b5c8b114ebd5b9602fbd5d0ffd2cc3a598f1d91c6904cc0997cd8fea760',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.dev]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x04838a05c798dc57e01e85526979841c84f1f3c732a525cff53adb3e8bee3d24',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n },\n} as const;\n\nexport const getStarknetTokenAddress = (\n chainId: StarknetChainId,\n env = DEFAULT_ENV,\n variant: 'token' | 'assetRouter' = 'token',\n): Address | undefined => {\n return (\n (variant === 'token'\n ? STARKNET_TOKEN_ADDRESSES\n : STARKNET_ASSET_ROUTER_ADDRESSES)[Token.LBTC]?.[env]?.[chainId] ||\n undefined\n );\n};\n"],"names":["makeWalletClient","provider","chainId","chain","CHAIN_ID_TO_VIEM_CHAIN_MAP","transport","custom","createWalletClient","avalanche","avalancheFuji","base","baseSepolia","bsc","bscTestnet","corn","holesky","mainnet","sepolia","sonic","sonicBlazeTestnet","viem_chains","katana","defineChain","katanaTatara","tac","bob","bobSepolia","monad","stable","megaeth","allChains","SUI_DEVNET_CHAIN","SUI_TESTNET_CHAIN","SUI_LOCALNET_CHAIN","SUI_MAINNET_CHAIN","isSuiChain","SOLANA_MAINNET_CHAIN","SOLANA_TESTNET_CHAIN","SOLANA_DEVNET_CHAIN","isSolanaChain","STARKNET_MAINNET_CHAIN","STARKNET_SEPOLIA_CHAIN","isStarknetChainId","ChainId","isKatanaChain","isMonadChain","isEthereumChain","isStableChain","isMegaethChain","CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP","isValidChain","addChain","walletClient","viem_addChain","getLlamaChainName","getChain","extractChain","AddressKind","Token","RATIO_TOKEN_MAP","EVM_BTCB_ADDRESSES","Env","EVM_LBTC_ADDRESSES","EVM_SUPPORTING_TOKEN_ADDRESSES","TOKEN_ADDRESSES","SUI_TOKEN_ADDRESSES","getSuiTokenAddress","env","DEFAULT_ENV","_b","_a","SOLANA_TOKEN_ADDRESSES","getSolanaTokenAddress","getTokenByAddress","tokenAddress","addressKind","detectableTokens","addressMaps","STARKNET_TOKEN_ADDRESSES","token","checkChain","addresses","address","getTokenAddressForChain","adapter","found","_d","_c","_f","_e","_h","_g","STARKNET_ASSET_ROUTER_ADDRESSES","getStarknetTokenAddress","variant"],"mappings":"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"}
|