@lombard.finance/sdk 4.7.1 → 4.7.2
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 +8 -0
- 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/chunks/{BtcActions-BczTnzRn.js → BtcActions-Ds6YrAKZ.js} +7 -7
- package/dist/chunks/{BtcActions-BczTnzRn.js.map → BtcActions-Ds6YrAKZ.js.map} +1 -1
- package/dist/chunks/{BtcActions-PyJhuiZN.cjs → BtcActions-DywyNv3O.cjs} +2 -2
- package/dist/chunks/{BtcActions-PyJhuiZN.cjs.map → BtcActions-DywyNv3O.cjs.map} +1 -1
- package/dist/chunks/{EvmActions-DSKThOAy.js → EvmActions-BDk1vvRY.js} +9 -9
- package/dist/chunks/{EvmActions-DSKThOAy.js.map → EvmActions-BDk1vvRY.js.map} +1 -1
- package/dist/chunks/{EvmActions-D3RAK9_Z.cjs → EvmActions-BzlEACJk.cjs} +2 -2
- package/dist/chunks/{EvmActions-D3RAK9_Z.cjs.map → EvmActions-BzlEACJk.cjs.map} +1 -1
- package/dist/chunks/{ReferralsClient-W-0-383w.js → ReferralsClient-DT3qvRXP.js} +4 -4
- package/dist/chunks/{ReferralsClient-W-0-383w.js.map → ReferralsClient-DT3qvRXP.js.map} +1 -1
- package/dist/chunks/{ReferralsClient-D8dHEk_X.cjs → ReferralsClient-o-3AUm7s.cjs} +2 -2
- package/dist/chunks/{ReferralsClient-D8dHEk_X.cjs.map → ReferralsClient-o-3AUm7s.cjs.map} +1 -1
- package/dist/chunks/{approveLBTC-BMC4cZEk.cjs → approveLBTC-BBl3KcT2.cjs} +2 -2
- package/dist/chunks/{approveLBTC-BMC4cZEk.cjs.map → approveLBTC-BBl3KcT2.cjs.map} +1 -1
- package/dist/chunks/{approveLBTC-BkdT1N3V.js → approveLBTC-DZQpza0E.js} +3 -3
- package/dist/chunks/{approveLBTC-BkdT1N3V.js.map → approveLBTC-DZQpza0E.js.map} +1 -1
- package/dist/chunks/{blockchain-identifier-BLPnwbIN.js → blockchain-identifier-C2GkWxmw.js} +2 -2
- package/dist/chunks/{blockchain-identifier-BLPnwbIN.js.map → blockchain-identifier-C2GkWxmw.js.map} +1 -1
- package/dist/chunks/{blockchain-identifier-Bp-LTIdG.cjs → blockchain-identifier-DWfC3Es2.cjs} +2 -2
- package/dist/chunks/{blockchain-identifier-Bp-LTIdG.cjs.map → blockchain-identifier-DWfC3Es2.cjs.map} +1 -1
- package/dist/chunks/{bridge-DbB23m2a.js → bridge-62Nuzkt6.js} +4 -4
- package/dist/chunks/{bridge-DbB23m2a.js.map → bridge-62Nuzkt6.js.map} +1 -1
- package/dist/chunks/{bridge-7Eq_Jmi2.cjs → bridge-DZp5x4Yb.cjs} +2 -2
- package/dist/chunks/{bridge-7Eq_Jmi2.cjs.map → bridge-DZp5x4Yb.cjs.map} +1 -1
- package/dist/chunks/{config-ow9X5H0c.cjs → config-8IroHCdP.cjs} +2 -2
- package/dist/chunks/{config-ow9X5H0c.cjs.map → config-8IroHCdP.cjs.map} +1 -1
- package/dist/chunks/{config-C8BfN_9P.js → config-ej-tsP3s.js} +2 -2
- package/dist/chunks/{config-C8BfN_9P.js.map → config-ej-tsP3s.js.map} +1 -1
- package/dist/chunks/{defi-registry-CD8EUcNu.js → defi-registry-DLP7nuRn.js} +3 -3
- package/dist/chunks/{defi-registry-CD8EUcNu.js.map → defi-registry-DLP7nuRn.js.map} +1 -1
- package/dist/chunks/{defi-registry-B8V6dRVB.cjs → defi-registry-QwFZR4oK.cjs} +2 -2
- package/dist/chunks/{defi-registry-B8V6dRVB.cjs.map → defi-registry-QwFZR4oK.cjs.map} +1 -1
- package/dist/chunks/{depositStatus-BJA7tNqc.cjs → depositStatus-B9P1YXEU.cjs} +2 -2
- package/dist/chunks/{depositStatus-BJA7tNqc.cjs.map → depositStatus-B9P1YXEU.cjs.map} +1 -1
- package/dist/chunks/{depositStatus-HosfExLl.js → depositStatus-DMDUj1Zi.js} +5 -5
- package/dist/chunks/{depositStatus-HosfExLl.js.map → depositStatus-DMDUj1Zi.js.map} +1 -1
- package/dist/chunks/{events-DNehj45M.cjs → events-DADaEsss.cjs} +2 -2
- package/dist/chunks/{events-DNehj45M.cjs.map → events-DADaEsss.cjs.map} +1 -1
- package/dist/chunks/{events-BlzP_SCT.js → events-DmrU6jV2.js} +12 -12
- package/dist/chunks/{events-BlzP_SCT.js.map → events-DmrU6jV2.js.map} +1 -1
- package/dist/chunks/{get-exchange-ratio-t1PW8I6_.cjs → get-exchange-ratio-DGztGO7i.cjs} +2 -2
- package/dist/chunks/{get-exchange-ratio-t1PW8I6_.cjs.map → get-exchange-ratio-DGztGO7i.cjs.map} +1 -1
- package/dist/chunks/{get-exchange-ratio-Bl6pt546.js → get-exchange-ratio-D_5R035-.js} +2 -2
- package/dist/chunks/{get-exchange-ratio-Bl6pt546.js.map → get-exchange-ratio-D_5R035-.js.map} +1 -1
- package/dist/chunks/{get-positions-summary-DdZvBmCN.cjs → get-positions-summary-CC7BDtlY.cjs} +2 -2
- package/dist/chunks/{get-positions-summary-DdZvBmCN.cjs.map → get-positions-summary-CC7BDtlY.cjs.map} +1 -1
- package/dist/chunks/{get-positions-summary-CaX2BCHp.js → get-positions-summary-CSTG4Ni0.js} +2 -2
- package/dist/chunks/{get-positions-summary-CaX2BCHp.js.map → get-positions-summary-CSTG4Ni0.js.map} +1 -1
- package/dist/chunks/{get-vault-tvl-DZ-xzehy.cjs → get-vault-tvl-D6XcYucx.cjs} +2 -2
- package/dist/chunks/{get-vault-tvl-DZ-xzehy.cjs.map → get-vault-tvl-D6XcYucx.cjs.map} +1 -1
- package/dist/chunks/{get-vault-tvl-CihHEkqK.js → get-vault-tvl-DwdB1FA1.js} +4 -4
- package/dist/chunks/{get-vault-tvl-CihHEkqK.js.map → get-vault-tvl-DwdB1FA1.js.map} +1 -1
- package/dist/chunks/{get-vault-withdrawals-QJOdxB5Z.js → get-vault-withdrawals-BLwcsT0Q.js} +3 -3
- package/dist/chunks/{get-vault-withdrawals-QJOdxB5Z.js.map → get-vault-withdrawals-BLwcsT0Q.js.map} +1 -1
- package/dist/chunks/{get-vault-withdrawals-DLwFMQEB.cjs → get-vault-withdrawals-CuSwGy0M.cjs} +2 -2
- package/dist/chunks/{get-vault-withdrawals-DLwFMQEB.cjs.map → get-vault-withdrawals-CuSwGy0M.cjs.map} +1 -1
- package/dist/chunks/{getUserStakeAndBakeSignature-CqlrwA0t.js → getUserStakeAndBakeSignature-Bqp_BTOt.js} +4 -4
- package/dist/chunks/{getUserStakeAndBakeSignature-CqlrwA0t.js.map → getUserStakeAndBakeSignature-Bqp_BTOt.js.map} +1 -1
- package/dist/chunks/{getUserStakeAndBakeSignature-BmY5j0OM.cjs → getUserStakeAndBakeSignature-VlC_GHmz.cjs} +2 -2
- package/dist/chunks/{getUserStakeAndBakeSignature-BmY5j0OM.cjs.map → getUserStakeAndBakeSignature-VlC_GHmz.cjs.map} +1 -1
- package/dist/chunks/{lbtc-addresses-BlyGFWnW.js → lbtc-addresses-BzalXq8D.js} +2 -2
- package/dist/chunks/{lbtc-addresses-BlyGFWnW.js.map → lbtc-addresses-BzalXq8D.js.map} +1 -1
- package/dist/chunks/{lbtc-addresses-DjsipX5Q.cjs → lbtc-addresses-D3jG1VUC.cjs} +2 -2
- package/dist/chunks/{lbtc-addresses-DjsipX5Q.cjs.map → lbtc-addresses-D3jG1VUC.cjs.map} +1 -1
- package/dist/chunks/{statusConstants-BJIXJNIC.cjs → statusConstants-C4MCQQX7.cjs} +2 -2
- package/dist/chunks/{statusConstants-BJIXJNIC.cjs.map → statusConstants-C4MCQQX7.cjs.map} +1 -1
- package/dist/chunks/{statusConstants-BQna5LGH.js → statusConstants-DAn1Atsp.js} +4 -4
- package/dist/chunks/{statusConstants-BQna5LGH.js.map → statusConstants-DAn1Atsp.js.map} +1 -1
- package/dist/chunks/{storeNetworkFeeSignature-tprCigR1.js → storeNetworkFeeSignature-B4xx2WLI.js} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-tprCigR1.js.map → storeNetworkFeeSignature-B4xx2WLI.js.map} +1 -1
- package/dist/chunks/{storeNetworkFeeSignature-CLm8I2pf.cjs → storeNetworkFeeSignature-DJgBfZp7.cjs} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-CLm8I2pf.cjs.map → storeNetworkFeeSignature-DJgBfZp7.cjs.map} +1 -1
- package/dist/chunks/token-addresses-C7H9E4qz.cjs +2 -0
- package/dist/chunks/token-addresses-C7H9E4qz.cjs.map +1 -0
- package/dist/chunks/{token-addresses-Ddar0FyS.js → token-addresses-J-EuQVP6.js} +14 -14
- package/dist/chunks/token-addresses-J-EuQVP6.js.map +1 -0
- package/dist/chunks/{tokens-HhVpKe3K.js → tokens-CwbSzyK9.js} +2 -2
- package/dist/chunks/{tokens-HhVpKe3K.js.map → tokens-CwbSzyK9.js.map} +1 -1
- package/dist/chunks/{tokens-CBsz6l_2.cjs → tokens-DEYY7W7O.cjs} +2 -2
- package/dist/chunks/{tokens-CBsz6l_2.cjs.map → tokens-DEYY7W7O.cjs.map} +1 -1
- package/dist/chunks/{unstakeLBTC-Bg8OsAMV.js → unstakeLBTC-CEqb4N-_.js} +5 -5
- package/dist/chunks/{unstakeLBTC-Bg8OsAMV.js.map → unstakeLBTC-CEqb4N-_.js.map} +1 -1
- package/dist/chunks/{unstakeLBTC-BmHvDxBN.cjs → unstakeLBTC-DMI79XHm.cjs} +2 -2
- package/dist/chunks/{unstakeLBTC-BmHvDxBN.cjs.map → unstakeLBTC-DMI79XHm.cjs.map} +1 -1
- package/dist/chunks/{withdraw-kf8mYbYH.js → withdraw-CYUXQ9HY.js} +4 -4
- package/dist/chunks/{withdraw-kf8mYbYH.js.map → withdraw-CYUXQ9HY.js.map} +1 -1
- package/dist/chunks/{withdraw-Bkp5-2dG.cjs → withdraw-D-FlPc10.cjs} +2 -2
- package/dist/chunks/{withdraw-Bkp5-2dG.cjs.map → withdraw-D-FlPc10.cjs.map} +1 -1
- package/dist/chunks/{wrapToBtce-DDeIlv3d.cjs → wrapToBtce-D-TaAhqb.cjs} +2 -2
- package/dist/chunks/{wrapToBtce-DDeIlv3d.cjs.map → wrapToBtce-D-TaAhqb.cjs.map} +1 -1
- package/dist/chunks/{wrapToBtce-By2mh503.js → wrapToBtce-yEQfbDAw.js} +5 -5
- package/dist/chunks/{wrapToBtce-By2mh503.js.map → wrapToBtce-yEQfbDAw.js.map} +1 -1
- package/dist/common/chains.d.ts +1 -1
- package/dist/common/chains.d.ts.map +1 -1
- package/dist/contracts.cjs +1 -1
- package/dist/contracts.js +3 -3
- package/dist/core.cjs +1 -1
- package/dist/core.js +7 -7
- package/dist/defi.cjs +1 -1
- package/dist/defi.js +2 -2
- package/dist/entries/evm.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.js +23 -23
- package/dist/metrics.cjs +1 -1
- package/dist/metrics.js +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 +1 -1
- package/dist/chunks/token-addresses-Ddar0FyS.js.map +0 -1
- package/dist/chunks/token-addresses-DvY-Mw7b.cjs +0 -2
- package/dist/chunks/token-addresses-DvY-Mw7b.cjs.map +0 -1
package/dist/chunks/{storeNetworkFeeSignature-tprCigR1.js → storeNetworkFeeSignature-B4xx2WLI.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-CwbSzyK9.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-B4xx2WLI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeNetworkFeeSignature-
|
|
1
|
+
{"version":3,"file":"storeNetworkFeeSignature-B4xx2WLI.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;"}
|
package/dist/chunks/{storeNetworkFeeSignature-CLm8I2pf.cjs → storeNetworkFeeSignature-DJgBfZp7.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-DEYY7W7O.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-DJgBfZp7.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeNetworkFeeSignature-
|
|
1
|
+
{"version":3,"file":"storeNetworkFeeSignature-DJgBfZp7.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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const t=require("./index-BKzxeh1Y.cjs"),b=require("viem"),G=require("viem/actions"),X=require("viem/chains");function J(a){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const n in a)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(a,n);Object.defineProperty(c,n,r.get?r:{enumerable:!0,get:()=>a[n]})}}return c.default=a,Object.freeze(c)}const H=J(X);function R({provider:a,chainId:c}){const n=I[c],r=b.custom(a);return b.createWalletClient({chain:n,transport:r})}const{avalanche:Y,avalancheFuji:Z,base:Q,baseSepolia:$,bsc:ee,bscTestnet:ae,corn:te,holesky:ne,mainnet:ce,sepolia:re,sonic:se,sonicBlazeTestnet:oe}=H,x=b.defineChain({id:747474,name:"Katana",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.katana.network"],webSocket:["wss://rpc.katana.network"]}},blockExplorers:{default:{name:"Katana Explorer",url:"https://explorer.katanarpc.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1898013}}}),K=b.defineChain({id:239,name:"TAC",nativeCurrency:{decimals:18,name:"TAC",symbol:"TAC"},rpcUrls:{default:{http:["https://rpc.tac.build"]}},blockExplorers:{default:{name:"TAC Explorer",url:"https://explorer.tac.build"}}}),de=b.defineChain({id:60808,name:"BOB",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.gobob.xyz"]}},blockExplorers:{default:{name:"BOB Explorer",url:"https://explorer.gobob.xyz"}}}),ie=b.defineChain({id:808813,name:"BOB Sepolia",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://bob-sepolia.rpc.gobob.xyz"]}},blockExplorers:{default:{name:"BOB Sepolia Explorer",url:"https://bob-sepolia.explorer.gobob.xyz/"}}}),F=b.defineChain({id:143,name:"Monad",nativeCurrency:{decimals:18,name:"Monad",symbol:"MONAD"},rpcUrls:{default:{http:["https://monad-mainnet.drpc.org"]}},blockExplorers:{default:{name:"Monad Explorer",url:"https://monadvision.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:9248132}}}),_=b.defineChain({id:988,name:"Stable",nativeCurrency:{decimals:18,name:"gUSDT",symbol:"gUSDT"},rpcUrls:{default:{http:["https://partners-rpc.stable.xyz/lombard.075830647a2c30190712a9d102011ffe5a2a01d24ff3405f711d6ea8aca10baf"]}},blockExplorers:{default:{name:"Stable Explorer",url:"https://stablescan.xyz"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1}}}),N=b.defineChain({id:4326,name:"MegaETH",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://mainnet.megaeth.com/rpc"]}},blockExplorers:{default:{name:"MegaETH Explorer",url:"https://megaeth.blockscout.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2591807}}}),w={...H,katana:x,tac:K,monad:F,stable:_,megaeth:N},U="sui:devnet",D="sui:testnet",P="sui:localnet",k="sui:mainnet",g=a=>[U,D,P,k].includes(a),S="solana:mainnet-beta",z="solana:testnet",l="solana:devnet",v=a=>[S,z,l].includes(a),d="0x534e5f4d41494e",i="0x534e5f5345504f4c4941",L=a=>a===d||a===i,e={ethereum:1,avalanche:43114,base:8453,berachain:80094,binanceSmartChain:56,corn:21e6,etherlink:42793,katana:747474,megaeth:4326,monad:143,morph:2818,sonic:146,stable:988,swell:1923,tac:239,bob:60808,avalancheFuji:43113,baseSepoliaTestnet:84532,berachainBartioTestnet:80084,binanceSmartChainTestnet:97,holesky:17e3,morphHolesky:2810,sepolia:11155111,sonicBlazeTestnet:57054},I={[e.ethereum]:ce,[e.avalanche]:Y,[e.base]:Q,[e.binanceSmartChain]:ee,[e.corn]:te,[e.katana]:x,[e.megaeth]:N,[e.monad]:F,[e.sonic]:se,[e.stable]:_,[e.avalancheFuji]:Z,[e.baseSepoliaTestnet]:$,[e.binanceSmartChainTestnet]:ae,[e.holesky]:ne,[e.sepolia]:re,[e.sonicBlazeTestnet]:oe},be=a=>a===e.katana,le=a=>a===e.monad,Ce=a=>[e.ethereum,e.sepolia].includes(a),Ee=a=>a===e.stable,Ae=a=>[e.megaeth].includes(a),j={[e.ethereum]:"ethereum",[e.avalanche]:"avalanche",[e.base]:"base",[e.berachain]:"berachain",[e.binanceSmartChain]:"bsc",[e.corn]:"corn",[e.etherlink]:"etherlink",[e.morph]:"morph",[e.sonic]:"sonic",[e.swell]:"swellchain",[e.megaeth]:"megaeth",[e.monad]:"monad",[e.katana]:"katana",[e.stable]:"stable"};function O(a){return Object.values(e).includes(a)}async function Te({provider:a,chainId:c}){const n=R({provider:a,chainId:e.ethereum}),r=I[c];if(!r)throw new Error(`Chain ${c} not found`);await G.addChain(n,{chain:r})}const fe=a=>j[a],he=a=>b.extractChain({chains:Object.values(w),id:a});var B=(a=>(a.Adapter="adapter",a.Token="token",a))(B||{}),V=(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))(V||{});const De={TOKEN_SYMBOL_STLBTC:"LBTC"},y={[t.r.prod]:{[e.ethereum]:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",[e.katana]:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",[e.avalanche]:{token:"0x152b9d0FdC40C096757F570A51E494bd4b943E50",adapter:"0x85D1D52e11290F174444d21C2a167bEDBE36e4d2"},[e.monad]:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",[e.megaeth]:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",[e.stable]:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072"},[t.r.ibc]:{[e.avalancheFuji]:{adapter:"0x1391f9AC408cf13214DDB71d359002658eaF9ebb",token:"0x71ba2b8dc58e7ca1b6d81a60729e31aefa37ae02"}},[t.r.dev]:{[e.avalancheFuji]:{adapter:"0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e",token:"0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6"},[e.binanceSmartChainTestnet]:"0xea3F66E5f2928dB9673103BfA01a2153A57a8050",[e.sepolia]:"0x195219A262423d209E126BD21cf4F4F9AA796927"},[t.r.stage]:{[e.avalancheFuji]:{adapter:"0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e",token:"0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6"},[e.sepolia]:"0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58"},[t.r.testnet]:{[e.avalancheFuji]:{adapter:"0x41BCd71e7C92b1c8dDe53037F9b2c4AA2058b1cB",token:"0xB14f240714Bd23Bda103A7189D512A90326E4D01"},[e.sepolia]:"0x20eA7b8ABb4B583788F1DFC738C709a2d9675681"}},W={[t.r.prod]:{[e.ethereum]:"0x8236a87084f8b84306f72007f36f2618a5634494",[e.avalanche]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.base]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.berachain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.binanceSmartChain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.corn]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.etherlink]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.katana]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.megaeth]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.morph]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.sonic]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.stable]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.swell]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.tac]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[e.bob]:"0xA45d4121b3D47719FF57a947A9d961539Ba33204",[e.monad]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"},[t.r.stage]:{[e.avalancheFuji]:void 0,[e.baseSepoliaTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[e.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[e.binanceSmartChainTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[e.holesky]:"0xED7bfd5C1790576105Af4649817f6d35A75CD818",[e.sepolia]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[e.sonicBlazeTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6"},[t.r.testnet]:{[e.avalancheFuji]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[e.baseSepoliaTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[e.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[e.binanceSmartChainTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[e.holesky]:"0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2",[e.sepolia]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[e.sonicBlazeTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5"},[t.r.dev]:{[e.avalancheFuji]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[e.sepolia]:"0x93283b6B889C591893dB0dc93baD71656D5d8923",[e.baseSepoliaTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[e.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[e.binanceSmartChainTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30"}},Se={BTCB:{[t.r.prod]:{[e.binanceSmartChain]:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"}},eBTC:{[t.r.prod]:{[e.ethereum]:"0x657e8c867d8b37dcc18fa4caead9c45eb088c642"}},wBTC:{[t.r.prod]:{[e.ethereum]:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}},wBTCN:{[t.r.prod]:{[e.corn]:"0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2"}}},M={LBTC:W,"BTC.b":y,BTCK:y,...Se},u={LBTC:{[t.r.prod]:{[k]:"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040"},[t.r.stage]:{[D]:"0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0"},[t.r.testnet]:{[D]:"0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa"}}},Be=(a,c=t.p)=>{var n,r;return((r=(n=u.LBTC)==null?void 0:n[c])==null?void 0:r[a])||void 0},p={LBTC:{[t.r.prod]:{[S]:"LBTCgU4b3wsFKsPwBn1rRZDx5DoFutM6RPiEt1TPDsY"},[t.r.testnet]:{[l]:"1BTCPX3qyFtBvhQvJaHntfzZfB8qcJmJXfoRnD3vAgh"},[t.r.dev]:{[l]:"LBTCojyVJ63rsEED2DLEGWMzSxWJyQynXE91LMLgV1J"},[t.r.stage]:{[l]:"1btcyoWK7d99iosES4eXQGhhooCscKGigV5wHfvzueX"}},"BTC.b":{[t.r.prod]:{[S]:"BTCbKVgfW4xMqTWEmxVwc6pzg2c5YtQWxSpBuQDhUrpu"},[t.r.dev]:{[l]:"BTCB3ripBAut19jM8kDPVbJHb2ZdR2GcZvGZkCmFPtV8"},[t.r.stage]:{[l]:"BTCGPAHQSsS9RYcL2Z4B5z6YyAXLatNcnaEwYdczsMZw"},[t.r.testnet]:{[l]:"BTCb1Xy55DzwPMog9d3ztPau4nqXp6BhUrdGHjTrMYCn"}}},ue=(a,c=t.p,n="LBTC")=>{var r,s;return((s=(r=p[n])==null?void 0:r[c])==null?void 0:s[a])||void 0},pe=(a,c,n=t.p,r=B.Token)=>{var E,A;if(!a||!c)return;const s=["LBTC","BTC.b"],f=[[L,m],[g,u],[v,p],[O,M]];for(const T of s)for(const[h,C]of f)if(h(c)){let o=(A=(E=C==null?void 0:C[T])==null?void 0:E[n])==null?void 0:A[c];if(o&&(o=typeof o=="string"?o:o[r],a.toLowerCase()===o.toLowerCase()))return T}},me=(a,c=B.Token,n=t.p)=>{var r,s,f,E,A,T,h,C;if(O(a)){const o=(s=(r=M.LBTC)==null?void 0:r[n])==null?void 0:s[a];if(o)return typeof o=="string"?o:o[c]}if(g(a))return(E=(f=u.LBTC)==null?void 0:f[n])==null?void 0:E[a];if(v(a))return(T=(A=p.LBTC)==null?void 0:A[n])==null?void 0:T[a];if(L(a))return(C=(h=m.LBTC)==null?void 0:h[n])==null?void 0:C[a]},m={LBTC:{[t.r.prod]:{[i]:void 0,[d]:"0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4"},[t.r.stage]:{[i]:"0x00b442f5420860e937a99659326e81a97e07bfd538b3cee65b90029c9da38a5f",[d]:void 0},[t.r.testnet]:{[i]:"0x00456a829ab75ba5e97534dc70d7fc617cfda244f8dcda47b11624de67c6e70c",[d]:void 0},[t.r.dev]:{[i]:"0x0723de0c550b7bfbb5051dade72966d71a08bef952c0197462a5244497eb57c1",[d]:void 0}}},q={LBTC:{[t.r.prod]:{[i]:void 0,[d]:"0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976"},[t.r.stage]:{[i]:"0x01d27f156092746d0d7cd9d9deec5e937f27c3c7c1c28365e9e5efac459880b3",[d]:void 0},[t.r.testnet]:{[i]:"0x063b7b5c8b114ebd5b9602fbd5d0ffd2cc3a598f1d91c6904cc0997cd8fea760",[d]:void 0},[t.r.dev]:{[i]:"0x04838a05c798dc57e01e85526979841c84f1f3c732a525cff53adb3e8bee3d24",[d]:void 0}}},xe=(a,c=t.p,n="token")=>{var r,s;return((s=(r=(n==="token"?m:q).LBTC)==null?void 0:r[c])==null?void 0:s[a])||void 0};exports.AddressKind=B;exports.CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP=j;exports.CHAIN_ID_TO_VIEM_CHAIN_MAP=I;exports.ChainId=e;exports.EVM_LBTC_ADDRESSES=W;exports.RATIO_TOKEN_MAP=De;exports.SOLANA_DEVNET_CHAIN=l;exports.SOLANA_MAINNET_CHAIN=S;exports.SOLANA_TESTNET_CHAIN=z;exports.SOLANA_TOKEN_ADDRESSES=p;exports.STARKNET_ASSET_ROUTER_ADDRESSES=q;exports.STARKNET_MAINNET_CHAIN=d;exports.STARKNET_SEPOLIA_CHAIN=i;exports.STARKNET_TOKEN_ADDRESSES=m;exports.SUI_DEVNET_CHAIN=U;exports.SUI_LOCALNET_CHAIN=P;exports.SUI_MAINNET_CHAIN=k;exports.SUI_TESTNET_CHAIN=D;exports.SUI_TOKEN_ADDRESSES=u;exports.TOKEN_ADDRESSES=M;exports.Token=V;exports.addChain=Te;exports.allChains=w;exports.bob=de;exports.bobSepolia=ie;exports.getChain=he;exports.getLlamaChainName=fe;exports.getSolanaTokenAddress=ue;exports.getStarknetTokenAddress=xe;exports.getSuiTokenAddress=Be;exports.getTokenAddressForChain=me;exports.getTokenByAddress=pe;exports.isEthereumChain=Ce;exports.isKatanaChain=be;exports.isMegaethChain=Ae;exports.isMonadChain=le;exports.isSolanaChain=v;exports.isStableChain=Ee;exports.isStarknetChainId=L;exports.isSuiChain=g;exports.isValidChain=O;exports.katana=x;exports.makeWalletClient=R;exports.megaeth=N;exports.monad=F;exports.stable=_;exports.tac=K;
|
|
2
|
+
//# sourceMappingURL=token-addresses-C7H9E4qz.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-addresses-C7H9E4qz.cjs","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 | typeof ChainId.sepolia;\nexport const isEthereumChain = (chainId: unknown): chainId is EthereumChain => {\n return ([ChainId.ethereum, ChainId.sepolia] 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":"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"}
|
|
@@ -191,8 +191,8 @@ const {
|
|
|
191
191
|
A,
|
|
192
192
|
ne,
|
|
193
193
|
L
|
|
194
|
-
].includes(a),
|
|
195
|
-
|
|
194
|
+
].includes(a), p = "solana:mainnet-beta", oe = "solana:testnet", i = "solana:devnet", M = (a) => [
|
|
195
|
+
p,
|
|
196
196
|
oe,
|
|
197
197
|
i
|
|
198
198
|
].includes(a), d = "0x534e5f4d41494e", b = "0x534e5f5345504f4c4941", w = (a) => a === d || a === b, e = {
|
|
@@ -238,7 +238,7 @@ const {
|
|
|
238
238
|
[e.holesky]: Z,
|
|
239
239
|
[e.sepolia]: q,
|
|
240
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,
|
|
241
|
+
}, Be = (a) => a === e.katana, he = (a) => a === e.monad, Te = (a) => [e.ethereum, e.sepolia].includes(a), Ae = (a) => a === e.stable, pe = (a) => [e.megaeth].includes(a), se = {
|
|
242
242
|
[e.ethereum]: "ethereum",
|
|
243
243
|
[e.avalanche]: "avalanche",
|
|
244
244
|
[e.base]: "base",
|
|
@@ -257,7 +257,7 @@ const {
|
|
|
257
257
|
function H(a) {
|
|
258
258
|
return Object.values(e).includes(a);
|
|
259
259
|
}
|
|
260
|
-
async function
|
|
260
|
+
async function me({ provider: a, chainId: n }) {
|
|
261
261
|
const o = j({
|
|
262
262
|
provider: a,
|
|
263
263
|
chainId: e.ethereum
|
|
@@ -269,7 +269,7 @@ async function pe({ provider: a, chainId: n }) {
|
|
|
269
269
|
});
|
|
270
270
|
}
|
|
271
271
|
const xe = (a) => se[a], ue = (a) => I({ chains: Object.values(te), id: a });
|
|
272
|
-
var
|
|
272
|
+
var m = /* @__PURE__ */ ((a) => (a.Adapter = "adapter", a.Token = "token", a))(m || {}), 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 */
|
|
@@ -402,7 +402,7 @@ const Fe = {
|
|
|
402
402
|
}, u = {
|
|
403
403
|
LBTC: {
|
|
404
404
|
[t.prod]: {
|
|
405
|
-
[
|
|
405
|
+
[p]: "LBTCgU4b3wsFKsPwBn1rRZDx5DoFutM6RPiEt1TPDsY"
|
|
406
406
|
},
|
|
407
407
|
[t.testnet]: {
|
|
408
408
|
[i]: "1BTCPX3qyFtBvhQvJaHntfzZfB8qcJmJXfoRnD3vAgh"
|
|
@@ -416,7 +416,7 @@ const Fe = {
|
|
|
416
416
|
},
|
|
417
417
|
"BTC.b": {
|
|
418
418
|
[t.prod]: {
|
|
419
|
-
[
|
|
419
|
+
[p]: "BTCbKVgfW4xMqTWEmxVwc6pzg2c5YtQWxSpBuQDhUrpu"
|
|
420
420
|
},
|
|
421
421
|
[t.dev]: {
|
|
422
422
|
[i]: "BTCB3ripBAut19jM8kDPVbJHb2ZdR2GcZvGZkCmFPtV8"
|
|
@@ -431,7 +431,7 @@ const Fe = {
|
|
|
431
431
|
}, ve = (a, n = B, o = "LBTC") => {
|
|
432
432
|
var c, s;
|
|
433
433
|
return ((s = (c = u[o]) == null ? void 0 : c[n]) == null ? void 0 : s[a]) || void 0;
|
|
434
|
-
}, ke = (a, n, o = B, c =
|
|
434
|
+
}, ke = (a, n, o = B, c = m.Token) => {
|
|
435
435
|
var f, E;
|
|
436
436
|
if (!a || !n) return;
|
|
437
437
|
const s = [
|
|
@@ -451,7 +451,7 @@ const Fe = {
|
|
|
451
451
|
if (r && (r = typeof r == "string" ? r : r[c], a.toLowerCase() === r.toLowerCase()))
|
|
452
452
|
return D;
|
|
453
453
|
}
|
|
454
|
-
}, _e = (a, n =
|
|
454
|
+
}, _e = (a, n = m.Token, o = B) => {
|
|
455
455
|
var c, s, h, f, E, D, T, C;
|
|
456
456
|
if (H(a)) {
|
|
457
457
|
const r = (s = (c = R.LBTC) == null ? void 0 : c[o]) == null ? void 0 : s[a];
|
|
@@ -507,14 +507,14 @@ const Fe = {
|
|
|
507
507
|
return ((s = (c = (o === "token" ? F : ie).LBTC) == null ? void 0 : c[n]) == null ? void 0 : s[a]) || void 0;
|
|
508
508
|
};
|
|
509
509
|
export {
|
|
510
|
-
|
|
510
|
+
m as AddressKind,
|
|
511
511
|
se as CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP,
|
|
512
512
|
O as CHAIN_ID_TO_VIEM_CHAIN_MAP,
|
|
513
513
|
e as ChainId,
|
|
514
514
|
de as EVM_LBTC_ADDRESSES,
|
|
515
515
|
Fe as RATIO_TOKEN_MAP,
|
|
516
516
|
i as SOLANA_DEVNET_CHAIN,
|
|
517
|
-
|
|
517
|
+
p as SOLANA_MAINNET_CHAIN,
|
|
518
518
|
oe as SOLANA_TESTNET_CHAIN,
|
|
519
519
|
u as SOLANA_TOKEN_ADDRESSES,
|
|
520
520
|
ie as STARKNET_ASSET_ROUTER_ADDRESSES,
|
|
@@ -528,7 +528,7 @@ export {
|
|
|
528
528
|
x as SUI_TOKEN_ADDRESSES,
|
|
529
529
|
R as TOKEN_ADDRESSES,
|
|
530
530
|
re as Token,
|
|
531
|
-
|
|
531
|
+
me as addChain,
|
|
532
532
|
te as allChains,
|
|
533
533
|
Ee as bob,
|
|
534
534
|
De as bobSepolia,
|
|
@@ -541,7 +541,7 @@ export {
|
|
|
541
541
|
ke as getTokenByAddress,
|
|
542
542
|
Te as isEthereumChain,
|
|
543
543
|
Be as isKatanaChain,
|
|
544
|
-
|
|
544
|
+
pe as isMegaethChain,
|
|
545
545
|
he as isMonadChain,
|
|
546
546
|
M as isSolanaChain,
|
|
547
547
|
Ae as isStableChain,
|
|
@@ -555,4 +555,4 @@ export {
|
|
|
555
555
|
N as stable,
|
|
556
556
|
ae as tac
|
|
557
557
|
};
|
|
558
|
-
//# sourceMappingURL=token-addresses-
|
|
558
|
+
//# sourceMappingURL=token-addresses-J-EuQVP6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-addresses-J-EuQVP6.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 | typeof ChainId.sepolia;\nexport const isEthereumChain = (chainId: unknown): chainId is EthereumChain => {\n return ([ChainId.ethereum, ChainId.sepolia] 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":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as c, p as w } from "./index-CfcQ_g3t.js";
|
|
2
2
|
import o from "bignumber.js";
|
|
3
3
|
import { http as R, createPublicClient as D, zeroAddress as I, erc20Abi as b } from "viem";
|
|
4
|
-
import { ChainId as n, CHAIN_ID_TO_VIEM_CHAIN_MAP as E, getChain as S, AddressKind as f, Token as l, TOKEN_ADDRESSES as g } from "./token-addresses-
|
|
4
|
+
import { ChainId as n, CHAIN_ID_TO_VIEM_CHAIN_MAP as E, getChain as S, AddressKind as f, Token as l, TOKEN_ADDRESSES as g } from "./token-addresses-J-EuQVP6.js";
|
|
5
5
|
import { getApiConfig as F } from "./api-config-Dm6dR85f.js";
|
|
6
6
|
const P = [
|
|
7
7
|
n.ethereum,
|
|
@@ -6658,4 +6658,4 @@ export {
|
|
|
6658
6658
|
q as rpcUrlConfig,
|
|
6659
6659
|
X as toBaseDenomination
|
|
6660
6660
|
};
|
|
6661
|
-
//# sourceMappingURL=tokens-
|
|
6661
|
+
//# sourceMappingURL=tokens-CwbSzyK9.js.map
|