@lombard.finance/sdk 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +8 -4
  3. package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.d.ts +4 -0
  4. package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.d.ts.map +1 -1
  5. package/dist/api.cjs +1 -1
  6. package/dist/api.js +5 -5
  7. package/dist/bridge.cjs +1 -1
  8. package/dist/bridge.js +1 -1
  9. package/dist/btc.cjs +1 -1
  10. package/dist/btc.js +2 -2
  11. package/dist/chains/btc/actions/deposit/config/solana.d.ts.map +1 -1
  12. package/dist/chains/solana/SolanaActions.d.ts +24 -6
  13. package/dist/chains/solana/SolanaActions.d.ts.map +1 -1
  14. package/dist/chains/solana/actions/index.d.ts +1 -0
  15. package/dist/chains/solana/actions/index.d.ts.map +1 -1
  16. package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts +5 -9
  17. package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts.map +1 -1
  18. package/dist/chains/solana/actions/redeem/config/solana.d.ts +1 -10
  19. package/dist/chains/solana/actions/redeem/config/solana.d.ts.map +1 -1
  20. package/dist/chains/solana/actions/redeem/config/types.d.ts +0 -14
  21. package/dist/chains/solana/actions/redeem/config/types.d.ts.map +1 -1
  22. package/dist/chains/solana/actions/redeem/factory.d.ts +0 -3
  23. package/dist/chains/solana/actions/redeem/factory.d.ts.map +1 -1
  24. package/dist/chains/solana/actions/redeem/types.d.ts +5 -17
  25. package/dist/chains/solana/actions/redeem/types.d.ts.map +1 -1
  26. package/dist/chains/solana/actions/stake/SolanaStake.d.ts +33 -0
  27. package/dist/chains/solana/actions/stake/SolanaStake.d.ts.map +1 -0
  28. package/dist/chains/solana/actions/stake/config/index.d.ts +8 -0
  29. package/dist/chains/solana/actions/stake/config/index.d.ts.map +1 -0
  30. package/dist/chains/solana/actions/stake/config/solana.d.ts +13 -0
  31. package/dist/chains/solana/actions/stake/config/solana.d.ts.map +1 -0
  32. package/dist/chains/solana/actions/stake/config/types.d.ts +20 -0
  33. package/dist/chains/solana/actions/stake/config/types.d.ts.map +1 -0
  34. package/dist/chains/solana/actions/stake/factory.d.ts +9 -0
  35. package/dist/chains/solana/actions/stake/factory.d.ts.map +1 -0
  36. package/dist/chains/solana/actions/stake/index.d.ts +9 -0
  37. package/dist/chains/solana/actions/stake/index.d.ts.map +1 -0
  38. package/dist/chains/solana/actions/stake/types.d.ts +39 -0
  39. package/dist/chains/solana/actions/stake/types.d.ts.map +1 -0
  40. package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts +7 -4
  41. package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts.map +1 -1
  42. package/dist/chains/solana/actions/unstake/config/btc.d.ts +13 -7
  43. package/dist/chains/solana/actions/unstake/config/btc.d.ts.map +1 -1
  44. package/dist/chains/solana/actions/unstake/config/index.d.ts +1 -1
  45. package/dist/chains/solana/actions/unstake/config/index.d.ts.map +1 -1
  46. package/dist/chains/solana/actions/unstake/config/types.d.ts +6 -2
  47. package/dist/chains/solana/actions/unstake/config/types.d.ts.map +1 -1
  48. package/dist/chains/solana/actions/unstake/types.d.ts +4 -4
  49. package/dist/chains/solana/actions/unstake/types.d.ts.map +1 -1
  50. package/dist/chains/solana/utils.d.ts +2 -0
  51. package/dist/chains/solana/utils.d.ts.map +1 -1
  52. package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts +2 -2
  53. package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts.map +1 -1
  54. package/dist/chains/starknet/actions/unstake/types.d.ts +4 -4
  55. package/dist/chains/starknet/actions/unstake/types.d.ts.map +1 -1
  56. package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts +2 -2
  57. package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts.map +1 -1
  58. package/dist/chains/sui/actions/unstake/types.d.ts +4 -4
  59. package/dist/chains/sui/actions/unstake/types.d.ts.map +1 -1
  60. package/dist/chunks/BtcActions-CWFHlbUP.cjs +2 -0
  61. package/dist/chunks/BtcActions-CWFHlbUP.cjs.map +1 -0
  62. package/dist/chunks/{BtcActions-CI5XotUx.js → BtcActions-jvzGFmpz.js} +12 -8
  63. package/dist/chunks/BtcActions-jvzGFmpz.js.map +1 -0
  64. package/dist/chunks/{EvmActions-D_sFfTAK.cjs → EvmActions-BTKQAXTE.cjs} +2 -2
  65. package/dist/chunks/{EvmActions-D_sFfTAK.cjs.map → EvmActions-BTKQAXTE.cjs.map} +1 -1
  66. package/dist/chunks/{EvmActions-C7EKF3jb.js → EvmActions-hb-FhsLJ.js} +9 -9
  67. package/dist/chunks/{EvmActions-C7EKF3jb.js.map → EvmActions-hb-FhsLJ.js.map} +1 -1
  68. package/dist/chunks/ReferralsClient-D8dHEk_X.cjs +2 -0
  69. package/dist/chunks/ReferralsClient-D8dHEk_X.cjs.map +1 -0
  70. package/dist/chunks/{ReferralsClient-AxhLoWRT.js → ReferralsClient-W-0-383w.js} +58 -58
  71. package/dist/chunks/ReferralsClient-W-0-383w.js.map +1 -0
  72. package/dist/chunks/{approveLBTC-CUXEC3kw.cjs → approveLBTC-BMC4cZEk.cjs} +2 -2
  73. package/dist/chunks/{approveLBTC-CUXEC3kw.cjs.map → approveLBTC-BMC4cZEk.cjs.map} +1 -1
  74. package/dist/chunks/{approveLBTC-Du2El1tW.js → approveLBTC-BkdT1N3V.js} +3 -3
  75. package/dist/chunks/{approveLBTC-Du2El1tW.js.map → approveLBTC-BkdT1N3V.js.map} +1 -1
  76. package/dist/chunks/{blockchain-identifier-CTVaEPpY.js → blockchain-identifier-BLPnwbIN.js} +2 -2
  77. package/dist/chunks/{blockchain-identifier-CTVaEPpY.js.map → blockchain-identifier-BLPnwbIN.js.map} +1 -1
  78. package/dist/chunks/{blockchain-identifier-BTPGxLio.cjs → blockchain-identifier-Bp-LTIdG.cjs} +2 -2
  79. package/dist/chunks/{blockchain-identifier-BTPGxLio.cjs.map → blockchain-identifier-Bp-LTIdG.cjs.map} +1 -1
  80. package/dist/chunks/{bridge-dWaKrMKm.cjs → bridge-7Eq_Jmi2.cjs} +2 -2
  81. package/dist/chunks/{bridge-dWaKrMKm.cjs.map → bridge-7Eq_Jmi2.cjs.map} +1 -1
  82. package/dist/chunks/{bridge-DqGabhIY.js → bridge-DbB23m2a.js} +4 -4
  83. package/dist/chunks/{bridge-DqGabhIY.js.map → bridge-DbB23m2a.js.map} +1 -1
  84. package/dist/chunks/{config-JT3GvwPB.js → config-C8BfN_9P.js} +2 -2
  85. package/dist/chunks/{config-JT3GvwPB.js.map → config-C8BfN_9P.js.map} +1 -1
  86. package/dist/chunks/{config-CSo0k7gN.cjs → config-ow9X5H0c.cjs} +2 -2
  87. package/dist/chunks/{config-CSo0k7gN.cjs.map → config-ow9X5H0c.cjs.map} +1 -1
  88. package/dist/chunks/{defi-registry-hHpGoh1m.cjs → defi-registry-B8V6dRVB.cjs} +2 -2
  89. package/dist/chunks/{defi-registry-hHpGoh1m.cjs.map → defi-registry-B8V6dRVB.cjs.map} +1 -1
  90. package/dist/chunks/{defi-registry-ig-wro_O.js → defi-registry-CD8EUcNu.js} +3 -3
  91. package/dist/chunks/{defi-registry-ig-wro_O.js.map → defi-registry-CD8EUcNu.js.map} +1 -1
  92. package/dist/chunks/depositStatus-BJA7tNqc.cjs +2 -0
  93. package/dist/chunks/{depositStatus-D5t8HN_A.cjs.map → depositStatus-BJA7tNqc.cjs.map} +1 -1
  94. package/dist/chunks/{depositStatus-BrrE4n4B.js → depositStatus-HosfExLl.js} +38 -37
  95. package/dist/chunks/{depositStatus-BrrE4n4B.js.map → depositStatus-HosfExLl.js.map} +1 -1
  96. package/dist/chunks/events-BTPDrUUu.cjs +2 -0
  97. package/dist/chunks/events-BTPDrUUu.cjs.map +1 -0
  98. package/dist/chunks/events-DAiXVdGv.js +1274 -0
  99. package/dist/chunks/events-DAiXVdGv.js.map +1 -0
  100. package/dist/chunks/{get-exchange-ratio-B-xzYND1.js → get-exchange-ratio-Bl6pt546.js} +2 -2
  101. package/dist/chunks/{get-exchange-ratio-B-xzYND1.js.map → get-exchange-ratio-Bl6pt546.js.map} +1 -1
  102. package/dist/chunks/{get-exchange-ratio-BEhD4gLB.cjs → get-exchange-ratio-t1PW8I6_.cjs} +2 -2
  103. package/dist/chunks/{get-exchange-ratio-BEhD4gLB.cjs.map → get-exchange-ratio-t1PW8I6_.cjs.map} +1 -1
  104. package/dist/chunks/{get-positions-summary-iYshN1RQ.js → get-positions-summary-CaX2BCHp.js} +2 -2
  105. package/dist/chunks/{get-positions-summary-iYshN1RQ.js.map → get-positions-summary-CaX2BCHp.js.map} +1 -1
  106. package/dist/chunks/{get-positions-summary-Dh1QPLYO.cjs → get-positions-summary-DdZvBmCN.cjs} +2 -2
  107. package/dist/chunks/{get-positions-summary-Dh1QPLYO.cjs.map → get-positions-summary-DdZvBmCN.cjs.map} +1 -1
  108. package/dist/chunks/{get-vault-tvl-C3Yr4MI4.js → get-vault-tvl-CihHEkqK.js} +4 -4
  109. package/dist/chunks/{get-vault-tvl-C3Yr4MI4.js.map → get-vault-tvl-CihHEkqK.js.map} +1 -1
  110. package/dist/chunks/{get-vault-tvl-CRbxkHmr.cjs → get-vault-tvl-DZ-xzehy.cjs} +2 -2
  111. package/dist/chunks/{get-vault-tvl-CRbxkHmr.cjs.map → get-vault-tvl-DZ-xzehy.cjs.map} +1 -1
  112. package/dist/chunks/{get-vault-withdrawals-QqvpZnxA.cjs → get-vault-withdrawals-DLwFMQEB.cjs} +2 -2
  113. package/dist/chunks/{get-vault-withdrawals-QqvpZnxA.cjs.map → get-vault-withdrawals-DLwFMQEB.cjs.map} +1 -1
  114. package/dist/chunks/{get-vault-withdrawals-CQwNiILS.js → get-vault-withdrawals-QJOdxB5Z.js} +3 -3
  115. package/dist/chunks/{get-vault-withdrawals-CQwNiILS.js.map → get-vault-withdrawals-QJOdxB5Z.js.map} +1 -1
  116. package/dist/chunks/{getUserStakeAndBakeSignature-CSEyzgMc.cjs → getUserStakeAndBakeSignature-BmY5j0OM.cjs} +2 -2
  117. package/dist/chunks/{getUserStakeAndBakeSignature-CSEyzgMc.cjs.map → getUserStakeAndBakeSignature-BmY5j0OM.cjs.map} +1 -1
  118. package/dist/chunks/{getUserStakeAndBakeSignature-Su-k10ap.js → getUserStakeAndBakeSignature-CqlrwA0t.js} +4 -4
  119. package/dist/chunks/{getUserStakeAndBakeSignature-Su-k10ap.js.map → getUserStakeAndBakeSignature-CqlrwA0t.js.map} +1 -1
  120. package/dist/chunks/{lbtc-addresses-D8MYCdsx.js → lbtc-addresses-BlyGFWnW.js} +2 -2
  121. package/dist/chunks/{lbtc-addresses-D8MYCdsx.js.map → lbtc-addresses-BlyGFWnW.js.map} +1 -1
  122. package/dist/chunks/{lbtc-addresses-Kil252DX.cjs → lbtc-addresses-DjsipX5Q.cjs} +2 -2
  123. package/dist/chunks/{lbtc-addresses-Kil252DX.cjs.map → lbtc-addresses-DjsipX5Q.cjs.map} +1 -1
  124. package/dist/chunks/statusConstants-BTQAvx1I.cjs +2 -0
  125. package/dist/chunks/statusConstants-BTQAvx1I.cjs.map +1 -0
  126. package/dist/chunks/{statusConstants-BU4PglPs.js → statusConstants-D9eSk91U.js} +53 -43
  127. package/dist/chunks/statusConstants-D9eSk91U.js.map +1 -0
  128. package/dist/chunks/{storeNetworkFeeSignature-Buk4091C.cjs → storeNetworkFeeSignature-CLm8I2pf.cjs} +2 -2
  129. package/dist/chunks/{storeNetworkFeeSignature-Buk4091C.cjs.map → storeNetworkFeeSignature-CLm8I2pf.cjs.map} +1 -1
  130. package/dist/chunks/{storeNetworkFeeSignature-BODIpq3Y.js → storeNetworkFeeSignature-tprCigR1.js} +2 -2
  131. package/dist/chunks/{storeNetworkFeeSignature-BODIpq3Y.js.map → storeNetworkFeeSignature-tprCigR1.js.map} +1 -1
  132. package/dist/chunks/{token-addresses-D0v5cR1j.js → token-addresses-Ddar0FyS.js} +130 -124
  133. package/dist/chunks/token-addresses-Ddar0FyS.js.map +1 -0
  134. package/dist/chunks/{token-addresses-nzvTOi24.cjs → token-addresses-DvY-Mw7b.cjs} +2 -2
  135. package/dist/chunks/token-addresses-DvY-Mw7b.cjs.map +1 -0
  136. package/dist/chunks/{tokens-BkvA0Gp1.cjs → tokens-CBsz6l_2.cjs} +2 -2
  137. package/dist/chunks/{tokens-BkvA0Gp1.cjs.map → tokens-CBsz6l_2.cjs.map} +1 -1
  138. package/dist/chunks/{tokens-DgC1hfkm.js → tokens-HhVpKe3K.js} +2 -2
  139. package/dist/chunks/{tokens-DgC1hfkm.js.map → tokens-HhVpKe3K.js.map} +1 -1
  140. package/dist/chunks/{unstakeLBTC-BrVLnaac.js → unstakeLBTC-Bg8OsAMV.js} +5 -5
  141. package/dist/chunks/{unstakeLBTC-BrVLnaac.js.map → unstakeLBTC-Bg8OsAMV.js.map} +1 -1
  142. package/dist/chunks/{unstakeLBTC-3bwLj1qT.cjs → unstakeLBTC-BmHvDxBN.cjs} +2 -2
  143. package/dist/chunks/{unstakeLBTC-3bwLj1qT.cjs.map → unstakeLBTC-BmHvDxBN.cjs.map} +1 -1
  144. package/dist/chunks/{withdraw-BKEovicU.cjs → withdraw-Bkp5-2dG.cjs} +2 -2
  145. package/dist/chunks/{withdraw-BKEovicU.cjs.map → withdraw-Bkp5-2dG.cjs.map} +1 -1
  146. package/dist/chunks/{withdraw-rndehhDn.js → withdraw-kf8mYbYH.js} +4 -4
  147. package/dist/chunks/{withdraw-rndehhDn.js.map → withdraw-kf8mYbYH.js.map} +1 -1
  148. package/dist/chunks/{wrapToBtce-CML1FYEZ.js → wrapToBtce-By2mh503.js} +5 -5
  149. package/dist/chunks/{wrapToBtce-CML1FYEZ.js.map → wrapToBtce-By2mh503.js.map} +1 -1
  150. package/dist/chunks/{wrapToBtce-BVu8ALEo.cjs → wrapToBtce-DDeIlv3d.cjs} +2 -2
  151. package/dist/chunks/{wrapToBtce-BVu8ALEo.cjs.map → wrapToBtce-DDeIlv3d.cjs.map} +1 -1
  152. package/dist/contracts.cjs +1 -1
  153. package/dist/contracts.js +3 -3
  154. package/dist/core/assets/catalog.d.ts.map +1 -1
  155. package/dist/core/types.d.ts +2 -0
  156. package/dist/core/types.d.ts.map +1 -1
  157. package/dist/core.cjs +1 -1
  158. package/dist/core.js +32 -32
  159. package/dist/defi.cjs +1 -1
  160. package/dist/defi.js +2 -2
  161. package/dist/entries/core.d.ts +1 -1
  162. package/dist/entries/core.d.ts.map +1 -1
  163. package/dist/evm.cjs +1 -1
  164. package/dist/evm.js +4 -4
  165. package/dist/index.cjs +1 -1
  166. package/dist/index.d.ts +1 -1
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +36 -36
  169. package/dist/metrics.cjs +1 -1
  170. package/dist/metrics.js +1 -1
  171. package/dist/shared/constants/statusConstants.d.ts +7 -3
  172. package/dist/shared/constants/statusConstants.d.ts.map +1 -1
  173. package/dist/shared/deposits/depositStatus.d.ts.map +1 -1
  174. package/dist/tokens/token-addresses.d.ts.map +1 -1
  175. package/dist/utils.cjs +1 -1
  176. package/dist/utils.js +4 -4
  177. package/dist/vaults.cjs +1 -1
  178. package/dist/vaults.js +7 -7
  179. package/package.json +2 -2
  180. package/dist/chains/solana/actions/unstake/config/solana.d.ts +0 -21
  181. package/dist/chains/solana/actions/unstake/config/solana.d.ts.map +0 -1
  182. package/dist/chunks/BtcActions-Bic_HKkw.cjs +0 -2
  183. package/dist/chunks/BtcActions-Bic_HKkw.cjs.map +0 -1
  184. package/dist/chunks/BtcActions-CI5XotUx.js.map +0 -1
  185. package/dist/chunks/ReferralsClient-AxhLoWRT.js.map +0 -1
  186. package/dist/chunks/ReferralsClient-bZo9Jpg6.cjs +0 -2
  187. package/dist/chunks/ReferralsClient-bZo9Jpg6.cjs.map +0 -1
  188. package/dist/chunks/depositStatus-D5t8HN_A.cjs +0 -2
  189. package/dist/chunks/events-BfRsYM_-.cjs +0 -2
  190. package/dist/chunks/events-BfRsYM_-.cjs.map +0 -1
  191. package/dist/chunks/events-LMs7IA1e.js +0 -1108
  192. package/dist/chunks/events-LMs7IA1e.js.map +0 -1
  193. package/dist/chunks/statusConstants-BU4PglPs.js.map +0 -1
  194. package/dist/chunks/statusConstants-CCKi5qUm.cjs +0 -2
  195. package/dist/chunks/statusConstants-CCKi5qUm.cjs.map +0 -1
  196. package/dist/chunks/token-addresses-D0v5cR1j.js.map +0 -1
  197. package/dist/chunks/token-addresses-nzvTOi24.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const g=require("axios"),u=require("./api-config-DkXqqfCK.cjs"),c=require("./tokens-BkvA0Gp1.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-Buk4091C.cjs.map
1
+ "use strict";const g=require("axios"),u=require("./api-config-DkXqqfCK.cjs"),c=require("./tokens-CBsz6l_2.cjs");async function p({address:i,chainId:n,env:a,tokenAddress:t}){const{baseApiUrl:s}=u.getApiConfig(a);try{const r={user_destination_address:i,chain_id:n};t&&(r.token_address=t);const{data:e}=await g.get(`${s}/api/v1/claimer/get-user-signature`,{params:r});return{expirationDate:e==null?void 0:e.expiration_date,hasSignature:e==null?void 0:e.has_signature,isDelayed:e==null?void 0:e.is_delayed,signature:e==null?void 0:e.signature,typedData:e==null?void 0:e.typed_data}}catch(r){const e=c.getErrorMessage(r);throw new Error(e)}}async function _({signature:i,typedData:n,address:a,env:t,tokenAddress:s}){const{baseApiUrl:r}=u.getApiConfig(t);try{const e={typed_data:n,signature:i,user_destination_address:a};s&&(e.token_address=s);const{data:o}=await g.post(`${r}/api/v1/claimer/save-user-signature`,null,{params:e});return o.status}catch(e){const o=c.getErrorMessage(e);throw new Error(o)}}exports.getNetworkFeeSignature=p;exports.storeNetworkFeeSignature=_;
2
+ //# sourceMappingURL=storeNetworkFeeSignature-CLm8I2pf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"storeNetworkFeeSignature-Buk4091C.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"}
1
+ {"version":3,"file":"storeNetworkFeeSignature-CLm8I2pf.cjs","sources":["../../src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts","../../src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts"],"sourcesContent":["import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { ChainId } from '../../common/chains';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport interface IGetNetworkFeeSignatureParams extends IEnvParam {\n /**\n * Chain ID of the network to interact with\n */\n chainId: ChainId;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (optional, required for BTC.b)\n */\n tokenAddress?: string;\n}\n\ninterface IGetNetworkFeeSignatureResponse {\n /**\n * Expiration date of signature\n */\n expiration_date: string;\n /**\n * The flag signature exists\n */\n has_signature: boolean;\n /**\n * The auto mint is delayed\n */\n is_delayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typed_data?: string;\n}\n\nexport interface IGetNetworkFeeSignatureMappedResponse {\n /**\n * Expiration date of signature\n */\n expirationDate: string;\n /**\n * The flag signature exists\n */\n hasSignature: boolean;\n /**\n * The auto mint is delayed\n */\n isDelayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typedData?: string;\n}\n\n/**\n * Returns the expiration date and the flag signature exists\n *\n * @param {IGetNetworkFeeSignatureParams} parameters - The parameters.\n * @param {string} parameters.address - The account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IGetNetworkFeeSignatureResponse>}\n */\nexport async function getNetworkFeeSignature({\n address,\n chainId,\n env,\n tokenAddress,\n}: IGetNetworkFeeSignatureParams): Promise<IGetNetworkFeeSignatureMappedResponse> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string | number> = {\n user_destination_address: address,\n chain_id: chainId,\n };\n\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.get<IGetNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/get-user-signature`,\n {\n params,\n },\n );\n\n return {\n expirationDate: data?.expiration_date,\n hasSignature: data?.has_signature,\n isDelayed: data?.is_delayed,\n signature: data?.signature,\n typedData: data?.typed_data,\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n\n throw new Error(errorMessage);\n }\n}\n","import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport type IStoreNetworkFeeSignatureStatus = 'success';\n\ninterface IStoreNetworkFeeSignatureResponse {\n status: IStoreNetworkFeeSignatureStatus;\n}\n\nexport interface IStoreNetworkFeeSignatureParams extends IEnvParam {\n /**\n * signature\n */\n signature: string;\n /**\n * JSON typed data used for the signature\n */\n typedData: string;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (required to distinguish LBTC vs BTC.b signatures)\n */\n tokenAddress?: string;\n}\n\n/**\n * Authorize network fee\n *\n * @param {IStoreNetworkFeeSignatureParams} parameters - The parameters for network fee authorization\n * @param {string} parameters.address - The destination account address.\n * @param {string} parameters.signature - The signature.\n * @param {string} parameters.typedData - The serialized typed data.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IStoreNetworkFeeSignatureResponse>}\n */\nexport async function storeNetworkFeeSignature({\n signature,\n typedData,\n address,\n env,\n tokenAddress,\n}: IStoreNetworkFeeSignatureParams): Promise<IStoreNetworkFeeSignatureStatus> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string> = {\n typed_data: typedData,\n signature,\n user_destination_address: address,\n };\n\n // Include token address to distinguish LBTC vs BTC.b signatures\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.post<IStoreNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/save-user-signature`,\n null,\n { params },\n );\n\n return data.status;\n } catch (error) {\n const errorMsg = getErrorMessage(error);\n throw new Error(errorMsg);\n }\n}\n"],"names":["getNetworkFeeSignature","address","chainId","env","tokenAddress","baseApiUrl","getApiConfig","params","data","axios","error","errorMessage","getErrorMessage","storeNetworkFeeSignature","signature","typedData","errorMsg"],"mappings":"gHA8EA,eAAsBA,EAAuB,CAC3C,QAAAC,EACA,QAAAC,EACA,IAAAC,EACA,aAAAC,CACF,EAAkF,CAChF,KAAM,CAAE,WAAAC,CAAA,EAAeC,EAAAA,aAAaH,CAAG,EAEvC,GAAI,CACF,MAAMI,EAA0C,CAC9C,yBAA0BN,EAC1B,SAAUC,CAAA,EAGRE,IACFG,EAAO,cAAgBH,GAGzB,KAAM,CAAE,KAAAI,CAAA,EAAS,MAAMC,EAAM,IAC3B,GAAGJ,CAAU,qCACb,CACE,OAAAE,CAAA,CACF,EAGF,MAAO,CACL,eAAgBC,GAAA,YAAAA,EAAM,gBACtB,aAAcA,GAAA,YAAAA,EAAM,cACpB,UAAWA,GAAA,YAAAA,EAAM,WACjB,UAAWA,GAAA,YAAAA,EAAM,UACjB,UAAWA,GAAA,YAAAA,EAAM,UAAA,CAErB,OAASE,EAAO,CACd,MAAMC,EAAeC,EAAAA,gBAAgBF,CAAK,EAE1C,MAAM,IAAI,MAAMC,CAAY,CAC9B,CACF,CCzEA,eAAsBE,EAAyB,CAC7C,UAAAC,EACA,UAAAC,EACA,QAAAd,EACA,IAAAE,EACA,aAAAC,CACF,EAA8E,CAC5E,KAAM,CAAE,WAAAC,CAAA,EAAeC,EAAAA,aAAaH,CAAG,EAEvC,GAAI,CACF,MAAMI,EAAiC,CACrC,WAAYQ,EACZ,UAAAD,EACA,yBAA0Bb,CAAA,EAIxBG,IACFG,EAAO,cAAgBH,GAGzB,KAAM,CAAE,KAAAI,CAAA,EAAS,MAAMC,EAAM,KAC3B,GAAGJ,CAAU,sCACb,KACA,CAAE,OAAAE,CAAA,CAAO,EAGX,OAAOC,EAAK,MACd,OAASE,EAAO,CACd,MAAMM,EAAWJ,EAAAA,gBAAgBF,CAAK,EACtC,MAAM,IAAI,MAAMM,CAAQ,CAC1B,CACF"}
@@ -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-DgC1hfkm.js";
3
+ import { getErrorMessage as g } from "./tokens-HhVpKe3K.js";
4
4
  async function y({
5
5
  address: i,
6
6
  chainId: a,
@@ -62,4 +62,4 @@ export {
62
62
  y as getNetworkFeeSignature,
63
63
  d as storeNetworkFeeSignature
64
64
  };
65
- //# sourceMappingURL=storeNetworkFeeSignature-BODIpq3Y.js.map
65
+ //# sourceMappingURL=storeNetworkFeeSignature-tprCigR1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storeNetworkFeeSignature-BODIpq3Y.js","sources":["../../src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts","../../src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts"],"sourcesContent":["import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { ChainId } from '../../common/chains';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport interface IGetNetworkFeeSignatureParams extends IEnvParam {\n /**\n * Chain ID of the network to interact with\n */\n chainId: ChainId;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (optional, required for BTC.b)\n */\n tokenAddress?: string;\n}\n\ninterface IGetNetworkFeeSignatureResponse {\n /**\n * Expiration date of signature\n */\n expiration_date: string;\n /**\n * The flag signature exists\n */\n has_signature: boolean;\n /**\n * The auto mint is delayed\n */\n is_delayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typed_data?: string;\n}\n\nexport interface IGetNetworkFeeSignatureMappedResponse {\n /**\n * Expiration date of signature\n */\n expirationDate: string;\n /**\n * The flag signature exists\n */\n hasSignature: boolean;\n /**\n * The auto mint is delayed\n */\n isDelayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typedData?: string;\n}\n\n/**\n * Returns the expiration date and the flag signature exists\n *\n * @param {IGetNetworkFeeSignatureParams} parameters - The parameters.\n * @param {string} parameters.address - The account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IGetNetworkFeeSignatureResponse>}\n */\nexport async function getNetworkFeeSignature({\n address,\n chainId,\n env,\n tokenAddress,\n}: IGetNetworkFeeSignatureParams): Promise<IGetNetworkFeeSignatureMappedResponse> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string | number> = {\n user_destination_address: address,\n chain_id: chainId,\n };\n\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.get<IGetNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/get-user-signature`,\n {\n params,\n },\n );\n\n return {\n expirationDate: data?.expiration_date,\n hasSignature: data?.has_signature,\n isDelayed: data?.is_delayed,\n signature: data?.signature,\n typedData: data?.typed_data,\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n\n throw new Error(errorMessage);\n }\n}\n","import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport type IStoreNetworkFeeSignatureStatus = 'success';\n\ninterface IStoreNetworkFeeSignatureResponse {\n status: IStoreNetworkFeeSignatureStatus;\n}\n\nexport interface IStoreNetworkFeeSignatureParams extends IEnvParam {\n /**\n * signature\n */\n signature: string;\n /**\n * JSON typed data used for the signature\n */\n typedData: string;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (required to distinguish LBTC vs BTC.b signatures)\n */\n tokenAddress?: string;\n}\n\n/**\n * Authorize network fee\n *\n * @param {IStoreNetworkFeeSignatureParams} parameters - The parameters for network fee authorization\n * @param {string} parameters.address - The destination account address.\n * @param {string} parameters.signature - The signature.\n * @param {string} parameters.typedData - The serialized typed data.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IStoreNetworkFeeSignatureResponse>}\n */\nexport async function storeNetworkFeeSignature({\n signature,\n typedData,\n address,\n env,\n tokenAddress,\n}: IStoreNetworkFeeSignatureParams): Promise<IStoreNetworkFeeSignatureStatus> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string> = {\n typed_data: typedData,\n signature,\n user_destination_address: address,\n };\n\n // Include token address to distinguish LBTC vs BTC.b signatures\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.post<IStoreNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/save-user-signature`,\n null,\n { params },\n );\n\n return data.status;\n } catch (error) {\n const errorMsg = getErrorMessage(error);\n throw new Error(errorMsg);\n }\n}\n"],"names":["getNetworkFeeSignature","address","chainId","env","tokenAddress","baseApiUrl","getApiConfig","params","data","axios","error","errorMessage","getErrorMessage","storeNetworkFeeSignature","signature","typedData","errorMsg"],"mappings":";;;AA8EA,eAAsBA,EAAuB;AAAA,EAC3C,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,cAAAC;AACF,GAAkF;AAChF,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAaH,CAAG;AAEvC,MAAI;AACF,UAAMI,IAA0C;AAAA,MAC9C,0BAA0BN;AAAA,MAC1B,UAAUC;AAAA,IAAA;AAGZ,IAAIE,MACFG,EAAO,gBAAgBH;AAGzB,UAAM,EAAE,MAAAI,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B,GAAGJ,CAAU;AAAA,MACb;AAAA,QACE,QAAAE;AAAA,MAAA;AAAA,IACF;AAGF,WAAO;AAAA,MACL,gBAAgBC,KAAA,gBAAAA,EAAM;AAAA,MACtB,cAAcA,KAAA,gBAAAA,EAAM;AAAA,MACpB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,MACjB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,MACjB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,IAAA;AAAA,EAErB,SAASE,GAAO;AACd,UAAMC,IAAeC,EAAgBF,CAAK;AAE1C,UAAM,IAAI,MAAMC,CAAY;AAAA,EAC9B;AACF;ACzEA,eAAsBE,EAAyB;AAAA,EAC7C,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAd;AAAA,EACA,KAAAE;AAAA,EACA,cAAAC;AACF,GAA8E;AAC5E,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAaH,CAAG;AAEvC,MAAI;AACF,UAAMI,IAAiC;AAAA,MACrC,YAAYQ;AAAA,MACZ,WAAAD;AAAA,MACA,0BAA0Bb;AAAA,IAAA;AAI5B,IAAIG,MACFG,EAAO,gBAAgBH;AAGzB,UAAM,EAAE,MAAAI,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B,GAAGJ,CAAU;AAAA,MACb;AAAA,MACA,EAAE,QAAAE,EAAA;AAAA,IAAO;AAGX,WAAOC,EAAK;AAAA,EACd,SAASE,GAAO;AACd,UAAMM,IAAWJ,EAAgBF,CAAK;AACtC,UAAM,IAAI,MAAMM,CAAQ;AAAA,EAC1B;AACF;"}
1
+ {"version":3,"file":"storeNetworkFeeSignature-tprCigR1.js","sources":["../../src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts","../../src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts"],"sourcesContent":["import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { ChainId } from '../../common/chains';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport interface IGetNetworkFeeSignatureParams extends IEnvParam {\n /**\n * Chain ID of the network to interact with\n */\n chainId: ChainId;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (optional, required for BTC.b)\n */\n tokenAddress?: string;\n}\n\ninterface IGetNetworkFeeSignatureResponse {\n /**\n * Expiration date of signature\n */\n expiration_date: string;\n /**\n * The flag signature exists\n */\n has_signature: boolean;\n /**\n * The auto mint is delayed\n */\n is_delayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typed_data?: string;\n}\n\nexport interface IGetNetworkFeeSignatureMappedResponse {\n /**\n * Expiration date of signature\n */\n expirationDate: string;\n /**\n * The flag signature exists\n */\n hasSignature: boolean;\n /**\n * The auto mint is delayed\n */\n isDelayed: boolean;\n /**\n * Serialized signature when available\n */\n signature?: string;\n /**\n * Serialized typed data associated with the signature when available\n */\n typedData?: string;\n}\n\n/**\n * Returns the expiration date and the flag signature exists\n *\n * @param {IGetNetworkFeeSignatureParams} parameters - The parameters.\n * @param {string} parameters.address - The account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IGetNetworkFeeSignatureResponse>}\n */\nexport async function getNetworkFeeSignature({\n address,\n chainId,\n env,\n tokenAddress,\n}: IGetNetworkFeeSignatureParams): Promise<IGetNetworkFeeSignatureMappedResponse> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string | number> = {\n user_destination_address: address,\n chain_id: chainId,\n };\n\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.get<IGetNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/get-user-signature`,\n {\n params,\n },\n );\n\n return {\n expirationDate: data?.expiration_date,\n hasSignature: data?.has_signature,\n isDelayed: data?.is_delayed,\n signature: data?.signature,\n typedData: data?.typed_data,\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n\n throw new Error(errorMessage);\n }\n}\n","import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport type IStoreNetworkFeeSignatureStatus = 'success';\n\ninterface IStoreNetworkFeeSignatureResponse {\n status: IStoreNetworkFeeSignatureStatus;\n}\n\nexport interface IStoreNetworkFeeSignatureParams extends IEnvParam {\n /**\n * signature\n */\n signature: string;\n /**\n * JSON typed data used for the signature\n */\n typedData: string;\n /**\n * Destination address\n */\n address: string;\n /**\n * Token address (required to distinguish LBTC vs BTC.b signatures)\n */\n tokenAddress?: string;\n}\n\n/**\n * Authorize network fee\n *\n * @param {IStoreNetworkFeeSignatureParams} parameters - The parameters for network fee authorization\n * @param {string} parameters.address - The destination account address.\n * @param {string} parameters.signature - The signature.\n * @param {string} parameters.typedData - The serialized typed data.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IStoreNetworkFeeSignatureResponse>}\n */\nexport async function storeNetworkFeeSignature({\n signature,\n typedData,\n address,\n env,\n tokenAddress,\n}: IStoreNetworkFeeSignatureParams): Promise<IStoreNetworkFeeSignatureStatus> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const params: Record<string, string> = {\n typed_data: typedData,\n signature,\n user_destination_address: address,\n };\n\n // Include token address to distinguish LBTC vs BTC.b signatures\n if (tokenAddress) {\n params.token_address = tokenAddress;\n }\n\n const { data } = await axios.post<IStoreNetworkFeeSignatureResponse>(\n `${baseApiUrl}/api/v1/claimer/save-user-signature`,\n null,\n { params },\n );\n\n return data.status;\n } catch (error) {\n const errorMsg = getErrorMessage(error);\n throw new Error(errorMsg);\n }\n}\n"],"names":["getNetworkFeeSignature","address","chainId","env","tokenAddress","baseApiUrl","getApiConfig","params","data","axios","error","errorMessage","getErrorMessage","storeNetworkFeeSignature","signature","typedData","errorMsg"],"mappings":";;;AA8EA,eAAsBA,EAAuB;AAAA,EAC3C,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,cAAAC;AACF,GAAkF;AAChF,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAaH,CAAG;AAEvC,MAAI;AACF,UAAMI,IAA0C;AAAA,MAC9C,0BAA0BN;AAAA,MAC1B,UAAUC;AAAA,IAAA;AAGZ,IAAIE,MACFG,EAAO,gBAAgBH;AAGzB,UAAM,EAAE,MAAAI,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B,GAAGJ,CAAU;AAAA,MACb;AAAA,QACE,QAAAE;AAAA,MAAA;AAAA,IACF;AAGF,WAAO;AAAA,MACL,gBAAgBC,KAAA,gBAAAA,EAAM;AAAA,MACtB,cAAcA,KAAA,gBAAAA,EAAM;AAAA,MACpB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,MACjB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,MACjB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,IAAA;AAAA,EAErB,SAASE,GAAO;AACd,UAAMC,IAAeC,EAAgBF,CAAK;AAE1C,UAAM,IAAI,MAAMC,CAAY;AAAA,EAC9B;AACF;ACzEA,eAAsBE,EAAyB;AAAA,EAC7C,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAd;AAAA,EACA,KAAAE;AAAA,EACA,cAAAC;AACF,GAA8E;AAC5E,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAaH,CAAG;AAEvC,MAAI;AACF,UAAMI,IAAiC;AAAA,MACrC,YAAYQ;AAAA,MACZ,WAAAD;AAAA,MACA,0BAA0Bb;AAAA,IAAA;AAI5B,IAAIG,MACFG,EAAO,gBAAgBH;AAGzB,UAAM,EAAE,MAAAI,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B,GAAGJ,CAAU;AAAA,MACb;AAAA,MACA,EAAE,QAAAE,EAAA;AAAA,IAAO;AAGX,WAAOC,EAAK;AAAA,EACd,SAASE,GAAO;AACd,UAAMM,IAAWJ,EAAgBF,CAAK;AACtC,UAAM,IAAI,MAAMM,CAAQ;AAAA,EAC1B;AACF;"}
@@ -1,31 +1,31 @@
1
- import { p as A, r as t } from "./index-CfcQ_g3t.js";
2
- import { custom as K, createWalletClient as U, defineChain as i, extractChain as V } from "viem";
3
- import { addChain as j } from "viem/actions";
4
- import * as S from "viem/chains";
5
- function z({
1
+ import { p as B, r as t } from "./index-CfcQ_g3t.js";
2
+ import { custom as K, createWalletClient as z, defineChain as l, extractChain as I } from "viem";
3
+ import { addChain as U } from "viem/actions";
4
+ import * as v from "viem/chains";
5
+ function j({
6
6
  provider: a,
7
7
  chainId: n
8
8
  }) {
9
- const o = w[n], c = K(a);
10
- return U({
9
+ const o = O[n], c = K(a);
10
+ return z({
11
11
  chain: o,
12
12
  transport: c
13
13
  });
14
14
  }
15
15
  const {
16
16
  avalanche: P,
17
- avalancheFuji: G,
18
- base: W,
19
- baseSepolia: X,
20
- bsc: Z,
17
+ avalancheFuji: V,
18
+ base: G,
19
+ baseSepolia: W,
20
+ bsc: X,
21
21
  bscTestnet: J,
22
- corn: Q,
23
- holesky: Y,
24
- mainnet: $,
22
+ corn: Y,
23
+ holesky: Z,
24
+ mainnet: Q,
25
25
  sepolia: q,
26
- sonic: ee,
27
- sonicBlazeTestnet: ae
28
- } = S, k = i({
26
+ sonic: $,
27
+ sonicBlazeTestnet: ee
28
+ } = v, k = l({
29
29
  id: 747474,
30
30
  name: "Katana",
31
31
  nativeCurrency: {
@@ -49,7 +49,7 @@ const {
49
49
  // TODO: Confirm this
50
50
  }
51
51
  }
52
- }), te = i({
52
+ }), ae = l({
53
53
  id: 239,
54
54
  name: "TAC",
55
55
  nativeCurrency: {
@@ -65,7 +65,7 @@ const {
65
65
  blockExplorers: {
66
66
  default: { name: "TAC Explorer", url: "https://explorer.tac.build" }
67
67
  }
68
- }), Ee = i({
68
+ }), Ee = l({
69
69
  id: 60808,
70
70
  name: "BOB",
71
71
  nativeCurrency: {
@@ -81,7 +81,7 @@ const {
81
81
  blockExplorers: {
82
82
  default: { name: "BOB Explorer", url: "https://explorer.gobob.xyz" }
83
83
  }
84
- }), De = i({
84
+ }), De = l({
85
85
  id: 808813,
86
86
  name: "BOB Sepolia",
87
87
  nativeCurrency: {
@@ -100,7 +100,7 @@ const {
100
100
  url: "https://bob-sepolia.explorer.gobob.xyz/"
101
101
  }
102
102
  }
103
- }), v = i({
103
+ }), _ = l({
104
104
  id: 143,
105
105
  name: "Monad",
106
106
  nativeCurrency: {
@@ -125,7 +125,7 @@ const {
125
125
  blockCreated: 9248132
126
126
  }
127
127
  }
128
- }), _ = i({
128
+ }), N = l({
129
129
  id: 988,
130
130
  name: "Stable",
131
131
  nativeCurrency: {
@@ -153,7 +153,7 @@ const {
153
153
  blockCreated: 1
154
154
  }
155
155
  }
156
- }), N = i({
156
+ }), g = l({
157
157
  id: 4326,
158
158
  name: "MegaETH",
159
159
  nativeCurrency: {
@@ -179,23 +179,23 @@ const {
179
179
  // TODO: Confirm this
180
180
  }
181
181
  }
182
- }), ce = {
183
- ...S,
182
+ }), te = {
183
+ ...v,
184
184
  katana: k,
185
- tac: te,
186
- monad: v,
187
- stable: _,
188
- megaeth: N
189
- }, ne = "sui:devnet", T = "sui:testnet", oe = "sui:localnet", L = "sui:mainnet", y = (a) => [
185
+ tac: ae,
186
+ monad: _,
187
+ stable: N,
188
+ megaeth: g
189
+ }, ce = "sui:devnet", A = "sui:testnet", ne = "sui:localnet", L = "sui:mainnet", y = (a) => [
190
+ ce,
191
+ A,
190
192
  ne,
191
- T,
192
- oe,
193
193
  L
194
- ].includes(a), g = "solana:mainnet-beta", M = "solana:testnet", D = "solana:devnet", H = (a) => [
195
- g,
196
- M,
197
- D
198
- ].includes(a), d = "0x534e5f4d41494e", b = "0x534e5f5345504f4c4941", O = (a) => a === d || a === b, e = {
194
+ ].includes(a), m = "solana:mainnet-beta", oe = "solana:testnet", i = "solana:devnet", M = (a) => [
195
+ m,
196
+ oe,
197
+ i
198
+ ].includes(a), d = "0x534e5f4d41494e", b = "0x534e5f5345504f4c4941", w = (a) => a === d || a === b, e = {
199
199
  ethereum: 1,
200
200
  avalanche: 43114,
201
201
  base: 8453,
@@ -221,24 +221,24 @@ const {
221
221
  morphHolesky: 2810,
222
222
  sepolia: 11155111,
223
223
  sonicBlazeTestnet: 57054
224
- }, w = {
225
- [e.ethereum]: $,
224
+ }, O = {
225
+ [e.ethereum]: Q,
226
226
  [e.avalanche]: P,
227
- [e.base]: W,
228
- [e.binanceSmartChain]: Z,
229
- [e.corn]: Q,
227
+ [e.base]: G,
228
+ [e.binanceSmartChain]: X,
229
+ [e.corn]: Y,
230
230
  [e.katana]: k,
231
- [e.megaeth]: N,
232
- [e.monad]: v,
233
- [e.sonic]: ee,
234
- [e.stable]: _,
235
- [e.avalancheFuji]: G,
236
- [e.baseSepoliaTestnet]: X,
231
+ [e.megaeth]: g,
232
+ [e.monad]: _,
233
+ [e.sonic]: $,
234
+ [e.stable]: N,
235
+ [e.avalancheFuji]: V,
236
+ [e.baseSepoliaTestnet]: W,
237
237
  [e.binanceSmartChainTestnet]: J,
238
- [e.holesky]: Y,
238
+ [e.holesky]: Z,
239
239
  [e.sepolia]: q,
240
- [e.sonicBlazeTestnet]: ae
241
- }, Ae = (a) => a === e.katana, he = (a) => a === e.monad, Be = (a) => [e.ethereum].includes(a), Te = (a) => a === e.stable, me = (a) => [e.megaeth].includes(a), se = {
240
+ [e.sonicBlazeTestnet]: ee
241
+ }, Be = (a) => a === e.katana, he = (a) => a === e.monad, Te = (a) => [e.ethereum].includes(a), Ae = (a) => a === e.stable, me = (a) => [e.megaeth].includes(a), se = {
242
242
  [e.ethereum]: "ethereum",
243
243
  [e.avalanche]: "avalanche",
244
244
  [e.base]: "base",
@@ -254,26 +254,26 @@ const {
254
254
  [e.katana]: "katana",
255
255
  [e.stable]: "stable"
256
256
  };
257
- function R(a) {
257
+ function H(a) {
258
258
  return Object.values(e).includes(a);
259
259
  }
260
260
  async function pe({ provider: a, chainId: n }) {
261
- const o = z({
261
+ const o = j({
262
262
  provider: a,
263
263
  chainId: e.ethereum
264
- }), c = w[n];
264
+ }), c = O[n];
265
265
  if (!c)
266
266
  throw new Error(`Chain ${n} not found`);
267
- await j(o, {
267
+ await U(o, {
268
268
  chain: c
269
269
  });
270
270
  }
271
- const ue = (a) => se[a], xe = (a) => V({ chains: Object.values(ce), id: a });
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 || {});
271
+ const xe = (a) => se[a], ue = (a) => I({ chains: Object.values(te), id: a });
272
+ var p = /* @__PURE__ */ ((a) => (a.Adapter = "adapter", a.Token = "token", a))(p || {}), re = /* @__PURE__ */ ((a) => (a.LBTC = "LBTC", a.BTCK = "BTCK", a.BTCb = "BTC.b", a.BTCBinance = "BTCB", a.cbBTC = "cbBTC", a.eBTC = "eBTC", a.wBTC = "wBTC", a.wBTCN = "wBTCN", a))(re || {});
273
273
  const Fe = {
274
274
  TOKEN_SYMBOL_STLBTC: "LBTC"
275
275
  /* LBTC */
276
- }, F = {
276
+ }, S = {
277
277
  [t.prod]: {
278
278
  [e.ethereum]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",
279
279
  [e.katana]: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",
@@ -378,87 +378,93 @@ const Fe = {
378
378
  [e.corn]: "0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2"
379
379
  }
380
380
  }
381
- }, I = {
381
+ }, R = {
382
382
  LBTC: de,
383
- "BTC.b": F,
384
- BTCK: F,
383
+ "BTC.b": S,
384
+ BTCK: S,
385
385
  // alias for NativeLBTC
386
386
  ...be
387
- }, p = {
387
+ }, x = {
388
388
  LBTC: {
389
389
  [t.prod]: {
390
390
  [L]: "0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040"
391
391
  },
392
392
  [t.stage]: {
393
- [T]: "0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0"
393
+ [A]: "0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0"
394
394
  },
395
395
  [t.testnet]: {
396
- [T]: "0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa"
396
+ [A]: "0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa"
397
397
  }
398
398
  }
399
- }, Se = (a, n = A) => {
399
+ }, Se = (a, n = B) => {
400
400
  var o, c;
401
- return ((c = (o = p.LBTC) == null ? void 0 : o[n]) == null ? void 0 : c[a]) || void 0;
401
+ return ((c = (o = x.LBTC) == null ? void 0 : o[n]) == null ? void 0 : c[a]) || void 0;
402
402
  }, u = {
403
403
  LBTC: {
404
404
  [t.prod]: {
405
- [g]: "LomP48F7bLbKyMRHHsDVt7wuHaUQvQnVVspjcbfuAek"
405
+ [m]: "LBTCgU4b3wsFKsPwBn1rRZDx5DoFutM6RPiEt1TPDsY"
406
406
  },
407
407
  [t.testnet]: {
408
- [M]: "79cscM6J9Af24TGGWcXyDf56fDLoodkyXdVy4R9aZ6C6"
408
+ [i]: "1BTCPX3qyFtBvhQvJaHntfzZfB8qcJmJXfoRnD3vAgh"
409
409
  },
410
410
  [t.dev]: {
411
- [D]: "LBTCojyVJ63rsEED2DLEGWMzSxWJyQynXE91LMLgV1J"
411
+ [i]: "LBTCojyVJ63rsEED2DLEGWMzSxWJyQynXE91LMLgV1J"
412
412
  },
413
413
  [t.stage]: {
414
- [D]: "1btcyoWK7d99iosES4eXQGhhooCscKGigV5wHfvzueX"
414
+ [i]: "1btcyoWK7d99iosES4eXQGhhooCscKGigV5wHfvzueX"
415
415
  }
416
416
  },
417
417
  "BTC.b": {
418
+ [t.prod]: {
419
+ [m]: "BTCbKVgfW4xMqTWEmxVwc6pzg2c5YtQWxSpBuQDhUrpu"
420
+ },
418
421
  [t.dev]: {
419
- [D]: "BTCB3ripBAut19jM8kDPVbJHb2ZdR2GcZvGZkCmFPtV8"
422
+ [i]: "BTCB3ripBAut19jM8kDPVbJHb2ZdR2GcZvGZkCmFPtV8"
420
423
  },
421
424
  [t.stage]: {
422
- [D]: "BTCGPAHQSsS9RYcL2Z4B5z6YyAXLatNcnaEwYdczsMZw"
425
+ [i]: "BTCGPAHQSsS9RYcL2Z4B5z6YyAXLatNcnaEwYdczsMZw"
426
+ },
427
+ [t.testnet]: {
428
+ [i]: "BTCb1Xy55DzwPMog9d3ztPau4nqXp6BhUrdGHjTrMYCn"
423
429
  }
424
430
  }
425
- }, ke = (a, n = A, o = "LBTC") => {
431
+ }, ve = (a, n = B, o = "LBTC") => {
426
432
  var c, s;
427
433
  return ((s = (c = u[o]) == null ? void 0 : c[n]) == null ? void 0 : s[a]) || void 0;
428
- }, ve = (a, n, o = A, c = m.Token) => {
429
- var C, f;
434
+ }, ke = (a, n, o = B, c = p.Token) => {
435
+ var f, E;
430
436
  if (!a || !n) return;
431
437
  const s = [
432
438
  "LBTC",
433
439
  "BTC.b"
434
440
  /* BTCb */
435
441
  ], h = [
436
- [O, x],
437
- [y, p],
438
- [H, u],
439
- [R, I]
442
+ [w, F],
443
+ [y, x],
444
+ [M, u],
445
+ [H, R]
440
446
  ];
441
- for (const E of s)
442
- for (const [B, l] of h)
443
- if (B(n)) {
444
- let r = (f = (C = l == null ? void 0 : l[E]) == null ? void 0 : C[o]) == null ? void 0 : f[n];
447
+ for (const D of s)
448
+ for (const [T, C] of h)
449
+ if (T(n)) {
450
+ let r = (E = (f = C == null ? void 0 : C[D]) == null ? void 0 : f[o]) == null ? void 0 : E[n];
445
451
  if (r && (r = typeof r == "string" ? r : r[c], a.toLowerCase() === r.toLowerCase()))
446
- return E;
452
+ return D;
447
453
  }
448
- }, _e = (a, n = m.Token, o = A) => {
449
- var c, s, h, C, f, E, B, l;
450
- if (R(a)) {
451
- const r = (s = (c = I.LBTC) == null ? void 0 : c[o]) == null ? void 0 : s[a];
454
+ }, _e = (a, n = p.Token, o = B) => {
455
+ var c, s, h, f, E, D, T, C;
456
+ if (H(a)) {
457
+ const r = (s = (c = R.LBTC) == null ? void 0 : c[o]) == null ? void 0 : s[a];
452
458
  if (r)
453
459
  return typeof r == "string" ? r : r[n];
454
460
  }
455
461
  if (y(a))
456
- return (C = (h = p.LBTC) == null ? void 0 : h[o]) == null ? void 0 : C[a];
457
- if (H(a))
458
- return (E = (f = u.LBTC) == null ? void 0 : f[o]) == null ? void 0 : E[a];
459
- if (O(a))
460
- return (l = (B = x.LBTC) == null ? void 0 : B[o]) == null ? void 0 : l[a];
461
- }, x = {
462
+ return (f = (h = x.LBTC) == null ? void 0 : h[o]) == null ? void 0 : f[a];
463
+ if (M(a))
464
+ return (D = (E = u.LBTC) == null ? void 0 : E[o]) == null ? void 0 : D[a];
465
+ if (w(a))
466
+ return (C = (T = F.LBTC) == null ? void 0 : T[o]) == null ? void 0 : C[a];
467
+ }, F = {
462
468
  LBTC: {
463
469
  [t.prod]: {
464
470
  [b]: void 0,
@@ -496,57 +502,57 @@ const Fe = {
496
502
  [d]: void 0
497
503
  }
498
504
  }
499
- }, Ne = (a, n = A, o = "token") => {
505
+ }, Ne = (a, n = B, o = "token") => {
500
506
  var c, s;
501
- return ((s = (c = (o === "token" ? x : ie).LBTC) == null ? void 0 : c[n]) == null ? void 0 : s[a]) || void 0;
507
+ return ((s = (c = (o === "token" ? F : ie).LBTC) == null ? void 0 : c[n]) == null ? void 0 : s[a]) || void 0;
502
508
  };
503
509
  export {
504
- m as AddressKind,
510
+ p as AddressKind,
505
511
  se as CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP,
506
- w as CHAIN_ID_TO_VIEM_CHAIN_MAP,
512
+ O as CHAIN_ID_TO_VIEM_CHAIN_MAP,
507
513
  e as ChainId,
508
514
  de as EVM_LBTC_ADDRESSES,
509
515
  Fe as RATIO_TOKEN_MAP,
510
- D as SOLANA_DEVNET_CHAIN,
511
- g as SOLANA_MAINNET_CHAIN,
512
- M as SOLANA_TESTNET_CHAIN,
516
+ i as SOLANA_DEVNET_CHAIN,
517
+ m as SOLANA_MAINNET_CHAIN,
518
+ oe as SOLANA_TESTNET_CHAIN,
513
519
  u as SOLANA_TOKEN_ADDRESSES,
514
520
  ie as STARKNET_ASSET_ROUTER_ADDRESSES,
515
521
  d as STARKNET_MAINNET_CHAIN,
516
522
  b as STARKNET_SEPOLIA_CHAIN,
517
- x as STARKNET_TOKEN_ADDRESSES,
518
- ne as SUI_DEVNET_CHAIN,
519
- oe as SUI_LOCALNET_CHAIN,
523
+ F as STARKNET_TOKEN_ADDRESSES,
524
+ ce as SUI_DEVNET_CHAIN,
525
+ ne as SUI_LOCALNET_CHAIN,
520
526
  L as SUI_MAINNET_CHAIN,
521
- T as SUI_TESTNET_CHAIN,
522
- p as SUI_TOKEN_ADDRESSES,
523
- I as TOKEN_ADDRESSES,
527
+ A as SUI_TESTNET_CHAIN,
528
+ x as SUI_TOKEN_ADDRESSES,
529
+ R as TOKEN_ADDRESSES,
524
530
  re as Token,
525
531
  pe as addChain,
526
- ce as allChains,
532
+ te as allChains,
527
533
  Ee as bob,
528
534
  De as bobSepolia,
529
- xe as getChain,
530
- ue as getLlamaChainName,
531
- ke as getSolanaTokenAddress,
535
+ ue as getChain,
536
+ xe as getLlamaChainName,
537
+ ve as getSolanaTokenAddress,
532
538
  Ne as getStarknetTokenAddress,
533
539
  Se as getSuiTokenAddress,
534
540
  _e as getTokenAddressForChain,
535
- ve as getTokenByAddress,
536
- Be as isEthereumChain,
537
- Ae as isKatanaChain,
541
+ ke as getTokenByAddress,
542
+ Te as isEthereumChain,
543
+ Be as isKatanaChain,
538
544
  me as isMegaethChain,
539
545
  he as isMonadChain,
540
- H as isSolanaChain,
541
- Te as isStableChain,
542
- O as isStarknetChainId,
546
+ M as isSolanaChain,
547
+ Ae as isStableChain,
548
+ w as isStarknetChainId,
543
549
  y as isSuiChain,
544
- R as isValidChain,
550
+ H as isValidChain,
545
551
  k as katana,
546
- z as makeWalletClient,
547
- N as megaeth,
548
- v as monad,
549
- _ as stable,
550
- te as tac
552
+ j as makeWalletClient,
553
+ g as megaeth,
554
+ _ as monad,
555
+ N as stable,
556
+ ae as tac
551
557
  };
552
- //# sourceMappingURL=token-addresses-D0v5cR1j.js.map
558
+ //# sourceMappingURL=token-addresses-Ddar0FyS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-addresses-Ddar0FyS.js","sources":["../../src/clients/wallet-client.ts","../../src/common/chains.ts","../../src/tokens/types.ts","../../src/tokens/token-addresses.ts"],"sourcesContent":["import {\n createWalletClient,\n custom,\n EIP1193Provider,\n WalletClient,\n} from 'viem';\n\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP, ChainId } from '../common/chains';\n\ntype MakeClientParameters = {\n provider: EIP1193Provider;\n chainId: ChainId;\n};\n\n/**\n * Creates the client for specified `chainId`.\n * @param chainId - The chain id\n * @param rpcUrl - The overridden RPC url for specified chain id.\n * @returns The public client instance\n */\nexport function makeWalletClient({\n provider,\n chainId,\n}: MakeClientParameters): WalletClient {\n const chain = CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId];\n const transport = custom(provider);\n\n const client = createWalletClient({\n chain,\n transport,\n });\n\n return client as WalletClient<typeof transport>;\n}\n","import { defineChain, type EIP1193Provider, extractChain } from 'viem';\nimport { addChain as viem_addChain } from 'viem/actions';\nimport * as viem_chains from 'viem/chains';\n\nimport { makeWalletClient } from '../clients/wallet-client';\nimport { featureConfig } from './feature-config';\n\nconst {\n avalanche,\n avalancheFuji,\n base,\n baseSepolia,\n berachain,\n berachainTestnetbArtio,\n bsc,\n bscTestnet,\n corn,\n etherlink,\n holesky,\n mainnet,\n morph,\n morphHolesky,\n sepolia,\n sonic,\n sonicBlazeTestnet,\n swellchain,\n} = viem_chains;\n\n// FIXME: Remove this custom chain definition once katana is supported by viem\nexport const katana = defineChain({\n id: 747474,\n name: 'Katana',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://rpc.katana.network'],\n webSocket: ['wss://rpc.katana.network'],\n },\n },\n blockExplorers: {\n default: { name: 'Katana Explorer', url: 'https://explorer.katanarpc.com' },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1898013, // TODO: Confirm this\n },\n },\n});\n\n// FIXME: Remove this custom chain definition once TAC is supported by viem\nexport const tac = defineChain({\n id: 239,\n name: 'TAC',\n nativeCurrency: {\n decimals: 18,\n name: 'TAC',\n symbol: 'TAC',\n },\n rpcUrls: {\n default: {\n http: ['https://rpc.tac.build'],\n },\n },\n blockExplorers: {\n default: { name: 'TAC Explorer', url: 'https://explorer.tac.build' },\n },\n});\n\nexport const bob = defineChain({\n id: 60808,\n name: 'BOB',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://rpc.gobob.xyz'],\n },\n },\n blockExplorers: {\n default: { name: 'BOB Explorer', url: 'https://explorer.gobob.xyz' },\n },\n});\n\nexport const bobSepolia = defineChain({\n id: 808813,\n name: 'BOB Sepolia',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://bob-sepolia.rpc.gobob.xyz'],\n },\n },\n blockExplorers: {\n default: {\n name: 'BOB Sepolia Explorer',\n url: 'https://bob-sepolia.explorer.gobob.xyz/',\n },\n },\n});\n\nexport const monad = defineChain({\n id: 143,\n name: 'Monad',\n nativeCurrency: {\n decimals: 18,\n name: 'Monad',\n symbol: 'MONAD',\n },\n rpcUrls: {\n default: {\n http: ['https://monad-mainnet.drpc.org'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Monad Explorer',\n url: 'https://monadvision.com',\n },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 9248132,\n },\n },\n});\n\nexport const stable = defineChain({\n id: 988,\n name: 'Stable',\n nativeCurrency: {\n decimals: 18,\n name: 'gUSDT',\n symbol: 'gUSDT',\n },\n rpcUrls: {\n default: {\n http: [\n 'https://partners-rpc.stable.xyz/lombard.075830647a2c30190712a9d102011ffe5a2a01d24ff3405f711d6ea8aca10baf',\n ],\n }, // TODO: Update with the correct RPC URL once the stable network is live\n },\n blockExplorers: {\n default: {\n name: 'Stable Explorer',\n url: 'https://stablescan.xyz',\n },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1,\n },\n },\n});\n\nexport const megaeth = defineChain({\n id: 4326,\n name: 'MegaETH',\n nativeCurrency: {\n decimals: 18,\n name: 'Ether',\n symbol: 'ETH',\n },\n rpcUrls: {\n default: {\n http: ['https://mainnet.megaeth.com/rpc'],\n },\n },\n blockExplorers: {\n default: {\n name: 'MegaETH Explorer',\n url: 'https://megaeth.blockscout.com',\n },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 2591807, // TODO: Confirm this\n },\n },\n});\n\nexport const allChains: Record<string, viem_chains.Chain> = {\n ...viem_chains,\n katana,\n tac,\n monad,\n stable,\n megaeth,\n};\n\nexport const SUI_DEVNET_CHAIN = 'sui:devnet' as const;\nexport const SUI_TESTNET_CHAIN = 'sui:testnet' as const;\nexport const SUI_LOCALNET_CHAIN = 'sui:localnet' as const;\nexport const SUI_MAINNET_CHAIN = 'sui:mainnet' as const;\n\nexport type SuiChain =\n | typeof SUI_DEVNET_CHAIN\n | typeof SUI_TESTNET_CHAIN\n | typeof SUI_LOCALNET_CHAIN\n | typeof SUI_MAINNET_CHAIN;\n\nexport const isSuiChain = (chainId: unknown): chainId is SuiChain => {\n return (\n [\n SUI_DEVNET_CHAIN,\n SUI_TESTNET_CHAIN,\n SUI_LOCALNET_CHAIN,\n SUI_MAINNET_CHAIN,\n ] as string[]\n ).includes(chainId as string);\n};\n\nexport const SOLANA_MAINNET_CHAIN = 'solana:mainnet-beta' as const;\nexport const SOLANA_TESTNET_CHAIN = 'solana:testnet' as const;\nexport const SOLANA_DEVNET_CHAIN = 'solana:devnet' as const;\n\nexport type SolanaChain =\n | typeof SOLANA_MAINNET_CHAIN\n | typeof SOLANA_TESTNET_CHAIN\n | typeof SOLANA_DEVNET_CHAIN;\n\nexport const isSolanaChain = (chainId: unknown): chainId is SolanaChain => {\n return (\n [\n SOLANA_MAINNET_CHAIN,\n SOLANA_TESTNET_CHAIN,\n SOLANA_DEVNET_CHAIN,\n ] as string[]\n ).includes(chainId as string);\n};\n\n// Starknet chain identifiers:\nexport const STARKNET_MAINNET_CHAIN = '0x534e5f4d41494e' as const;\nexport const STARKNET_SEPOLIA_CHAIN = '0x534e5f5345504f4c4941' as const;\nexport type StarknetChainId =\n | typeof STARKNET_MAINNET_CHAIN\n | typeof STARKNET_SEPOLIA_CHAIN;\n\nexport const isStarknetChainId = (\n chainId: unknown,\n): chainId is StarknetChainId => {\n return (\n chainId === STARKNET_MAINNET_CHAIN || chainId === STARKNET_SEPOLIA_CHAIN\n );\n};\n\nexport const ChainId = {\n ethereum: 1,\n avalanche: 43114,\n base: 8453,\n berachain: 80094,\n binanceSmartChain: 56,\n corn: 21000000,\n etherlink: 42793,\n katana: 747474,\n megaeth: 4326,\n monad: 143,\n morph: 2818,\n sonic: 146,\n stable: 988,\n swell: 1923,\n tac: 239,\n bob: 60808,\n // Testnets:\n avalancheFuji: 43113,\n baseSepoliaTestnet: 84532,\n berachainBartioTestnet: 80084,\n binanceSmartChainTestnet: 97,\n holesky: 17000,\n morphHolesky: 2810,\n sepolia: 11155111,\n sonicBlazeTestnet: 57054,\n} as const;\n\nexport type ChainId = (typeof ChainId)[keyof typeof ChainId];\n\nexport const CHAIN_ID_TO_VIEM_CHAIN_MAP = {\n [ChainId.ethereum]: mainnet,\n // Avalanche mainnet - BTC.b not released yet\n ...(featureConfig.isAvalancheMainnetEnabled\n ? { [ChainId.avalanche]: avalanche }\n : {}),\n [ChainId.base]: base,\n // Feature-gated chains\n ...(featureConfig.isBerachainEnabled\n ? { [ChainId.berachain]: berachain }\n : {}),\n [ChainId.binanceSmartChain]: bsc,\n ...(featureConfig.isCornEnabled ? { [ChainId.corn]: corn } : {}),\n ...(featureConfig.isEtherlinkEnabled\n ? { [ChainId.etherlink]: etherlink }\n : {}),\n [ChainId.katana]: katana,\n [ChainId.megaeth]: megaeth,\n [ChainId.monad]: monad,\n ...(featureConfig.isMorphEnabled ? { [ChainId.morph]: morph } : {}),\n [ChainId.sonic]: sonic,\n [ChainId.stable]: stable,\n ...(featureConfig.isSwellchainEnabled\n ? { [ChainId.swell]: swellchain }\n : {}),\n ...(featureConfig.isTacEnabled ? { [ChainId.tac]: tac } : {}),\n ...(featureConfig.isBobEnabled ? { [ChainId.bob]: bob } : {}),\n // Testnets:\n // Avalanche Fuji - enabled for testing (Silo integration)\n ...(featureConfig.isAvalancheFujiEnabled\n ? { [ChainId.avalancheFuji]: avalancheFuji }\n : {}),\n [ChainId.baseSepoliaTestnet]: baseSepolia,\n ...(featureConfig.isBerachainEnabled\n ? { [ChainId.berachainBartioTestnet]: berachainTestnetbArtio }\n : {}),\n [ChainId.binanceSmartChainTestnet]: bscTestnet,\n [ChainId.holesky]: holesky,\n ...(featureConfig.isMorphEnabled\n ? { [ChainId.morphHolesky]: morphHolesky }\n : {}),\n [ChainId.sepolia]: sepolia,\n [ChainId.sonicBlazeTestnet]: sonicBlazeTestnet,\n};\n\ntype KatanaChain = typeof ChainId.katana;\nexport const isKatanaChain = (chainId: unknown): chainId is KatanaChain => {\n return chainId === ChainId.katana;\n};\ntype MonadChain = typeof ChainId.monad;\nexport const isMonadChain = (chainId: unknown): chainId is MonadChain => {\n return chainId === ChainId.monad;\n};\n\ntype EthereumChain = typeof ChainId.ethereum;\nexport const isEthereumChain = (chainId: unknown): chainId is EthereumChain => {\n return ([ChainId.ethereum] as number[]).includes(chainId as number);\n};\n\ntype StableChain = typeof ChainId.stable;\nexport const isStableChain = (chainId: unknown): chainId is StableChain => {\n return chainId === ChainId.stable;\n};\n\ntype MegaethChain = typeof ChainId.megaeth;\nexport const isMegaethChain = (chainId: unknown): chainId is MegaethChain => {\n return ([ChainId.megaeth] as number[]).includes(chainId as number);\n};\nexport const CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP = {\n [ChainId.ethereum]: 'ethereum',\n ...(featureConfig.isAvalancheMainnetEnabled\n ? { [ChainId.avalanche]: 'avalanche' }\n : {}),\n [ChainId.base]: 'base',\n [ChainId.berachain]: 'berachain',\n [ChainId.binanceSmartChain]: 'bsc',\n [ChainId.corn]: 'corn',\n [ChainId.etherlink]: 'etherlink',\n [ChainId.morph]: 'morph',\n [ChainId.sonic]: 'sonic',\n [ChainId.swell]: 'swellchain',\n [ChainId.megaeth]: 'megaeth',\n [ChainId.monad]: 'monad',\n [ChainId.katana]: 'katana',\n [ChainId.stable]: 'stable',\n} as const;\ntype LlamaChain =\n (typeof CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP)[keyof typeof CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP];\n\nexport function isValidChain(chainId: unknown): chainId is ChainId {\n return Object.values(ChainId).includes(chainId as ChainId);\n}\n\nexport type AddChainParameters = {\n provider: EIP1193Provider;\n chainId: ChainId;\n};\n\nexport async function addChain({ provider, chainId }: AddChainParameters) {\n const walletClient = makeWalletClient({\n provider,\n chainId: ChainId.ethereum,\n });\n\n const chain = CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId];\n\n if (!chain) {\n throw new Error(`Chain ${chainId} not found`);\n }\n\n await viem_addChain(walletClient, {\n chain,\n });\n}\nexport const getLlamaChainName = (chainId: ChainId): LlamaChain | undefined => {\n const name =\n CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP[\n chainId as keyof typeof CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP\n ];\n return name;\n};\n\nexport const getChain = (chainId: number): viem_chains.Chain | undefined =>\n extractChain({ chains: Object.values(allChains), id: chainId as ChainId });\n","import { Address } from 'viem';\n\n/**\n * Address kinds for tokens that have multiple contract addresses.\n *\n * **BTC.b Integration Architecture:**\n *\n * BTC.b on Avalanche uses a dual-contract architecture with both a token contract\n * and an adapter contract serving different purposes:\n *\n * **When to use Token vs Adapter:**\n *\n * - **Token** (`AddressKind.Token`):\n * - Use for EIP-2612 `permit()` signatures (Stake and Bake)\n * - Use for querying token balance, symbol, decimals\n * - Use for standard ERC20 operations (allowance checks, balance queries)\n * - This is the actual BTC.b ERC20 token contract\n *\n * - **Adapter** (`AddressKind.Adapter`):\n * - Use for burn/mint/transfer operations via BridgeTokenAdapter\n * - Use for bridge deposit/withdrawal operations\n * - Use as spender address when approving tokens for bridge operations\n * - This adapter serves as an intermediary between BridgeToken and both AssetRouter and Bridge\n *\n * **Important Notes:**\n *\n * 1. **Permit Signatures**: Always use `AddressKind.Token` as the `verifyingContract` in\n * EIP-2612 permit signatures. The token contract implements the `permit()` function,\n * not the adapter.\n *\n * 2. **Approvals**: For bridge and redemption operations, users must grant allowance to\n * the **BridgeTokenAdapter** address, not the vault or bridge contract.\n *\n * 3. **Deposit Address**: For Ledger integration, the token address includes the adapter\n * address when tweaking deposit addresses.\n *\n * @example\n * ```typescript\n * // For permit signatures (Stake and Bake):\n * const tokenContract = await getTokenContractInfo(\n * Token.BTCb,\n * ChainId.avalancheFuji,\n * env,\n * AddressKind.Token // ✅ Use token address for permit\n * );\n *\n * // For bridge operations:\n * const adapterContract = await getTokenContractInfo(\n * Token.BTCb,\n * ChainId.avalancheFuji,\n * env,\n * AddressKind.Adapter // ✅ Use adapter address for bridge\n * );\n * ```\n */\nexport enum AddressKind {\n /**\n * The bridge adapter contract address (BridgeTokenAdapter).\n * Used for burn/mint/transfer operations and as the spender for bridge approvals.\n */\n Adapter = 'adapter',\n\n /**\n * The token contract address (standard ERC20).\n * Used for permit signatures, balance queries, and standard ERC20 operations.\n */\n Token = 'token',\n}\n\n/**\n * Address structure for tokens with both token and adapter addresses.\n *\n * Currently only used by `Token.BTCb` on Avalanche chains.\n */\nexport type BridgeTokenAddresses = {\n /** The bridge adapter contract address (BridgeTokenAdapter) */\n [AddressKind.Adapter]: Address;\n /** The token contract address (standard ERC20) */\n [AddressKind.Token]: Address;\n};\n","/**\n * Token Address Constants\n *\n * @deprecated v4.1 Migration Target\n *\n * This module contains hardcoded token addresses. For v4.1, these should be\n * migrated to use the Asset Catalog (`core/assets/`) which supports dynamic\n * address loading from remote sources.\n *\n * See: docs/ADDRESS_SYSTEM_UNIFICATION.md\n *\n * Current usage (~26 files) should migrate to:\n * - `getAssetAddress()` from `core/assets/utils`\n * - Pass `catalog` from `ResolvedLombardConfig`\n *\n * @module tokens/token-addresses\n */\n\nimport { DEFAULT_ENV, Env } from '@lombard.finance/sdk-common';\nimport { Address } from 'viem';\n\nimport {\n ChainId,\n isSolanaChain,\n isStarknetChainId,\n isSuiChain,\n isValidChain,\n SOLANA_DEVNET_CHAIN,\n SOLANA_MAINNET_CHAIN,\n SolanaChain,\n STARKNET_MAINNET_CHAIN,\n STARKNET_SEPOLIA_CHAIN,\n StarknetChainId,\n SUI_MAINNET_CHAIN,\n SUI_TESTNET_CHAIN,\n SuiChain,\n} from '../common/chains';\nimport { featureConfig } from '../common/feature-config';\nimport { AddressKind, BridgeTokenAddresses } from './types';\n\n// Re-export for backward compatibility\nexport type { BridgeTokenAddresses } from './types';\nexport { AddressKind } from './types';\n\nexport enum Token {\n // Lombard tokens:\n /** LBTC: the yield-bearing token */\n LBTC = 'LBTC',\n /**\n * BTCK: the native LBTC token on Katana chain\n * @deprecated - Switch to {@link Token.BTCb} as soon as the BTCK becomes obsolete.\n */\n BTCK = 'BTCK',\n /** BTC.b: the native Lombard's BTC wrapper token */\n BTCb = 'BTC.b',\n\n // Supporting tokens:\n BTCBinance = 'BTCB',\n cbBTC = 'cbBTC',\n eBTC = 'eBTC',\n wBTC = 'wBTC',\n wBTCN = 'wBTCN',\n}\n\ntype SupportingToken =\n | Token.BTCBinance\n | Token.cbBTC\n | Token.eBTC\n | Token.wBTC\n | Token.wBTCN;\n\nexport type RatioToken = 'TOKEN_SYMBOL_STLBTC';\nexport const RATIO_TOKEN_MAP: Record<RatioToken, Token> = {\n TOKEN_SYMBOL_STLBTC: Token.LBTC,\n};\n\nexport type TokenAddressesPerEnv<\n token extends Token,\n chain extends string | number | symbol = ChainId | SuiChain | SolanaChain,\n> = Partial<\n Record<\n Env,\n Partial<\n Record<\n chain,\n | (token extends Token.BTCb\n ? chain extends\n | typeof ChainId.avalanche\n | typeof ChainId.avalancheFuji\n ? BridgeTokenAddresses\n : Address\n : chain extends ChainId | SuiChain | StarknetChainId\n ? Address\n : string)\n | undefined\n >\n >\n >\n>;\n\nexport type TokenAddresses<\n token extends Token,\n chain extends string | number | symbol = ChainId | SuiChain | SolanaChain,\n> = Partial<Record<token, TokenAddressesPerEnv<token, chain>>>;\n\n/**\n * BTC.b token addresses across different chains and environments.\n *\n * **Architecture:**\n * - On **Avalanche chains** (Avalanche Mainnet, Avalanche Fuji): Uses dual-contract architecture\n * with both `token` and `adapter` addresses\n * - On **other chains** (Katana, Sepolia, BSC, etc.): Uses single address\n *\n * **Address Usage:**\n * - `token`: BTC.b ERC20 contract - use for permits, balance queries, standard ERC20 operations\n * - `adapter`: BridgeTokenAdapter contract - use for bridge operations, burn/mint/transfer\n *\n * @example\n * ```typescript\n * // Avalanche Fuji (testnet) has dual addresses:\n * const addresses = EVM_BTCB_ADDRESSES[Env.testnet][ChainId.avalancheFuji];\n * // { token: '0xB14f240...', adapter: '0x41BCd71...' }\n *\n * ```\n */\nconst EVM_BTCB_ADDRESSES: TokenAddressesPerEnv<Token.BTCb, ChainId> = {\n [Env.prod]: {\n [ChainId.ethereum]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n [ChainId.katana]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n ...(featureConfig.isAvalancheMainnetEnabled\n ? {\n [ChainId.avalanche]: {\n token: '0x152b9d0FdC40C096757F570A51E494bd4b943E50',\n adapter: '0x85D1D52e11290F174444d21C2a167bEDBE36e4d2',\n },\n }\n : {}),\n ...(featureConfig.isMonadEnabled\n ? {\n [ChainId.monad]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n }\n : {}),\n [ChainId.megaeth]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n [ChainId.stable]: '0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072',\n },\n [Env.ibc]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x1391f9AC408cf13214DDB71d359002658eaF9ebb',\n token: '0x71ba2b8dc58e7ca1b6d81a60729e31aefa37ae02',\n },\n }\n : {}),\n },\n [Env.dev]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e',\n token: '0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6',\n },\n }\n : {}),\n [ChainId.binanceSmartChainTestnet]:\n '0xea3F66E5f2928dB9673103BfA01a2153A57a8050',\n [ChainId.sepolia]: '0x195219A262423d209E126BD21cf4F4F9AA796927',\n },\n [Env.stage]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e',\n token: '0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6',\n },\n }\n : {}),\n [ChainId.sepolia]: '0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58',\n },\n [Env.testnet]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: {\n adapter: '0x41BCd71e7C92b1c8dDe53037F9b2c4AA2058b1cB',\n token: '0xB14f240714Bd23Bda103A7189D512A90326E4D01',\n },\n }\n : {}),\n [ChainId.sepolia]: '0x20eA7b8ABb4B583788F1DFC738C709a2d9675681',\n },\n};\n\nexport const EVM_LBTC_ADDRESSES: TokenAddressesPerEnv<Token.LBTC, ChainId> = {\n [Env.prod]: {\n [ChainId.ethereum]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n ...(featureConfig.isAvalancheMainnetEnabled\n ? {\n [ChainId.avalanche]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n }\n : {}),\n [ChainId.base]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.berachain]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.binanceSmartChain]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.corn]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.etherlink]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.katana]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.megaeth]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.morph]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.sonic]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.stable]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.swell]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.tac]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n [ChainId.bob]: '0xA45d4121b3D47719FF57a947A9d961539Ba33204',\n ...(featureConfig.isMonadEnabled\n ? {\n [ChainId.monad]: '0xecAc9C5F704e954931349Da37F60E39f515c11c1',\n }\n : {}),\n },\n [Env.stage]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: undefined,\n }\n : {}),\n [ChainId.baseSepoliaTestnet]: '0x731eFa688F3679688cf60A3993b8658138953ED6',\n [ChainId.berachainBartioTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.binanceSmartChainTestnet]:\n '0x731eFa688F3679688cf60A3993b8658138953ED6',\n [ChainId.holesky]: '0xED7bfd5C1790576105Af4649817f6d35A75CD818',\n [ChainId.sepolia]: '0x731eFa688F3679688cf60A3993b8658138953ED6',\n [ChainId.sonicBlazeTestnet]: '0x731eFa688F3679688cf60A3993b8658138953ED6',\n },\n [Env.testnet]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n }\n : {}),\n [ChainId.baseSepoliaTestnet]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n [ChainId.berachainBartioTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.binanceSmartChainTestnet]:\n '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n [ChainId.holesky]: '0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2',\n [ChainId.sepolia]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n [ChainId.sonicBlazeTestnet]: '0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5',\n },\n [Env.dev]: {\n ...(featureConfig.isAvalancheFujiEnabled\n ? {\n [ChainId.avalancheFuji]: '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n }\n : {}),\n [ChainId.sepolia]: '0x93283b6B889C591893dB0dc93baD71656D5d8923',\n [ChainId.baseSepoliaTestnet]: '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.berachainBartioTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n [ChainId.binanceSmartChainTestnet]:\n '0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30',\n },\n};\n\nconst EVM_SUPPORTING_TOKEN_ADDRESSES: TokenAddresses<SupportingToken, ChainId> =\n {\n [Token.BTCBinance]: {\n [Env.prod]: {\n [ChainId.binanceSmartChain]:\n '0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c',\n },\n },\n [Token.eBTC]: {\n [Env.prod]: {\n [ChainId.ethereum]: '0x657e8c867d8b37dcc18fa4caead9c45eb088c642',\n },\n },\n [Token.wBTC]: {\n [Env.prod]: {\n [ChainId.ethereum]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n },\n },\n [Token.wBTCN]: {\n [Env.prod]: {\n [ChainId.corn]: '0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2',\n },\n },\n };\n\nexport const TOKEN_ADDRESSES: TokenAddresses<Token, ChainId> = {\n [Token.LBTC]: EVM_LBTC_ADDRESSES,\n [Token.BTCb]: EVM_BTCB_ADDRESSES,\n [Token.BTCK]: EVM_BTCB_ADDRESSES, // alias for NativeLBTC\n ...EVM_SUPPORTING_TOKEN_ADDRESSES,\n};\n\nexport const SUI_TOKEN_ADDRESSES: TokenAddresses<Token.LBTC, SuiChain> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [SUI_MAINNET_CHAIN]:\n '0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040',\n },\n [Env.stage]: {\n [SUI_TESTNET_CHAIN]:\n '0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0',\n },\n [Env.testnet]: {\n [SUI_TESTNET_CHAIN]:\n '0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa',\n },\n },\n};\n\nexport const getSuiTokenAddress = (\n chainId: SuiChain,\n env = DEFAULT_ENV,\n): Address | undefined => {\n return SUI_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId] || undefined;\n};\n\nexport const SOLANA_TOKEN_ADDRESSES: TokenAddresses<\n Token.LBTC | Token.BTCb,\n SolanaChain\n> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [SOLANA_MAINNET_CHAIN]: 'LBTCgU4b3wsFKsPwBn1rRZDx5DoFutM6RPiEt1TPDsY',\n },\n [Env.testnet]: {\n [SOLANA_DEVNET_CHAIN]: '1BTCPX3qyFtBvhQvJaHntfzZfB8qcJmJXfoRnD3vAgh',\n },\n [Env.dev]: {\n [SOLANA_DEVNET_CHAIN]: 'LBTCojyVJ63rsEED2DLEGWMzSxWJyQynXE91LMLgV1J',\n },\n [Env.stage]: {\n [SOLANA_DEVNET_CHAIN]: '1btcyoWK7d99iosES4eXQGhhooCscKGigV5wHfvzueX',\n },\n },\n [Token.BTCb]: {\n [Env.prod]: {\n [SOLANA_MAINNET_CHAIN]: 'BTCbKVgfW4xMqTWEmxVwc6pzg2c5YtQWxSpBuQDhUrpu',\n },\n [Env.dev]: {\n [SOLANA_DEVNET_CHAIN]: 'BTCB3ripBAut19jM8kDPVbJHb2ZdR2GcZvGZkCmFPtV8',\n },\n [Env.stage]: {\n [SOLANA_DEVNET_CHAIN]: 'BTCGPAHQSsS9RYcL2Z4B5z6YyAXLatNcnaEwYdczsMZw',\n },\n [Env.testnet]: {\n [SOLANA_DEVNET_CHAIN]: 'BTCb1Xy55DzwPMog9d3ztPau4nqXp6BhUrdGHjTrMYCn',\n },\n },\n};\n\nexport const getSolanaTokenAddress = (\n chainId: SolanaChain,\n env = DEFAULT_ENV,\n token: Token.LBTC | Token.BTCb = Token.LBTC,\n): string | undefined => {\n return SOLANA_TOKEN_ADDRESSES[token]?.[env]?.[chainId] || undefined;\n};\n\nexport const getTokenByAddress = (\n tokenAddress?: string,\n chainId?: ChainId | SuiChain | SolanaChain | StarknetChainId,\n env = DEFAULT_ENV,\n addressKind: AddressKind = AddressKind.Token,\n) => {\n if (!tokenAddress || !chainId) return;\n\n const detectableTokens = [Token.LBTC, Token.BTCb];\n\n const addressMaps = [\n [isStarknetChainId, STARKNET_TOKEN_ADDRESSES],\n [isSuiChain, SUI_TOKEN_ADDRESSES],\n [isSolanaChain, SOLANA_TOKEN_ADDRESSES],\n [isValidChain, TOKEN_ADDRESSES],\n ] as const;\n\n for (const token of detectableTokens) {\n for (const [checkChain, addresses] of addressMaps) {\n if (checkChain(chainId)) {\n let address = (\n addresses as TokenAddresses<typeof token, typeof chainId>\n )?.[token]?.[env]?.[chainId];\n if (address) {\n address =\n typeof address === 'string' ? address : address[addressKind];\n if (tokenAddress.toLowerCase() === address.toLowerCase())\n return token;\n }\n }\n }\n }\n};\n\nexport const getTokenAddressForChain = (\n chainId: ChainId | SuiChain | SolanaChain | StarknetChainId,\n adapter: AddressKind = AddressKind.Token,\n env: Env = DEFAULT_ENV,\n): string | undefined => {\n if (isValidChain(chainId)) {\n const found = TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n if (found) {\n return typeof found === 'string' ? found : found[adapter];\n }\n }\n if (isSuiChain(chainId)) {\n return SUI_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n }\n if (isSolanaChain(chainId)) {\n return SOLANA_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n }\n if (isStarknetChainId(chainId)) {\n return STARKNET_TOKEN_ADDRESSES[Token.LBTC]?.[env]?.[chainId];\n }\n return undefined;\n};\n\n// Starknet token addresses\n// See: packages/sdk-starknet/src/tokens/lib/tokens.ts\nexport const STARKNET_TOKEN_ADDRESSES: TokenAddresses<\n Token.LBTC,\n StarknetChainId\n> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [STARKNET_SEPOLIA_CHAIN]: undefined,\n [STARKNET_MAINNET_CHAIN]:\n '0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4',\n },\n [Env.stage]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x00b442f5420860e937a99659326e81a97e07bfd538b3cee65b90029c9da38a5f',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.testnet]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x00456a829ab75ba5e97534dc70d7fc617cfda244f8dcda47b11624de67c6e70c',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.dev]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x0723de0c550b7bfbb5051dade72966d71a08bef952c0197462a5244497eb57c1',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n },\n} as const;\n\nexport const STARKNET_ASSET_ROUTER_ADDRESSES: TokenAddresses<\n Token.LBTC,\n StarknetChainId\n> = {\n [Token.LBTC]: {\n [Env.prod]: {\n [STARKNET_SEPOLIA_CHAIN]: undefined,\n [STARKNET_MAINNET_CHAIN]:\n '0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976',\n },\n [Env.stage]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x01d27f156092746d0d7cd9d9deec5e937f27c3c7c1c28365e9e5efac459880b3',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.testnet]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x063b7b5c8b114ebd5b9602fbd5d0ffd2cc3a598f1d91c6904cc0997cd8fea760',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n [Env.dev]: {\n [STARKNET_SEPOLIA_CHAIN]:\n '0x04838a05c798dc57e01e85526979841c84f1f3c732a525cff53adb3e8bee3d24',\n [STARKNET_MAINNET_CHAIN]: undefined,\n },\n },\n} as const;\n\nexport const getStarknetTokenAddress = (\n chainId: StarknetChainId,\n env = DEFAULT_ENV,\n variant: 'token' | 'assetRouter' = 'token',\n): Address | undefined => {\n return (\n (variant === 'token'\n ? STARKNET_TOKEN_ADDRESSES\n : STARKNET_ASSET_ROUTER_ADDRESSES)[Token.LBTC]?.[env]?.[chainId] ||\n undefined\n );\n};\n"],"names":["makeWalletClient","provider","chainId","chain","CHAIN_ID_TO_VIEM_CHAIN_MAP","transport","custom","createWalletClient","avalanche","avalancheFuji","base","baseSepolia","bsc","bscTestnet","corn","holesky","mainnet","sepolia","sonic","sonicBlazeTestnet","viem_chains","katana","defineChain","tac","bob","bobSepolia","monad","stable","megaeth","allChains","SUI_DEVNET_CHAIN","SUI_TESTNET_CHAIN","SUI_LOCALNET_CHAIN","SUI_MAINNET_CHAIN","isSuiChain","SOLANA_MAINNET_CHAIN","SOLANA_TESTNET_CHAIN","SOLANA_DEVNET_CHAIN","isSolanaChain","STARKNET_MAINNET_CHAIN","STARKNET_SEPOLIA_CHAIN","isStarknetChainId","ChainId","isKatanaChain","isMonadChain","isEthereumChain","isStableChain","isMegaethChain","CHAIN_ID_TO_LLAMA_CHAIN_NAME_MAP","isValidChain","addChain","walletClient","viem_addChain","getLlamaChainName","getChain","extractChain","AddressKind","Token","RATIO_TOKEN_MAP","EVM_BTCB_ADDRESSES","Env","EVM_LBTC_ADDRESSES","EVM_SUPPORTING_TOKEN_ADDRESSES","TOKEN_ADDRESSES","SUI_TOKEN_ADDRESSES","getSuiTokenAddress","env","DEFAULT_ENV","_b","_a","SOLANA_TOKEN_ADDRESSES","getSolanaTokenAddress","token","getTokenByAddress","tokenAddress","addressKind","detectableTokens","addressMaps","STARKNET_TOKEN_ADDRESSES","checkChain","addresses","address","getTokenAddressForChain","adapter","found","_d","_c","_f","_e","_h","_g","STARKNET_ASSET_ROUTER_ADDRESSES","getStarknetTokenAddress","variant"],"mappings":"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"}