@lombard.finance/sdk 4.6.0 → 4.7.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 +23 -0
- package/README.md +8 -4
- package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.d.ts +4 -0
- package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.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/config/solana.d.ts.map +1 -1
- package/dist/chains/solana/SolanaActions.d.ts +24 -6
- package/dist/chains/solana/SolanaActions.d.ts.map +1 -1
- package/dist/chains/solana/actions/index.d.ts +1 -0
- package/dist/chains/solana/actions/index.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts +5 -9
- package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/config/solana.d.ts +1 -10
- package/dist/chains/solana/actions/redeem/config/solana.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/config/types.d.ts +0 -14
- package/dist/chains/solana/actions/redeem/config/types.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/factory.d.ts +0 -3
- package/dist/chains/solana/actions/redeem/factory.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/types.d.ts +5 -17
- package/dist/chains/solana/actions/redeem/types.d.ts.map +1 -1
- package/dist/chains/solana/actions/stake/SolanaStake.d.ts +33 -0
- package/dist/chains/solana/actions/stake/SolanaStake.d.ts.map +1 -0
- package/dist/chains/solana/actions/stake/config/index.d.ts +8 -0
- package/dist/chains/solana/actions/stake/config/index.d.ts.map +1 -0
- package/dist/chains/solana/actions/stake/config/solana.d.ts +13 -0
- package/dist/chains/solana/actions/stake/config/solana.d.ts.map +1 -0
- package/dist/chains/solana/actions/stake/config/types.d.ts +20 -0
- package/dist/chains/solana/actions/stake/config/types.d.ts.map +1 -0
- package/dist/chains/solana/actions/stake/factory.d.ts +9 -0
- package/dist/chains/solana/actions/stake/factory.d.ts.map +1 -0
- package/dist/chains/solana/actions/stake/index.d.ts +9 -0
- package/dist/chains/solana/actions/stake/index.d.ts.map +1 -0
- package/dist/chains/solana/actions/stake/types.d.ts +39 -0
- package/dist/chains/solana/actions/stake/types.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts +7 -4
- package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/config/btc.d.ts +13 -7
- package/dist/chains/solana/actions/unstake/config/btc.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/config/index.d.ts +1 -1
- package/dist/chains/solana/actions/unstake/config/index.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/config/types.d.ts +6 -2
- package/dist/chains/solana/actions/unstake/config/types.d.ts.map +1 -1
- package/dist/chains/solana/actions/unstake/types.d.ts +4 -4
- package/dist/chains/solana/actions/unstake/types.d.ts.map +1 -1
- package/dist/chains/solana/utils.d.ts +2 -0
- package/dist/chains/solana/utils.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts +2 -2
- package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts.map +1 -1
- package/dist/chains/starknet/actions/unstake/types.d.ts +4 -4
- package/dist/chains/starknet/actions/unstake/types.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts +2 -2
- package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts.map +1 -1
- package/dist/chains/sui/actions/unstake/types.d.ts +4 -4
- package/dist/chains/sui/actions/unstake/types.d.ts.map +1 -1
- package/dist/chunks/BtcActions-CWFHlbUP.cjs +2 -0
- package/dist/chunks/BtcActions-CWFHlbUP.cjs.map +1 -0
- package/dist/chunks/{BtcActions-CI5XotUx.js → BtcActions-jvzGFmpz.js} +12 -8
- package/dist/chunks/BtcActions-jvzGFmpz.js.map +1 -0
- package/dist/chunks/{EvmActions-D_sFfTAK.cjs → EvmActions-BTKQAXTE.cjs} +2 -2
- package/dist/chunks/{EvmActions-D_sFfTAK.cjs.map → EvmActions-BTKQAXTE.cjs.map} +1 -1
- package/dist/chunks/{EvmActions-C7EKF3jb.js → EvmActions-hb-FhsLJ.js} +9 -9
- package/dist/chunks/{EvmActions-C7EKF3jb.js.map → EvmActions-hb-FhsLJ.js.map} +1 -1
- package/dist/chunks/ReferralsClient-D8dHEk_X.cjs +2 -0
- package/dist/chunks/ReferralsClient-D8dHEk_X.cjs.map +1 -0
- package/dist/chunks/{ReferralsClient-AxhLoWRT.js → ReferralsClient-W-0-383w.js} +58 -58
- package/dist/chunks/ReferralsClient-W-0-383w.js.map +1 -0
- package/dist/chunks/{approveLBTC-CUXEC3kw.cjs → approveLBTC-BMC4cZEk.cjs} +2 -2
- package/dist/chunks/{approveLBTC-CUXEC3kw.cjs.map → approveLBTC-BMC4cZEk.cjs.map} +1 -1
- package/dist/chunks/{approveLBTC-Du2El1tW.js → approveLBTC-BkdT1N3V.js} +3 -3
- package/dist/chunks/{approveLBTC-Du2El1tW.js.map → approveLBTC-BkdT1N3V.js.map} +1 -1
- package/dist/chunks/{blockchain-identifier-CTVaEPpY.js → blockchain-identifier-BLPnwbIN.js} +2 -2
- package/dist/chunks/{blockchain-identifier-CTVaEPpY.js.map → blockchain-identifier-BLPnwbIN.js.map} +1 -1
- package/dist/chunks/{blockchain-identifier-BTPGxLio.cjs → blockchain-identifier-Bp-LTIdG.cjs} +2 -2
- package/dist/chunks/{blockchain-identifier-BTPGxLio.cjs.map → blockchain-identifier-Bp-LTIdG.cjs.map} +1 -1
- package/dist/chunks/{bridge-dWaKrMKm.cjs → bridge-7Eq_Jmi2.cjs} +2 -2
- package/dist/chunks/{bridge-dWaKrMKm.cjs.map → bridge-7Eq_Jmi2.cjs.map} +1 -1
- package/dist/chunks/{bridge-DqGabhIY.js → bridge-DbB23m2a.js} +4 -4
- package/dist/chunks/{bridge-DqGabhIY.js.map → bridge-DbB23m2a.js.map} +1 -1
- package/dist/chunks/{config-JT3GvwPB.js → config-C8BfN_9P.js} +2 -2
- package/dist/chunks/{config-JT3GvwPB.js.map → config-C8BfN_9P.js.map} +1 -1
- package/dist/chunks/{config-CSo0k7gN.cjs → config-ow9X5H0c.cjs} +2 -2
- package/dist/chunks/{config-CSo0k7gN.cjs.map → config-ow9X5H0c.cjs.map} +1 -1
- package/dist/chunks/{defi-registry-hHpGoh1m.cjs → defi-registry-B8V6dRVB.cjs} +2 -2
- package/dist/chunks/{defi-registry-hHpGoh1m.cjs.map → defi-registry-B8V6dRVB.cjs.map} +1 -1
- package/dist/chunks/{defi-registry-ig-wro_O.js → defi-registry-CD8EUcNu.js} +3 -3
- package/dist/chunks/{defi-registry-ig-wro_O.js.map → defi-registry-CD8EUcNu.js.map} +1 -1
- package/dist/chunks/depositStatus-BJA7tNqc.cjs +2 -0
- package/dist/chunks/{depositStatus-D5t8HN_A.cjs.map → depositStatus-BJA7tNqc.cjs.map} +1 -1
- package/dist/chunks/{depositStatus-BrrE4n4B.js → depositStatus-HosfExLl.js} +38 -37
- package/dist/chunks/{depositStatus-BrrE4n4B.js.map → depositStatus-HosfExLl.js.map} +1 -1
- package/dist/chunks/events-BTPDrUUu.cjs +2 -0
- package/dist/chunks/events-BTPDrUUu.cjs.map +1 -0
- package/dist/chunks/events-DAiXVdGv.js +1274 -0
- package/dist/chunks/events-DAiXVdGv.js.map +1 -0
- package/dist/chunks/{get-exchange-ratio-B-xzYND1.js → get-exchange-ratio-Bl6pt546.js} +2 -2
- package/dist/chunks/{get-exchange-ratio-B-xzYND1.js.map → get-exchange-ratio-Bl6pt546.js.map} +1 -1
- package/dist/chunks/{get-exchange-ratio-BEhD4gLB.cjs → get-exchange-ratio-t1PW8I6_.cjs} +2 -2
- package/dist/chunks/{get-exchange-ratio-BEhD4gLB.cjs.map → get-exchange-ratio-t1PW8I6_.cjs.map} +1 -1
- package/dist/chunks/{get-positions-summary-iYshN1RQ.js → get-positions-summary-CaX2BCHp.js} +2 -2
- package/dist/chunks/{get-positions-summary-iYshN1RQ.js.map → get-positions-summary-CaX2BCHp.js.map} +1 -1
- package/dist/chunks/{get-positions-summary-Dh1QPLYO.cjs → get-positions-summary-DdZvBmCN.cjs} +2 -2
- package/dist/chunks/{get-positions-summary-Dh1QPLYO.cjs.map → get-positions-summary-DdZvBmCN.cjs.map} +1 -1
- package/dist/chunks/{get-vault-tvl-C3Yr4MI4.js → get-vault-tvl-CihHEkqK.js} +4 -4
- package/dist/chunks/{get-vault-tvl-C3Yr4MI4.js.map → get-vault-tvl-CihHEkqK.js.map} +1 -1
- package/dist/chunks/{get-vault-tvl-CRbxkHmr.cjs → get-vault-tvl-DZ-xzehy.cjs} +2 -2
- package/dist/chunks/{get-vault-tvl-CRbxkHmr.cjs.map → get-vault-tvl-DZ-xzehy.cjs.map} +1 -1
- package/dist/chunks/{get-vault-withdrawals-QqvpZnxA.cjs → get-vault-withdrawals-DLwFMQEB.cjs} +2 -2
- package/dist/chunks/{get-vault-withdrawals-QqvpZnxA.cjs.map → get-vault-withdrawals-DLwFMQEB.cjs.map} +1 -1
- package/dist/chunks/{get-vault-withdrawals-CQwNiILS.js → get-vault-withdrawals-QJOdxB5Z.js} +3 -3
- package/dist/chunks/{get-vault-withdrawals-CQwNiILS.js.map → get-vault-withdrawals-QJOdxB5Z.js.map} +1 -1
- package/dist/chunks/{getUserStakeAndBakeSignature-CSEyzgMc.cjs → getUserStakeAndBakeSignature-BmY5j0OM.cjs} +2 -2
- package/dist/chunks/{getUserStakeAndBakeSignature-CSEyzgMc.cjs.map → getUserStakeAndBakeSignature-BmY5j0OM.cjs.map} +1 -1
- package/dist/chunks/{getUserStakeAndBakeSignature-Su-k10ap.js → getUserStakeAndBakeSignature-CqlrwA0t.js} +4 -4
- package/dist/chunks/{getUserStakeAndBakeSignature-Su-k10ap.js.map → getUserStakeAndBakeSignature-CqlrwA0t.js.map} +1 -1
- package/dist/chunks/{lbtc-addresses-D8MYCdsx.js → lbtc-addresses-BlyGFWnW.js} +2 -2
- package/dist/chunks/{lbtc-addresses-D8MYCdsx.js.map → lbtc-addresses-BlyGFWnW.js.map} +1 -1
- package/dist/chunks/{lbtc-addresses-Kil252DX.cjs → lbtc-addresses-DjsipX5Q.cjs} +2 -2
- package/dist/chunks/{lbtc-addresses-Kil252DX.cjs.map → lbtc-addresses-DjsipX5Q.cjs.map} +1 -1
- package/dist/chunks/statusConstants-BTQAvx1I.cjs +2 -0
- package/dist/chunks/statusConstants-BTQAvx1I.cjs.map +1 -0
- package/dist/chunks/{statusConstants-BU4PglPs.js → statusConstants-D9eSk91U.js} +53 -43
- package/dist/chunks/statusConstants-D9eSk91U.js.map +1 -0
- package/dist/chunks/{storeNetworkFeeSignature-Buk4091C.cjs → storeNetworkFeeSignature-CLm8I2pf.cjs} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-Buk4091C.cjs.map → storeNetworkFeeSignature-CLm8I2pf.cjs.map} +1 -1
- package/dist/chunks/{storeNetworkFeeSignature-BODIpq3Y.js → storeNetworkFeeSignature-tprCigR1.js} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-BODIpq3Y.js.map → storeNetworkFeeSignature-tprCigR1.js.map} +1 -1
- package/dist/chunks/{token-addresses-D0v5cR1j.js → token-addresses-Ddar0FyS.js} +130 -124
- package/dist/chunks/token-addresses-Ddar0FyS.js.map +1 -0
- package/dist/chunks/{token-addresses-nzvTOi24.cjs → token-addresses-DvY-Mw7b.cjs} +2 -2
- package/dist/chunks/token-addresses-DvY-Mw7b.cjs.map +1 -0
- package/dist/chunks/{tokens-BkvA0Gp1.cjs → tokens-CBsz6l_2.cjs} +2 -2
- package/dist/chunks/{tokens-BkvA0Gp1.cjs.map → tokens-CBsz6l_2.cjs.map} +1 -1
- package/dist/chunks/{tokens-DgC1hfkm.js → tokens-HhVpKe3K.js} +2 -2
- package/dist/chunks/{tokens-DgC1hfkm.js.map → tokens-HhVpKe3K.js.map} +1 -1
- package/dist/chunks/{unstakeLBTC-BrVLnaac.js → unstakeLBTC-Bg8OsAMV.js} +5 -5
- package/dist/chunks/{unstakeLBTC-BrVLnaac.js.map → unstakeLBTC-Bg8OsAMV.js.map} +1 -1
- package/dist/chunks/{unstakeLBTC-3bwLj1qT.cjs → unstakeLBTC-BmHvDxBN.cjs} +2 -2
- package/dist/chunks/{unstakeLBTC-3bwLj1qT.cjs.map → unstakeLBTC-BmHvDxBN.cjs.map} +1 -1
- package/dist/chunks/{withdraw-BKEovicU.cjs → withdraw-Bkp5-2dG.cjs} +2 -2
- package/dist/chunks/{withdraw-BKEovicU.cjs.map → withdraw-Bkp5-2dG.cjs.map} +1 -1
- package/dist/chunks/{withdraw-rndehhDn.js → withdraw-kf8mYbYH.js} +4 -4
- package/dist/chunks/{withdraw-rndehhDn.js.map → withdraw-kf8mYbYH.js.map} +1 -1
- package/dist/chunks/{wrapToBtce-CML1FYEZ.js → wrapToBtce-By2mh503.js} +5 -5
- package/dist/chunks/{wrapToBtce-CML1FYEZ.js.map → wrapToBtce-By2mh503.js.map} +1 -1
- package/dist/chunks/{wrapToBtce-BVu8ALEo.cjs → wrapToBtce-DDeIlv3d.cjs} +2 -2
- package/dist/chunks/{wrapToBtce-BVu8ALEo.cjs.map → wrapToBtce-DDeIlv3d.cjs.map} +1 -1
- package/dist/contracts.cjs +1 -1
- package/dist/contracts.js +3 -3
- package/dist/core/assets/catalog.d.ts.map +1 -1
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +32 -32
- package/dist/defi.cjs +1 -1
- package/dist/defi.js +2 -2
- package/dist/entries/core.d.ts +1 -1
- package/dist/entries/core.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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -36
- package/dist/metrics.cjs +1 -1
- package/dist/metrics.js +1 -1
- package/dist/shared/constants/statusConstants.d.ts +7 -3
- package/dist/shared/constants/statusConstants.d.ts.map +1 -1
- package/dist/shared/deposits/depositStatus.d.ts.map +1 -1
- package/dist/tokens/token-addresses.d.ts.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +4 -4
- package/dist/vaults.cjs +1 -1
- package/dist/vaults.js +7 -7
- package/package.json +2 -2
- package/dist/chains/solana/actions/unstake/config/solana.d.ts +0 -21
- package/dist/chains/solana/actions/unstake/config/solana.d.ts.map +0 -1
- package/dist/chunks/BtcActions-Bic_HKkw.cjs +0 -2
- package/dist/chunks/BtcActions-Bic_HKkw.cjs.map +0 -1
- package/dist/chunks/BtcActions-CI5XotUx.js.map +0 -1
- package/dist/chunks/ReferralsClient-AxhLoWRT.js.map +0 -1
- package/dist/chunks/ReferralsClient-bZo9Jpg6.cjs +0 -2
- package/dist/chunks/ReferralsClient-bZo9Jpg6.cjs.map +0 -1
- package/dist/chunks/depositStatus-D5t8HN_A.cjs +0 -2
- package/dist/chunks/events-BfRsYM_-.cjs +0 -2
- package/dist/chunks/events-BfRsYM_-.cjs.map +0 -1
- package/dist/chunks/events-LMs7IA1e.js +0 -1108
- package/dist/chunks/events-LMs7IA1e.js.map +0 -1
- package/dist/chunks/statusConstants-BU4PglPs.js.map +0 -1
- package/dist/chunks/statusConstants-CCKi5qUm.cjs +0 -2
- package/dist/chunks/statusConstants-CCKi5qUm.cjs.map +0 -1
- package/dist/chunks/token-addresses-D0v5cR1j.js.map +0 -1
- package/dist/chunks/token-addresses-nzvTOi24.cjs.map +0 -1
package/dist/chunks/{storeNetworkFeeSignature-Buk4091C.cjs → storeNetworkFeeSignature-CLm8I2pf.cjs}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const g=require("axios"),u=require("./api-config-DkXqqfCK.cjs"),c=require("./tokens-
|
|
2
|
-
//# sourceMappingURL=storeNetworkFeeSignature-
|
|
1
|
+
"use strict";const g=require("axios"),u=require("./api-config-DkXqqfCK.cjs"),c=require("./tokens-CBsz6l_2.cjs");async function p({address:i,chainId:n,env:a,tokenAddress:t}){const{baseApiUrl:s}=u.getApiConfig(a);try{const r={user_destination_address:i,chain_id:n};t&&(r.token_address=t);const{data:e}=await g.get(`${s}/api/v1/claimer/get-user-signature`,{params:r});return{expirationDate:e==null?void 0:e.expiration_date,hasSignature:e==null?void 0:e.has_signature,isDelayed:e==null?void 0:e.is_delayed,signature:e==null?void 0:e.signature,typedData:e==null?void 0:e.typed_data}}catch(r){const e=c.getErrorMessage(r);throw new Error(e)}}async function _({signature:i,typedData:n,address:a,env:t,tokenAddress:s}){const{baseApiUrl:r}=u.getApiConfig(t);try{const e={typed_data:n,signature:i,user_destination_address:a};s&&(e.token_address=s);const{data:o}=await g.post(`${r}/api/v1/claimer/save-user-signature`,null,{params:e});return o.status}catch(e){const o=c.getErrorMessage(e);throw new Error(o)}}exports.getNetworkFeeSignature=p;exports.storeNetworkFeeSignature=_;
|
|
2
|
+
//# sourceMappingURL=storeNetworkFeeSignature-CLm8I2pf.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeNetworkFeeSignature-
|
|
1
|
+
{"version":3,"file":"storeNetworkFeeSignature-CLm8I2pf.cjs","sources":["../../src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts","../../src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts"],"sourcesContent":["import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { ChainId } from '../../common/chains';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport interface IGetNetworkFeeSignatureParams extends IEnvParam {\n /**\n * Chain ID of the network to interact with\n */\n chainId: ChainId;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (optional, required for BTC.b)\n */\n tokenAddress?: string;\n}\n\ninterface IGetNetworkFeeSignatureResponse {\n /**\n * Expiration date of signature\n */\n expiration_date: string;\n /**\n * The flag signature exists\n */\n has_signature: boolean;\n /**\n * The auto mint is delayed\n */\n is_delayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typed_data?: string;\n}\n\nexport interface IGetNetworkFeeSignatureMappedResponse {\n /**\n * Expiration date of signature\n */\n expirationDate: string;\n /**\n * The flag signature exists\n */\n hasSignature: boolean;\n /**\n * The auto mint is delayed\n */\n isDelayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typedData?: string;\n}\n\n/**\n * Returns the expiration date and the flag signature exists\n *\n * @param {IGetNetworkFeeSignatureParams} parameters - The parameters.\n * @param {string} parameters.address - The account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IGetNetworkFeeSignatureResponse>}\n */\nexport async function getNetworkFeeSignature({\n address,\n chainId,\n env,\n tokenAddress,\n}: IGetNetworkFeeSignatureParams): Promise<IGetNetworkFeeSignatureMappedResponse> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string | number> = {\n user_destination_address: address,\n chain_id: chainId,\n };\n\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.get<IGetNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/get-user-signature`,\n {\n params,\n },\n );\n\n return {\n expirationDate: data?.expiration_date,\n hasSignature: data?.has_signature,\n isDelayed: data?.is_delayed,\n signature: data?.signature,\n typedData: data?.typed_data,\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n\n throw new Error(errorMessage);\n }\n}\n","import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport type IStoreNetworkFeeSignatureStatus = 'success';\n\ninterface IStoreNetworkFeeSignatureResponse {\n status: IStoreNetworkFeeSignatureStatus;\n}\n\nexport interface IStoreNetworkFeeSignatureParams extends IEnvParam {\n /**\n * signature\n */\n signature: string;\n /**\n * JSON typed data used for the signature\n */\n typedData: string;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (required to distinguish LBTC vs BTC.b signatures)\n */\n tokenAddress?: string;\n}\n\n/**\n * Authorize network fee\n *\n * @param {IStoreNetworkFeeSignatureParams} parameters - The parameters for network fee authorization\n * @param {string} parameters.address - The destination account address.\n * @param {string} parameters.signature - The signature.\n * @param {string} parameters.typedData - The serialized typed data.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IStoreNetworkFeeSignatureResponse>}\n */\nexport async function storeNetworkFeeSignature({\n signature,\n typedData,\n address,\n env,\n tokenAddress,\n}: IStoreNetworkFeeSignatureParams): Promise<IStoreNetworkFeeSignatureStatus> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string> = {\n typed_data: typedData,\n signature,\n user_destination_address: address,\n };\n\n // Include token address to distinguish LBTC vs BTC.b signatures\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.post<IStoreNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/save-user-signature`,\n null,\n { params },\n );\n\n return data.status;\n } catch (error) {\n const errorMsg = getErrorMessage(error);\n throw new Error(errorMsg);\n }\n}\n"],"names":["getNetworkFeeSignature","address","chainId","env","tokenAddress","baseApiUrl","getApiConfig","params","data","axios","error","errorMessage","getErrorMessage","storeNetworkFeeSignature","signature","typedData","errorMsg"],"mappings":"gHA8EA,eAAsBA,EAAuB,CAC3C,QAAAC,EACA,QAAAC,EACA,IAAAC,EACA,aAAAC,CACF,EAAkF,CAChF,KAAM,CAAE,WAAAC,CAAA,EAAeC,EAAAA,aAAaH,CAAG,EAEvC,GAAI,CACF,MAAMI,EAA0C,CAC9C,yBAA0BN,EAC1B,SAAUC,CAAA,EAGRE,IACFG,EAAO,cAAgBH,GAGzB,KAAM,CAAE,KAAAI,CAAA,EAAS,MAAMC,EAAM,IAC3B,GAAGJ,CAAU,qCACb,CACE,OAAAE,CAAA,CACF,EAGF,MAAO,CACL,eAAgBC,GAAA,YAAAA,EAAM,gBACtB,aAAcA,GAAA,YAAAA,EAAM,cACpB,UAAWA,GAAA,YAAAA,EAAM,WACjB,UAAWA,GAAA,YAAAA,EAAM,UACjB,UAAWA,GAAA,YAAAA,EAAM,UAAA,CAErB,OAASE,EAAO,CACd,MAAMC,EAAeC,EAAAA,gBAAgBF,CAAK,EAE1C,MAAM,IAAI,MAAMC,CAAY,CAC9B,CACF,CCzEA,eAAsBE,EAAyB,CAC7C,UAAAC,EACA,UAAAC,EACA,QAAAd,EACA,IAAAE,EACA,aAAAC,CACF,EAA8E,CAC5E,KAAM,CAAE,WAAAC,CAAA,EAAeC,EAAAA,aAAaH,CAAG,EAEvC,GAAI,CACF,MAAMI,EAAiC,CACrC,WAAYQ,EACZ,UAAAD,EACA,yBAA0Bb,CAAA,EAIxBG,IACFG,EAAO,cAAgBH,GAGzB,KAAM,CAAE,KAAAI,CAAA,EAAS,MAAMC,EAAM,KAC3B,GAAGJ,CAAU,sCACb,KACA,CAAE,OAAAE,CAAA,CAAO,EAGX,OAAOC,EAAK,MACd,OAASE,EAAO,CACd,MAAMM,EAAWJ,EAAAA,gBAAgBF,CAAK,EACtC,MAAM,IAAI,MAAMM,CAAQ,CAC1B,CACF"}
|
package/dist/chunks/{storeNetworkFeeSignature-BODIpq3Y.js → storeNetworkFeeSignature-tprCigR1.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import c from "axios";
|
|
2
2
|
import { getApiConfig as u } from "./api-config-Dm6dR85f.js";
|
|
3
|
-
import { getErrorMessage as g } from "./tokens-
|
|
3
|
+
import { getErrorMessage as g } from "./tokens-HhVpKe3K.js";
|
|
4
4
|
async function y({
|
|
5
5
|
address: i,
|
|
6
6
|
chainId: a,
|
|
@@ -62,4 +62,4 @@ export {
|
|
|
62
62
|
y as getNetworkFeeSignature,
|
|
63
63
|
d as storeNetworkFeeSignature
|
|
64
64
|
};
|
|
65
|
-
//# sourceMappingURL=storeNetworkFeeSignature-
|
|
65
|
+
//# sourceMappingURL=storeNetworkFeeSignature-tprCigR1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeNetworkFeeSignature-
|
|
1
|
+
{"version":3,"file":"storeNetworkFeeSignature-tprCigR1.js","sources":["../../src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts","../../src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts"],"sourcesContent":["import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { ChainId } from '../../common/chains';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport interface IGetNetworkFeeSignatureParams extends IEnvParam {\n /**\n * Chain ID of the network to interact with\n */\n chainId: ChainId;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (optional, required for BTC.b)\n */\n tokenAddress?: string;\n}\n\ninterface IGetNetworkFeeSignatureResponse {\n /**\n * Expiration date of signature\n */\n expiration_date: string;\n /**\n * The flag signature exists\n */\n has_signature: boolean;\n /**\n * The auto mint is delayed\n */\n is_delayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typed_data?: string;\n}\n\nexport interface IGetNetworkFeeSignatureMappedResponse {\n /**\n * Expiration date of signature\n */\n expirationDate: string;\n /**\n * The flag signature exists\n */\n hasSignature: boolean;\n /**\n * The auto mint is delayed\n */\n isDelayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typedData?: string;\n}\n\n/**\n * Returns the expiration date and the flag signature exists\n *\n * @param {IGetNetworkFeeSignatureParams} parameters - The parameters.\n * @param {string} parameters.address - The account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IGetNetworkFeeSignatureResponse>}\n */\nexport async function getNetworkFeeSignature({\n address,\n chainId,\n env,\n tokenAddress,\n}: IGetNetworkFeeSignatureParams): Promise<IGetNetworkFeeSignatureMappedResponse> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string | number> = {\n user_destination_address: address,\n chain_id: chainId,\n };\n\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.get<IGetNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/get-user-signature`,\n {\n params,\n },\n );\n\n return {\n expirationDate: data?.expiration_date,\n hasSignature: data?.has_signature,\n isDelayed: data?.is_delayed,\n signature: data?.signature,\n typedData: data?.typed_data,\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n\n throw new Error(errorMessage);\n }\n}\n","import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport type IStoreNetworkFeeSignatureStatus = 'success';\n\ninterface IStoreNetworkFeeSignatureResponse {\n status: IStoreNetworkFeeSignatureStatus;\n}\n\nexport interface IStoreNetworkFeeSignatureParams extends IEnvParam {\n /**\n * signature\n */\n signature: string;\n /**\n * JSON typed data used for the signature\n */\n typedData: string;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (required to distinguish LBTC vs BTC.b signatures)\n */\n tokenAddress?: string;\n}\n\n/**\n * Authorize network fee\n *\n * @param {IStoreNetworkFeeSignatureParams} parameters - The parameters for network fee authorization\n * @param {string} parameters.address - The destination account address.\n * @param {string} parameters.signature - The signature.\n * @param {string} parameters.typedData - The serialized typed data.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IStoreNetworkFeeSignatureResponse>}\n */\nexport async function storeNetworkFeeSignature({\n signature,\n typedData,\n address,\n env,\n tokenAddress,\n}: IStoreNetworkFeeSignatureParams): Promise<IStoreNetworkFeeSignatureStatus> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string> = {\n typed_data: typedData,\n signature,\n user_destination_address: address,\n };\n\n // Include token address to distinguish LBTC vs BTC.b signatures\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.post<IStoreNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/save-user-signature`,\n null,\n { params },\n );\n\n return data.status;\n } catch (error) {\n const errorMsg = getErrorMessage(error);\n throw new Error(errorMsg);\n }\n}\n"],"names":["getNetworkFeeSignature","address","chainId","env","tokenAddress","baseApiUrl","getApiConfig","params","data","axios","error","errorMessage","getErrorMessage","storeNetworkFeeSignature","signature","typedData","errorMsg"],"mappings":";;;AA8EA,eAAsBA,EAAuB;AAAA,EAC3C,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,cAAAC;AACF,GAAkF;AAChF,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAaH,CAAG;AAEvC,MAAI;AACF,UAAMI,IAA0C;AAAA,MAC9C,0BAA0BN;AAAA,MAC1B,UAAUC;AAAA,IAAA;AAGZ,IAAIE,MACFG,EAAO,gBAAgBH;AAGzB,UAAM,EAAE,MAAAI,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B,GAAGJ,CAAU;AAAA,MACb;AAAA,QACE,QAAAE;AAAA,MAAA;AAAA,IACF;AAGF,WAAO;AAAA,MACL,gBAAgBC,KAAA,gBAAAA,EAAM;AAAA,MACtB,cAAcA,KAAA,gBAAAA,EAAM;AAAA,MACpB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,MACjB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,MACjB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,IAAA;AAAA,EAErB,SAASE,GAAO;AACd,UAAMC,IAAeC,EAAgBF,CAAK;AAE1C,UAAM,IAAI,MAAMC,CAAY;AAAA,EAC9B;AACF;ACzEA,eAAsBE,EAAyB;AAAA,EAC7C,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAd;AAAA,EACA,KAAAE;AAAA,EACA,cAAAC;AACF,GAA8E;AAC5E,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAaH,CAAG;AAEvC,MAAI;AACF,UAAMI,IAAiC;AAAA,MACrC,YAAYQ;AAAA,MACZ,WAAAD;AAAA,MACA,0BAA0Bb;AAAA,IAAA;AAI5B,IAAIG,MACFG,EAAO,gBAAgBH;AAGzB,UAAM,EAAE,MAAAI,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B,GAAGJ,CAAU;AAAA,MACb;AAAA,MACA,EAAE,QAAAE,EAAA;AAAA,IAAO;AAGX,WAAOC,EAAK;AAAA,EACd,SAASE,GAAO;AACd,UAAMM,IAAWJ,EAAgBF,CAAK;AACtC,UAAM,IAAI,MAAMM,CAAQ;AAAA,EAC1B;AACF;"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { p as
|
|
2
|
-
import { custom as K, createWalletClient as
|
|
3
|
-
import { addChain as
|
|
4
|
-
import * as
|
|
5
|
-
function
|
|
1
|
+
import { p as B, r as t } from "./index-CfcQ_g3t.js";
|
|
2
|
+
import { custom as K, createWalletClient as z, defineChain as l, extractChain as I } from "viem";
|
|
3
|
+
import { addChain as U } from "viem/actions";
|
|
4
|
+
import * as v from "viem/chains";
|
|
5
|
+
function j({
|
|
6
6
|
provider: a,
|
|
7
7
|
chainId: n
|
|
8
8
|
}) {
|
|
9
|
-
const o =
|
|
10
|
-
return
|
|
9
|
+
const o = O[n], c = K(a);
|
|
10
|
+
return z({
|
|
11
11
|
chain: o,
|
|
12
12
|
transport: c
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
const {
|
|
16
16
|
avalanche: P,
|
|
17
|
-
avalancheFuji:
|
|
18
|
-
base:
|
|
19
|
-
baseSepolia:
|
|
20
|
-
bsc:
|
|
17
|
+
avalancheFuji: V,
|
|
18
|
+
base: G,
|
|
19
|
+
baseSepolia: W,
|
|
20
|
+
bsc: X,
|
|
21
21
|
bscTestnet: J,
|
|
22
|
-
corn:
|
|
23
|
-
holesky:
|
|
24
|
-
mainnet:
|
|
22
|
+
corn: Y,
|
|
23
|
+
holesky: Z,
|
|
24
|
+
mainnet: Q,
|
|
25
25
|
sepolia: q,
|
|
26
|
-
sonic:
|
|
27
|
-
sonicBlazeTestnet:
|
|
28
|
-
} =
|
|
26
|
+
sonic: $,
|
|
27
|
+
sonicBlazeTestnet: ee
|
|
28
|
+
} = v, k = l({
|
|
29
29
|
id: 747474,
|
|
30
30
|
name: "Katana",
|
|
31
31
|
nativeCurrency: {
|
|
@@ -49,7 +49,7 @@ const {
|
|
|
49
49
|
// TODO: Confirm this
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
}),
|
|
52
|
+
}), ae = l({
|
|
53
53
|
id: 239,
|
|
54
54
|
name: "TAC",
|
|
55
55
|
nativeCurrency: {
|
|
@@ -65,7 +65,7 @@ const {
|
|
|
65
65
|
blockExplorers: {
|
|
66
66
|
default: { name: "TAC Explorer", url: "https://explorer.tac.build" }
|
|
67
67
|
}
|
|
68
|
-
}), Ee =
|
|
68
|
+
}), Ee = l({
|
|
69
69
|
id: 60808,
|
|
70
70
|
name: "BOB",
|
|
71
71
|
nativeCurrency: {
|
|
@@ -81,7 +81,7 @@ const {
|
|
|
81
81
|
blockExplorers: {
|
|
82
82
|
default: { name: "BOB Explorer", url: "https://explorer.gobob.xyz" }
|
|
83
83
|
}
|
|
84
|
-
}), De =
|
|
84
|
+
}), De = l({
|
|
85
85
|
id: 808813,
|
|
86
86
|
name: "BOB Sepolia",
|
|
87
87
|
nativeCurrency: {
|
|
@@ -100,7 +100,7 @@ const {
|
|
|
100
100
|
url: "https://bob-sepolia.explorer.gobob.xyz/"
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
}),
|
|
103
|
+
}), _ = l({
|
|
104
104
|
id: 143,
|
|
105
105
|
name: "Monad",
|
|
106
106
|
nativeCurrency: {
|
|
@@ -125,7 +125,7 @@ const {
|
|
|
125
125
|
blockCreated: 9248132
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
}),
|
|
128
|
+
}), N = l({
|
|
129
129
|
id: 988,
|
|
130
130
|
name: "Stable",
|
|
131
131
|
nativeCurrency: {
|
|
@@ -153,7 +153,7 @@ const {
|
|
|
153
153
|
blockCreated: 1
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
}),
|
|
156
|
+
}), g = l({
|
|
157
157
|
id: 4326,
|
|
158
158
|
name: "MegaETH",
|
|
159
159
|
nativeCurrency: {
|
|
@@ -179,23 +179,23 @@ const {
|
|
|
179
179
|
// TODO: Confirm this
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
}),
|
|
183
|
-
...
|
|
182
|
+
}), te = {
|
|
183
|
+
...v,
|
|
184
184
|
katana: k,
|
|
185
|
-
tac:
|
|
186
|
-
monad:
|
|
187
|
-
stable:
|
|
188
|
-
megaeth:
|
|
189
|
-
},
|
|
185
|
+
tac: ae,
|
|
186
|
+
monad: _,
|
|
187
|
+
stable: N,
|
|
188
|
+
megaeth: g
|
|
189
|
+
}, ce = "sui:devnet", A = "sui:testnet", ne = "sui:localnet", L = "sui:mainnet", y = (a) => [
|
|
190
|
+
ce,
|
|
191
|
+
A,
|
|
190
192
|
ne,
|
|
191
|
-
T,
|
|
192
|
-
oe,
|
|
193
193
|
L
|
|
194
|
-
].includes(a),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
].includes(a), d = "0x534e5f4d41494e", b = "0x534e5f5345504f4c4941",
|
|
194
|
+
].includes(a), m = "solana:mainnet-beta", oe = "solana:testnet", i = "solana:devnet", M = (a) => [
|
|
195
|
+
m,
|
|
196
|
+
oe,
|
|
197
|
+
i
|
|
198
|
+
].includes(a), d = "0x534e5f4d41494e", b = "0x534e5f5345504f4c4941", w = (a) => a === d || a === b, e = {
|
|
199
199
|
ethereum: 1,
|
|
200
200
|
avalanche: 43114,
|
|
201
201
|
base: 8453,
|
|
@@ -221,24 +221,24 @@ const {
|
|
|
221
221
|
morphHolesky: 2810,
|
|
222
222
|
sepolia: 11155111,
|
|
223
223
|
sonicBlazeTestnet: 57054
|
|
224
|
-
},
|
|
225
|
-
[e.ethereum]:
|
|
224
|
+
}, O = {
|
|
225
|
+
[e.ethereum]: Q,
|
|
226
226
|
[e.avalanche]: P,
|
|
227
|
-
[e.base]:
|
|
228
|
-
[e.binanceSmartChain]:
|
|
229
|
-
[e.corn]:
|
|
227
|
+
[e.base]: G,
|
|
228
|
+
[e.binanceSmartChain]: X,
|
|
229
|
+
[e.corn]: Y,
|
|
230
230
|
[e.katana]: k,
|
|
231
|
-
[e.megaeth]:
|
|
232
|
-
[e.monad]:
|
|
233
|
-
[e.sonic]:
|
|
234
|
-
[e.stable]:
|
|
235
|
-
[e.avalancheFuji]:
|
|
236
|
-
[e.baseSepoliaTestnet]:
|
|
231
|
+
[e.megaeth]: g,
|
|
232
|
+
[e.monad]: _,
|
|
233
|
+
[e.sonic]: $,
|
|
234
|
+
[e.stable]: N,
|
|
235
|
+
[e.avalancheFuji]: V,
|
|
236
|
+
[e.baseSepoliaTestnet]: W,
|
|
237
237
|
[e.binanceSmartChainTestnet]: J,
|
|
238
|
-
[e.holesky]:
|
|
238
|
+
[e.holesky]: Z,
|
|
239
239
|
[e.sepolia]: q,
|
|
240
|
-
[e.sonicBlazeTestnet]:
|
|
241
|
-
},
|
|
240
|
+
[e.sonicBlazeTestnet]: ee
|
|
241
|
+
}, Be = (a) => a === e.katana, he = (a) => a === e.monad, Te = (a) => [e.ethereum].includes(a), Ae = (a) => a === e.stable, me = (a) => [e.megaeth].includes(a), se = {
|
|
242
242
|
[e.ethereum]: "ethereum",
|
|
243
243
|
[e.avalanche]: "avalanche",
|
|
244
244
|
[e.base]: "base",
|
|
@@ -254,26 +254,26 @@ const {
|
|
|
254
254
|
[e.katana]: "katana",
|
|
255
255
|
[e.stable]: "stable"
|
|
256
256
|
};
|
|
257
|
-
function
|
|
257
|
+
function H(a) {
|
|
258
258
|
return Object.values(e).includes(a);
|
|
259
259
|
}
|
|
260
260
|
async function pe({ provider: a, chainId: n }) {
|
|
261
|
-
const o =
|
|
261
|
+
const o = j({
|
|
262
262
|
provider: a,
|
|
263
263
|
chainId: e.ethereum
|
|
264
|
-
}), c =
|
|
264
|
+
}), c = O[n];
|
|
265
265
|
if (!c)
|
|
266
266
|
throw new Error(`Chain ${n} not found`);
|
|
267
|
-
await
|
|
267
|
+
await U(o, {
|
|
268
268
|
chain: c
|
|
269
269
|
});
|
|
270
270
|
}
|
|
271
|
-
const
|
|
272
|
-
var
|
|
271
|
+
const xe = (a) => se[a], ue = (a) => I({ chains: Object.values(te), id: a });
|
|
272
|
+
var p = /* @__PURE__ */ ((a) => (a.Adapter = "adapter", a.Token = "token", a))(p || {}), re = /* @__PURE__ */ ((a) => (a.LBTC = "LBTC", a.BTCK = "BTCK", a.BTCb = "BTC.b", a.BTCBinance = "BTCB", a.cbBTC = "cbBTC", a.eBTC = "eBTC", a.wBTC = "wBTC", a.wBTCN = "wBTCN", a))(re || {});
|
|
273
273
|
const Fe = {
|
|
274
274
|
TOKEN_SYMBOL_STLBTC: "LBTC"
|
|
275
275
|
/* LBTC */
|
|
276
|
-
},
|
|
276
|
+
}, S = {
|
|
277
277
|
[t.prod]: {
|
|
278
278
|
[e.ethereum]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",
|
|
279
279
|
[e.katana]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",
|
|
@@ -378,87 +378,93 @@ const Fe = {
|
|
|
378
378
|
[e.corn]: "0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2"
|
|
379
379
|
}
|
|
380
380
|
}
|
|
381
|
-
},
|
|
381
|
+
}, R = {
|
|
382
382
|
LBTC: de,
|
|
383
|
-
"BTC.b":
|
|
384
|
-
BTCK:
|
|
383
|
+
"BTC.b": S,
|
|
384
|
+
BTCK: S,
|
|
385
385
|
// alias for NativeLBTC
|
|
386
386
|
...be
|
|
387
|
-
},
|
|
387
|
+
}, x = {
|
|
388
388
|
LBTC: {
|
|
389
389
|
[t.prod]: {
|
|
390
390
|
[L]: "0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040"
|
|
391
391
|
},
|
|
392
392
|
[t.stage]: {
|
|
393
|
-
[
|
|
393
|
+
[A]: "0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0"
|
|
394
394
|
},
|
|
395
395
|
[t.testnet]: {
|
|
396
|
-
[
|
|
396
|
+
[A]: "0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa"
|
|
397
397
|
}
|
|
398
398
|
}
|
|
399
|
-
}, Se = (a, n =
|
|
399
|
+
}, Se = (a, n = B) => {
|
|
400
400
|
var o, c;
|
|
401
|
-
return ((c = (o =
|
|
401
|
+
return ((c = (o = x.LBTC) == null ? void 0 : o[n]) == null ? void 0 : c[a]) || void 0;
|
|
402
402
|
}, u = {
|
|
403
403
|
LBTC: {
|
|
404
404
|
[t.prod]: {
|
|
405
|
-
[
|
|
405
|
+
[m]: "LBTCgU4b3wsFKsPwBn1rRZDx5DoFutM6RPiEt1TPDsY"
|
|
406
406
|
},
|
|
407
407
|
[t.testnet]: {
|
|
408
|
-
[
|
|
408
|
+
[i]: "1BTCPX3qyFtBvhQvJaHntfzZfB8qcJmJXfoRnD3vAgh"
|
|
409
409
|
},
|
|
410
410
|
[t.dev]: {
|
|
411
|
-
[
|
|
411
|
+
[i]: "LBTCojyVJ63rsEED2DLEGWMzSxWJyQynXE91LMLgV1J"
|
|
412
412
|
},
|
|
413
413
|
[t.stage]: {
|
|
414
|
-
[
|
|
414
|
+
[i]: "1btcyoWK7d99iosES4eXQGhhooCscKGigV5wHfvzueX"
|
|
415
415
|
}
|
|
416
416
|
},
|
|
417
417
|
"BTC.b": {
|
|
418
|
+
[t.prod]: {
|
|
419
|
+
[m]: "BTCbKVgfW4xMqTWEmxVwc6pzg2c5YtQWxSpBuQDhUrpu"
|
|
420
|
+
},
|
|
418
421
|
[t.dev]: {
|
|
419
|
-
[
|
|
422
|
+
[i]: "BTCB3ripBAut19jM8kDPVbJHb2ZdR2GcZvGZkCmFPtV8"
|
|
420
423
|
},
|
|
421
424
|
[t.stage]: {
|
|
422
|
-
[
|
|
425
|
+
[i]: "BTCGPAHQSsS9RYcL2Z4B5z6YyAXLatNcnaEwYdczsMZw"
|
|
426
|
+
},
|
|
427
|
+
[t.testnet]: {
|
|
428
|
+
[i]: "BTCb1Xy55DzwPMog9d3ztPau4nqXp6BhUrdGHjTrMYCn"
|
|
423
429
|
}
|
|
424
430
|
}
|
|
425
|
-
},
|
|
431
|
+
}, ve = (a, n = B, o = "LBTC") => {
|
|
426
432
|
var c, s;
|
|
427
433
|
return ((s = (c = u[o]) == null ? void 0 : c[n]) == null ? void 0 : s[a]) || void 0;
|
|
428
|
-
},
|
|
429
|
-
var
|
|
434
|
+
}, ke = (a, n, o = B, c = p.Token) => {
|
|
435
|
+
var f, E;
|
|
430
436
|
if (!a || !n) return;
|
|
431
437
|
const s = [
|
|
432
438
|
"LBTC",
|
|
433
439
|
"BTC.b"
|
|
434
440
|
/* BTCb */
|
|
435
441
|
], h = [
|
|
436
|
-
[
|
|
437
|
-
[y,
|
|
438
|
-
[
|
|
439
|
-
[
|
|
442
|
+
[w, F],
|
|
443
|
+
[y, x],
|
|
444
|
+
[M, u],
|
|
445
|
+
[H, R]
|
|
440
446
|
];
|
|
441
|
-
for (const
|
|
442
|
-
for (const [
|
|
443
|
-
if (
|
|
444
|
-
let r = (
|
|
447
|
+
for (const D of s)
|
|
448
|
+
for (const [T, C] of h)
|
|
449
|
+
if (T(n)) {
|
|
450
|
+
let r = (E = (f = C == null ? void 0 : C[D]) == null ? void 0 : f[o]) == null ? void 0 : E[n];
|
|
445
451
|
if (r && (r = typeof r == "string" ? r : r[c], a.toLowerCase() === r.toLowerCase()))
|
|
446
|
-
return
|
|
452
|
+
return D;
|
|
447
453
|
}
|
|
448
|
-
}, _e = (a, n =
|
|
449
|
-
var c, s, h,
|
|
450
|
-
if (
|
|
451
|
-
const r = (s = (c =
|
|
454
|
+
}, _e = (a, n = p.Token, o = B) => {
|
|
455
|
+
var c, s, h, f, E, D, T, C;
|
|
456
|
+
if (H(a)) {
|
|
457
|
+
const r = (s = (c = R.LBTC) == null ? void 0 : c[o]) == null ? void 0 : s[a];
|
|
452
458
|
if (r)
|
|
453
459
|
return typeof r == "string" ? r : r[n];
|
|
454
460
|
}
|
|
455
461
|
if (y(a))
|
|
456
|
-
return (
|
|
457
|
-
if (
|
|
458
|
-
return (
|
|
459
|
-
if (
|
|
460
|
-
return (
|
|
461
|
-
},
|
|
462
|
+
return (f = (h = x.LBTC) == null ? void 0 : h[o]) == null ? void 0 : f[a];
|
|
463
|
+
if (M(a))
|
|
464
|
+
return (D = (E = u.LBTC) == null ? void 0 : E[o]) == null ? void 0 : D[a];
|
|
465
|
+
if (w(a))
|
|
466
|
+
return (C = (T = F.LBTC) == null ? void 0 : T[o]) == null ? void 0 : C[a];
|
|
467
|
+
}, F = {
|
|
462
468
|
LBTC: {
|
|
463
469
|
[t.prod]: {
|
|
464
470
|
[b]: void 0,
|
|
@@ -496,57 +502,57 @@ const Fe = {
|
|
|
496
502
|
[d]: void 0
|
|
497
503
|
}
|
|
498
504
|
}
|
|
499
|
-
}, Ne = (a, n =
|
|
505
|
+
}, Ne = (a, n = B, o = "token") => {
|
|
500
506
|
var c, s;
|
|
501
|
-
return ((s = (c = (o === "token" ?
|
|
507
|
+
return ((s = (c = (o === "token" ? F : ie).LBTC) == null ? void 0 : c[n]) == null ? void 0 : s[a]) || void 0;
|
|
502
508
|
};
|
|
503
509
|
export {
|
|
504
|
-
|
|
510
|
+
p as AddressKind,
|
|
505
511
|
se as CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP,
|
|
506
|
-
|
|
512
|
+
O as CHAIN_ID_TO_VIEM_CHAIN_MAP,
|
|
507
513
|
e as ChainId,
|
|
508
514
|
de as EVM_LBTC_ADDRESSES,
|
|
509
515
|
Fe as RATIO_TOKEN_MAP,
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
516
|
+
i as SOLANA_DEVNET_CHAIN,
|
|
517
|
+
m as SOLANA_MAINNET_CHAIN,
|
|
518
|
+
oe as SOLANA_TESTNET_CHAIN,
|
|
513
519
|
u as SOLANA_TOKEN_ADDRESSES,
|
|
514
520
|
ie as STARKNET_ASSET_ROUTER_ADDRESSES,
|
|
515
521
|
d as STARKNET_MAINNET_CHAIN,
|
|
516
522
|
b as STARKNET_SEPOLIA_CHAIN,
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
523
|
+
F as STARKNET_TOKEN_ADDRESSES,
|
|
524
|
+
ce as SUI_DEVNET_CHAIN,
|
|
525
|
+
ne as SUI_LOCALNET_CHAIN,
|
|
520
526
|
L as SUI_MAINNET_CHAIN,
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
527
|
+
A as SUI_TESTNET_CHAIN,
|
|
528
|
+
x as SUI_TOKEN_ADDRESSES,
|
|
529
|
+
R as TOKEN_ADDRESSES,
|
|
524
530
|
re as Token,
|
|
525
531
|
pe as addChain,
|
|
526
|
-
|
|
532
|
+
te as allChains,
|
|
527
533
|
Ee as bob,
|
|
528
534
|
De as bobSepolia,
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
535
|
+
ue as getChain,
|
|
536
|
+
xe as getLlamaChainName,
|
|
537
|
+
ve as getSolanaTokenAddress,
|
|
532
538
|
Ne as getStarknetTokenAddress,
|
|
533
539
|
Se as getSuiTokenAddress,
|
|
534
540
|
_e as getTokenAddressForChain,
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
541
|
+
ke as getTokenByAddress,
|
|
542
|
+
Te as isEthereumChain,
|
|
543
|
+
Be as isKatanaChain,
|
|
538
544
|
me as isMegaethChain,
|
|
539
545
|
he as isMonadChain,
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
546
|
+
M as isSolanaChain,
|
|
547
|
+
Ae as isStableChain,
|
|
548
|
+
w as isStarknetChainId,
|
|
543
549
|
y as isSuiChain,
|
|
544
|
-
|
|
550
|
+
H as isValidChain,
|
|
545
551
|
k as katana,
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
552
|
+
j as makeWalletClient,
|
|
553
|
+
g as megaeth,
|
|
554
|
+
_ as monad,
|
|
555
|
+
N as stable,
|
|
556
|
+
ae as tac
|
|
551
557
|
};
|
|
552
|
-
//# sourceMappingURL=token-addresses-
|
|
558
|
+
//# sourceMappingURL=token-addresses-Ddar0FyS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-addresses-Ddar0FyS.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\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: 'https://megaeth.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 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 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 ...(featureConfig.isMorphEnabled\n ? { [ChainId.morphHolesky]: morphHolesky }\n : {}),\n [ChainId.sepolia]: sepolia,\n [ChainId.sonicBlazeTestnet]: sonicBlazeTestnet,\n};\n\ntype KatanaChain = typeof ChainId.katana;\nexport const isKatanaChain = (chainId: unknown): chainId is KatanaChain => {\n return chainId === ChainId.katana;\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 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 * ```\n */\nconst EVM_BTCB_ADDRESSES: TokenAddressesPerEnv<Token.BTCb, ChainId> = {\n [Env.prod]: {\n [ChainId.ethereum]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\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 },\n [Env.stage]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e',\n token: '0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6',\n },\n }\n : {}),\n [ChainId.sepolia]: '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 },\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.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 },\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 },\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<\n Token.LBTC | Token.BTCb,\n SolanaChain\n> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [SOLANA_MAINNET_CHAIN]: 'LBTCgU4b3wsFKsPwBn1rRZDx5DoFutM6RPiEt1TPDsY',\n },\n [Env.testnet]: {\n [SOLANA_DEVNET_CHAIN]: '1BTCPX3qyFtBvhQvJaHntfzZfB8qcJmJXfoRnD3vAgh',\n },\n [Env.dev]: {\n [SOLANA_DEVNET_CHAIN]: 'LBTCojyVJ63rsEED2DLEGWMzSxWJyQynXE91LMLgV1J',\n },\n [Env.stage]: {\n [SOLANA_DEVNET_CHAIN]: '1btcyoWK7d99iosES4eXQGhhooCscKGigV5wHfvzueX',\n },\n },\n [Token.BTCb]: {\n [Env.prod]: {\n [SOLANA_MAINNET_CHAIN]: 'BTCbKVgfW4xMqTWEmxVwc6pzg2c5YtQWxSpBuQDhUrpu',\n },\n [Env.dev]: {\n [SOLANA_DEVNET_CHAIN]: 'BTCB3ripBAut19jM8kDPVbJHb2ZdR2GcZvGZkCmFPtV8',\n },\n [Env.stage]: {\n [SOLANA_DEVNET_CHAIN]: 'BTCGPAHQSsS9RYcL2Z4B5z6YyAXLatNcnaEwYdczsMZw',\n },\n [Env.testnet]: {\n [SOLANA_DEVNET_CHAIN]: 'BTCb1Xy55DzwPMog9d3ztPau4nqXp6BhUrdGHjTrMYCn',\n },\n },\n};\n\nexport const getSolanaTokenAddress = (\n chainId: SolanaChain,\n env = DEFAULT_ENV,\n token: Token.LBTC | Token.BTCb = Token.LBTC,\n): string | undefined => {\n return SOLANA_TOKEN_ADDRESSES[token]?.[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","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","token","getTokenByAddress","tokenAddress","addressKind","detectableTokens","addressMaps","STARKNET_TOKEN_ADDRESSES","checkChain","addresses","address","getTokenAddressForChain","adapter","found","_d","_c","_f","_e","_h","_g","STARKNET_ASSET_ROUTER_ADDRESSES","getStarknetTokenAddress","variant"],"mappings":";;;;AAoBO,SAASA,EAAiB;AAAA,EAC/B,UAAAC;AAAA,EACA,SAAAC;AACF,GAAuC;AACrC,QAAMC,IAAQC,EAA2BF,CAAO,GAC1CG,IAAYC,EAAOL,CAAQ;AAOjC,SALeM,EAAmB;AAAA,IAChC,OAAAJ;AAAA,IACA,WAAAE;AAAA,EAAA,CACD;AAGH;AC1BA,MAAM;AAAA,EACJ,WAAAG;AAAA,EACA,eAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AAAA,EAGA,KAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC;AAAA,EAEA,SAAAC;AAAA,EACA,SAAAC;AAAA,EAGA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,mBAAAC;AAEF,IAAIC,GAGSC,IAASC,EAAY;AAAA,EAChC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,4BAA4B;AAAA,MACnC,WAAW,CAAC,0BAA0B;AAAA,IAAA;AAAA,EACxC;AAAA,EAEF,gBAAgB;AAAA,IACd,SAAS,EAAE,MAAM,mBAAmB,KAAK,iCAAA;AAAA,EAAiC;AAAA,EAE5E,WAAW;AAAA,IACT,YAAY;AAAA,MACV,SAAS;AAAA,MACT,cAAc;AAAA;AAAA,IAAA;AAAA,EAChB;AAEJ,CAAC,GAGYC,KAAMD,EAAY;AAAA,EAC7B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,uBAAuB;AAAA,IAAA;AAAA,EAChC;AAAA,EAEF,gBAAgB;AAAA,IACd,SAAS,EAAE,MAAM,gBAAgB,KAAK,6BAAA;AAAA,EAA6B;AAEvE,CAAC,GAEYE,KAAMF,EAAY;AAAA,EAC7B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,uBAAuB;AAAA,IAAA;AAAA,EAChC;AAAA,EAEF,gBAAgB;AAAA,IACd,SAAS,EAAE,MAAM,gBAAgB,KAAK,6BAAA;AAAA,EAA6B;AAEvE,CAAC,GAEYG,KAAaH,EAAY;AAAA,EACpC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,mCAAmC;AAAA,IAAA;AAAA,EAC5C;AAAA,EAEF,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ,CAAC,GAEYI,IAAQJ,EAAY;AAAA,EAC/B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,gCAAgC;AAAA,IAAA;AAAA,EACzC;AAAA,EAEF,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IAAA;AAAA,EACP;AAAA,EAEF,WAAW;AAAA,IACT,YAAY;AAAA,MACV,SAAS;AAAA,MACT,cAAc;AAAA,IAAA;AAAA,EAChB;AAEJ,CAAC,GAEYK,IAASL,EAAY;AAAA,EAChC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IACF;AAAA;AAAA,EACF;AAAA,EAEF,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IAAA;AAAA,EACP;AAAA,EAEF,WAAW;AAAA,IACT,YAAY;AAAA,MACV,SAAS;AAAA,MACT,cAAc;AAAA,IAAA;AAAA,EAChB;AAEJ,CAAC,GAEYM,IAAUN,EAAY;AAAA,EACjC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,iCAAiC;AAAA,IAAA;AAAA,EAC1C;AAAA,EAEF,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IAAA;AAAA,EACP;AAAA,EAEF,WAAW;AAAA,IACT,YAAY;AAAA,MACV,SAAS;AAAA,MACT,cAAc;AAAA;AAAA,IAAA;AAAA,EAChB;AAEJ,CAAC,GAEYO,KAA+C;AAAA,EAC1D,GAAGT;AAAA,EACH,QAAAC;AAAA,EACA,KAAAE;AAAA,EACA,OAAAG;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AACF,GAEaE,KAAmB,cACnBC,IAAoB,eACpBC,KAAqB,gBACrBC,IAAoB,eAQpBC,IAAa,CAAChC,MAEvB;AAAA,EACE4B;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EAEF,SAAS/B,CAAiB,GAGjBiC,IAAuB,uBACvBC,KAAuB,kBACvBC,IAAsB,iBAOtBC,IAAgB,CAACpC,MAE1B;AAAA,EACEiC;AAAA,EACAC;AAAA,EACAC;AAAA,EAEF,SAASnC,CAAiB,GAIjBqC,IAAyB,oBACzBC,IAAyB,0BAKzBC,IAAoB,CAC/BvC,MAGEA,MAAYqC,KAA0BrC,MAAYsC,GAIzCE,IAAU;AAAA,EACrB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA;AAAA,EAEL,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,SAAS;AAAA,EACT,cAAc;AAAA,EACd,SAAS;AAAA,EACT,mBAAmB;AACrB,GAIatC,IAA6B;AAAA,EACxC,CAACsC,EAAQ,QAAQ,GAAG1B;AAAA,EAGd,CAAC0B,EAAQ,SAAS,GAAGlC;AAAA,EAE3B,CAACkC,EAAQ,IAAI,GAAGhC;AAAA,EAKhB,CAACgC,EAAQ,iBAAiB,GAAG9B;AAAA,EACO,CAAC8B,EAAQ,IAAI,GAAG5B;AAAA,EAIpD,CAAC4B,EAAQ,MAAM,GAAGrB;AAAA,EAClB,CAACqB,EAAQ,OAAO,GAAGd;AAAA,EACnB,CAACc,EAAQ,KAAK,GAAGhB;AAAA,EAEjB,CAACgB,EAAQ,KAAK,GAAGxB;AAAA,EACjB,CAACwB,EAAQ,MAAM,GAAGf;AAAA,EASZ,CAACe,EAAQ,aAAa,GAAGjC;AAAA,EAE/B,CAACiC,EAAQ,kBAAkB,GAAG/B;AAAA,EAI9B,CAAC+B,EAAQ,wBAAwB,GAAG7B;AAAA,EACpC,CAAC6B,EAAQ,OAAO,GAAG3B;AAAA,EAInB,CAAC2B,EAAQ,OAAO,GAAGzB;AAAA,EACnB,CAACyB,EAAQ,iBAAiB,GAAGvB;AAC/B,GAGawB,KAAgB,CAACzC,MACrBA,MAAYwC,EAAQ,QAGhBE,KAAe,CAAC1C,MACpBA,MAAYwC,EAAQ,OAIhBG,KAAkB,CAAC3C,MACtB,CAACwC,EAAQ,QAAQ,EAAe,SAASxC,CAAiB,GAIvD4C,KAAgB,CAAC5C,MACrBA,MAAYwC,EAAQ,QAIhBK,KAAiB,CAAC7C,MACrB,CAACwC,EAAQ,OAAO,EAAe,SAASxC,CAAiB,GAEtD8C,KAAmC;AAAA,EAC9C,CAACN,EAAQ,QAAQ,GAAG;AAAA,EAEd,CAACA,EAAQ,SAAS,GAAG;AAAA,EAE3B,CAACA,EAAQ,IAAI,GAAG;AAAA,EAChB,CAACA,EAAQ,SAAS,GAAG;AAAA,EACrB,CAACA,EAAQ,iBAAiB,GAAG;AAAA,EAC7B,CAACA,EAAQ,IAAI,GAAG;AAAA,EAChB,CAACA,EAAQ,SAAS,GAAG;AAAA,EACrB,CAACA,EAAQ,KAAK,GAAG;AAAA,EACjB,CAACA,EAAQ,KAAK,GAAG;AAAA,EACjB,CAACA,EAAQ,KAAK,GAAG;AAAA,EACjB,CAACA,EAAQ,OAAO,GAAG;AAAA,EACnB,CAACA,EAAQ,KAAK,GAAG;AAAA,EACjB,CAACA,EAAQ,MAAM,GAAG;AAAA,EAClB,CAACA,EAAQ,MAAM,GAAG;AACpB;AAIO,SAASO,EAAa/C,GAAsC;AACjE,SAAO,OAAO,OAAOwC,CAAO,EAAE,SAASxC,CAAkB;AAC3D;AAOA,eAAsBgD,GAAS,EAAE,UAAAjD,GAAU,SAAAC,KAA+B;AACxE,QAAMiD,IAAenD,EAAiB;AAAA,IACpC,UAAAC;AAAA,IACA,SAASyC,EAAQ;AAAA,EAAA,CAClB,GAEKvC,IAAQC,EAA2BF,CAAO;AAEhD,MAAI,CAACC;AACH,UAAM,IAAI,MAAM,SAASD,CAAO,YAAY;AAG9C,QAAMkD,EAAcD,GAAc;AAAA,IAChC,OAAAhD;AAAA,EAAA,CACD;AACH;AACO,MAAMkD,KAAoB,CAACnD,MAE9B8C,GACE9C,CACF,GAISoD,KAAW,CAACpD,MACvBqD,EAAa,EAAE,QAAQ,OAAO,OAAO1B,EAAS,GAAG,IAAI3B,EAAA,CAAoB;ACtWpE,IAAKsD,sBAAAA,OAKVA,EAAA,UAAU,WAMVA,EAAA,QAAQ,SAXEA,IAAAA,KAAA,CAAA,CAAA,GCXAC,uBAAAA,OAGVA,EAAA,OAAO,QAKPA,EAAA,OAAO,QAEPA,EAAA,OAAO,SAGPA,EAAA,aAAa,QACbA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,QAAQ,SAjBEA,IAAAA,MAAA,CAAA,CAAA;AA4BL,MAAMC,KAA6C;AAAA,EACxD,qBAAqB;AAAA;AACvB,GAmDMC,IAAgE;AAAA,EACpE,CAACC,EAAI,IAAI,GAAG;AAAA,IACV,CAAClB,EAAQ,QAAQ,GAAG;AAAA,IACpB,CAACA,EAAQ,MAAM,GAAG;AAAA,IAGZ,CAACA,EAAQ,SAAS,GAAG;AAAA,MACnB,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAMX,CAACA,EAAQ,KAAK,GAAG;AAAA,IAGvB,CAACA,EAAQ,OAAO,GAAG;AAAA,IACnB,CAACA,EAAQ,MAAM,GAAG;AAAA,EAAA;AAAA,EAEpB,CAACkB,EAAI,GAAG,GAAG;AAAA,IAGH,CAAClB,EAAQ,aAAa,GAAG;AAAA,MACvB,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,EAGV;AAAA,EAEP,CAACkB,EAAI,GAAG,GAAG;AAAA,IAGH,CAAClB,EAAQ,aAAa,GAAG;AAAA,MACvB,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,IAIf,CAACA,EAAQ,wBAAwB,GAC/B;AAAA,IACF,CAACA,EAAQ,OAAO,GAAG;AAAA,EAAA;AAAA,EAErB,CAACkB,EAAI,KAAK,GAAG;AAAA,IAGL,CAAClB,EAAQ,aAAa,GAAG;AAAA,MACvB,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,IAIf,CAACA,EAAQ,OAAO,GAAG;AAAA,EAAA;AAAA,EAErB,CAACkB,EAAI,OAAO,GAAG;AAAA,IAGP,CAAClB,EAAQ,aAAa,GAAG;AAAA,MACvB,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,IAIf,CAACA,EAAQ,OAAO,GAAG;AAAA,EAAA;AAEvB,GAEamB,KAAgE;AAAA,EAC3E,CAACD,EAAI,IAAI,GAAG;AAAA,IACV,CAAClB,EAAQ,QAAQ,GAAG;AAAA,IAGd,CAACA,EAAQ,SAAS,GAAG;AAAA,IAG3B,CAACA,EAAQ,IAAI,GAAG;AAAA,IAChB,CAACA,EAAQ,SAAS,GAAG;AAAA,IACrB,CAACA,EAAQ,iBAAiB,GAAG;AAAA,IAC7B,CAACA,EAAQ,IAAI,GAAG;AAAA,IAChB,CAACA,EAAQ,SAAS,GAAG;AAAA,IACrB,CAACA,EAAQ,MAAM,GAAG;AAAA,IAClB,CAACA,EAAQ,OAAO,GAAG;AAAA,IACnB,CAACA,EAAQ,KAAK,GAAG;AAAA,IACjB,CAACA,EAAQ,KAAK,GAAG;AAAA,IACjB,CAACA,EAAQ,MAAM,GAAG;AAAA,IAClB,CAACA,EAAQ,KAAK,GAAG;AAAA,IACjB,CAACA,EAAQ,GAAG,GAAG;AAAA,IACf,CAACA,EAAQ,GAAG,GAAG;AAAA,IAGT,CAACA,EAAQ,KAAK,GAAG;AAAA,EAElB;AAAA,EAEP,CAACkB,EAAI,KAAK,GAAG;AAAA,IAGL,CAAClB,EAAQ,aAAa,GAAG;AAAA,IAG/B,CAACA,EAAQ,kBAAkB,GAAG;AAAA,IAC9B,CAACA,EAAQ,sBAAsB,GAC7B;AAAA,IACF,CAACA,EAAQ,wBAAwB,GAC/B;AAAA,IACF,CAACA,EAAQ,OAAO,GAAG;AAAA,IACnB,CAACA,EAAQ,OAAO,GAAG;AAAA,IACnB,CAACA,EAAQ,iBAAiB,GAAG;AAAA,EAAA;AAAA,EAE/B,CAACkB,EAAI,OAAO,GAAG;AAAA,IAGP,CAAClB,EAAQ,aAAa,GAAG;AAAA,IAG/B,CAACA,EAAQ,kBAAkB,GAAG;AAAA,IAC9B,CAACA,EAAQ,sBAAsB,GAC7B;AAAA,IACF,CAACA,EAAQ,wBAAwB,GAC/B;AAAA,IACF,CAACA,EAAQ,OAAO,GAAG;AAAA,IACnB,CAACA,EAAQ,OAAO,GAAG;AAAA,IACnB,CAACA,EAAQ,iBAAiB,GAAG;AAAA,EAAA;AAAA,EAE/B,CAACkB,EAAI,GAAG,GAAG;AAAA,IAGH,CAAClB,EAAQ,aAAa,GAAG;AAAA,IAG/B,CAACA,EAAQ,OAAO,GAAG;AAAA,IACnB,CAACA,EAAQ,kBAAkB,GAAG;AAAA,IAC9B,CAACA,EAAQ,sBAAsB,GAC7B;AAAA,IACF,CAACA,EAAQ,wBAAwB,GAC/B;AAAA,EAAA;AAEN,GAEMoB,KACJ;AAAA,EACG,MAAmB;AAAA,IAClB,CAACF,EAAI,IAAI,GAAG;AAAA,MACV,CAAClB,EAAQ,iBAAiB,GACxB;AAAA,IAAA;AAAA,EACJ;AAAA,EAED,MAAa;AAAA,IACZ,CAACkB,EAAI,IAAI,GAAG;AAAA,MACV,CAAClB,EAAQ,QAAQ,GAAG;AAAA,IAAA;AAAA,EACtB;AAAA,EAED,MAAa;AAAA,IACZ,CAACkB,EAAI,IAAI,GAAG;AAAA,MACV,CAAClB,EAAQ,QAAQ,GAAG;AAAA,IAAA;AAAA,EACtB;AAAA,EAED,OAAc;AAAA,IACb,CAACkB,EAAI,IAAI,GAAG;AAAA,MACV,CAAClB,EAAQ,IAAI,GAAG;AAAA,IAAA;AAAA,EAClB;AAEJ,GAEWqB,IAAkD;AAAA,EAC5D,MAAaF;AAAA,EACb,SAAaF;AAAA,EACb,MAAaA;AAAA;AAAA,EACd,GAAGG;AACL,GAEaE,IAA4D;AAAA,EACtE,MAAa;AAAA,IACZ,CAACJ,EAAI,IAAI,GAAG;AAAA,MACV,CAAC3B,CAAiB,GAChB;AAAA,IAAA;AAAA,IAEJ,CAAC2B,EAAI,KAAK,GAAG;AAAA,MACX,CAAC7B,CAAiB,GAChB;AAAA,IAAA;AAAA,IAEJ,CAAC6B,EAAI,OAAO,GAAG;AAAA,MACb,CAAC7B,CAAiB,GAChB;AAAA,IAAA;AAAA,EACJ;AAEJ,GAEakC,KAAqB,CAChC/D,GACAgE,IAAMC,MACkB;;AACxB,WAAOC,KAAAC,IAAAL,EAAoB,SAApB,gBAAAK,EAAkCH,OAAlC,gBAAAE,EAAyClE,OAAY;AAC9D,GAEaoE,IAGT;AAAA,EACD,MAAa;AAAA,IACZ,CAACV,EAAI,IAAI,GAAG;AAAA,MACV,CAACzB,CAAoB,GAAG;AAAA,IAAA;AAAA,IAE1B,CAACyB,EAAI,OAAO,GAAG;AAAA,MACb,CAACvB,CAAmB,GAAG;AAAA,IAAA;AAAA,IAEzB,CAACuB,EAAI,GAAG,GAAG;AAAA,MACT,CAACvB,CAAmB,GAAG;AAAA,IAAA;AAAA,IAEzB,CAACuB,EAAI,KAAK,GAAG;AAAA,MACX,CAACvB,CAAmB,GAAG;AAAA,IAAA;AAAA,EACzB;AAAA,EAED,SAAa;AAAA,IACZ,CAACuB,EAAI,IAAI,GAAG;AAAA,MACV,CAACzB,CAAoB,GAAG;AAAA,IAAA;AAAA,IAE1B,CAACyB,EAAI,GAAG,GAAG;AAAA,MACT,CAACvB,CAAmB,GAAG;AAAA,IAAA;AAAA,IAEzB,CAACuB,EAAI,KAAK,GAAG;AAAA,MACX,CAACvB,CAAmB,GAAG;AAAA,IAAA;AAAA,IAEzB,CAACuB,EAAI,OAAO,GAAG;AAAA,MACb,CAACvB,CAAmB,GAAG;AAAA,IAAA;AAAA,EACzB;AAEJ,GAEakC,KAAwB,CACnCrE,GACAgE,IAAMC,GACNK,IAAiC,WACV;;AACvB,WAAOJ,KAAAC,IAAAC,EAAuBE,CAAK,MAA5B,gBAAAH,EAAgCH,OAAhC,gBAAAE,EAAuClE,OAAY;AAC5D,GAEauE,KAAoB,CAC/BC,GACAxE,GACAgE,IAAMC,GACNQ,IAA2BnB,EAAY,UACpC;;AACH,MAAI,CAACkB,KAAgB,CAACxE,EAAS;AAE/B,QAAM0E,IAAmB;AAAA,IAAC;AAAA,IAAY;AAAA;AAAA,EAAA,GAEhCC,IAAc;AAAA,IAClB,CAACpC,GAAmBqC,CAAwB;AAAA,IAC5C,CAAC5C,GAAY8B,CAAmB;AAAA,IAChC,CAAC1B,GAAegC,CAAsB;AAAA,IACtC,CAACrB,GAAcc,CAAe;AAAA,EAAA;AAGhC,aAAWS,KAASI;AAClB,eAAW,CAACG,GAAYC,CAAS,KAAKH;AACpC,UAAIE,EAAW7E,CAAO,GAAG;AACvB,YAAI+E,KACFb,KAAAC,IAAAW,KAAA,gBAAAA,EACER,OADF,gBAAAH,EACWH,OADX,gBAAAE,EACkBlE;AACpB,YAAI+E,MACFA,IACE,OAAOA,KAAY,WAAWA,IAAUA,EAAQN,CAAW,GACzDD,EAAa,kBAAkBO,EAAQ,YAAA;AACzC,iBAAOT;AAAA,MAEb;AAGN,GAEaU,KAA0B,CACrChF,GACAiF,IAAuB3B,EAAY,OACnCU,IAAWC,MACY;;AACvB,MAAIlB,EAAa/C,CAAO,GAAG;AACzB,UAAMkF,KAAQhB,KAAAC,IAAAN,EAAgB,SAAhB,gBAAAM,EAA8BH,OAA9B,gBAAAE,EAAqClE;AACnD,QAAIkF;AACF,aAAO,OAAOA,KAAU,WAAWA,IAAQA,EAAMD,CAAO;AAAA,EAE5D;AACA,MAAIjD,EAAWhC,CAAO;AACpB,YAAOmF,KAAAC,IAAAtB,EAAoB,SAApB,gBAAAsB,EAAkCpB,OAAlC,gBAAAmB,EAAyCnF;AAElD,MAAIoC,EAAcpC,CAAO;AACvB,YAAOqF,KAAAC,IAAAlB,EAAuB,SAAvB,gBAAAkB,EAAqCtB,OAArC,gBAAAqB,EAA4CrF;AAErD,MAAIuC,EAAkBvC,CAAO;AAC3B,YAAOuF,KAAAC,IAAAZ,EAAyB,SAAzB,gBAAAY,EAAuCxB,OAAvC,gBAAAuB,EAA8CvF;AAGzD,GAIa4E,IAGT;AAAA,EACD,MAAa;AAAA,IACZ,CAAClB,EAAI,IAAI,GAAG;AAAA,MACV,CAACpB,CAAsB,GAAG;AAAA,MAC1B,CAACD,CAAsB,GACrB;AAAA,IAAA;AAAA,IAEJ,CAACqB,EAAI,KAAK,GAAG;AAAA,MACX,CAACpB,CAAsB,GACrB;AAAA,MACF,CAACD,CAAsB,GAAG;AAAA,IAAA;AAAA,IAE5B,CAACqB,EAAI,OAAO,GAAG;AAAA,MACb,CAACpB,CAAsB,GACrB;AAAA,MACF,CAACD,CAAsB,GAAG;AAAA,IAAA;AAAA,IAE5B,CAACqB,EAAI,GAAG,GAAG;AAAA,MACT,CAACpB,CAAsB,GACrB;AAAA,MACF,CAACD,CAAsB,GAAG;AAAA,IAAA;AAAA,EAC5B;AAEJ,GAEaoD,KAGT;AAAA,EACD,MAAa;AAAA,IACZ,CAAC/B,EAAI,IAAI,GAAG;AAAA,MACV,CAACpB,CAAsB,GAAG;AAAA,MAC1B,CAACD,CAAsB,GACrB;AAAA,IAAA;AAAA,IAEJ,CAACqB,EAAI,KAAK,GAAG;AAAA,MACX,CAACpB,CAAsB,GACrB;AAAA,MACF,CAACD,CAAsB,GAAG;AAAA,IAAA;AAAA,IAE5B,CAACqB,EAAI,OAAO,GAAG;AAAA,MACb,CAACpB,CAAsB,GACrB;AAAA,MACF,CAACD,CAAsB,GAAG;AAAA,IAAA;AAAA,IAE5B,CAACqB,EAAI,GAAG,GAAG;AAAA,MACT,CAACpB,CAAsB,GACrB;AAAA,MACF,CAACD,CAAsB,GAAG;AAAA,IAAA;AAAA,EAC5B;AAEJ,GAEaqD,KAA0B,CACrC1F,GACAgE,IAAMC,GACN0B,IAAmC,YACX;;AACxB,WACGzB,KAAAC,KAAAwB,MAAY,UACTf,IACAa,IAAiC,SAFpC,gBAAAtB,EAEkDH,OAFlD,gBAAAE,EAEyDlE,OAC1D;AAEJ;"}
|