@swapkit/wallets 3.0.0-beta.0 → 3.0.0-beta.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.
Files changed (132) hide show
  1. package/dist/chunk-czhtd6cy.js +4 -0
  2. package/dist/chunk-czhtd6cy.js.map +10 -0
  3. package/dist/{chunk-5m175wfy.js → chunk-p1kdg37m.js} +2 -2
  4. package/dist/{chunk-5m175wfy.js.map → chunk-p1kdg37m.js.map} +1 -1
  5. package/dist/{chunk-f76hj57k.js → chunk-q81hzyra.js} +2 -2
  6. package/dist/{chunk-f76hj57k.js.map → chunk-q81hzyra.js.map} +1 -1
  7. package/dist/chunk-qadd75nn.js +3 -0
  8. package/dist/chunk-qadd75nn.js.map +10 -0
  9. package/dist/src/bitget/index.cjs +2 -2
  10. package/dist/src/bitget/index.cjs.map +5 -5
  11. package/dist/src/bitget/index.js +2 -2
  12. package/dist/src/bitget/index.js.map +5 -5
  13. package/dist/src/coinbase/index.cjs +2 -2
  14. package/dist/src/coinbase/index.cjs.map +4 -4
  15. package/dist/src/coinbase/index.js +2 -3
  16. package/dist/src/coinbase/index.js.map +4 -4
  17. package/dist/src/ctrl/index.cjs +2 -2
  18. package/dist/src/ctrl/index.cjs.map +5 -5
  19. package/dist/src/ctrl/index.js +2 -2
  20. package/dist/src/ctrl/index.js.map +5 -5
  21. package/dist/src/evm-extensions/index.cjs +2 -2
  22. package/dist/src/evm-extensions/index.cjs.map +3 -3
  23. package/dist/src/evm-extensions/index.js +2 -3
  24. package/dist/src/evm-extensions/index.js.map +3 -3
  25. package/dist/src/exodus/index.cjs +2 -2
  26. package/dist/src/exodus/index.cjs.map +3 -3
  27. package/dist/src/exodus/index.js +2 -3
  28. package/dist/src/exodus/index.js.map +3 -3
  29. package/dist/src/index.cjs +2 -2
  30. package/dist/src/index.cjs.map +3 -4
  31. package/dist/src/index.js +2 -2
  32. package/dist/src/index.js.map +3 -4
  33. package/dist/src/keepkey/index.cjs +2 -2
  34. package/dist/src/keepkey/index.cjs.map +7 -7
  35. package/dist/src/keepkey/index.js +2 -3
  36. package/dist/src/keepkey/index.js.map +7 -7
  37. package/dist/src/keepkey-bex/index.cjs +2 -2
  38. package/dist/src/keepkey-bex/index.cjs.map +4 -4
  39. package/dist/src/keepkey-bex/index.js +2 -3
  40. package/dist/src/keepkey-bex/index.js.map +4 -4
  41. package/dist/src/keplr/index.cjs +2 -2
  42. package/dist/src/keplr/index.cjs.map +3 -3
  43. package/dist/src/keplr/index.js +2 -3
  44. package/dist/src/keplr/index.js.map +3 -3
  45. package/dist/src/keystore/index.cjs +2 -2
  46. package/dist/src/keystore/index.cjs.map +4 -4
  47. package/dist/src/keystore/index.js +2 -3
  48. package/dist/src/keystore/index.js.map +4 -4
  49. package/dist/src/ledger/index.cjs +3 -3
  50. package/dist/src/ledger/index.cjs.map +8 -8
  51. package/dist/src/ledger/index.js +3 -4
  52. package/dist/src/ledger/index.js.map +8 -8
  53. package/dist/src/okx/index.cjs +2 -2
  54. package/dist/src/okx/index.cjs.map +4 -4
  55. package/dist/src/okx/index.js +2 -3
  56. package/dist/src/okx/index.js.map +4 -4
  57. package/dist/src/onekey/index.cjs +3 -0
  58. package/dist/src/onekey/index.cjs.map +10 -0
  59. package/dist/src/onekey/index.js +3 -0
  60. package/dist/src/onekey/index.js.map +10 -0
  61. package/dist/src/phantom/index.cjs +2 -2
  62. package/dist/src/phantom/index.cjs.map +3 -3
  63. package/dist/src/phantom/index.js +2 -3
  64. package/dist/src/phantom/index.js.map +3 -3
  65. package/dist/src/polkadotjs/index.cjs +2 -2
  66. package/dist/src/polkadotjs/index.cjs.map +3 -3
  67. package/dist/src/polkadotjs/index.js +2 -3
  68. package/dist/src/polkadotjs/index.js.map +3 -3
  69. package/dist/src/radix/index.cjs +2 -2
  70. package/dist/src/radix/index.cjs.map +3 -3
  71. package/dist/src/radix/index.js +2 -3
  72. package/dist/src/radix/index.js.map +3 -3
  73. package/dist/src/talisman/index.cjs +2 -2
  74. package/dist/src/talisman/index.cjs.map +3 -3
  75. package/dist/src/talisman/index.js +2 -3
  76. package/dist/src/talisman/index.js.map +3 -3
  77. package/dist/src/trezor/index.cjs +2 -2
  78. package/dist/src/trezor/index.cjs.map +3 -3
  79. package/dist/src/trezor/index.js +2 -3
  80. package/dist/src/trezor/index.js.map +3 -3
  81. package/dist/src/walletconnect/index.cjs +2 -2
  82. package/dist/src/walletconnect/index.cjs.map +5 -5
  83. package/dist/src/walletconnect/index.js +2 -3
  84. package/dist/src/walletconnect/index.js.map +5 -5
  85. package/package.json +31 -26
  86. package/src/bitget/helpers.ts +33 -93
  87. package/src/bitget/index.ts +32 -54
  88. package/src/coinbase/index.ts +2 -2
  89. package/src/coinbase/signer.ts +46 -42
  90. package/src/ctrl/index.ts +157 -22
  91. package/src/ctrl/walletHelpers.ts +45 -94
  92. package/src/evm-extensions/index.ts +21 -40
  93. package/src/exodus/index.ts +18 -28
  94. package/src/index.ts +2 -37
  95. package/src/keepkey/chains/cosmos.ts +10 -7
  96. package/src/keepkey/chains/mayachain.ts +24 -24
  97. package/src/keepkey/chains/thorchain.ts +19 -13
  98. package/src/keepkey/chains/utxo.ts +36 -48
  99. package/src/keepkey/index.ts +9 -23
  100. package/src/keepkey-bex/index.ts +25 -23
  101. package/src/keepkey-bex/walletHelpers.ts +8 -36
  102. package/src/keplr/index.ts +6 -53
  103. package/src/keystore/helpers.ts +34 -55
  104. package/src/keystore/index.ts +15 -183
  105. package/src/ledger/clients/evm.ts +3 -7
  106. package/src/ledger/clients/thorchain/lib.ts +0 -19
  107. package/src/ledger/clients/utxo.ts +3 -2
  108. package/src/ledger/helpers/getLedgerClient.ts +2 -2
  109. package/src/ledger/index.ts +20 -21
  110. package/src/ledger/types.ts +1 -1
  111. package/src/okx/helpers.ts +23 -33
  112. package/src/okx/index.ts +4 -47
  113. package/src/onekey/evmSigner.ts +133 -0
  114. package/src/onekey/index.ts +213 -0
  115. package/src/phantom/index.ts +18 -42
  116. package/src/polkadotjs/index.ts +5 -7
  117. package/src/radix/index.ts +31 -47
  118. package/src/talisman/index.ts +15 -32
  119. package/src/trezor/index.ts +46 -45
  120. package/src/types.ts +199 -0
  121. package/src/utils.ts +54 -0
  122. package/src/walletconnect/constants.ts +1 -1
  123. package/src/walletconnect/helpers.ts +2 -2
  124. package/src/walletconnect/index.ts +36 -37
  125. package/dist/chunk-ha78se5g.js +0 -4
  126. package/dist/chunk-ha78se5g.js.map +0 -10
  127. package/dist/chunk-yvbvzc0q.js +0 -3
  128. package/dist/chunk-yvbvzc0q.js.map +0 -10
  129. package/src/bitget/bitgetWallet.ts +0 -32
  130. package/src/ctrl/ctrlWallet.ts +0 -175
  131. package/src/helpers.ts +0 -8
  132. package/src/ledger/ledgerLive.ts +0 -429
@@ -1,3 +1,3 @@
1
- var g={};V(g,{keepkeyBexWallet:()=>k,KEEPKEY_BEX_SUPPORTED_CHAINS:()=>f});module.exports=S(g);var q=require("@swapkit/helpers");var Q=require("@swapkit/helpers"),y=require("@swapkit/helpers/contracts"),N=(z)=>{switch(z){case Q.Chain.Bitcoin:return"bitcoin";case Q.Chain.BitcoinCash:return"bitcoincash";case Q.Chain.Dash:return"dash";case Q.Chain.Dogecoin:return"dogecoin";case Q.Chain.Litecoin:return"litecoin";default:throw new Error("Unsupported chain")}};function L(z){if(!window.keepkey)throw new Q.SwapKitError("wallet_keepkey_not_found");switch(z){case Q.Chain.Ethereum:case Q.Chain.Base:case Q.Chain.Avalanche:case Q.Chain.BinanceSmartChain:case Q.Chain.Arbitrum:case Q.Chain.Optimism:case Q.Chain.Polygon:return window.keepkey.ethereum;case Q.Chain.Cosmos:return window.keepkey.cosmos;case Q.Chain.Bitcoin:return window.keepkey.bitcoin;case Q.Chain.BitcoinCash:return window.keepkey.bitcoincash;case Q.Chain.Dogecoin:return window.keepkey.dogecoin;case Q.Chain.Litecoin:return window.keepkey.litecoin;case Q.Chain.Dash:return window.keepkey.dash;case Q.Chain.THORChain:return window.keepkey.thorchain;case Q.Chain.Maya:return window.keepkey.mayachain;default:return}}async function A({method:z,params:Z,chain:$}){let J=L($);return new Promise((D,G)=>{if(J&&"request"in J)J.request({method:z,params:Z},(X,U)=>{X?G(X):D(U)});else G(new Q.SwapKitError("wallet_provider_not_found"))})}async function B(z){let Z=L(z);if(!Z)throw new Q.SwapKitError({errorKey:"wallet_provider_not_found",info:{wallet:Q.WalletOption.KEEPKEY,chain:z}});let $="request_accounts";if(Q.EVMChains.includes(z))$="eth_requestAccounts";let[J]=await Z.request({method:$,params:[]});return J}async function H({assetValue:z,recipient:Z,memo:$,gasLimit:J},D="transfer"){if(!z)throw new Q.SwapKitError("wallet_keepkey_asset_not_defined");let G=await B(z.chain),X=[{amount:{amount:z.getValue("string"),decimals:z.decimal},asset:{chain:z.chain,symbol:z.symbol.toUpperCase(),ticker:z.symbol.toUpperCase()},memo:$,from:G,recipient:Z,gasLimit:J}];return A({method:D,params:X,chain:z.chain})}function O(z){let Z=Q.ChainToChainId[z];return async({from:$,recipient:J,assetValue:D})=>{let{getMsgSendDenom:G,createSigningStargateClient:X}=await import("@swapkit/toolboxes/cosmos"),U=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(Z),R=await X(Q.SKConfig.get("rpcUrls")[z],U),j=[{denom:G(D.symbol).toLowerCase(),amount:D.getBaseValue("string")}];try{let{transactionHash:I}=await R.sendTokens($,J,j,2);return I}catch(I){throw new Q.SwapKitError("core_transaction_failed",{error:I})}}}function W(z){return{call:async({contractAddress:Z,abi:$,funcName:J,funcParams:D=[],txOverrides:G})=>{if(!Z)throw new Q.SwapKitError("wallet_keepkey_contract_address_not_provided");let{createContract:X,createContractTxObject:U,isStateChangingCall:R,toHexString:j}=await import("@swapkit/toolboxes/evm");if(R($,J)){let{value:Y,from:K,to:P,data:b}=await U(z,{contractAddress:Z,abi:$,funcName:J,funcParams:D,txOverrides:G});return z.send("eth_sendTransaction",[{value:j(BigInt(Y||0)),from:K,to:P,data:b||"0x"}])}let _=await X(Z,$,z)[J]?.(...D);return typeof _?.hash==="string"?_?.hash:_},approve:async({assetAddress:Z,spenderAddress:$,amount:J,from:D})=>{let{MAX_APPROVAL:G,createContractTxObject:X,toHexString:U}=await import("@swapkit/toolboxes/evm"),{value:R,to:j,data:I}=await X(z,{contractAddress:Z,abi:y.erc20ABI,funcName:"approve",funcParams:[$,BigInt(J||G)],txOverrides:{from:D}});return z.send("eth_sendTransaction",[{value:U(BigInt(R||0)),from:D,to:j,data:I||"0x"}])},sendTransaction:async(Z)=>{let{from:$,to:J,data:D,value:G}=Z;if(!J)throw new Q.SwapKitError("wallet_keepkey_send_transaction_no_address");let{toHexString:X}=await import("@swapkit/toolboxes/evm");return z.send("eth_sendTransaction",[{value:X(BigInt(G||0)),from:$,to:J,data:D||"0x"}])}}}var k=q.createWallet({name:"connectKeepkeyBex",supportedChains:[q.Chain.Arbitrum,q.Chain.Avalanche,q.Chain.BinanceSmartChain,q.Chain.Bitcoin,q.Chain.BitcoinCash,q.Chain.Base,q.Chain.Cosmos,q.Chain.Dash,q.Chain.Dogecoin,q.Chain.Ethereum,q.Chain.Kujira,q.Chain.Litecoin,q.Chain.Maya,q.Chain.Optimism,q.Chain.Polygon,q.Chain.Solana,q.Chain.THORChain],walletType:q.WalletOption.KEEPKEY_BEX,connect:({addChain:z,supportedChains:Z,walletType:$})=>async function J(D){let G=q.filterSupportedChains({chains:D,supportedChains:Z,walletType:$});return await Promise.all(G.map(async(X)=>{let U=await B(X),R=await E(X);z({...R,address:U,balance:[],chain:X,walletType:$})})),!0}}),f=T(k);async function E(z){switch(z){case q.Chain.Maya:case q.Chain.THORChain:{let{getToolboxByChain:Z,THORCHAIN_GAS_VALUE:$,MAYA_GAS_VALUE:J}=await import("@swapkit/toolboxes/cosmos"),D=z===q.Chain.Maya?J:$;return{...Z(z)(),deposit:(X)=>H({...X,recipient:""},"deposit"),transfer:(X)=>H({...X,gasLimit:D},"transfer")}}case q.Chain.Cosmos:case q.Chain.Kujira:{let{getToolboxByChain:Z}=await import("@swapkit/toolboxes/cosmos");return{...Z(z)(),transfer:O(z)}}case q.Chain.Dash:case q.Chain.Bitcoin:case q.Chain.BitcoinCash:case q.Chain.Dogecoin:case q.Chain.Litecoin:{let{getToolboxByChain:Z}=await import("@swapkit/toolboxes/utxo");return{...Z(z)(),getBalance:async()=>{try{let D=N(z),G=await window?.keepkey?.[D]?.request({method:"request_balance"});return[q.AssetValue.from({chain:z,value:G[0].balance})]}catch(D){throw console.error("Error fetching balance:",D),D}},transfer:H}}case q.Chain.Ethereum:case q.Chain.BinanceSmartChain:case q.Chain.Base:case q.Chain.Arbitrum:case q.Chain.Optimism:case q.Chain.Polygon:case q.Chain.Avalanche:{let{prepareNetworkSwitch:Z,switchEVMWalletNetwork:$}=await import("@swapkit/helpers"),{getToolboxByChain:J,getBalance:D,getProvider:G}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:X}=await import("ethers"),U=L(z);if(!U)throw new q.SwapKitError("wallet_keepkey_not_found");let R=new X(U,"any"),j=await R.getSigner(),I=J(z)({provider:R,signer:j}),M=W(R);try{if(z!==q.Chain.Ethereum){let _=I.getNetworkParams();await $(R,z,_)}}catch(_){throw new q.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:q.WalletOption.KEEPKEY,chain:z}})}return Z({provider:R,chain:z,toolbox:{...I,...M,getBalance:(_,Y)=>D({chain:z,provider:G(z),address:_,potentialScamFilter:Y})}})}default:return null}}
1
+ var K={};D(K,{keepkeyBexWallet:()=>O,KEEPKEY_BEX_SUPPORTED_CHAINS:()=>A});module.exports=x(K);var e=require("@swapkit/helpers");var r=require("@swapkit/helpers"),k=require("@swapkit/helpers/contracts"),E=(t)=>{switch(t){case r.Chain.Bitcoin:return"bitcoin";case r.Chain.BitcoinCash:return"bitcoincash";case r.Chain.Dash:return"dash";case r.Chain.Dogecoin:return"dogecoin";case r.Chain.Litecoin:return"litecoin";default:throw new Error("Unsupported chain")}};function P(t){if(!window.keepkey)throw new r.SwapKitError("wallet_keepkey_not_found");switch(t){case r.Chain.Ethereum:case r.Chain.Base:case r.Chain.Avalanche:case r.Chain.BinanceSmartChain:case r.Chain.Arbitrum:case r.Chain.Optimism:case r.Chain.Polygon:return window.keepkey.ethereum;case r.Chain.Cosmos:return window.keepkey.cosmos;case r.Chain.Bitcoin:return window.keepkey.bitcoin;case r.Chain.BitcoinCash:return window.keepkey.bitcoincash;case r.Chain.Dogecoin:return window.keepkey.dogecoin;case r.Chain.Litecoin:return window.keepkey.litecoin;case r.Chain.Dash:return window.keepkey.dash;case r.Chain.THORChain:return window.keepkey.thorchain;case r.Chain.Maya:return window.keepkey.mayachain;default:return}}async function M({method:t,params:c,chain:n}){let i=P(n);return new Promise((s,a)=>{if(i&&"request"in i)i.request({method:t,params:c},(o,m)=>{o?a(o):s(m)});else a(new r.SwapKitError("wallet_provider_not_found"))})}async function f(t){let c=P(t);if(!c)throw new r.SwapKitError({errorKey:"wallet_provider_not_found",info:{wallet:r.WalletOption.KEEPKEY,chain:t}});let n="request_accounts";if(r.EVMChains.includes(t))n="eth_requestAccounts";let[i]=await c.request({method:n,params:[]});return i}async function y({assetValue:t,recipient:c,memo:n,gasLimit:i},s="transfer"){if(!t)throw new r.SwapKitError("wallet_keepkey_asset_not_defined");let a=await f(t.chain),o=[{amount:{amount:t.getValue("string"),decimals:t.decimal},asset:{chain:t.chain,symbol:t.symbol.toUpperCase(),ticker:t.symbol.toUpperCase()},memo:n,from:a,recipient:c,gasLimit:i}];return M({method:s,params:o,chain:t.chain})}function T(t,c){return{call:async({contractAddress:n,abi:i,funcName:s,funcParams:a=[],txOverrides:o})=>{if(!n)throw new r.SwapKitError("wallet_keepkey_contract_address_not_provided");let{createContract:m,getCreateContractTxObject:u,isStateChangingCall:p,toHexString:g}=await import("@swapkit/toolboxes/evm");if(p({abi:i,funcName:s})){let B=u({provider:t,chain:c}),{value:l,from:X,to:U,data:q}=await B({contractAddress:n,abi:i,funcName:s,funcParams:a,txOverrides:o});return t.send("eth_sendTransaction",[{value:g(BigInt(l||0)),from:X,to:U,data:q||"0x"}])}let w=await m(n,i,t)[s]?.(...a);return typeof w?.hash==="string"?w?.hash:w},approve:async({assetAddress:n,spenderAddress:i,amount:s,from:a})=>{let{MAX_APPROVAL:o,getCreateContractTxObject:m,toHexString:u}=await import("@swapkit/toolboxes/evm"),p=m({provider:t,chain:c}),{value:g,to:v,data:_}=await p({contractAddress:n,abi:k.erc20ABI,funcName:"approve",funcParams:[i,BigInt(s||o)],txOverrides:{from:a}});return t.send("eth_sendTransaction",[{value:u(BigInt(g||0)),from:a,to:v,data:_||"0x"}])},sendTransaction:async(n)=>{let{from:i,to:s,data:a,value:o}=n;if(!s)throw new r.SwapKitError("wallet_keepkey_send_transaction_no_address");let{toHexString:m}=await import("@swapkit/toolboxes/evm");return t.send("eth_sendTransaction",[{value:m(BigInt(o||0)),from:i,to:s,data:a||"0x"}])}}}var O=e.createWallet({name:"connectKeepkeyBex",supportedChains:[e.Chain.Arbitrum,e.Chain.Avalanche,e.Chain.BinanceSmartChain,e.Chain.Bitcoin,e.Chain.BitcoinCash,e.Chain.Base,e.Chain.Cosmos,e.Chain.Dash,e.Chain.Dogecoin,e.Chain.Ethereum,e.Chain.Kujira,e.Chain.Litecoin,e.Chain.Maya,e.Chain.Optimism,e.Chain.Polygon,e.Chain.Solana,e.Chain.THORChain],walletType:e.WalletOption.KEEPKEY_BEX,connect:({addChain:t,supportedChains:c,walletType:n})=>async function i(s){let a=e.filterSupportedChains({chains:s,supportedChains:c,walletType:n});return await Promise.all(a.map(async(o)=>{let m=await f(o),u=await I(o);t({...u,address:m,chain:o,walletType:n})})),!0}}),A=b(O);async function I(t){switch(t){case e.Chain.Maya:case e.Chain.THORChain:{let{getCosmosToolbox:c,THORCHAIN_GAS_VALUE:n,MAYA_GAS_VALUE:i}=await import("@swapkit/toolboxes/cosmos"),s=t===e.Chain.Maya?i:n;return{...c(t),deposit:(o)=>y({...o,recipient:""},"deposit"),transfer:(o)=>y({...o,gasLimit:s},"transfer")}}case e.Chain.Cosmos:case e.Chain.Kujira:{let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),n=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(e.ChainIdToChain[t]);if(!n)throw new Error("Could not load signer");let i=c(t,{signer:n}),s=await n.getAccounts();if(!s?.[0]?.address)throw new Error("No accounts found");let[{address:a}]=s;return{...i,address:a}}case e.Chain.Dash:case e.Chain.Bitcoin:case e.Chain.BitcoinCash:case e.Chain.Dogecoin:case e.Chain.Litecoin:{let{getUtxoToolbox:c}=await import("@swapkit/toolboxes/utxo");return{...await c(t),getBalance:async()=>{try{let s=E(t),a=await window?.keepkey?.[s]?.request({method:"request_balance"});return[e.AssetValue.from({chain:t,value:a[0].balance})]}catch(s){throw console.error("Error fetching balance:",s),s}},transfer:y}}case e.Chain.Ethereum:case e.Chain.BinanceSmartChain:case e.Chain.Base:case e.Chain.Arbitrum:case e.Chain.Optimism:case e.Chain.Polygon:case e.Chain.Avalanche:{let{prepareNetworkSwitch:c,switchEVMWalletNetwork:n}=await import("@swapkit/helpers"),{getEvmToolbox:i}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:s}=await import("ethers"),a=P(t);if(!a)throw new e.SwapKitError("wallet_keepkey_not_found");let o=new s(a,"any"),m=await o.getSigner(),u=await i(t,{provider:o,signer:m}),p=T(o,t);try{if(t!==e.Chain.Ethereum){let g=u.getNetworkParams();await n(o,t,g)}}catch(g){throw new e.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:e.WalletOption.KEEPKEY,chain:t}})}return c({provider:o,chain:t,toolbox:{...u,...p}})}default:return null}}
2
2
 
3
- //# debugId=D85FBFEBA88BA0DB64756E2164756E21
3
+ //# debugId=91989A2F063AEF6A64756E2164756E21
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keepkey-bex/index.ts", "../src/keepkey-bex/walletHelpers.ts"],
4
4
  "sourcesContent": [
5
- "import {\n AssetValue,\n Chain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { NonETHToolbox } from \"@swapkit/toolboxes/evm\";\nimport type { Eip1193Provider } from \"ethers\";\nimport { getWalletSupportedChains } from \"../helpers\";\nimport {\n type WalletTxParams,\n cosmosTransfer,\n getKEEPKEYAddress,\n getKEEPKEYMethods,\n getKEEPKEYProvider,\n getProviderNameFromChain,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const keepkeyBexWallet = createWallet({\n name: \"connectKeepkeyBex\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Base,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n Chain.THORChain,\n ],\n walletType: WalletOption.KEEPKEY_BEX,\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeepkeyBex(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = await getKEEPKEYAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, balance: [], chain, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEEPKEY_BEX_SUPPORTED_CHAINS = getWalletSupportedChains(keepkeyBexWallet);\n\nasync function getWalletMethods(chain: (typeof KEEPKEY_BEX_SUPPORTED_CHAINS)[number]) {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain: {\n const { getToolboxByChain, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = getToolboxByChain(chain);\n\n return {\n ...toolbox(),\n deposit: (tx: WalletTxParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit\"),\n transfer: (tx: WalletTxParams) => walletTransfer({ ...tx, gasLimit }, \"transfer\"),\n };\n }\n\n case Chain.Cosmos:\n case Chain.Kujira: {\n const { getToolboxByChain } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = getToolboxByChain(chain)();\n\n return { ...toolbox, transfer: cosmosTransfer(chain) };\n }\n\n case Chain.Dash:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin: {\n const { getToolboxByChain } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = getToolboxByChain(chain)();\n\n const getBalance = async () => {\n try {\n const providerChain = getProviderNameFromChain(chain);\n // @ts-expect-error We assuming there chains via switch\n const balance = await window?.keepkey?.[providerChain]?.request({\n method: \"request_balance\",\n });\n const assetValue = AssetValue.from({ chain, value: balance[0].balance });\n return [assetValue];\n } catch (error) {\n console.error(\"Error fetching balance:\", error);\n throw error;\n }\n };\n\n return { ...toolbox, getBalance, transfer: walletTransfer };\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Base:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Avalanche: {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getToolboxByChain, getBalance, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_keepkey_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = getToolboxByChain(chain)({ provider, signer });\n const keepkeyMethods = getKEEPKEYMethods(provider);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = (toolbox as NonETHToolbox).getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n return prepareNetworkSwitch({\n provider,\n chain,\n toolbox: {\n ...toolbox,\n ...keepkeyMethods,\n // Overwrite getBalance due to race conditions\n getBalance: (address: string, potentialScamFilter?: boolean) =>\n getBalance({ chain, provider: getProvider(chain), address, potentialScamFilter }),\n },\n });\n }\n\n default:\n return null;\n }\n}\n",
6
- "import {\n type AssetValue,\n Chain,\n ChainToChainId,\n type CosmosChain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { TransferParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\ninterface UTXOProvider {\n request: (\n args: {\n method: string;\n params?: {\n amount: { amount: string; decimals?: number };\n asset: { chain: Chain; symbol: string; ticker: string };\n memo: string | undefined;\n from?: string;\n recipient: string;\n gasLimit?: string | bigint;\n }[];\n },\n callback: (err: string, tx: string) => void,\n ) => void;\n}\n\ntype TransactionMethod = \"transfer\" | \"deposit\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: string | number; decimals?: number };\n decimal?: number;\n recipient: string;\n memo?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint | undefined;\n};\n\nexport const getProviderNameFromChain = (chain: Chain): string => {\n switch (chain) {\n case Chain.Bitcoin:\n return \"bitcoin\";\n case Chain.BitcoinCash:\n return \"bitcoincash\";\n case Chain.Dash:\n return \"dash\";\n case Chain.Dogecoin:\n return \"dogecoin\";\n case Chain.Litecoin:\n return \"litecoin\";\n default:\n throw new Error(\"Unsupported chain\");\n }\n};\n\ndeclare const window: {\n keepkey?: {\n binance: Eip1193Provider;\n bitcoin: Eip1193Provider;\n bitcoincash: Eip1193Provider;\n dogecoin: Eip1193Provider;\n ethereum: Eip1193Provider;\n cosmos: Eip1193Provider;\n dash: Eip1193Provider;\n litecoin: Eip1193Provider;\n thorchain: Eip1193Provider;\n mayachain: Eip1193Provider;\n };\n} & Window;\n\nexport function getKEEPKEYProvider<T extends Chain>(chain: T) {\n if (!window.keepkey) throw new SwapKitError(\"wallet_keepkey_not_found\");\n\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Base:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n return window.keepkey.ethereum as Eip1193Provider;\n case Chain.Cosmos:\n return window.keepkey.cosmos as Eip1193Provider;\n case Chain.Bitcoin:\n return window.keepkey.bitcoin as UTXOProvider;\n case Chain.BitcoinCash:\n return window.keepkey.bitcoincash as UTXOProvider;\n case Chain.Dogecoin:\n return window.keepkey.dogecoin as UTXOProvider;\n case Chain.Litecoin:\n return window.keepkey.litecoin as UTXOProvider;\n case Chain.Dash:\n return window.keepkey.dash as UTXOProvider;\n case Chain.THORChain:\n return window.keepkey.thorchain as UTXOProvider;\n case Chain.Maya:\n return window.keepkey.mayachain as UTXOProvider;\n\n default:\n return undefined;\n }\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = getKEEPKEYProvider(chain);\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-ignore\n client.request({ method, params }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n } else {\n reject(new SwapKitError(\"wallet_provider_not_found\"));\n }\n });\n}\n\nexport async function getKEEPKEYAddress(chain: Chain) {\n const eipProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n if (!eipProvider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n let method = \"request_accounts\";\n if (EVMChains.includes(chain as EVMChain)) {\n method = \"eth_requestAccounts\";\n }\n\n const [response] = await eipProvider.request({ method, params: [] });\n return response;\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams & { assetValue: AssetValue },\n method: TransactionMethod = \"transfer\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_keepkey_asset_not_defined\");\n }\n\n const from = await getKEEPKEYAddress(assetValue.chain);\n const params = [\n {\n amount: {\n amount: assetValue.getValue(\"string\"),\n decimals: assetValue.decimal,\n },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n memo,\n from,\n recipient,\n gasLimit,\n },\n ];\n\n return transaction({ method, params, chain: assetValue.chain });\n}\n\nexport function cosmosTransfer(chain: CosmosChain) {\n const chainId = ChainToChainId[chain];\n return async ({ from, recipient, assetValue }: TransferParams) => {\n const { getMsgSendDenom, createSigningStargateClient } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n // @ts-expect-error assumed available connection\n const offlineSigner = window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(chainId);\n const cosmJS = await createSigningStargateClient(SKConfig.get(\"rpcUrls\")[chain], offlineSigner);\n\n const coins = [\n {\n denom: getMsgSendDenom(assetValue.symbol).toLowerCase(),\n amount: assetValue.getBaseValue(\"string\"),\n },\n ];\n\n try {\n const { transactionHash } = await cosmJS.sendTokens(from, recipient, coins, 2);\n return transactionHash;\n } catch (error) {\n throw new SwapKitError(\"core_transaction_failed\", { error });\n }\n };\n}\n\nexport function getKEEPKEYMethods(provider: BrowserProvider) {\n return {\n call: async <T>({\n contractAddress,\n abi,\n funcName,\n funcParams = [],\n txOverrides,\n }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_keepkey_contract_address_not_provided\");\n }\n const { createContract, createContractTxObject, isStateChangingCall, toHexString } =\n await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall(abi, funcName);\n\n if (isStateChanging) {\n const { value, from, to, data } = await createContractTxObject(provider, {\n contractAddress,\n abi,\n funcName,\n funcParams,\n txOverrides,\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, createContractTxObject, toHexString } = await import(\n \"@swapkit/toolboxes/evm\"\n );\n\n const { value, to, data } = await createContractTxObject(provider, {\n contractAddress: assetAddress,\n abi: erc20ABI,\n funcName: \"approve\",\n funcParams: [spenderAddress, BigInt(amount || MAX_APPROVAL)],\n txOverrides: { from },\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n sendTransaction: async (tx: EVMTxParams) => {\n const { from, to, data, value } = tx;\n if (!to) {\n throw new SwapKitError(\"wallet_keepkey_send_transaction_no_address\");\n }\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n };\n}\n"
5
+ "import {\n AssetValue,\n Chain,\n ChainIdToChain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { Eip1193Provider } from \"ethers\";\nimport { getWalletSupportedChains } from \"../utils\";\nimport {\n type WalletTxParams,\n getKEEPKEYAddress,\n getKEEPKEYMethods,\n getKEEPKEYProvider,\n getProviderNameFromChain,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const keepkeyBexWallet = createWallet({\n name: \"connectKeepkeyBex\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Base,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n Chain.THORChain,\n ],\n walletType: WalletOption.KEEPKEY_BEX,\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeepkeyBex(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = await getKEEPKEYAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEEPKEY_BEX_SUPPORTED_CHAINS = getWalletSupportedChains(keepkeyBexWallet);\n\nasync function getWalletMethods(chain: (typeof KEEPKEY_BEX_SUPPORTED_CHAINS)[number]) {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain: {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = getCosmosToolbox(chain);\n\n return {\n ...toolbox,\n deposit: (tx: WalletTxParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit\"),\n transfer: (tx: WalletTxParams) => walletTransfer({ ...tx, gasLimit }, \"transfer\"),\n };\n }\n\n case Chain.Cosmos:\n case Chain.Kujira: {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n // @ts-expect-error assumed available connection\n const signer = window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(ChainIdToChain[chain]);\n if (!signer) throw new Error(\"Could not load signer\");\n const toolbox = getCosmosToolbox(chain, { signer });\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n\n return { ...toolbox, address };\n }\n\n case Chain.Dash:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain);\n\n const getBalance = async () => {\n try {\n const providerChain = getProviderNameFromChain(chain);\n // @ts-expect-error We assuming there chains via switch\n const balance = await window?.keepkey?.[providerChain]?.request({\n method: \"request_balance\",\n });\n const assetValue = AssetValue.from({ chain, value: balance[0].balance });\n return [assetValue];\n } catch (error) {\n console.error(\"Error fetching balance:\", error);\n throw error;\n }\n };\n\n return { ...toolbox, getBalance, transfer: walletTransfer };\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Base:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Avalanche: {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_keepkey_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n const keepkeyMethods = getKEEPKEYMethods(provider, chain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n return prepareNetworkSwitch({\n provider,\n chain,\n toolbox: { ...toolbox, ...keepkeyMethods },\n });\n }\n\n default:\n return null;\n }\n}\n",
6
+ "import {\n type AssetValue,\n Chain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\ninterface UTXOProvider {\n request: (\n args: {\n method: string;\n params?: {\n amount: { amount: string; decimals?: number };\n asset: { chain: Chain; symbol: string; ticker: string };\n memo: string | undefined;\n from?: string;\n recipient: string;\n gasLimit?: string | bigint;\n }[];\n },\n callback: (err: string, tx: string) => void,\n ) => void;\n}\n\ntype TransactionMethod = \"transfer\" | \"deposit\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: string | number; decimals?: number };\n decimal?: number;\n recipient: string;\n memo?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint | undefined;\n};\n\nexport const getProviderNameFromChain = (chain: Chain): string => {\n switch (chain) {\n case Chain.Bitcoin:\n return \"bitcoin\";\n case Chain.BitcoinCash:\n return \"bitcoincash\";\n case Chain.Dash:\n return \"dash\";\n case Chain.Dogecoin:\n return \"dogecoin\";\n case Chain.Litecoin:\n return \"litecoin\";\n default:\n throw new Error(\"Unsupported chain\");\n }\n};\n\ndeclare const window: {\n keepkey?: {\n binance: Eip1193Provider;\n bitcoin: Eip1193Provider;\n bitcoincash: Eip1193Provider;\n dogecoin: Eip1193Provider;\n ethereum: Eip1193Provider;\n cosmos: Eip1193Provider;\n dash: Eip1193Provider;\n litecoin: Eip1193Provider;\n thorchain: Eip1193Provider;\n mayachain: Eip1193Provider;\n };\n} & Window;\n\nexport function getKEEPKEYProvider<T extends Chain>(chain: T) {\n if (!window.keepkey) throw new SwapKitError(\"wallet_keepkey_not_found\");\n\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Base:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n return window.keepkey.ethereum as Eip1193Provider;\n case Chain.Cosmos:\n return window.keepkey.cosmos as Eip1193Provider;\n case Chain.Bitcoin:\n return window.keepkey.bitcoin as UTXOProvider;\n case Chain.BitcoinCash:\n return window.keepkey.bitcoincash as UTXOProvider;\n case Chain.Dogecoin:\n return window.keepkey.dogecoin as UTXOProvider;\n case Chain.Litecoin:\n return window.keepkey.litecoin as UTXOProvider;\n case Chain.Dash:\n return window.keepkey.dash as UTXOProvider;\n case Chain.THORChain:\n return window.keepkey.thorchain as UTXOProvider;\n case Chain.Maya:\n return window.keepkey.mayachain as UTXOProvider;\n\n default:\n return undefined;\n }\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = getKEEPKEYProvider(chain);\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-ignore\n client.request({ method, params }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n } else {\n reject(new SwapKitError(\"wallet_provider_not_found\"));\n }\n });\n}\n\nexport async function getKEEPKEYAddress(chain: Chain) {\n const eipProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n if (!eipProvider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n let method = \"request_accounts\";\n if (EVMChains.includes(chain as EVMChain)) {\n method = \"eth_requestAccounts\";\n }\n\n const [response] = await eipProvider.request({ method, params: [] });\n return response;\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams & { assetValue: AssetValue },\n method: TransactionMethod = \"transfer\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_keepkey_asset_not_defined\");\n }\n\n const from = await getKEEPKEYAddress(assetValue.chain);\n const params = [\n {\n amount: {\n amount: assetValue.getValue(\"string\"),\n decimals: assetValue.decimal,\n },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n memo,\n from,\n recipient,\n gasLimit,\n },\n ];\n\n return transaction({ method, params, chain: assetValue.chain });\n}\n\nexport function getKEEPKEYMethods(provider: BrowserProvider, chain: EVMChain) {\n return {\n call: async <T>({\n contractAddress,\n abi,\n funcName,\n funcParams = [],\n txOverrides,\n }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_keepkey_contract_address_not_provided\");\n }\n const { createContract, getCreateContractTxObject, isStateChangingCall, toHexString } =\n await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall({ abi, funcName });\n\n if (isStateChanging) {\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, from, to, data } = await createTx({\n contractAddress,\n abi,\n funcName,\n funcParams,\n txOverrides,\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, getCreateContractTxObject, toHexString } = await import(\n \"@swapkit/toolboxes/evm\"\n );\n\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, to, data } = await createTx({\n contractAddress: assetAddress,\n abi: erc20ABI,\n funcName: \"approve\",\n funcParams: [spenderAddress, BigInt(amount || MAX_APPROVAL)],\n txOverrides: { from },\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n sendTransaction: async (tx: EVMTxParams) => {\n const { from, to, data, value } = tx;\n if (!to) {\n throw new SwapKitError(\"wallet_keepkey_send_transaction_no_address\");\n }\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n };\n}\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "D85FBFEBA88BA0DB64756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "91989A2F063AEF6A64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,3 @@
1
- import{r as K}from"../../chunk-ha78se5g.js";import{s as F,t as I}from"../../chunk-5m175wfy.js";import{AssetValue as v,Chain as z,SwapKitError as k,WalletOption as P,createWallet as u,filterSupportedChains as m}from"@swapkit/helpers";import{Chain as X,ChainToChainId as V,EVMChains as f,SKConfig as E,SwapKitError as H,WalletOption as g}from"@swapkit/helpers";import{erc20ABI as x}from"@swapkit/helpers/contracts";var O=(q)=>{switch(q){case X.Bitcoin:return"bitcoin";case X.BitcoinCash:return"bitcoincash";case X.Dash:return"dash";case X.Dogecoin:return"dogecoin";case X.Litecoin:return"litecoin";default:throw new Error("Unsupported chain")}};function Y(q){if(!window.keepkey)throw new H("wallet_keepkey_not_found");switch(q){case X.Ethereum:case X.Base:case X.Avalanche:case X.BinanceSmartChain:case X.Arbitrum:case X.Optimism:case X.Polygon:return window.keepkey.ethereum;case X.Cosmos:return window.keepkey.cosmos;case X.Bitcoin:return window.keepkey.bitcoin;case X.BitcoinCash:return window.keepkey.bitcoincash;case X.Dogecoin:return window.keepkey.dogecoin;case X.Litecoin:return window.keepkey.litecoin;case X.Dash:return window.keepkey.dash;case X.THORChain:return window.keepkey.thorchain;case X.Maya:return window.keepkey.mayachain;default:return}}async function w({method:q,params:Q,chain:Z}){let D=Y(Z);return new Promise(($,G)=>{if(D&&"request"in D)D.request({method:q,params:Q},(J,U)=>{J?G(J):$(U)});else G(new H("wallet_provider_not_found"))})}async function y(q){let Q=Y(q);if(!Q)throw new H({errorKey:"wallet_provider_not_found",info:{wallet:g.KEEPKEY,chain:q}});let Z="request_accounts";if(f.includes(q))Z="eth_requestAccounts";let[D]=await Q.request({method:Z,params:[]});return D}async function B({assetValue:q,recipient:Q,memo:Z,gasLimit:D},$="transfer"){if(!q)throw new H("wallet_keepkey_asset_not_defined");let G=await y(q.chain),J=[{amount:{amount:q.getValue("string"),decimals:q.decimal},asset:{chain:q.chain,symbol:q.symbol.toUpperCase(),ticker:q.symbol.toUpperCase()},memo:Z,from:G,recipient:Q,gasLimit:D}];return w({method:$,params:J,chain:q.chain})}function W(q){let Q=V[q];return async({from:Z,recipient:D,assetValue:$})=>{let{getMsgSendDenom:G,createSigningStargateClient:J}=await import("@swapkit/toolboxes/cosmos"),U=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(Q),R=await J(E.get("rpcUrls")[q],U),L=[{denom:G($.symbol).toLowerCase(),amount:$.getBaseValue("string")}];try{let{transactionHash:_}=await R.sendTokens(Z,D,L,2);return _}catch(_){throw new H("core_transaction_failed",{error:_})}}}function T(q){return{call:async({contractAddress:Q,abi:Z,funcName:D,funcParams:$=[],txOverrides:G})=>{if(!Q)throw new H("wallet_keepkey_contract_address_not_provided");let{createContract:J,createContractTxObject:U,isStateChangingCall:R,toHexString:L}=await import("@swapkit/toolboxes/evm");if(R(Z,D)){let{value:M,from:b,to:A,data:S}=await U(q,{contractAddress:Q,abi:Z,funcName:D,funcParams:$,txOverrides:G});return q.send("eth_sendTransaction",[{value:L(BigInt(M||0)),from:b,to:A,data:S||"0x"}])}let j=await J(Q,Z,q)[D]?.(...$);return typeof j?.hash==="string"?j?.hash:j},approve:async({assetAddress:Q,spenderAddress:Z,amount:D,from:$})=>{let{MAX_APPROVAL:G,createContractTxObject:J,toHexString:U}=await import("@swapkit/toolboxes/evm"),{value:R,to:L,data:_}=await J(q,{contractAddress:Q,abi:x,funcName:"approve",funcParams:[Z,BigInt(D||G)],txOverrides:{from:$}});return q.send("eth_sendTransaction",[{value:U(BigInt(R||0)),from:$,to:L,data:_||"0x"}])},sendTransaction:async(Q)=>{let{from:Z,to:D,data:$,value:G}=Q;if(!D)throw new H("wallet_keepkey_send_transaction_no_address");let{toHexString:J}=await import("@swapkit/toolboxes/evm");return q.send("eth_sendTransaction",[{value:J(BigInt(G||0)),from:Z,to:D,data:$||"0x"}])}}}var p=u({name:"connectKeepkeyBex",supportedChains:[z.Arbitrum,z.Avalanche,z.BinanceSmartChain,z.Bitcoin,z.BitcoinCash,z.Base,z.Cosmos,z.Dash,z.Dogecoin,z.Ethereum,z.Kujira,z.Litecoin,z.Maya,z.Optimism,z.Polygon,z.Solana,z.THORChain],walletType:P.KEEPKEY_BEX,connect:({addChain:q,supportedChains:Q,walletType:Z})=>async function D($){let G=m({chains:$,supportedChains:Q,walletType:Z});return await Promise.all(G.map(async(J)=>{let U=await y(J),R=await C(J);q({...R,address:U,balance:[],chain:J,walletType:Z})})),!0}}),n=K(p);async function C(q){switch(q){case z.Maya:case z.THORChain:{let{getToolboxByChain:Q,THORCHAIN_GAS_VALUE:Z,MAYA_GAS_VALUE:D}=await import("@swapkit/toolboxes/cosmos"),$=q===z.Maya?D:Z;return{...Q(q)(),deposit:(J)=>B({...J,recipient:""},"deposit"),transfer:(J)=>B({...J,gasLimit:$},"transfer")}}case z.Cosmos:case z.Kujira:{let{getToolboxByChain:Q}=await import("@swapkit/toolboxes/cosmos");return{...Q(q)(),transfer:W(q)}}case z.Dash:case z.Bitcoin:case z.BitcoinCash:case z.Dogecoin:case z.Litecoin:{let{getToolboxByChain:Q}=await import("@swapkit/toolboxes/utxo");return{...Q(q)(),getBalance:async()=>{try{let $=O(q),G=await window?.keepkey?.[$]?.request({method:"request_balance"});return[v.from({chain:q,value:G[0].balance})]}catch($){throw console.error("Error fetching balance:",$),$}},transfer:B}}case z.Ethereum:case z.BinanceSmartChain:case z.Base:case z.Arbitrum:case z.Optimism:case z.Polygon:case z.Avalanche:{let{prepareNetworkSwitch:Q,switchEVMWalletNetwork:Z}=await import("@swapkit/helpers"),{getToolboxByChain:D,getBalance:$,getProvider:G}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:J}=await import("ethers"),U=Y(q);if(!U)throw new k("wallet_keepkey_not_found");let R=new J(U,"any"),L=await R.getSigner(),_=D(q)({provider:R,signer:L}),N=T(R);try{if(q!==z.Ethereum){let j=_.getNetworkParams();await Z(R,q,j)}}catch(j){throw new k({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:P.KEEPKEY,chain:q}})}return Q({provider:R,chain:q,toolbox:{..._,...N,getBalance:(j,M)=>$({chain:q,provider:G(q),address:j,potentialScamFilter:M})}})}default:return null}}export{p as keepkeyBexWallet,n as KEEPKEY_BEX_SUPPORTED_CHAINS};
2
- export{p as q};
1
+ import{a as l}from"../../chunk-czhtd6cy.js";import{c as d,d as u}from"../../chunk-p1kdg37m.js";import{AssetValue as F,Chain as t,ChainIdToChain as L,SwapKitError as b,WalletOption as B,createWallet as V,filterSupportedChains as j}from"@swapkit/helpers";import{Chain as a,EVMChains as D,SwapKitError as P,WalletOption as A}from"@swapkit/helpers";import{erc20ABI as I}from"@swapkit/helpers/contracts";var T=(e)=>{switch(e){case a.Bitcoin:return"bitcoin";case a.BitcoinCash:return"bitcoincash";case a.Dash:return"dash";case a.Dogecoin:return"dogecoin";case a.Litecoin:return"litecoin";default:throw new Error("Unsupported chain")}};function w(e){if(!window.keepkey)throw new P("wallet_keepkey_not_found");switch(e){case a.Ethereum:case a.Base:case a.Avalanche:case a.BinanceSmartChain:case a.Arbitrum:case a.Optimism:case a.Polygon:return window.keepkey.ethereum;case a.Cosmos:return window.keepkey.cosmos;case a.Bitcoin:return window.keepkey.bitcoin;case a.BitcoinCash:return window.keepkey.bitcoincash;case a.Dogecoin:return window.keepkey.dogecoin;case a.Litecoin:return window.keepkey.litecoin;case a.Dash:return window.keepkey.dash;case a.THORChain:return window.keepkey.thorchain;case a.Maya:return window.keepkey.mayachain;default:return}}async function K({method:e,params:c,chain:r}){let o=w(r);return new Promise((n,i)=>{if(o&&"request"in o)o.request({method:e,params:c},(s,m)=>{s?i(s):n(m)});else i(new P("wallet_provider_not_found"))})}async function _(e){let c=w(e);if(!c)throw new P({errorKey:"wallet_provider_not_found",info:{wallet:A.KEEPKEY,chain:e}});let r="request_accounts";if(D.includes(e))r="eth_requestAccounts";let[o]=await c.request({method:r,params:[]});return o}async function f({assetValue:e,recipient:c,memo:r,gasLimit:o},n="transfer"){if(!e)throw new P("wallet_keepkey_asset_not_defined");let i=await _(e.chain),s=[{amount:{amount:e.getValue("string"),decimals:e.decimal},asset:{chain:e.chain,symbol:e.symbol.toUpperCase(),ticker:e.symbol.toUpperCase()},memo:r,from:i,recipient:c,gasLimit:o}];return K({method:n,params:s,chain:e.chain})}function O(e,c){return{call:async({contractAddress:r,abi:o,funcName:n,funcParams:i=[],txOverrides:s})=>{if(!r)throw new P("wallet_keepkey_contract_address_not_provided");let{createContract:m,getCreateContractTxObject:g,isStateChangingCall:y,toHexString:p}=await import("@swapkit/toolboxes/evm");if(y({abi:o,funcName:n})){let X=g({provider:e,chain:c}),{value:U,from:q,to:M,data:x}=await X({contractAddress:r,abi:o,funcName:n,funcParams:i,txOverrides:s});return e.send("eth_sendTransaction",[{value:p(BigInt(U||0)),from:q,to:M,data:x||"0x"}])}let v=await m(r,o,e)[n]?.(...i);return typeof v?.hash==="string"?v?.hash:v},approve:async({assetAddress:r,spenderAddress:o,amount:n,from:i})=>{let{MAX_APPROVAL:s,getCreateContractTxObject:m,toHexString:g}=await import("@swapkit/toolboxes/evm"),y=m({provider:e,chain:c}),{value:p,to:k,data:E}=await y({contractAddress:r,abi:I,funcName:"approve",funcParams:[o,BigInt(n||s)],txOverrides:{from:i}});return e.send("eth_sendTransaction",[{value:g(BigInt(p||0)),from:i,to:k,data:E||"0x"}])},sendTransaction:async(r)=>{let{from:o,to:n,data:i,value:s}=r;if(!n)throw new P("wallet_keepkey_send_transaction_no_address");let{toHexString:m}=await import("@swapkit/toolboxes/evm");return e.send("eth_sendTransaction",[{value:m(BigInt(s||0)),from:o,to:n,data:i||"0x"}])}}}var H=V({name:"connectKeepkeyBex",supportedChains:[t.Arbitrum,t.Avalanche,t.BinanceSmartChain,t.Bitcoin,t.BitcoinCash,t.Base,t.Cosmos,t.Dash,t.Dogecoin,t.Ethereum,t.Kujira,t.Litecoin,t.Maya,t.Optimism,t.Polygon,t.Solana,t.THORChain],walletType:B.KEEPKEY_BEX,connect:({addChain:e,supportedChains:c,walletType:r})=>async function o(n){let i=j({chains:n,supportedChains:c,walletType:r});return await Promise.all(i.map(async(s)=>{let m=await _(s),g=await R(s);e({...g,address:m,chain:s,walletType:r})})),!0}}),$=l(H);async function R(e){switch(e){case t.Maya:case t.THORChain:{let{getCosmosToolbox:c,THORCHAIN_GAS_VALUE:r,MAYA_GAS_VALUE:o}=await import("@swapkit/toolboxes/cosmos"),n=e===t.Maya?o:r;return{...c(e),deposit:(s)=>f({...s,recipient:""},"deposit"),transfer:(s)=>f({...s,gasLimit:n},"transfer")}}case t.Cosmos:case t.Kujira:{let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),r=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(L[e]);if(!r)throw new Error("Could not load signer");let o=c(e,{signer:r}),n=await r.getAccounts();if(!n?.[0]?.address)throw new Error("No accounts found");let[{address:i}]=n;return{...o,address:i}}case t.Dash:case t.Bitcoin:case t.BitcoinCash:case t.Dogecoin:case t.Litecoin:{let{getUtxoToolbox:c}=await import("@swapkit/toolboxes/utxo");return{...await c(e),getBalance:async()=>{try{let n=T(e),i=await window?.keepkey?.[n]?.request({method:"request_balance"});return[F.from({chain:e,value:i[0].balance})]}catch(n){throw console.error("Error fetching balance:",n),n}},transfer:f}}case t.Ethereum:case t.BinanceSmartChain:case t.Base:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:{let{prepareNetworkSwitch:c,switchEVMWalletNetwork:r}=await import("@swapkit/helpers"),{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:n}=await import("ethers"),i=w(e);if(!i)throw new b("wallet_keepkey_not_found");let s=new n(i,"any"),m=await s.getSigner(),g=await o(e,{provider:s,signer:m}),y=O(s,e);try{if(e!==t.Ethereum){let p=g.getNetworkParams();await r(s,e,p)}}catch(p){throw new b({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:B.KEEPKEY,chain:e}})}return c({provider:s,chain:e,toolbox:{...g,...y}})}default:return null}}export{H as keepkeyBexWallet,$ as KEEPKEY_BEX_SUPPORTED_CHAINS};
3
2
 
4
- //# debugId=E981B9B6E4C3A27664756E2164756E21
3
+ //# debugId=AFAB0E6C797C305A64756E2164756E21
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keepkey-bex/index.ts", "../src/keepkey-bex/walletHelpers.ts"],
4
4
  "sourcesContent": [
5
- "import {\n AssetValue,\n Chain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { NonETHToolbox } from \"@swapkit/toolboxes/evm\";\nimport type { Eip1193Provider } from \"ethers\";\nimport { getWalletSupportedChains } from \"../helpers\";\nimport {\n type WalletTxParams,\n cosmosTransfer,\n getKEEPKEYAddress,\n getKEEPKEYMethods,\n getKEEPKEYProvider,\n getProviderNameFromChain,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const keepkeyBexWallet = createWallet({\n name: \"connectKeepkeyBex\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Base,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n Chain.THORChain,\n ],\n walletType: WalletOption.KEEPKEY_BEX,\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeepkeyBex(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = await getKEEPKEYAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, balance: [], chain, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEEPKEY_BEX_SUPPORTED_CHAINS = getWalletSupportedChains(keepkeyBexWallet);\n\nasync function getWalletMethods(chain: (typeof KEEPKEY_BEX_SUPPORTED_CHAINS)[number]) {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain: {\n const { getToolboxByChain, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = getToolboxByChain(chain);\n\n return {\n ...toolbox(),\n deposit: (tx: WalletTxParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit\"),\n transfer: (tx: WalletTxParams) => walletTransfer({ ...tx, gasLimit }, \"transfer\"),\n };\n }\n\n case Chain.Cosmos:\n case Chain.Kujira: {\n const { getToolboxByChain } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = getToolboxByChain(chain)();\n\n return { ...toolbox, transfer: cosmosTransfer(chain) };\n }\n\n case Chain.Dash:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin: {\n const { getToolboxByChain } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = getToolboxByChain(chain)();\n\n const getBalance = async () => {\n try {\n const providerChain = getProviderNameFromChain(chain);\n // @ts-expect-error We assuming there chains via switch\n const balance = await window?.keepkey?.[providerChain]?.request({\n method: \"request_balance\",\n });\n const assetValue = AssetValue.from({ chain, value: balance[0].balance });\n return [assetValue];\n } catch (error) {\n console.error(\"Error fetching balance:\", error);\n throw error;\n }\n };\n\n return { ...toolbox, getBalance, transfer: walletTransfer };\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Base:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Avalanche: {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getToolboxByChain, getBalance, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_keepkey_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = getToolboxByChain(chain)({ provider, signer });\n const keepkeyMethods = getKEEPKEYMethods(provider);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = (toolbox as NonETHToolbox).getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n return prepareNetworkSwitch({\n provider,\n chain,\n toolbox: {\n ...toolbox,\n ...keepkeyMethods,\n // Overwrite getBalance due to race conditions\n getBalance: (address: string, potentialScamFilter?: boolean) =>\n getBalance({ chain, provider: getProvider(chain), address, potentialScamFilter }),\n },\n });\n }\n\n default:\n return null;\n }\n}\n",
6
- "import {\n type AssetValue,\n Chain,\n ChainToChainId,\n type CosmosChain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { TransferParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\ninterface UTXOProvider {\n request: (\n args: {\n method: string;\n params?: {\n amount: { amount: string; decimals?: number };\n asset: { chain: Chain; symbol: string; ticker: string };\n memo: string | undefined;\n from?: string;\n recipient: string;\n gasLimit?: string | bigint;\n }[];\n },\n callback: (err: string, tx: string) => void,\n ) => void;\n}\n\ntype TransactionMethod = \"transfer\" | \"deposit\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: string | number; decimals?: number };\n decimal?: number;\n recipient: string;\n memo?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint | undefined;\n};\n\nexport const getProviderNameFromChain = (chain: Chain): string => {\n switch (chain) {\n case Chain.Bitcoin:\n return \"bitcoin\";\n case Chain.BitcoinCash:\n return \"bitcoincash\";\n case Chain.Dash:\n return \"dash\";\n case Chain.Dogecoin:\n return \"dogecoin\";\n case Chain.Litecoin:\n return \"litecoin\";\n default:\n throw new Error(\"Unsupported chain\");\n }\n};\n\ndeclare const window: {\n keepkey?: {\n binance: Eip1193Provider;\n bitcoin: Eip1193Provider;\n bitcoincash: Eip1193Provider;\n dogecoin: Eip1193Provider;\n ethereum: Eip1193Provider;\n cosmos: Eip1193Provider;\n dash: Eip1193Provider;\n litecoin: Eip1193Provider;\n thorchain: Eip1193Provider;\n mayachain: Eip1193Provider;\n };\n} & Window;\n\nexport function getKEEPKEYProvider<T extends Chain>(chain: T) {\n if (!window.keepkey) throw new SwapKitError(\"wallet_keepkey_not_found\");\n\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Base:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n return window.keepkey.ethereum as Eip1193Provider;\n case Chain.Cosmos:\n return window.keepkey.cosmos as Eip1193Provider;\n case Chain.Bitcoin:\n return window.keepkey.bitcoin as UTXOProvider;\n case Chain.BitcoinCash:\n return window.keepkey.bitcoincash as UTXOProvider;\n case Chain.Dogecoin:\n return window.keepkey.dogecoin as UTXOProvider;\n case Chain.Litecoin:\n return window.keepkey.litecoin as UTXOProvider;\n case Chain.Dash:\n return window.keepkey.dash as UTXOProvider;\n case Chain.THORChain:\n return window.keepkey.thorchain as UTXOProvider;\n case Chain.Maya:\n return window.keepkey.mayachain as UTXOProvider;\n\n default:\n return undefined;\n }\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = getKEEPKEYProvider(chain);\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-ignore\n client.request({ method, params }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n } else {\n reject(new SwapKitError(\"wallet_provider_not_found\"));\n }\n });\n}\n\nexport async function getKEEPKEYAddress(chain: Chain) {\n const eipProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n if (!eipProvider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n let method = \"request_accounts\";\n if (EVMChains.includes(chain as EVMChain)) {\n method = \"eth_requestAccounts\";\n }\n\n const [response] = await eipProvider.request({ method, params: [] });\n return response;\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams & { assetValue: AssetValue },\n method: TransactionMethod = \"transfer\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_keepkey_asset_not_defined\");\n }\n\n const from = await getKEEPKEYAddress(assetValue.chain);\n const params = [\n {\n amount: {\n amount: assetValue.getValue(\"string\"),\n decimals: assetValue.decimal,\n },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n memo,\n from,\n recipient,\n gasLimit,\n },\n ];\n\n return transaction({ method, params, chain: assetValue.chain });\n}\n\nexport function cosmosTransfer(chain: CosmosChain) {\n const chainId = ChainToChainId[chain];\n return async ({ from, recipient, assetValue }: TransferParams) => {\n const { getMsgSendDenom, createSigningStargateClient } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n // @ts-expect-error assumed available connection\n const offlineSigner = window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(chainId);\n const cosmJS = await createSigningStargateClient(SKConfig.get(\"rpcUrls\")[chain], offlineSigner);\n\n const coins = [\n {\n denom: getMsgSendDenom(assetValue.symbol).toLowerCase(),\n amount: assetValue.getBaseValue(\"string\"),\n },\n ];\n\n try {\n const { transactionHash } = await cosmJS.sendTokens(from, recipient, coins, 2);\n return transactionHash;\n } catch (error) {\n throw new SwapKitError(\"core_transaction_failed\", { error });\n }\n };\n}\n\nexport function getKEEPKEYMethods(provider: BrowserProvider) {\n return {\n call: async <T>({\n contractAddress,\n abi,\n funcName,\n funcParams = [],\n txOverrides,\n }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_keepkey_contract_address_not_provided\");\n }\n const { createContract, createContractTxObject, isStateChangingCall, toHexString } =\n await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall(abi, funcName);\n\n if (isStateChanging) {\n const { value, from, to, data } = await createContractTxObject(provider, {\n contractAddress,\n abi,\n funcName,\n funcParams,\n txOverrides,\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, createContractTxObject, toHexString } = await import(\n \"@swapkit/toolboxes/evm\"\n );\n\n const { value, to, data } = await createContractTxObject(provider, {\n contractAddress: assetAddress,\n abi: erc20ABI,\n funcName: \"approve\",\n funcParams: [spenderAddress, BigInt(amount || MAX_APPROVAL)],\n txOverrides: { from },\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n sendTransaction: async (tx: EVMTxParams) => {\n const { from, to, data, value } = tx;\n if (!to) {\n throw new SwapKitError(\"wallet_keepkey_send_transaction_no_address\");\n }\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n };\n}\n"
5
+ "import {\n AssetValue,\n Chain,\n ChainIdToChain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { Eip1193Provider } from \"ethers\";\nimport { getWalletSupportedChains } from \"../utils\";\nimport {\n type WalletTxParams,\n getKEEPKEYAddress,\n getKEEPKEYMethods,\n getKEEPKEYProvider,\n getProviderNameFromChain,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const keepkeyBexWallet = createWallet({\n name: \"connectKeepkeyBex\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Base,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n Chain.THORChain,\n ],\n walletType: WalletOption.KEEPKEY_BEX,\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeepkeyBex(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = await getKEEPKEYAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEEPKEY_BEX_SUPPORTED_CHAINS = getWalletSupportedChains(keepkeyBexWallet);\n\nasync function getWalletMethods(chain: (typeof KEEPKEY_BEX_SUPPORTED_CHAINS)[number]) {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain: {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = getCosmosToolbox(chain);\n\n return {\n ...toolbox,\n deposit: (tx: WalletTxParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit\"),\n transfer: (tx: WalletTxParams) => walletTransfer({ ...tx, gasLimit }, \"transfer\"),\n };\n }\n\n case Chain.Cosmos:\n case Chain.Kujira: {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n // @ts-expect-error assumed available connection\n const signer = window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(ChainIdToChain[chain]);\n if (!signer) throw new Error(\"Could not load signer\");\n const toolbox = getCosmosToolbox(chain, { signer });\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n\n return { ...toolbox, address };\n }\n\n case Chain.Dash:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain);\n\n const getBalance = async () => {\n try {\n const providerChain = getProviderNameFromChain(chain);\n // @ts-expect-error We assuming there chains via switch\n const balance = await window?.keepkey?.[providerChain]?.request({\n method: \"request_balance\",\n });\n const assetValue = AssetValue.from({ chain, value: balance[0].balance });\n return [assetValue];\n } catch (error) {\n console.error(\"Error fetching balance:\", error);\n throw error;\n }\n };\n\n return { ...toolbox, getBalance, transfer: walletTransfer };\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Base:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Avalanche: {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_keepkey_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n const keepkeyMethods = getKEEPKEYMethods(provider, chain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n return prepareNetworkSwitch({\n provider,\n chain,\n toolbox: { ...toolbox, ...keepkeyMethods },\n });\n }\n\n default:\n return null;\n }\n}\n",
6
+ "import {\n type AssetValue,\n Chain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\ninterface UTXOProvider {\n request: (\n args: {\n method: string;\n params?: {\n amount: { amount: string; decimals?: number };\n asset: { chain: Chain; symbol: string; ticker: string };\n memo: string | undefined;\n from?: string;\n recipient: string;\n gasLimit?: string | bigint;\n }[];\n },\n callback: (err: string, tx: string) => void,\n ) => void;\n}\n\ntype TransactionMethod = \"transfer\" | \"deposit\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: string | number; decimals?: number };\n decimal?: number;\n recipient: string;\n memo?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint | undefined;\n};\n\nexport const getProviderNameFromChain = (chain: Chain): string => {\n switch (chain) {\n case Chain.Bitcoin:\n return \"bitcoin\";\n case Chain.BitcoinCash:\n return \"bitcoincash\";\n case Chain.Dash:\n return \"dash\";\n case Chain.Dogecoin:\n return \"dogecoin\";\n case Chain.Litecoin:\n return \"litecoin\";\n default:\n throw new Error(\"Unsupported chain\");\n }\n};\n\ndeclare const window: {\n keepkey?: {\n binance: Eip1193Provider;\n bitcoin: Eip1193Provider;\n bitcoincash: Eip1193Provider;\n dogecoin: Eip1193Provider;\n ethereum: Eip1193Provider;\n cosmos: Eip1193Provider;\n dash: Eip1193Provider;\n litecoin: Eip1193Provider;\n thorchain: Eip1193Provider;\n mayachain: Eip1193Provider;\n };\n} & Window;\n\nexport function getKEEPKEYProvider<T extends Chain>(chain: T) {\n if (!window.keepkey) throw new SwapKitError(\"wallet_keepkey_not_found\");\n\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Base:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n return window.keepkey.ethereum as Eip1193Provider;\n case Chain.Cosmos:\n return window.keepkey.cosmos as Eip1193Provider;\n case Chain.Bitcoin:\n return window.keepkey.bitcoin as UTXOProvider;\n case Chain.BitcoinCash:\n return window.keepkey.bitcoincash as UTXOProvider;\n case Chain.Dogecoin:\n return window.keepkey.dogecoin as UTXOProvider;\n case Chain.Litecoin:\n return window.keepkey.litecoin as UTXOProvider;\n case Chain.Dash:\n return window.keepkey.dash as UTXOProvider;\n case Chain.THORChain:\n return window.keepkey.thorchain as UTXOProvider;\n case Chain.Maya:\n return window.keepkey.mayachain as UTXOProvider;\n\n default:\n return undefined;\n }\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = getKEEPKEYProvider(chain);\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-ignore\n client.request({ method, params }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n } else {\n reject(new SwapKitError(\"wallet_provider_not_found\"));\n }\n });\n}\n\nexport async function getKEEPKEYAddress(chain: Chain) {\n const eipProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n if (!eipProvider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n let method = \"request_accounts\";\n if (EVMChains.includes(chain as EVMChain)) {\n method = \"eth_requestAccounts\";\n }\n\n const [response] = await eipProvider.request({ method, params: [] });\n return response;\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams & { assetValue: AssetValue },\n method: TransactionMethod = \"transfer\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_keepkey_asset_not_defined\");\n }\n\n const from = await getKEEPKEYAddress(assetValue.chain);\n const params = [\n {\n amount: {\n amount: assetValue.getValue(\"string\"),\n decimals: assetValue.decimal,\n },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n memo,\n from,\n recipient,\n gasLimit,\n },\n ];\n\n return transaction({ method, params, chain: assetValue.chain });\n}\n\nexport function getKEEPKEYMethods(provider: BrowserProvider, chain: EVMChain) {\n return {\n call: async <T>({\n contractAddress,\n abi,\n funcName,\n funcParams = [],\n txOverrides,\n }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_keepkey_contract_address_not_provided\");\n }\n const { createContract, getCreateContractTxObject, isStateChangingCall, toHexString } =\n await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall({ abi, funcName });\n\n if (isStateChanging) {\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, from, to, data } = await createTx({\n contractAddress,\n abi,\n funcName,\n funcParams,\n txOverrides,\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, getCreateContractTxObject, toHexString } = await import(\n \"@swapkit/toolboxes/evm\"\n );\n\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, to, data } = await createTx({\n contractAddress: assetAddress,\n abi: erc20ABI,\n funcName: \"approve\",\n funcParams: [spenderAddress, BigInt(amount || MAX_APPROVAL)],\n txOverrides: { from },\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n sendTransaction: async (tx: EVMTxParams) => {\n const { from, to, data, value } = tx;\n if (!to) {\n throw new SwapKitError(\"wallet_keepkey_send_transaction_no_address\");\n }\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n };\n}\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "E981B9B6E4C3A27664756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "AFAB0E6C797C305A64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,3 +1,3 @@
1
- var y={};j(y,{keplrWallet:()=>B});module.exports=C(y);var i=require("@swapkit/helpers");var s=require("@swapkit/helpers"),t=new Map([[s.ChainId.Kujira,{chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",rpc:"https://kujira-rpc.nodes.defiantlabs.net",rest:"https://rest.cosmos.directory/kujira/",nodeProvider:{name:"PFC",email:"pfc-validator@protonmail.com",website:"https://pfc.zone/"},bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub"},currencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"bKUJI",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png"},{coinDenom:"AQLA",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla",coinDecimals:6,coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png"}],feeCurrencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"axlUSDC",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F",coinDecimals:6,coinGeckoId:"usd-coin"},{coinDenom:"ATOM",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",coinDecimals:6,coinGeckoId:"cosmos"},{coinDenom:"OSMO",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23",coinDecimals:6,coinGeckoId:"osmosis"},{coinDenom:"CMDX",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07",coinDecimals:6,coinGeckoId:"comdex"},{coinDenom:"EVMOS",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10",coinDecimals:6,coinGeckoId:"evmos"},{coinDenom:"JUNO",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5",coinDecimals:6,coinGeckoId:"juno-network"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"SCRT",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5",coinDecimals:6,coinGeckoId:"secret"},{coinDenom:"STARS",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602",coinDecimals:6,coinGeckoId:"stargaze"},{coinDenom:"wAVAX",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2",coinDecimals:18,coinGeckoId:"avalanche-2"},{coinDenom:"wETH",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7",coinDecimals:18,coinGeckoId:"ethereum"}],stakeCurrency:{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},features:["cosmwasm"]}],[s.ChainId.THORChain,{chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",rpc:"https://rpc-thorchain.keplr.app",rest:"https://lcd-thorchain.keplr.app",bip44:{coinType:931},bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub"},currencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png"}],feeCurrencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",gasPriceStep:{low:0.02,average:0.02,high:0.03}}],features:[]}]]);var d=[i.ChainId.Cosmos,i.ChainId.Kujira,i.ChainId.THORChain],B=i.createWallet({name:"connectKeplr",supportedChains:[i.Chain.Cosmos,i.Chain.Kujira,i.Chain.THORChain],connect:({addChain:k,supportedChains:h})=>async function I(l,a=i.WalletOption.KEPLR){let A=a===i.WalletOption.LEAP?"leap":"keplr",p=i.filterSupportedChains({chains:l,supportedChains:h,walletType:a}),m=window[A];return await Promise.all(p.map(async(n)=>{let o=i.ChainToChainId[n];if(!d.includes(o)){let c=t.get(o);if(!c)throw new Error(`Unsupported chain ${n}`);await m.experimentalSuggestChain(c)}m?.enable(o);let e=m?.getOfflineSignerOnlyAmino(o);if(!e)throw new Error("Could not load offlineSigner");let{getToolboxByChain:E}=await import("@swapkit/toolboxes/cosmos"),u=await e.getAccounts();if(!u?.[0]?.address)throw new Error("No accounts found");let[{address:r}]=u,D=E(n)(),g=(c)=>D.transfer({...c,signer:e,fee:2,from:c.from||r}),b=n===i.Chain.THORChain?(c)=>D.deposit({...c,signer:e,from:c.from||r,memo:c.memo||""}):void 0;k({...D,deposit:b,chain:n,transfer:g,address:r,balance:[],walletType:a})})),!0}});
1
+ var y={};A(y,{keplrWallet:()=>f});module.exports=E(y);var i=require("@swapkit/helpers");var r=require("@swapkit/helpers"),m=new Map([[r.ChainId.Kujira,{chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",rpc:"https://kujira-rpc.nodes.defiantlabs.net",rest:"https://rest.cosmos.directory/kujira/",nodeProvider:{name:"PFC",email:"pfc-validator@protonmail.com",website:"https://pfc.zone/"},bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub"},currencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"bKUJI",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png"},{coinDenom:"AQLA",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla",coinDecimals:6,coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png"}],feeCurrencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"axlUSDC",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F",coinDecimals:6,coinGeckoId:"usd-coin"},{coinDenom:"ATOM",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",coinDecimals:6,coinGeckoId:"cosmos"},{coinDenom:"OSMO",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23",coinDecimals:6,coinGeckoId:"osmosis"},{coinDenom:"CMDX",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07",coinDecimals:6,coinGeckoId:"comdex"},{coinDenom:"EVMOS",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10",coinDecimals:6,coinGeckoId:"evmos"},{coinDenom:"JUNO",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5",coinDecimals:6,coinGeckoId:"juno-network"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"SCRT",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5",coinDecimals:6,coinGeckoId:"secret"},{coinDenom:"STARS",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602",coinDecimals:6,coinGeckoId:"stargaze"},{coinDenom:"wAVAX",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2",coinDecimals:18,coinGeckoId:"avalanche-2"},{coinDenom:"wETH",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7",coinDecimals:18,coinGeckoId:"ethereum"}],stakeCurrency:{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},features:["cosmwasm"]}],[r.ChainId.THORChain,{chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",rpc:"https://rpc-thorchain.keplr.app",rest:"https://lcd-thorchain.keplr.app",bip44:{coinType:931},bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub"},currencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png"}],feeCurrencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",gasPriceStep:{low:0.02,average:0.02,high:0.03}}],features:[]}]]);var b=[i.ChainId.Cosmos,i.ChainId.Kujira,i.ChainId.THORChain],f=i.createWallet({name:"connectKeplr",supportedChains:[i.Chain.Cosmos,i.Chain.Kujira,i.Chain.THORChain],connect:({addChain:l,supportedChains:h})=>async function F(p,e=i.WalletOption.KEPLR){let u=e===i.WalletOption.LEAP?"leap":"keplr",D=i.filterSupportedChains({chains:p,supportedChains:h,walletType:e}),c=window[u];return await Promise.all(D.map(async(n)=>{let o=i.ChainToChainId[n];if(!b.includes(o)){let s=m.get(o);if(!s)throw new Error(`Unsupported chain ${n}`);await c.experimentalSuggestChain(s)}c?.enable(o);let a=c?.getOfflineSignerOnlyAmino(o);if(!a)throw new Error("Could not load signer");let{getCosmosToolbox:k}=await import("@swapkit/toolboxes/cosmos"),t=await a.getAccounts();if(!t?.[0]?.address)throw new Error("No accounts found");let[{address:C}]=t,d=k(n,{signer:a});l({...d,chain:n,address:C,walletType:e})})),!0}});
2
2
 
3
- //# debugId=B97D697FC682365E64756E2164756E21
3
+ //# debugId=BCA06D01D78A87E264756E2164756E21
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keplr/index.ts", "../src/keplr/chainRegistry.ts"],
4
4
  "sourcesContent": [
5
- "import type { Keplr } from \"@keplr-wallet/types\";\nimport {\n type AssetValue,\n Chain,\n ChainId,\n ChainToChainId,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { CosmosToolboxType } from \"@swapkit/toolboxes/cosmos\";\nimport { chainRegistry } from \"./chainRegistry\";\n\ndeclare global {\n interface Window {\n keplr: Keplr;\n leap: Keplr;\n }\n}\n\nconst keplrSupportedChainIds = [ChainId.Cosmos, ChainId.Kujira, ChainId.THORChain] as const;\n\nexport const keplrWallet = createWallet({\n name: \"connectKeplr\",\n supportedChains: [Chain.Cosmos, Chain.Kujira, Chain.THORChain],\n connect: ({ addChain, supportedChains }) =>\n async function connectKeplr(\n chains: Chain[],\n walletType: WalletOption.KEPLR | WalletOption.LEAP = WalletOption.KEPLR,\n ) {\n const extensionKey = walletType === WalletOption.LEAP ? \"leap\" : \"keplr\";\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const keplrClient = window[extensionKey];\n\n await Promise.all(\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO: refactor/split\n filteredChains.map(async (chain) => {\n const chainId = ChainToChainId[chain] as (typeof keplrSupportedChainIds)[number];\n\n if (!keplrSupportedChainIds.includes(chainId)) {\n const chainConfig = chainRegistry.get(chainId);\n if (!chainConfig) throw new Error(`Unsupported chain ${chain}`);\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const offlineSigner = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!offlineSigner) throw new Error(\"Could not load offlineSigner\");\n\n const { getToolboxByChain } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await offlineSigner.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n const toolbox = getToolboxByChain(chain)();\n\n const transfer = (params: {\n from?: string;\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) =>\n toolbox.transfer({\n ...params,\n signer: offlineSigner,\n fee: 2,\n from: params.from || address,\n });\n\n const deposit =\n chain === Chain.THORChain\n ? (params: {\n from?: string;\n assetValue: AssetValue;\n memo?: string;\n }) =>\n (toolbox as ReturnType<CosmosToolboxType[\"THOR\"]>).deposit({\n ...params,\n signer: offlineSigner,\n from: params.from || address,\n memo: params.memo || \"\",\n })\n : undefined;\n\n addChain({\n ...toolbox,\n deposit,\n chain,\n transfer,\n address,\n balance: [],\n walletType,\n });\n }),\n );\n\n return true;\n },\n});\n",
5
+ "import {\n Chain,\n ChainId,\n ChainToChainId,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { chainRegistry } from \"./chainRegistry\";\n\nconst keplrSupportedChainIds = [ChainId.Cosmos, ChainId.Kujira, ChainId.THORChain] as const;\n\nexport const keplrWallet = createWallet({\n name: \"connectKeplr\",\n supportedChains: [Chain.Cosmos, Chain.Kujira, Chain.THORChain],\n connect: ({ addChain, supportedChains }) =>\n async function connectKeplr(\n chains: Chain[],\n walletType: WalletOption.KEPLR | WalletOption.LEAP = WalletOption.KEPLR,\n ) {\n const extensionKey = walletType === WalletOption.LEAP ? \"leap\" : \"keplr\";\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const keplrClient = window[extensionKey];\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const chainId = ChainToChainId[chain] as (typeof keplrSupportedChainIds)[number];\n\n if (!keplrSupportedChainIds.includes(chainId)) {\n const chainConfig = chainRegistry.get(chainId);\n if (!chainConfig) throw new Error(`Unsupported chain ${chain}`);\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const signer = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!signer) throw new Error(\"Could not load signer\");\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n const toolbox = getCosmosToolbox(chain, { signer });\n\n addChain({ ...toolbox, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n",
6
6
  "import type { ChainInfo } from \"@keplr-wallet/types\";\nimport { ChainId } from \"@swapkit/helpers\";\n\nexport const chainRegistry = new Map<ChainId, ChainInfo>([\n [\n ChainId.Kujira,\n {\n chainId: \"kaiyo-1\",\n chainName: \"Kujira\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png\",\n rpc: \"https://kujira-rpc.nodes.defiantlabs.net\",\n rest: \"https://rest.cosmos.directory/kujira/\",\n nodeProvider: {\n name: \"PFC\",\n email: \"pfc-validator@protonmail.com\",\n website: \"https://pfc.zone/\",\n },\n bip44: {\n coinType: 118,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"kujira\",\n bech32PrefixAccPub: \"kujirapub\",\n bech32PrefixValAddr: \"kujiravaloper\",\n bech32PrefixValPub: \"kujiravaloperpub\",\n bech32PrefixConsAddr: \"kujiravalcons\",\n bech32PrefixConsPub: \"kujiravalconspub\",\n },\n currencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"bKUJI\",\n coinMinimalDenom:\n \"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji\",\n coinDecimals: 6,\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png\",\n },\n {\n coinDenom: \"AQLA\",\n coinMinimalDenom: \"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla\",\n coinDecimals: 6,\n coinGeckoId: \"aqualibre\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"axlUSDC\",\n coinMinimalDenom: \"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F\",\n coinDecimals: 6,\n coinGeckoId: \"usd-coin\",\n },\n {\n coinDenom: \"ATOM\",\n coinMinimalDenom: \"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2\",\n coinDecimals: 6,\n coinGeckoId: \"cosmos\",\n },\n {\n coinDenom: \"OSMO\",\n coinMinimalDenom: \"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23\",\n coinDecimals: 6,\n coinGeckoId: \"osmosis\",\n },\n {\n coinDenom: \"CMDX\",\n coinMinimalDenom: \"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07\",\n coinDecimals: 6,\n coinGeckoId: \"comdex\",\n },\n {\n coinDenom: \"EVMOS\",\n coinMinimalDenom: \"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10\",\n coinDecimals: 6,\n coinGeckoId: \"evmos\",\n },\n {\n coinDenom: \"JUNO\",\n coinMinimalDenom: \"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5\",\n coinDecimals: 6,\n coinGeckoId: \"juno-network\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"SCRT\",\n coinMinimalDenom: \"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5\",\n coinDecimals: 6,\n coinGeckoId: \"secret\",\n },\n {\n coinDenom: \"STARS\",\n coinMinimalDenom: \"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602\",\n coinDecimals: 6,\n coinGeckoId: \"stargaze\",\n },\n {\n coinDenom: \"wAVAX\",\n coinMinimalDenom: \"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2\",\n coinDecimals: 18,\n coinGeckoId: \"avalanche-2\",\n },\n {\n coinDenom: \"wETH\",\n coinMinimalDenom: \"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7\",\n coinDecimals: 18,\n coinGeckoId: \"ethereum\",\n },\n ],\n stakeCurrency: {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n features: [\"cosmwasm\"],\n },\n ],\n [\n ChainId.THORChain,\n {\n chainId: \"thorchain-1\",\n chainName: \"THORChain\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png\",\n rpc: \"https://rpc-thorchain.keplr.app\",\n rest: \"https://lcd-thorchain.keplr.app\",\n bip44: {\n coinType: 931,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"thor\",\n bech32PrefixAccPub: \"thorpub\",\n bech32PrefixValAddr: \"thorvaloper\",\n bech32PrefixValPub: \"thorvaloperpub\",\n bech32PrefixConsAddr: \"thorvalcons\",\n bech32PrefixConsPub: \"thorvalconspub\",\n },\n currencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n gasPriceStep: {\n low: 0.02,\n average: 0.02,\n high: 0.03,\n },\n },\n ],\n features: [],\n },\n ],\n]);\n"
7
7
  ],
8
- "mappings": "sDASO,IARP,8BCAwB,IAAxB,8BAEa,EAAgB,IAAI,IAAwB,CACvD,CACE,UAAQ,OACR,CACE,QAAS,UACT,UAAW,SACX,oBACE,gGACF,IAAK,2CACL,KAAM,wCACN,aAAc,CACZ,KAAM,MACN,MAAO,+BACP,QAAS,mBACX,EACA,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,SACrB,mBAAoB,YACpB,oBAAqB,gBACrB,mBAAoB,mBACpB,qBAAsB,gBACtB,oBAAqB,kBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBACE,qFACF,aAAc,EACd,aACE,yKACJ,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,YACb,aACE,oJACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,UACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,SACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,OACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,cACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,aACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,UACf,CACF,EACA,cAAe,CACb,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,SAAU,CAAC,UAAU,CACvB,CACF,EACA,CACE,UAAQ,UACR,CACE,QAAS,cACT,UAAW,YACX,oBACE,oGACF,IAAK,kCACL,KAAM,kCACN,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,OACrB,mBAAoB,UACpB,oBAAqB,cACrB,mBAAoB,iBACpB,qBAAsB,cACtB,oBAAqB,gBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,kGACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,mGACF,aAAc,CACZ,IAAK,KACL,QAAS,KACT,KAAM,IACR,CACF,CACF,EACA,SAAU,CAAC,CACb,CACF,CACF,CAAC,ED9LD,IAAM,EAAyB,CAAC,UAAQ,OAAQ,UAAQ,OAAQ,UAAQ,SAAS,EAEpE,EAAc,eAAa,CACtC,KAAM,eACN,gBAAiB,CAAC,QAAM,OAAQ,QAAM,OAAQ,QAAM,SAAS,EAC7D,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAY,CACzB,EACA,EAAqD,eAAa,MAClE,CACA,IAAM,EAAe,IAAe,eAAa,KAAO,OAAS,QAC3D,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAC9E,EAAc,OAAO,GAkE3B,OAhEA,MAAM,QAAQ,IAEZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAU,iBAAe,GAE/B,IAAK,EAAuB,SAAS,CAAO,EAAG,CAC7C,IAAM,EAAc,EAAc,IAAI,CAAO,EAC7C,IAAK,EAAa,MAAM,IAAI,MAAM,qBAAqB,GAAO,EAE9D,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAgB,GAAa,0BAA0B,CAAO,EACpE,IAAK,EAAe,MAAM,IAAI,MAAM,8BAA8B,EAElE,IAAQ,qBAAsB,KAAa,qCAErC,EAAW,MAAM,EAAc,YAAY,EACjD,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,MAAM,mBAAmB,EAEhE,KAAS,YAAa,EAChB,EAAU,EAAkB,CAAK,EAAE,EAEnC,EAAW,CAAC,IAMhB,EAAQ,SAAS,IACZ,EACH,OAAQ,EACR,IAAK,EACL,KAAM,EAAO,MAAQ,CACvB,CAAC,EAEG,EACJ,IAAU,QAAM,UACZ,CAAC,IAKE,EAAkD,QAAQ,IACtD,EACH,OAAQ,EACR,KAAM,EAAO,MAAQ,EACrB,KAAM,EAAO,MAAQ,EACvB,CAAC,EACH,OAEN,EAAS,IACJ,EACH,UACA,QACA,WACA,UACA,QAAS,CAAC,EACV,YACF,CAAC,EACF,CACH,EAEO,GAEb,CAAC",
9
- "debugId": "B97D697FC682365E64756E2164756E21",
8
+ "mappings": "sDAOO,IAPP,8BCCwB,IAAxB,8BAEa,EAAgB,IAAI,IAAwB,CACvD,CACE,UAAQ,OACR,CACE,QAAS,UACT,UAAW,SACX,oBACE,gGACF,IAAK,2CACL,KAAM,wCACN,aAAc,CACZ,KAAM,MACN,MAAO,+BACP,QAAS,mBACX,EACA,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,SACrB,mBAAoB,YACpB,oBAAqB,gBACrB,mBAAoB,mBACpB,qBAAsB,gBACtB,oBAAqB,kBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBACE,qFACF,aAAc,EACd,aACE,yKACJ,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,YACb,aACE,oJACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,UACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,SACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,OACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,cACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,aACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,UACf,CACF,EACA,cAAe,CACb,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,SAAU,CAAC,UAAU,CACvB,CACF,EACA,CACE,UAAQ,UACR,CACE,QAAS,cACT,UAAW,YACX,oBACE,oGACF,IAAK,kCACL,KAAM,kCACN,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,OACrB,mBAAoB,UACpB,oBAAqB,cACrB,mBAAoB,iBACpB,qBAAsB,cACtB,oBAAqB,gBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,kGACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,mGACF,aAAc,CACZ,IAAK,KACL,QAAS,KACT,KAAM,IACR,CACF,CACF,EACA,SAAU,CAAC,CACb,CACF,CACF,CAAC,EDxMD,IAAM,EAAyB,CAAC,UAAQ,OAAQ,UAAQ,OAAQ,UAAQ,SAAS,EAEpE,EAAc,eAAa,CACtC,KAAM,eACN,gBAAiB,CAAC,QAAM,OAAQ,QAAM,OAAQ,QAAM,SAAS,EAC7D,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAY,CACzB,EACA,EAAqD,eAAa,MAClE,CACA,IAAM,EAAe,IAAe,eAAa,KAAO,OAAS,QAC3D,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAC9E,EAAc,OAAO,GA6B3B,OA3BA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAU,iBAAe,GAE/B,IAAK,EAAuB,SAAS,CAAO,EAAG,CAC7C,IAAM,EAAc,EAAc,IAAI,CAAO,EAC7C,IAAK,EAAa,MAAM,IAAI,MAAM,qBAAqB,GAAO,EAE9D,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAS,GAAa,0BAA0B,CAAO,EAC7D,IAAK,EAAQ,MAAM,IAAI,MAAM,uBAAuB,EAEpD,IAAQ,oBAAqB,KAAa,qCAEpC,EAAW,MAAM,EAAO,YAAY,EAC1C,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,MAAM,mBAAmB,EAEhE,KAAS,YAAa,EAChB,EAAU,EAAiB,EAAO,CAAE,QAAO,CAAC,EAElD,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GAEb,CAAC",
9
+ "debugId": "BCA06D01D78A87E264756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,3 @@
1
- import{s as j,t as d}from"../../chunk-5m175wfy.js";import{Chain as e,ChainId as s,ChainToChainId as B,WalletOption as h,createWallet as y,filterSupportedChains as I}from"@swapkit/helpers";import{ChainId as t}from"@swapkit/helpers";var k=new Map([[t.Kujira,{chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",rpc:"https://kujira-rpc.nodes.defiantlabs.net",rest:"https://rest.cosmos.directory/kujira/",nodeProvider:{name:"PFC",email:"pfc-validator@protonmail.com",website:"https://pfc.zone/"},bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub"},currencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"bKUJI",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png"},{coinDenom:"AQLA",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla",coinDecimals:6,coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png"}],feeCurrencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"axlUSDC",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F",coinDecimals:6,coinGeckoId:"usd-coin"},{coinDenom:"ATOM",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",coinDecimals:6,coinGeckoId:"cosmos"},{coinDenom:"OSMO",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23",coinDecimals:6,coinGeckoId:"osmosis"},{coinDenom:"CMDX",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07",coinDecimals:6,coinGeckoId:"comdex"},{coinDenom:"EVMOS",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10",coinDecimals:6,coinGeckoId:"evmos"},{coinDenom:"JUNO",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5",coinDecimals:6,coinGeckoId:"juno-network"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"SCRT",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5",coinDecimals:6,coinGeckoId:"secret"},{coinDenom:"STARS",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602",coinDecimals:6,coinGeckoId:"stargaze"},{coinDenom:"wAVAX",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2",coinDecimals:18,coinGeckoId:"avalanche-2"},{coinDenom:"wETH",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7",coinDecimals:18,coinGeckoId:"ethereum"}],stakeCurrency:{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},features:["cosmwasm"]}],[t.THORChain,{chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",rpc:"https://rpc-thorchain.keplr.app",rest:"https://lcd-thorchain.keplr.app",bip44:{coinType:931},bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub"},currencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png"}],feeCurrencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",gasPriceStep:{low:0.02,average:0.02,high:0.03}}],features:[]}]]);var x=[s.Cosmos,s.Kujira,s.THORChain],U=y({name:"connectKeplr",supportedChains:[e.Cosmos,e.Kujira,e.THORChain],connect:({addChain:l,supportedChains:A})=>async function M(p,a=h.KEPLR){let E=a===h.LEAP?"leap":"keplr",g=I({chains:p,supportedChains:A,walletType:a}),m=window[E];return await Promise.all(g.map(async(c)=>{let n=B[c];if(!x.includes(n)){let i=k.get(n);if(!i)throw new Error(`Unsupported chain ${c}`);await m.experimentalSuggestChain(i)}m?.enable(n);let o=m?.getOfflineSignerOnlyAmino(n);if(!o)throw new Error("Could not load offlineSigner");let{getToolboxByChain:b}=await import("@swapkit/toolboxes/cosmos"),u=await o.getAccounts();if(!u?.[0]?.address)throw new Error("No accounts found");let[{address:r}]=u,D=b(c)(),F=(i)=>D.transfer({...i,signer:o,fee:2,from:i.from||r}),C=c===e.THORChain?(i)=>D.deposit({...i,signer:o,from:i.from||r,memo:i.memo||""}):void 0;l({...D,deposit:C,chain:c,transfer:F,address:r,balance:[],walletType:a})})),!0}});export{U as keplrWallet};
2
- export{U as c};
1
+ import{c as A,d as b}from"../../chunk-p1kdg37m.js";import{Chain as a,ChainId as r,ChainToChainId as f,WalletOption as h,createWallet as y,filterSupportedChains as F}from"@swapkit/helpers";import{ChainId as m}from"@swapkit/helpers";var l=new Map([[m.Kujira,{chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",rpc:"https://kujira-rpc.nodes.defiantlabs.net",rest:"https://rest.cosmos.directory/kujira/",nodeProvider:{name:"PFC",email:"pfc-validator@protonmail.com",website:"https://pfc.zone/"},bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub"},currencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"bKUJI",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png"},{coinDenom:"AQLA",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla",coinDecimals:6,coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png"}],feeCurrencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"axlUSDC",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F",coinDecimals:6,coinGeckoId:"usd-coin"},{coinDenom:"ATOM",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",coinDecimals:6,coinGeckoId:"cosmos"},{coinDenom:"OSMO",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23",coinDecimals:6,coinGeckoId:"osmosis"},{coinDenom:"CMDX",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07",coinDecimals:6,coinGeckoId:"comdex"},{coinDenom:"EVMOS",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10",coinDecimals:6,coinGeckoId:"evmos"},{coinDenom:"JUNO",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5",coinDecimals:6,coinGeckoId:"juno-network"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"SCRT",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5",coinDecimals:6,coinGeckoId:"secret"},{coinDenom:"STARS",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602",coinDecimals:6,coinGeckoId:"stargaze"},{coinDenom:"wAVAX",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2",coinDecimals:18,coinGeckoId:"avalanche-2"},{coinDenom:"wETH",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7",coinDecimals:18,coinGeckoId:"ethereum"}],stakeCurrency:{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},features:["cosmwasm"]}],[m.THORChain,{chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",rpc:"https://rpc-thorchain.keplr.app",rest:"https://lcd-thorchain.keplr.app",bip44:{coinType:931},bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub"},currencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png"}],feeCurrencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",gasPriceStep:{low:0.02,average:0.02,high:0.03}}],features:[]}]]);var I=[r.Cosmos,r.Kujira,r.THORChain],P=y({name:"connectKeplr",supportedChains:[a.Cosmos,a.Kujira,a.THORChain],connect:({addChain:p,supportedChains:u})=>async function x(D,o=h.KEPLR){let k=o===h.LEAP?"leap":"keplr",C=F({chains:D,supportedChains:u,walletType:o}),e=window[k];return await Promise.all(C.map(async(i)=>{let n=f[i];if(!I.includes(n)){let s=l.get(n);if(!s)throw new Error(`Unsupported chain ${i}`);await e.experimentalSuggestChain(s)}e?.enable(n);let c=e?.getOfflineSignerOnlyAmino(n);if(!c)throw new Error("Could not load signer");let{getCosmosToolbox:d}=await import("@swapkit/toolboxes/cosmos"),t=await c.getAccounts();if(!t?.[0]?.address)throw new Error("No accounts found");let[{address:g}]=t,E=d(i,{signer:c});p({...E,chain:i,address:g,walletType:o})})),!0}});export{P as keplrWallet};
3
2
 
4
- //# debugId=B25F7463150352FB64756E2164756E21
3
+ //# debugId=34CA93B29DF1AD6264756E2164756E21
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keplr/index.ts", "../src/keplr/chainRegistry.ts"],
4
4
  "sourcesContent": [
5
- "import type { Keplr } from \"@keplr-wallet/types\";\nimport {\n type AssetValue,\n Chain,\n ChainId,\n ChainToChainId,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { CosmosToolboxType } from \"@swapkit/toolboxes/cosmos\";\nimport { chainRegistry } from \"./chainRegistry\";\n\ndeclare global {\n interface Window {\n keplr: Keplr;\n leap: Keplr;\n }\n}\n\nconst keplrSupportedChainIds = [ChainId.Cosmos, ChainId.Kujira, ChainId.THORChain] as const;\n\nexport const keplrWallet = createWallet({\n name: \"connectKeplr\",\n supportedChains: [Chain.Cosmos, Chain.Kujira, Chain.THORChain],\n connect: ({ addChain, supportedChains }) =>\n async function connectKeplr(\n chains: Chain[],\n walletType: WalletOption.KEPLR | WalletOption.LEAP = WalletOption.KEPLR,\n ) {\n const extensionKey = walletType === WalletOption.LEAP ? \"leap\" : \"keplr\";\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const keplrClient = window[extensionKey];\n\n await Promise.all(\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO: refactor/split\n filteredChains.map(async (chain) => {\n const chainId = ChainToChainId[chain] as (typeof keplrSupportedChainIds)[number];\n\n if (!keplrSupportedChainIds.includes(chainId)) {\n const chainConfig = chainRegistry.get(chainId);\n if (!chainConfig) throw new Error(`Unsupported chain ${chain}`);\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const offlineSigner = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!offlineSigner) throw new Error(\"Could not load offlineSigner\");\n\n const { getToolboxByChain } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await offlineSigner.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n const toolbox = getToolboxByChain(chain)();\n\n const transfer = (params: {\n from?: string;\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) =>\n toolbox.transfer({\n ...params,\n signer: offlineSigner,\n fee: 2,\n from: params.from || address,\n });\n\n const deposit =\n chain === Chain.THORChain\n ? (params: {\n from?: string;\n assetValue: AssetValue;\n memo?: string;\n }) =>\n (toolbox as ReturnType<CosmosToolboxType[\"THOR\"]>).deposit({\n ...params,\n signer: offlineSigner,\n from: params.from || address,\n memo: params.memo || \"\",\n })\n : undefined;\n\n addChain({\n ...toolbox,\n deposit,\n chain,\n transfer,\n address,\n balance: [],\n walletType,\n });\n }),\n );\n\n return true;\n },\n});\n",
5
+ "import {\n Chain,\n ChainId,\n ChainToChainId,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { chainRegistry } from \"./chainRegistry\";\n\nconst keplrSupportedChainIds = [ChainId.Cosmos, ChainId.Kujira, ChainId.THORChain] as const;\n\nexport const keplrWallet = createWallet({\n name: \"connectKeplr\",\n supportedChains: [Chain.Cosmos, Chain.Kujira, Chain.THORChain],\n connect: ({ addChain, supportedChains }) =>\n async function connectKeplr(\n chains: Chain[],\n walletType: WalletOption.KEPLR | WalletOption.LEAP = WalletOption.KEPLR,\n ) {\n const extensionKey = walletType === WalletOption.LEAP ? \"leap\" : \"keplr\";\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const keplrClient = window[extensionKey];\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const chainId = ChainToChainId[chain] as (typeof keplrSupportedChainIds)[number];\n\n if (!keplrSupportedChainIds.includes(chainId)) {\n const chainConfig = chainRegistry.get(chainId);\n if (!chainConfig) throw new Error(`Unsupported chain ${chain}`);\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const signer = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!signer) throw new Error(\"Could not load signer\");\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n const toolbox = getCosmosToolbox(chain, { signer });\n\n addChain({ ...toolbox, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n",
6
6
  "import type { ChainInfo } from \"@keplr-wallet/types\";\nimport { ChainId } from \"@swapkit/helpers\";\n\nexport const chainRegistry = new Map<ChainId, ChainInfo>([\n [\n ChainId.Kujira,\n {\n chainId: \"kaiyo-1\",\n chainName: \"Kujira\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png\",\n rpc: \"https://kujira-rpc.nodes.defiantlabs.net\",\n rest: \"https://rest.cosmos.directory/kujira/\",\n nodeProvider: {\n name: \"PFC\",\n email: \"pfc-validator@protonmail.com\",\n website: \"https://pfc.zone/\",\n },\n bip44: {\n coinType: 118,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"kujira\",\n bech32PrefixAccPub: \"kujirapub\",\n bech32PrefixValAddr: \"kujiravaloper\",\n bech32PrefixValPub: \"kujiravaloperpub\",\n bech32PrefixConsAddr: \"kujiravalcons\",\n bech32PrefixConsPub: \"kujiravalconspub\",\n },\n currencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"bKUJI\",\n coinMinimalDenom:\n \"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji\",\n coinDecimals: 6,\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png\",\n },\n {\n coinDenom: \"AQLA\",\n coinMinimalDenom: \"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla\",\n coinDecimals: 6,\n coinGeckoId: \"aqualibre\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"axlUSDC\",\n coinMinimalDenom: \"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F\",\n coinDecimals: 6,\n coinGeckoId: \"usd-coin\",\n },\n {\n coinDenom: \"ATOM\",\n coinMinimalDenom: \"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2\",\n coinDecimals: 6,\n coinGeckoId: \"cosmos\",\n },\n {\n coinDenom: \"OSMO\",\n coinMinimalDenom: \"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23\",\n coinDecimals: 6,\n coinGeckoId: \"osmosis\",\n },\n {\n coinDenom: \"CMDX\",\n coinMinimalDenom: \"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07\",\n coinDecimals: 6,\n coinGeckoId: \"comdex\",\n },\n {\n coinDenom: \"EVMOS\",\n coinMinimalDenom: \"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10\",\n coinDecimals: 6,\n coinGeckoId: \"evmos\",\n },\n {\n coinDenom: \"JUNO\",\n coinMinimalDenom: \"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5\",\n coinDecimals: 6,\n coinGeckoId: \"juno-network\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"SCRT\",\n coinMinimalDenom: \"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5\",\n coinDecimals: 6,\n coinGeckoId: \"secret\",\n },\n {\n coinDenom: \"STARS\",\n coinMinimalDenom: \"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602\",\n coinDecimals: 6,\n coinGeckoId: \"stargaze\",\n },\n {\n coinDenom: \"wAVAX\",\n coinMinimalDenom: \"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2\",\n coinDecimals: 18,\n coinGeckoId: \"avalanche-2\",\n },\n {\n coinDenom: \"wETH\",\n coinMinimalDenom: \"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7\",\n coinDecimals: 18,\n coinGeckoId: \"ethereum\",\n },\n ],\n stakeCurrency: {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n features: [\"cosmwasm\"],\n },\n ],\n [\n ChainId.THORChain,\n {\n chainId: \"thorchain-1\",\n chainName: \"THORChain\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png\",\n rpc: \"https://rpc-thorchain.keplr.app\",\n rest: \"https://lcd-thorchain.keplr.app\",\n bip44: {\n coinType: 931,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"thor\",\n bech32PrefixAccPub: \"thorpub\",\n bech32PrefixValAddr: \"thorvaloper\",\n bech32PrefixValPub: \"thorvaloperpub\",\n bech32PrefixConsAddr: \"thorvalcons\",\n bech32PrefixConsPub: \"thorvalconspub\",\n },\n currencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n gasPriceStep: {\n low: 0.02,\n average: 0.02,\n high: 0.03,\n },\n },\n ],\n features: [],\n },\n ],\n]);\n"
7
7
  ],
8
- "mappings": "mDACA,gBAEE,aACA,oBACA,kBACA,kBACA,2BACA,yBCPF,kBAAS,yBAEF,IAAM,EAAgB,IAAI,IAAwB,CACvD,CACE,EAAQ,OACR,CACE,QAAS,UACT,UAAW,SACX,oBACE,gGACF,IAAK,2CACL,KAAM,wCACN,aAAc,CACZ,KAAM,MACN,MAAO,+BACP,QAAS,mBACX,EACA,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,SACrB,mBAAoB,YACpB,oBAAqB,gBACrB,mBAAoB,mBACpB,qBAAsB,gBACtB,oBAAqB,kBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBACE,qFACF,aAAc,EACd,aACE,yKACJ,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,YACb,aACE,oJACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,UACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,SACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,OACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,cACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,aACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,UACf,CACF,EACA,cAAe,CACb,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,SAAU,CAAC,UAAU,CACvB,CACF,EACA,CACE,EAAQ,UACR,CACE,QAAS,cACT,UAAW,YACX,oBACE,oGACF,IAAK,kCACL,KAAM,kCACN,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,OACrB,mBAAoB,UACpB,oBAAqB,cACrB,mBAAoB,iBACpB,qBAAsB,cACtB,oBAAqB,gBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,kGACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,mGACF,aAAc,CACZ,IAAK,KACL,QAAS,KACT,KAAM,IACR,CACF,CACF,EACA,SAAU,CAAC,CACb,CACF,CACF,CAAC,ED9LD,IAAM,EAAyB,CAAC,EAAQ,OAAQ,EAAQ,OAAQ,EAAQ,SAAS,EAEpE,EAAc,EAAa,CACtC,KAAM,eACN,gBAAiB,CAAC,EAAM,OAAQ,EAAM,OAAQ,EAAM,SAAS,EAC7D,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAY,CACzB,EACA,EAAqD,EAAa,MAClE,CACA,IAAM,EAAe,IAAe,EAAa,KAAO,OAAS,QAC3D,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAC9E,EAAc,OAAO,GAkE3B,OAhEA,MAAM,QAAQ,IAEZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAU,EAAe,GAE/B,IAAK,EAAuB,SAAS,CAAO,EAAG,CAC7C,IAAM,EAAc,EAAc,IAAI,CAAO,EAC7C,IAAK,EAAa,MAAM,IAAI,MAAM,qBAAqB,GAAO,EAE9D,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAgB,GAAa,0BAA0B,CAAO,EACpE,IAAK,EAAe,MAAM,IAAI,MAAM,8BAA8B,EAElE,IAAQ,qBAAsB,KAAa,qCAErC,EAAW,MAAM,EAAc,YAAY,EACjD,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,MAAM,mBAAmB,EAEhE,KAAS,YAAa,EAChB,EAAU,EAAkB,CAAK,EAAE,EAEnC,EAAW,CAAC,IAMhB,EAAQ,SAAS,IACZ,EACH,OAAQ,EACR,IAAK,EACL,KAAM,EAAO,MAAQ,CACvB,CAAC,EAEG,EACJ,IAAU,EAAM,UACZ,CAAC,IAKE,EAAkD,QAAQ,IACtD,EACH,OAAQ,EACR,KAAM,EAAO,MAAQ,EACrB,KAAM,EAAO,MAAQ,EACvB,CAAC,EACH,OAEN,EAAS,IACJ,EACH,UACA,QACA,WACA,UACA,QAAS,CAAC,EACV,YACF,CAAC,EACF,CACH,EAEO,GAEb,CAAC",
9
- "debugId": "B25F7463150352FB64756E2164756E21",
8
+ "mappings": "mDAAA,gBACE,aACA,oBACA,kBACA,kBACA,2BACA,yBCLF,kBAAS,yBAEF,IAAM,EAAgB,IAAI,IAAwB,CACvD,CACE,EAAQ,OACR,CACE,QAAS,UACT,UAAW,SACX,oBACE,gGACF,IAAK,2CACL,KAAM,wCACN,aAAc,CACZ,KAAM,MACN,MAAO,+BACP,QAAS,mBACX,EACA,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,SACrB,mBAAoB,YACpB,oBAAqB,gBACrB,mBAAoB,mBACpB,qBAAsB,gBACtB,oBAAqB,kBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBACE,qFACF,aAAc,EACd,aACE,yKACJ,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,YACb,aACE,oJACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,UACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,SACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,OACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,cACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,aACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,UACf,CACF,EACA,cAAe,CACb,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,SAAU,CAAC,UAAU,CACvB,CACF,EACA,CACE,EAAQ,UACR,CACE,QAAS,cACT,UAAW,YACX,oBACE,oGACF,IAAK,kCACL,KAAM,kCACN,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,OACrB,mBAAoB,UACpB,oBAAqB,cACrB,mBAAoB,iBACpB,qBAAsB,cACtB,oBAAqB,gBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,kGACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,mGACF,aAAc,CACZ,IAAK,KACL,QAAS,KACT,KAAM,IACR,CACF,CACF,EACA,SAAU,CAAC,CACb,CACF,CACF,CAAC,EDxMD,IAAM,EAAyB,CAAC,EAAQ,OAAQ,EAAQ,OAAQ,EAAQ,SAAS,EAEpE,EAAc,EAAa,CACtC,KAAM,eACN,gBAAiB,CAAC,EAAM,OAAQ,EAAM,OAAQ,EAAM,SAAS,EAC7D,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAY,CACzB,EACA,EAAqD,EAAa,MAClE,CACA,IAAM,EAAe,IAAe,EAAa,KAAO,OAAS,QAC3D,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAC9E,EAAc,OAAO,GA6B3B,OA3BA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAU,EAAe,GAE/B,IAAK,EAAuB,SAAS,CAAO,EAAG,CAC7C,IAAM,EAAc,EAAc,IAAI,CAAO,EAC7C,IAAK,EAAa,MAAM,IAAI,MAAM,qBAAqB,GAAO,EAE9D,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAS,GAAa,0BAA0B,CAAO,EAC7D,IAAK,EAAQ,MAAM,IAAI,MAAM,uBAAuB,EAEpD,IAAQ,oBAAqB,KAAa,qCAEpC,EAAW,MAAM,EAAO,YAAY,EAC1C,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,MAAM,mBAAmB,EAEhE,KAAS,YAAa,EAChB,EAAU,EAAiB,EAAO,CAAE,QAAO,CAAC,EAElD,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GAEb,CAAC",
9
+ "debugId": "34CA93B29DF1AD6264756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,3 +1,3 @@
1
- var N={};R(N,{validatePhrase:()=>U,keystoreWallet:()=>K,generatePhrase:()=>O,encryptToKeyStore:()=>M,decryptFromKeystore:()=>b,KEYSTORE_SUPPORTED_CHAINS:()=>X});module.exports=D(N);var t=require("@swapkit/helpers");var u=T(require("crypto")),d=require("@scure/bip39"),x=require("@scure/bip39/wordlists/english"),w=require("blakejs"),h=(s)=>{let i=s;if(!(i instanceof Buffer))i=Buffer.from(i,"hex");let c=w.blake2bInit(32);return w.blake2bUpdate(c,i),Array.from(w.blake2bFinal(c)).map((l)=>l<16?`0${l.toString(16)}`:l.toString(16)).join("")},S=(s,i,c,l,r)=>new Promise((o,a)=>{u.default.pbkdf2(s,i,c,l,r,(n,e)=>{if(n)a(n);else o(e)})}),M=async(s,i)=>{let c=u.default.randomBytes(32),l=u.default.randomBytes(16),r={c:262144,prf:"hmac-sha256",dklen:32,salt:c.toString("hex")},o="aes-128-ctr",a=await S(Buffer.from(i),c,r.c,r.dklen,"sha256"),n=u.default.createCipheriv("aes-128-ctr",a.subarray(0,16),l),e=Buffer.concat([n.update(Buffer.from(s,"utf8")),n.final()]);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:l.toString("hex")},ciphertext:e.toString("hex"),kdf:"pbkdf2",kdfparams:r,mac:h(Buffer.concat([a.subarray(16,32),Buffer.from(e)]))}}},O=(s=12)=>{return d.generateMnemonic(x.wordlist,s===12?128:256)},U=(s)=>{return d.validateMnemonic(s,x.wordlist)},b=async(s,i)=>{switch(s.version){case 1:{let c=s.crypto.kdfparams,l=await S(Buffer.from(i),Buffer.from(c.salt,"hex"),c.c,c.dklen,"sha256"),r=Buffer.from(s.crypto.ciphertext,"hex");if(h(Buffer.concat([l.subarray(16,32),r]))!==s.crypto.mac)throw new Error("Invalid password");let a=u.default.createDecipheriv(s.crypto.cipher,l.subarray(0,16),Buffer.from(s.crypto.cipherparams.iv,"hex"));return Buffer.concat([a.update(r),a.final()]).toString("utf8")}default:throw new Error("Unsupported keystore version")}};var H=async({chain:s,phrase:i,derivationPath:c})=>{let l=t.SKConfig.get("rpcUrls")[s];switch(s){case t.Chain.Arbitrum:case t.Chain.Avalanche:case t.Chain.Base:case t.Chain.BinanceSmartChain:case t.Chain.Ethereum:case t.Chain.Optimism:case t.Chain.Polygon:{let{getProvider:r,getToolboxByChain:o}=await import("@swapkit/toolboxes/evm"),{HDNodeWallet:a}=await import("ethers"),n=r(s,l),e=a.fromPhrase(i).connect(n),m=o(s)({provider:n,signer:e});return{address:e.address,walletMethods:m}}case t.Chain.BitcoinCash:{let{BCHToolbox:r}=await import("@swapkit/toolboxes/utxo"),o=r(),a=await o.createKeysForPath({phrase:i,derivationPath:c}),n=o.getAddressFromKeys(a);async function e({builder:f,utxos:g}){return g.forEach((P,C)=>{f.sign(C,a,void 0,65,P.witnessUtxo?.value)}),f.build()}let m={...o,transfer:(f)=>o.transfer({...f,from:n,signTransaction:e})};return{address:n,walletMethods:m}}case t.Chain.Bitcoin:case t.Chain.Dash:case t.Chain.Dogecoin:case t.Chain.Litecoin:{let{getToolboxByChain:r}=await import("@swapkit/toolboxes/utxo"),o=r(s)(),a=await o.createKeysForPath({phrase:i,derivationPath:c}),n=o.getAddressFromKeys(a);return{address:n,walletMethods:{...o,transfer:(e)=>o.transfer({...e,from:n,signTransaction:async(m)=>m.signAllInputs(a)})}}}case t.Chain.Cosmos:case t.Chain.Kujira:{let{getToolboxByChain:r}=await import("@swapkit/toolboxes/cosmos"),o=r(s)(),a=await o.getAddressFromMnemonic(i),n=await o.getSigner(i);return{address:a,walletMethods:{...o,transfer:(m)=>o.transfer({...m,signer:n})}}}case t.Chain.Maya:case t.Chain.THORChain:{let{getToolboxByChain:r}=await import("@swapkit/toolboxes/cosmos"),o=r(s)(),a=await o.getSigner(i),n=await o.getAddressFromMnemonic(i);return{address:n,walletMethods:{...o,deposit:(e)=>o.deposit({...e,from:n,signer:a}),transfer:(e)=>o.transfer({...e,from:n,signer:a}),signMessage:async(e)=>{let m=await o.createPrivateKeyFromPhrase(i);return o.signWithPrivateKey({privateKey:m,message:e})}}}}case t.Chain.Polkadot:case t.Chain.Chainflip:{let{Network:r,getToolboxByChain:o,createKeyring:a}=await import("@swapkit/toolboxes/substrate"),n=await a(i,r[s].prefix),e=await o(s,{signer:n});return{address:n.address,walletMethods:e}}case t.Chain.Solana:{let{SOLToolbox:r}=await import("@swapkit/toolboxes/solana"),o=r(),a=await o.createKeysForPath({phrase:i,derivationPath:c});return{address:o.getAddressFromKeys(a),walletMethods:{...o,transfer:(n)=>o.transfer({...n,fromKeypair:a})}}}default:throw new Error(`Unsupported chain ${s}`)}},K=t.createWallet({name:"connectKeystore",walletType:t.WalletOption.KEYSTORE,supportedChains:[...t.EVMChains,...t.UTXOChains,...t.CosmosChains,t.Chain.Polkadot,t.Chain.Chainflip,t.Chain.Solana],connect:({addChain:s,supportedChains:i,walletType:c})=>async function l(r,o,a){let n=t.filterSupportedChains({chains:r,supportedChains:i,walletType:c});return await Promise.all(n.map(async(e)=>{let m=typeof a==="number"?a:0,f=a&&typeof a==="object"?a[e]:void 0,[g,P,C,y,p]=t.NetworkDerivationPath[e],B=f||t.updatedLastIndex(e===t.Chain.Solana?[g,P,C,y]:[g,P,C,y,p],m),E=t.derivationPathToString(B),{address:W,walletMethods:F}=await H({chain:e,derivationPath:E,phrase:o});s({...F,address:W,balance:[],chain:e,walletType:t.WalletOption.KEYSTORE})})),!0}}),X=A(K);
1
+ var A={};T(A,{validatePhrase:()=>P,keystoreWallet:()=>v,generatePhrase:()=>B,encryptToKeyStore:()=>C,decryptFromKeystore:()=>K,KEYSTORE_SUPPORTED_CHAINS:()=>E});module.exports=D(A);var t=require("@swapkit/helpers");var d=require("@scure/bip39"),g=require("@scure/bip39/wordlists/english");async function x(r){let{blake2bFinal:i,blake2bInit:s,blake2bUpdate:c}=await import("blakejs"),n=r;if(!(n instanceof Buffer))n=Buffer.from(n,"hex");let o=s(32);return c(o,n),Array.from(i(o)).map((e)=>e<16?`0${e.toString(16)}`:e.toString(16)).join("")}async function C(r,i){let{pbkdf2Sync:s,randomBytes:c,createCipheriv:n}=await import("node:crypto"),o="aes-128-ctr",e=c(16),p=c(32),a={c:262144,prf:"hmac-sha256",dklen:32,salt:p.toString("hex")},l=s(i,p,a.c,a.dklen,"sha256"),m=n("aes-128-ctr",l.subarray(0,16),e),f=Buffer.concat([m.update(Buffer.from(r,"utf8")),m.final()]),u=Buffer.concat([l.subarray(16,32),Buffer.from(f)]),y=await x(u);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:e.toString("hex")},ciphertext:f.toString("hex"),kdf:"pbkdf2",kdfparams:a,mac:y}}}function B(r=12){return d.generateMnemonic(g.wordlist,r===12?128:256)}function P(r){return d.validateMnemonic(r,g.wordlist)}async function K(r,i){let{createDecipheriv:s,pbkdf2Sync:c}=await import("node:crypto"),{SwapKitError:n}=await import("@swapkit/helpers");switch(r.version){case 1:{let o=r.crypto.kdfparams,e=Buffer.from(o.salt,"hex"),p=c(i,e,o.c,o.dklen,"sha256"),a=Buffer.from(r.crypto.ciphertext,"hex"),l=Buffer.concat([p.subarray(16,32),a]);if(await x(l)!==r.crypto.mac)throw new n("wallet_keystore_invalid_password");let f=s(r.crypto.cipher,p.subarray(0,16),Buffer.from(r.crypto.cipherparams.iv,"hex"));return Buffer.concat([f.update(a),f.final()]).toString("utf8")}default:throw new n("wallet_keystore_unsupported_version")}}var v=t.createWallet({name:"connectKeystore",walletType:t.WalletOption.KEYSTORE,supportedChains:[...t.EVMChains,...t.UTXOChains,...t.CosmosChains,t.Chain.Polkadot,t.Chain.Chainflip,t.Chain.Ripple,t.Chain.Solana],connect:({addChain:r,supportedChains:i,walletType:s})=>async function c(n,o,e){let p=t.filterSupportedChains({chains:n,supportedChains:i,walletType:s});return await Promise.all(p.map(async(a)=>{let l=typeof e==="number"?e:0,m=e&&typeof e==="object"?e[a]:void 0,f=t.NetworkDerivationPath[a].slice(0,a===t.Chain.Solana?4:5),u=m||t.updateDerivationPath(f,{index:l}),{getToolbox:y}=await import("@swapkit/toolboxes"),w=await y(a,{phrase:o,derivationPath:u}),k=await w.getAddress()||"",S={...w,address:k};r({...S,chain:a,walletType:t.WalletOption.KEYSTORE})})),!0}}),E=b(v);
2
2
 
3
- //# debugId=4C3DA3288179780E64756E2164756E21
3
+ //# debugId=D50A7B6A4E41BE6E64756E2164756E21