@swapkit/wallets 3.0.0-beta.9 → 4.0.0-beta.39

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 (159) hide show
  1. package/dist/chunk-0rgqnhd7.js +4 -0
  2. package/dist/{chunk-hxt2nqa8.js.map → chunk-0rgqnhd7.js.map} +3 -3
  3. package/dist/chunk-2aa1w78q.js +4 -0
  4. package/dist/chunk-2aa1w78q.js.map +10 -0
  5. package/dist/chunk-31bmhjxx.js +4 -0
  6. package/dist/chunk-31bmhjxx.js.map +10 -0
  7. package/dist/chunk-5mq0kpmy.js +5 -0
  8. package/dist/chunk-5mq0kpmy.js.map +10 -0
  9. package/dist/chunk-9sjqewve.js +5 -0
  10. package/dist/chunk-9sjqewve.js.map +10 -0
  11. package/dist/chunk-c11abmv4.js +5 -0
  12. package/dist/{chunk-6ndrbmhg.js.map → chunk-c11abmv4.js.map} +3 -3
  13. package/dist/chunk-cgt2fexr.js +4 -0
  14. package/dist/chunk-cgt2fexr.js.map +10 -0
  15. package/dist/chunk-etm8zfkk.js +4 -0
  16. package/dist/chunk-etm8zfkk.js.map +10 -0
  17. package/dist/chunk-hafkx3bw.js +4 -0
  18. package/dist/chunk-hafkx3bw.js.map +10 -0
  19. package/dist/chunk-qh8q7xr1.js +4 -0
  20. package/dist/chunk-qh8q7xr1.js.map +10 -0
  21. package/dist/{chunk-p1kdg37m.js → chunk-r308an05.js} +3 -2
  22. package/dist/{chunk-p1kdg37m.js.map → chunk-r308an05.js.map} +1 -1
  23. package/dist/chunk-sn6pgje5.js +4 -0
  24. package/dist/chunk-sn6pgje5.js.map +10 -0
  25. package/dist/chunk-vb4wtm2w.js +1 -0
  26. package/dist/chunk-wfattb4a.js +4 -0
  27. package/dist/chunk-wfattb4a.js.map +10 -0
  28. package/dist/src/bitget/index.cjs +3 -2
  29. package/dist/src/bitget/index.cjs.map +3 -3
  30. package/dist/src/bitget/index.js +3 -2
  31. package/dist/src/bitget/index.js.map +3 -3
  32. package/dist/src/coinbase/index.cjs +3 -2
  33. package/dist/src/coinbase/index.cjs.map +3 -3
  34. package/dist/src/coinbase/index.js +3 -2
  35. package/dist/src/coinbase/index.js.map +3 -3
  36. package/dist/src/cosmostation/index.cjs +4 -0
  37. package/dist/src/cosmostation/index.cjs.map +10 -0
  38. package/dist/src/cosmostation/index.js +4 -0
  39. package/dist/src/cosmostation/index.js.map +10 -0
  40. package/dist/src/ctrl/index.cjs +3 -2
  41. package/dist/src/ctrl/index.cjs.map +4 -4
  42. package/dist/src/ctrl/index.js +3 -2
  43. package/dist/src/ctrl/index.js.map +4 -4
  44. package/dist/src/evm-extensions/index.cjs +3 -2
  45. package/dist/src/evm-extensions/index.cjs.map +3 -3
  46. package/dist/src/evm-extensions/index.js +3 -2
  47. package/dist/src/evm-extensions/index.js.map +3 -3
  48. package/dist/src/exodus/index.cjs +3 -2
  49. package/dist/src/exodus/index.cjs.map +3 -3
  50. package/dist/src/exodus/index.js +3 -2
  51. package/dist/src/exodus/index.js.map +3 -3
  52. package/dist/src/index.cjs +1 -0
  53. package/dist/src/index.js +3 -2
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/keepkey/index.cjs +3 -2
  56. package/dist/src/keepkey/index.cjs.map +9 -10
  57. package/dist/src/keepkey/index.js +3 -2
  58. package/dist/src/keepkey/index.js.map +9 -10
  59. package/dist/src/keepkey-bex/index.cjs +3 -2
  60. package/dist/src/keepkey-bex/index.cjs.map +4 -4
  61. package/dist/src/keepkey-bex/index.js +3 -2
  62. package/dist/src/keepkey-bex/index.js.map +4 -4
  63. package/dist/src/keplr/index.cjs +3 -2
  64. package/dist/src/keplr/index.cjs.map +3 -3
  65. package/dist/src/keplr/index.js +3 -2
  66. package/dist/src/keplr/index.js.map +3 -3
  67. package/dist/src/keystore/index.cjs +3 -2
  68. package/dist/src/keystore/index.cjs.map +4 -4
  69. package/dist/src/keystore/index.js +3 -2
  70. package/dist/src/keystore/index.js.map +4 -4
  71. package/dist/src/ledger/index.cjs +4 -3
  72. package/dist/src/ledger/index.cjs.map +17 -15
  73. package/dist/src/ledger/index.js +4 -3
  74. package/dist/src/ledger/index.js.map +17 -15
  75. package/dist/src/okx/index.cjs +3 -2
  76. package/dist/src/okx/index.cjs.map +4 -4
  77. package/dist/src/okx/index.js +3 -2
  78. package/dist/src/okx/index.js.map +4 -4
  79. package/dist/src/onekey/index.cjs +3 -2
  80. package/dist/src/onekey/index.cjs.map +3 -3
  81. package/dist/src/onekey/index.js +3 -2
  82. package/dist/src/onekey/index.js.map +3 -3
  83. package/dist/src/phantom/index.cjs +1 -0
  84. package/dist/src/phantom/index.js +3 -2
  85. package/dist/src/phantom/index.js.map +2 -2
  86. package/dist/src/polkadotjs/index.cjs +1 -0
  87. package/dist/src/polkadotjs/index.js +3 -2
  88. package/dist/src/polkadotjs/index.js.map +1 -1
  89. package/dist/src/radix/index.cjs +3 -2
  90. package/dist/src/radix/index.cjs.map +3 -3
  91. package/dist/src/radix/index.js +3 -2
  92. package/dist/src/radix/index.js.map +3 -3
  93. package/dist/src/talisman/index.cjs +1 -0
  94. package/dist/src/talisman/index.js +3 -2
  95. package/dist/src/talisman/index.js.map +1 -1
  96. package/dist/src/trezor/index.cjs +3 -2
  97. package/dist/src/trezor/index.cjs.map +3 -3
  98. package/dist/src/trezor/index.js +3 -2
  99. package/dist/src/trezor/index.js.map +3 -3
  100. package/dist/src/walletconnect/index.cjs +3 -2
  101. package/dist/src/walletconnect/index.cjs.map +6 -7
  102. package/dist/src/walletconnect/index.js +3 -2
  103. package/dist/src/walletconnect/index.js.map +6 -7
  104. package/package.json +73 -28
  105. package/src/bitget/helpers.ts +4 -4
  106. package/src/coinbase/signer.ts +4 -4
  107. package/src/cosmostation/index.ts +142 -0
  108. package/src/ctrl/index.ts +83 -0
  109. package/src/ctrl/walletHelpers.ts +98 -70
  110. package/src/evm-extensions/index.ts +4 -3
  111. package/src/exodus/index.ts +8 -9
  112. package/src/helpers/near-browser-provider.d.ts +286 -0
  113. package/src/helpers/near.ts +206 -0
  114. package/src/keepkey/chains/cosmos.ts +44 -50
  115. package/src/keepkey/chains/evm.ts +16 -8
  116. package/src/keepkey/chains/mayachain.ts +3 -2
  117. package/src/keepkey/chains/ripple.ts +118 -0
  118. package/src/keepkey/chains/thorchain.ts +3 -2
  119. package/src/keepkey/chains/utxo.ts +14 -3
  120. package/src/keepkey/coins.ts +11 -4
  121. package/src/keepkey/index.ts +20 -7
  122. package/src/keepkey-bex/index.ts +10 -14
  123. package/src/keepkey-bex/walletHelpers.ts +1 -1
  124. package/src/keplr/index.ts +4 -3
  125. package/src/keystore/helpers.ts +2 -4
  126. package/src/keystore/index.ts +2 -0
  127. package/src/ledger/clients/cosmos.ts +5 -4
  128. package/src/ledger/clients/evm.ts +7 -6
  129. package/src/ledger/clients/near.ts +86 -0
  130. package/src/ledger/clients/thorchain/helpers.ts +9 -4
  131. package/src/ledger/clients/thorchain/index.ts +3 -3
  132. package/src/ledger/clients/thorchain/lib.ts +3 -2
  133. package/src/ledger/clients/thorchain/utils.ts +20 -9
  134. package/src/ledger/clients/utxo.ts +3 -5
  135. package/src/ledger/clients/xrp.ts +66 -0
  136. package/src/ledger/cosmosTypes.ts +14 -10
  137. package/src/ledger/helpers/getLedgerAddress.ts +17 -3
  138. package/src/ledger/helpers/getLedgerClient.ts +63 -45
  139. package/src/ledger/helpers/getLedgerTransport.ts +5 -3
  140. package/src/ledger/index.ts +28 -7
  141. package/src/ledger/interfaces/CosmosLedgerInterface.ts +1 -2
  142. package/src/okx/helpers.ts +27 -9
  143. package/src/okx/index.ts +1 -0
  144. package/src/onekey/index.ts +3 -7
  145. package/src/radix/index.ts +4 -4
  146. package/src/trezor/evmSigner.ts +4 -4
  147. package/src/trezor/index.ts +14 -4
  148. package/src/types.ts +14 -0
  149. package/src/utils.ts +4 -0
  150. package/src/walletconnect/constants.ts +2 -0
  151. package/src/walletconnect/evmSigner.ts +8 -4
  152. package/src/walletconnect/helpers.ts +9 -2
  153. package/src/walletconnect/index.ts +134 -24
  154. package/dist/chunk-6ndrbmhg.js +0 -4
  155. package/dist/chunk-bhfpfqc3.js +0 -3
  156. package/dist/chunk-bhfpfqc3.js.map +0 -10
  157. package/dist/chunk-hxt2nqa8.js +0 -3
  158. package/dist/chunk-q81hzyra.js +0 -3
  159. package/dist/chunk-q81hzyra.js.map +0 -10
@@ -1,3 +1,4 @@
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}});
1
+ var y={};E(y,{keplrWallet:()=>f});module.exports=A(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 i.SwapKitError("wallet_keplr_chain_not_supported",{chain:n});await c.experimentalSuggestChain(s)}c?.enable(o);let a=c?.getOfflineSignerOnlyAmino(o);if(!a)throw new i.SwapKitError("wallet_keplr_signer_not_found");let{getCosmosToolbox:k}=await import("@swapkit/toolboxes/cosmos"),t=await a.getAccounts();if(!t?.[0]?.address)throw new i.SwapKitError("wallet_keplr_no_accounts");let[{address:C}]=t,d=k(n,{signer:a});l({...d,chain:n,address:C,walletType:e})})),!0}});
2
2
 
3
- //# debugId=BCA06D01D78A87E264756E2164756E21
3
+ //# debugId=8E76C75F446FB32A64756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keplr/index.ts", "../src/keplr/chainRegistry.ts"],
4
4
  "sourcesContent": [
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",
5
+ "import {\n Chain,\n ChainId,\n ChainToChainId,\n SwapKitError,\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 SwapKitError(\"wallet_keplr_chain_not_supported\", { chain });\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const signer = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!signer) throw new SwapKitError(\"wallet_keplr_signer_not_found\");\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new SwapKitError(\"wallet_keplr_no_accounts\");\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": "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",
8
+ "mappings": "sDAQO,IARP,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,EDvMD,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,eAAa,mCAAoC,CAAE,OAAM,CAAC,EAEtF,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAS,GAAa,0BAA0B,CAAO,EAC7D,IAAK,EAAQ,MAAM,IAAI,eAAa,+BAA+B,EAEnE,IAAQ,oBAAqB,KAAa,qCAEpC,EAAW,MAAM,EAAO,YAAY,EAC1C,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,eAAa,0BAA0B,EAE9E,KAAS,YAAa,EAChB,EAAU,EAAiB,EAAO,CAAE,QAAO,CAAC,EAElD,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GAEb,CAAC",
9
+ "debugId": "8E76C75F446FB32A64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,3 +1,4 @@
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};
1
+ import{E as b,F as f}from"../../chunk-r308an05.js";import{Chain as a,ChainId as r,ChainToChainId as y,SwapKitError as t,WalletOption as p,createWallet as F,filterSupportedChains as I}from"@swapkit/helpers";import{ChainId as l}from"@swapkit/helpers";var h=new Map([[l.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"]}],[l.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=[r.Cosmos,r.Kujira,r.THORChain],v=F({name:"connectKeplr",supportedChains:[a.Cosmos,a.Kujira,a.THORChain],connect:({addChain:u,supportedChains:D})=>async function j(k,o=p.KEPLR){let C=o===p.LEAP?"leap":"keplr",d=I({chains:k,supportedChains:D,walletType:o}),e=window[C];return await Promise.all(d.map(async(i)=>{let n=y[i];if(!x.includes(n)){let m=h.get(n);if(!m)throw new t("wallet_keplr_chain_not_supported",{chain:i});await e.experimentalSuggestChain(m)}e?.enable(n);let c=e?.getOfflineSignerOnlyAmino(n);if(!c)throw new t("wallet_keplr_signer_not_found");let{getCosmosToolbox:g}=await import("@swapkit/toolboxes/cosmos"),s=await c.getAccounts();if(!s?.[0]?.address)throw new t("wallet_keplr_no_accounts");let[{address:A}]=s,E=g(i,{signer:c});u({...E,chain:i,address:A,walletType:o})})),!0}});export{v as keplrWallet};
2
2
 
3
- //# debugId=34CA93B29DF1AD6264756E2164756E21
3
+ //# debugId=586390441BD6086B64756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keplr/index.ts", "../src/keplr/chainRegistry.ts"],
4
4
  "sourcesContent": [
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",
5
+ "import {\n Chain,\n ChainId,\n ChainToChainId,\n SwapKitError,\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 SwapKitError(\"wallet_keplr_chain_not_supported\", { chain });\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const signer = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!signer) throw new SwapKitError(\"wallet_keplr_signer_not_found\");\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new SwapKitError(\"wallet_keplr_no_accounts\");\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": "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",
8
+ "mappings": "mDAAA,gBACE,aACA,oBACA,kBACA,kBACA,kBACA,2BACA,yBCNF,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,EDvMD,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,EAAa,mCAAoC,CAAE,OAAM,CAAC,EAEtF,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAS,GAAa,0BAA0B,CAAO,EAC7D,IAAK,EAAQ,MAAM,IAAI,EAAa,+BAA+B,EAEnE,IAAQ,oBAAqB,KAAa,qCAEpC,EAAW,MAAM,EAAO,YAAY,EAC1C,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,EAAa,0BAA0B,EAE9E,KAAS,YAAa,EAChB,EAAU,EAAiB,EAAO,CAAE,QAAO,CAAC,EAElD,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GAEb,CAAC",
9
+ "debugId": "586390441BD6086B64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,3 +1,4 @@
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("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("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);
1
+ var _={};E(_,{validatePhrase:()=>K,keystoreWallet:()=>x,generatePhrase:()=>P,encryptToKeyStore:()=>B,decryptFromKeystore:()=>T,KEYSTORE_SUPPORTED_CHAINS:()=>A});module.exports=D(_);var t=require("@swapkit/helpers");var o=require("node:crypto"),h=require("@scure/bip39"),d=require("@scure/bip39/wordlists/english");async function g(r){let{blake2bFinal:c,blake2bInit:p,blake2bUpdate:i}=(await import("blakejs")).default,a=r;if(!(a instanceof Buffer))a=Buffer.from(a,"hex");let n=p(32);return i(n,a),Array.from(c(n)).map((e)=>e<16?`0${e.toString(16)}`:e.toString(16)).join("")}async function B(r,c){let i=o.randomBytes(16),a=o.randomBytes(32),n={c:262144,prf:"hmac-sha256",dklen:32,salt:a.toString("hex")},e=o.pbkdf2Sync(c,a,n.c,n.dklen,"sha256"),f=o.createCipheriv("aes-128-ctr",e.subarray(0,16),i),s=Buffer.concat([f.update(Buffer.from(r,"utf8")),f.final()]),l=Buffer.concat([e.subarray(16,32),Buffer.from(s)]),m=await g(l);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:i.toString("hex")},ciphertext:s.toString("hex"),kdf:"pbkdf2",kdfparams:n,mac:m}}}function P(r=12){return h.generateMnemonic(d.wordlist,r===12?128:256)}function K(r){return h.validateMnemonic(r,d.wordlist)}async function T(r,c){let{SwapKitError:p}=await import("@swapkit/helpers");switch(r.version){case 1:{let i=r.crypto.kdfparams,a=Buffer.from(i.salt,"hex"),n=o.pbkdf2Sync(c,a,i.c,i.dklen,"sha256"),e=Buffer.from(r.crypto.ciphertext,"hex"),f=Buffer.concat([n.subarray(16,32),e]);if(await g(f)!==r.crypto.mac)throw new p("wallet_keystore_invalid_password");let l=o.createDecipheriv(r.crypto.cipher,n.subarray(0,16),Buffer.from(r.crypto.cipherparams.iv,"hex"));return Buffer.concat([l.update(e),l.final()]).toString("utf8")}default:throw new p("wallet_keystore_unsupported_version")}}var x=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,t.Chain.Tron,t.Chain.Near],connect:({addChain:r,supportedChains:c,walletType:p})=>async function i(a,n,e){let f=t.filterSupportedChains({chains:a,supportedChains:c,walletType:p});return await Promise.all(f.map(async(s)=>{let l=typeof e==="number"?e:0,m=e&&typeof e==="object"?e[s]:void 0,v=t.NetworkDerivationPath[s].slice(0,s===t.Chain.Solana?4:5),b=m||t.updateDerivationPath(v,{index:l}),{getToolbox:k}=await import("@swapkit/toolboxes"),y=await k(s,{phrase:n,derivationPath:b}),S=await y.getAddress()||"",C={...y,address:S};r({...C,chain:s,walletType:t.WalletOption.KEYSTORE})})),!0}}),A=w(x);
2
2
 
3
- //# debugId=579D74A4588FBA0964756E2164756E21
3
+ //# debugId=8B787A2A3639BA0C64756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keystore/index.ts", "../src/keystore/helpers.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n NetworkDerivationPath,\n UTXOChains,\n WalletOption,\n createWallet,\n filterSupportedChains,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const keystoreWallet = createWallet({\n name: \"connectKeystore\",\n walletType: WalletOption.KEYSTORE,\n supportedChains: [\n ...EVMChains,\n ...UTXOChains,\n ...CosmosChains,\n Chain.Polkadot,\n Chain.Chainflip,\n Chain.Ripple,\n Chain.Solana,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeystore(\n chains: Chain[],\n phrase: string,\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const derivationPathIndex =\n typeof derivationPathMapOrIndex === \"number\" ? derivationPathMapOrIndex : 0;\n\n const derivationPathFromMap =\n derivationPathMapOrIndex && typeof derivationPathMapOrIndex === \"object\"\n ? derivationPathMapOrIndex[chain]\n : undefined;\n\n const derivationArrayToUpdate = NetworkDerivationPath[chain].slice(\n 0,\n chain === Chain.Solana ? 4 : 5,\n ) as DerivationPathArray;\n\n const derivationPath: DerivationPathArray =\n derivationPathFromMap ||\n updateDerivationPath(derivationArrayToUpdate, { index: derivationPathIndex });\n\n const { getToolbox } = await import(\"@swapkit/toolboxes\");\n\n const toolbox = await getToolbox(chain, { phrase, derivationPath });\n const address = (await toolbox.getAddress()) || \"\";\n\n const wallet = { ...toolbox, address };\n\n addChain({ ...wallet, chain, walletType: WalletOption.KEYSTORE });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEYSTORE_SUPPORTED_CHAINS = getWalletSupportedChains(keystoreWallet);\n\nexport * from \"./helpers\";\n",
6
- "import { generateMnemonic, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist } from \"@scure/bip39/wordlists/english\";\n\nexport type Keystore = {\n version: number;\n meta: string;\n crypto: {\n cipher: string;\n cipherparams: { iv: string };\n ciphertext: string;\n kdf: string;\n kdfparams: { prf: string; dklen: number; salt: string; c: number };\n mac: string;\n };\n};\n\nasync function blake256(initData: Buffer | string) {\n const { blake2bFinal, blake2bInit, blake2bUpdate } = await import(\"blakejs\");\n let data = initData;\n\n if (!(data instanceof Buffer)) {\n // @ts-ignore\n data = Buffer.from(data, \"hex\");\n }\n\n const context = blake2bInit(32);\n blake2bUpdate(context, data);\n\n return Array.from(blake2bFinal(context))\n .map((byte) => (byte < 0x10 ? `0${byte.toString(16)}` : byte.toString(16)))\n .join(\"\");\n}\n\nexport async function encryptToKeyStore(phrase: string, password: string) {\n const { pbkdf2Sync, randomBytes, createCipheriv } = await import(\"crypto\");\n\n const cipher = \"aes-128-ctr\";\n const iv = randomBytes(16);\n const salt = randomBytes(32);\n const kdfParams = { c: 262144, prf: \"hmac-sha256\", dklen: 32, salt: salt.toString(\"hex\") };\n\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n const cipherIV = createCipheriv(cipher, derivedKey.subarray(0, 16), iv);\n const ciphertext = Buffer.concat([\n cipherIV.update(Buffer.from(phrase, \"utf8\")),\n cipherIV.final(),\n ]);\n const initData = Buffer.concat([derivedKey.subarray(16, 32), Buffer.from(ciphertext)]);\n const mac = await blake256(initData);\n\n return {\n meta: \"xchain-keystore\",\n version: 1,\n crypto: {\n cipher,\n cipherparams: { iv: iv.toString(\"hex\") },\n ciphertext: ciphertext.toString(\"hex\"),\n kdf: \"pbkdf2\",\n kdfparams: kdfParams,\n mac,\n },\n };\n}\n\nexport function generatePhrase(size: 12 | 24 = 12) {\n return generateMnemonic(wordlist, size === 12 ? 128 : 256);\n}\n\nexport function validatePhrase(phrase: string) {\n return validateMnemonic(phrase, wordlist);\n}\n\nexport async function decryptFromKeystore(keystore: Keystore, password: string) {\n const { createDecipheriv, pbkdf2Sync } = await import(\"crypto\");\n const { SwapKitError } = await import(\"@swapkit/helpers\");\n\n switch (keystore.version) {\n case 1: {\n const kdfParams = keystore.crypto.kdfparams;\n const salt = Buffer.from(kdfParams.salt, \"hex\");\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n\n const ciphertext = Buffer.from(keystore.crypto.ciphertext, \"hex\");\n const initData = Buffer.concat([derivedKey.subarray(16, 32), ciphertext]);\n const mac = await blake256(initData);\n\n if (mac !== keystore.crypto.mac) {\n throw new SwapKitError(\"wallet_keystore_invalid_password\");\n }\n\n const decipher = createDecipheriv(\n keystore.crypto.cipher,\n derivedKey.subarray(0, 16),\n Buffer.from(keystore.crypto.cipherparams.iv, \"hex\"),\n );\n\n const phrase = Buffer.concat([decipher.update(ciphertext), decipher.final()]);\n return phrase.toString(\"utf8\");\n }\n\n default:\n throw new SwapKitError(\"wallet_keystore_unsupported_version\");\n }\n}\n"
5
+ "import {\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n NetworkDerivationPath,\n UTXOChains,\n WalletOption,\n createWallet,\n filterSupportedChains,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const keystoreWallet = createWallet({\n name: \"connectKeystore\",\n walletType: WalletOption.KEYSTORE,\n supportedChains: [\n ...EVMChains,\n ...UTXOChains,\n ...CosmosChains,\n Chain.Polkadot,\n Chain.Chainflip,\n Chain.Ripple,\n Chain.Solana,\n Chain.Tron,\n Chain.Near,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeystore(\n chains: Chain[],\n phrase: string,\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const derivationPathIndex =\n typeof derivationPathMapOrIndex === \"number\" ? derivationPathMapOrIndex : 0;\n\n const derivationPathFromMap =\n derivationPathMapOrIndex && typeof derivationPathMapOrIndex === \"object\"\n ? derivationPathMapOrIndex[chain]\n : undefined;\n\n const derivationArrayToUpdate = NetworkDerivationPath[chain].slice(\n 0,\n chain === Chain.Solana ? 4 : 5,\n ) as DerivationPathArray;\n\n const derivationPath: DerivationPathArray =\n derivationPathFromMap ||\n updateDerivationPath(derivationArrayToUpdate, { index: derivationPathIndex });\n\n const { getToolbox } = await import(\"@swapkit/toolboxes\");\n\n const toolbox = await getToolbox(chain, { phrase, derivationPath });\n const address = (await toolbox.getAddress()) || \"\";\n\n const wallet = { ...toolbox, address };\n\n addChain({ ...wallet, chain, walletType: WalletOption.KEYSTORE });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEYSTORE_SUPPORTED_CHAINS = getWalletSupportedChains(keystoreWallet);\n\nexport * from \"./helpers\";\n",
6
+ "import { createCipheriv, createDecipheriv, pbkdf2Sync, randomBytes } from \"node:crypto\";\nimport { generateMnemonic, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist } from \"@scure/bip39/wordlists/english\";\n\nexport type Keystore = {\n version: number;\n meta: string;\n crypto: {\n cipher: string;\n cipherparams: { iv: string };\n ciphertext: string;\n kdf: string;\n kdfparams: { prf: string; dklen: number; salt: string; c: number };\n mac: string;\n };\n};\n\nasync function blake256(initData: Buffer | string) {\n const { blake2bFinal, blake2bInit, blake2bUpdate } = (await import(\"blakejs\")).default;\n let data = initData;\n\n if (!(data instanceof Buffer)) {\n // @ts-ignore\n data = Buffer.from(data, \"hex\");\n }\n\n const context = blake2bInit(32);\n blake2bUpdate(context, data);\n\n return Array.from(blake2bFinal(context))\n .map((byte) => (byte < 0x10 ? `0${byte.toString(16)}` : byte.toString(16)))\n .join(\"\");\n}\n\nexport async function encryptToKeyStore(phrase: string, password: string) {\n const cipher = \"aes-128-ctr\";\n const iv = randomBytes(16);\n const salt = randomBytes(32);\n const kdfParams = { c: 262144, prf: \"hmac-sha256\", dklen: 32, salt: salt.toString(\"hex\") };\n\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n const cipherIV = createCipheriv(cipher, derivedKey.subarray(0, 16), iv);\n const ciphertext = Buffer.concat([\n cipherIV.update(Buffer.from(phrase, \"utf8\")),\n cipherIV.final(),\n ]);\n const initData = Buffer.concat([derivedKey.subarray(16, 32), Buffer.from(ciphertext)]);\n const mac = await blake256(initData);\n\n return {\n meta: \"xchain-keystore\",\n version: 1,\n crypto: {\n cipher,\n cipherparams: { iv: iv.toString(\"hex\") },\n ciphertext: ciphertext.toString(\"hex\"),\n kdf: \"pbkdf2\",\n kdfparams: kdfParams,\n mac,\n },\n };\n}\n\nexport function generatePhrase(size: 12 | 24 = 12) {\n return generateMnemonic(wordlist, size === 12 ? 128 : 256);\n}\n\nexport function validatePhrase(phrase: string) {\n return validateMnemonic(phrase, wordlist);\n}\n\nexport async function decryptFromKeystore(keystore: Keystore, password: string) {\n const { SwapKitError } = await import(\"@swapkit/helpers\");\n\n switch (keystore.version) {\n case 1: {\n const kdfParams = keystore.crypto.kdfparams;\n const salt = Buffer.from(kdfParams.salt, \"hex\");\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n\n const ciphertext = Buffer.from(keystore.crypto.ciphertext, \"hex\");\n const initData = Buffer.concat([derivedKey.subarray(16, 32), ciphertext]);\n const mac = await blake256(initData);\n\n if (mac !== keystore.crypto.mac) {\n throw new SwapKitError(\"wallet_keystore_invalid_password\");\n }\n\n const decipher = createDecipheriv(\n keystore.crypto.cipher,\n derivedKey.subarray(0, 16),\n Buffer.from(keystore.crypto.cipherparams.iv, \"hex\"),\n );\n\n const phrase = Buffer.concat([decipher.update(ciphertext), decipher.final()]);\n return phrase.toString(\"utf8\");\n }\n\n default:\n throw new SwapKitError(\"wallet_keystore_unsupported_version\");\n }\n}\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "579D74A4588FBA0964756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "8B787A2A3639BA0C64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,3 +1,4 @@
1
- import{a as b}from"../../chunk-6ndrbmhg.js";import{c as m,d as h}from"../../chunk-p1kdg37m.js";import{Chain as u,CosmosChains as P,EVMChains as K,NetworkDerivationPath as D,UTXOChains as T,WalletOption as v,createWallet as E,filterSupportedChains as A,updateDerivationPath as _}from"@swapkit/helpers";import{generateMnemonic as C,validateMnemonic as B}from"@scure/bip39";import{wordlist as w}from"@scure/bip39/wordlists/english";async function x(t){let{blake2bFinal:o,blake2bInit:i,blake2bUpdate:s}=await import("blakejs"),a=t;if(!(a instanceof Buffer))a=Buffer.from(a,"hex");let n=i(32);return s(n,a),Array.from(o(n)).map((r)=>r<16?`0${r.toString(16)}`:r.toString(16)).join("")}async function F(t,o){let{pbkdf2Sync:i,randomBytes:s,createCipheriv:a}=await import("crypto"),n="aes-128-ctr",r=s(16),c=s(32),e={c:262144,prf:"hmac-sha256",dklen:32,salt:c.toString("hex")},f=i(o,c,e.c,e.dklen,"sha256"),l=a("aes-128-ctr",f.subarray(0,16),r),p=Buffer.concat([l.update(Buffer.from(t,"utf8")),l.final()]),d=Buffer.concat([f.subarray(16,32),Buffer.from(p)]),y=await x(d);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:r.toString("hex")},ciphertext:p.toString("hex"),kdf:"pbkdf2",kdfparams:e,mac:y}}}function Y(t=12){return C(w,t===12?128:256)}function j(t){return B(t,w)}async function N(t,o){let{createDecipheriv:i,pbkdf2Sync:s}=await import("crypto"),{SwapKitError:a}=await import("@swapkit/helpers");switch(t.version){case 1:{let n=t.crypto.kdfparams,r=Buffer.from(n.salt,"hex"),c=s(o,r,n.c,n.dklen,"sha256"),e=Buffer.from(t.crypto.ciphertext,"hex"),f=Buffer.concat([c.subarray(16,32),e]);if(await x(f)!==t.crypto.mac)throw new a("wallet_keystore_invalid_password");let p=i(t.crypto.cipher,c.subarray(0,16),Buffer.from(t.crypto.cipherparams.iv,"hex"));return Buffer.concat([p.update(e),p.final()]).toString("utf8")}default:throw new a("wallet_keystore_unsupported_version")}}var R=E({name:"connectKeystore",walletType:v.KEYSTORE,supportedChains:[...K,...T,...P,u.Polkadot,u.Chainflip,u.Ripple,u.Solana],connect:({addChain:t,supportedChains:o,walletType:i})=>async function s(a,n,r){let c=A({chains:a,supportedChains:o,walletType:i});return await Promise.all(c.map(async(e)=>{let f=typeof r==="number"?r:0,l=r&&typeof r==="object"?r[e]:void 0,p=D[e].slice(0,e===u.Solana?4:5),d=l||_(p,{index:f}),{getToolbox:y}=await import("@swapkit/toolboxes"),g=await y(e,{phrase:n,derivationPath:d}),k=await g.getAddress()||"",S={...g,address:k};t({...S,chain:e,walletType:v.KEYSTORE})})),!0}}),X=b(R);export{j as validatePhrase,R as keystoreWallet,Y as generatePhrase,F as encryptToKeyStore,N as decryptFromKeystore,X as KEYSTORE_SUPPORTED_CHAINS};
1
+ import{C as v}from"../../chunk-c11abmv4.js";import{E as m,F as h}from"../../chunk-r308an05.js";import{Chain as c,CosmosChains as E,EVMChains as A,NetworkDerivationPath as _,UTXOChains as R,WalletOption as w,createWallet as U,filterSupportedChains as W,updateDerivationPath as F}from"@swapkit/helpers";import{createCipheriv as P,createDecipheriv as K,pbkdf2Sync as y,randomBytes as d}from"node:crypto";import{generateMnemonic as T,validateMnemonic as D}from"@scure/bip39";import{wordlist as g}from"@scure/bip39/wordlists/english";async function x(t){let{blake2bFinal:i,blake2bInit:s,blake2bUpdate:n}=(await import("blakejs")).default,e=t;if(!(e instanceof Buffer))e=Buffer.from(e,"hex");let a=s(32);return n(a,e),Array.from(i(a)).map((r)=>r<16?`0${r.toString(16)}`:r.toString(16)).join("")}async function V(t,i){let n=d(16),e=d(32),a={c:262144,prf:"hmac-sha256",dklen:32,salt:e.toString("hex")},r=y(i,e,a.c,a.dklen,"sha256"),p=P("aes-128-ctr",r.subarray(0,16),n),o=Buffer.concat([p.update(Buffer.from(t,"utf8")),p.final()]),f=Buffer.concat([r.subarray(16,32),Buffer.from(o)]),l=await x(f);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:n.toString("hex")},ciphertext:o.toString("hex"),kdf:"pbkdf2",kdfparams:a,mac:l}}}function H(t=12){return T(g,t===12?128:256)}function X(t){return D(t,g)}async function $(t,i){let{SwapKitError:s}=await import("@swapkit/helpers");switch(t.version){case 1:{let n=t.crypto.kdfparams,e=Buffer.from(n.salt,"hex"),a=y(i,e,n.c,n.dklen,"sha256"),r=Buffer.from(t.crypto.ciphertext,"hex"),p=Buffer.concat([a.subarray(16,32),r]);if(await x(p)!==t.crypto.mac)throw new s("wallet_keystore_invalid_password");let f=K(t.crypto.cipher,a.subarray(0,16),Buffer.from(t.crypto.cipherparams.iv,"hex"));return Buffer.concat([f.update(r),f.final()]).toString("utf8")}default:throw new s("wallet_keystore_unsupported_version")}}var N=U({name:"connectKeystore",walletType:w.KEYSTORE,supportedChains:[...A,...R,...E,c.Polkadot,c.Chainflip,c.Ripple,c.Solana,c.Tron,c.Near],connect:({addChain:t,supportedChains:i,walletType:s})=>async function n(e,a,r){let p=W({chains:e,supportedChains:i,walletType:s});return await Promise.all(p.map(async(o)=>{let f=typeof r==="number"?r:0,l=r&&typeof r==="object"?r[o]:void 0,b=_[o].slice(0,o===c.Solana?4:5),k=l||F(b,{index:f}),{getToolbox:S}=await import("@swapkit/toolboxes"),u=await S(o,{phrase:a,derivationPath:k}),C=await u.getAddress()||"",B={...u,address:C};t({...B,chain:o,walletType:w.KEYSTORE})})),!0}}),I=v(N);export{X as validatePhrase,N as keystoreWallet,H as generatePhrase,V as encryptToKeyStore,$ as decryptFromKeystore,I as KEYSTORE_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=D774098E142DFD7064756E2164756E21
3
+ //# debugId=4568036FAB76AA1964756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/keystore/index.ts", "../src/keystore/helpers.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n NetworkDerivationPath,\n UTXOChains,\n WalletOption,\n createWallet,\n filterSupportedChains,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const keystoreWallet = createWallet({\n name: \"connectKeystore\",\n walletType: WalletOption.KEYSTORE,\n supportedChains: [\n ...EVMChains,\n ...UTXOChains,\n ...CosmosChains,\n Chain.Polkadot,\n Chain.Chainflip,\n Chain.Ripple,\n Chain.Solana,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeystore(\n chains: Chain[],\n phrase: string,\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const derivationPathIndex =\n typeof derivationPathMapOrIndex === \"number\" ? derivationPathMapOrIndex : 0;\n\n const derivationPathFromMap =\n derivationPathMapOrIndex && typeof derivationPathMapOrIndex === \"object\"\n ? derivationPathMapOrIndex[chain]\n : undefined;\n\n const derivationArrayToUpdate = NetworkDerivationPath[chain].slice(\n 0,\n chain === Chain.Solana ? 4 : 5,\n ) as DerivationPathArray;\n\n const derivationPath: DerivationPathArray =\n derivationPathFromMap ||\n updateDerivationPath(derivationArrayToUpdate, { index: derivationPathIndex });\n\n const { getToolbox } = await import(\"@swapkit/toolboxes\");\n\n const toolbox = await getToolbox(chain, { phrase, derivationPath });\n const address = (await toolbox.getAddress()) || \"\";\n\n const wallet = { ...toolbox, address };\n\n addChain({ ...wallet, chain, walletType: WalletOption.KEYSTORE });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEYSTORE_SUPPORTED_CHAINS = getWalletSupportedChains(keystoreWallet);\n\nexport * from \"./helpers\";\n",
6
- "import { generateMnemonic, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist } from \"@scure/bip39/wordlists/english\";\n\nexport type Keystore = {\n version: number;\n meta: string;\n crypto: {\n cipher: string;\n cipherparams: { iv: string };\n ciphertext: string;\n kdf: string;\n kdfparams: { prf: string; dklen: number; salt: string; c: number };\n mac: string;\n };\n};\n\nasync function blake256(initData: Buffer | string) {\n const { blake2bFinal, blake2bInit, blake2bUpdate } = await import(\"blakejs\");\n let data = initData;\n\n if (!(data instanceof Buffer)) {\n // @ts-ignore\n data = Buffer.from(data, \"hex\");\n }\n\n const context = blake2bInit(32);\n blake2bUpdate(context, data);\n\n return Array.from(blake2bFinal(context))\n .map((byte) => (byte < 0x10 ? `0${byte.toString(16)}` : byte.toString(16)))\n .join(\"\");\n}\n\nexport async function encryptToKeyStore(phrase: string, password: string) {\n const { pbkdf2Sync, randomBytes, createCipheriv } = await import(\"crypto\");\n\n const cipher = \"aes-128-ctr\";\n const iv = randomBytes(16);\n const salt = randomBytes(32);\n const kdfParams = { c: 262144, prf: \"hmac-sha256\", dklen: 32, salt: salt.toString(\"hex\") };\n\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n const cipherIV = createCipheriv(cipher, derivedKey.subarray(0, 16), iv);\n const ciphertext = Buffer.concat([\n cipherIV.update(Buffer.from(phrase, \"utf8\")),\n cipherIV.final(),\n ]);\n const initData = Buffer.concat([derivedKey.subarray(16, 32), Buffer.from(ciphertext)]);\n const mac = await blake256(initData);\n\n return {\n meta: \"xchain-keystore\",\n version: 1,\n crypto: {\n cipher,\n cipherparams: { iv: iv.toString(\"hex\") },\n ciphertext: ciphertext.toString(\"hex\"),\n kdf: \"pbkdf2\",\n kdfparams: kdfParams,\n mac,\n },\n };\n}\n\nexport function generatePhrase(size: 12 | 24 = 12) {\n return generateMnemonic(wordlist, size === 12 ? 128 : 256);\n}\n\nexport function validatePhrase(phrase: string) {\n return validateMnemonic(phrase, wordlist);\n}\n\nexport async function decryptFromKeystore(keystore: Keystore, password: string) {\n const { createDecipheriv, pbkdf2Sync } = await import(\"crypto\");\n const { SwapKitError } = await import(\"@swapkit/helpers\");\n\n switch (keystore.version) {\n case 1: {\n const kdfParams = keystore.crypto.kdfparams;\n const salt = Buffer.from(kdfParams.salt, \"hex\");\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n\n const ciphertext = Buffer.from(keystore.crypto.ciphertext, \"hex\");\n const initData = Buffer.concat([derivedKey.subarray(16, 32), ciphertext]);\n const mac = await blake256(initData);\n\n if (mac !== keystore.crypto.mac) {\n throw new SwapKitError(\"wallet_keystore_invalid_password\");\n }\n\n const decipher = createDecipheriv(\n keystore.crypto.cipher,\n derivedKey.subarray(0, 16),\n Buffer.from(keystore.crypto.cipherparams.iv, \"hex\"),\n );\n\n const phrase = Buffer.concat([decipher.update(ciphertext), decipher.final()]);\n return phrase.toString(\"utf8\");\n }\n\n default:\n throw new SwapKitError(\"wallet_keystore_unsupported_version\");\n }\n}\n"
5
+ "import {\n Chain,\n CosmosChains,\n type DerivationPathArray,\n EVMChains,\n NetworkDerivationPath,\n UTXOChains,\n WalletOption,\n createWallet,\n filterSupportedChains,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const keystoreWallet = createWallet({\n name: \"connectKeystore\",\n walletType: WalletOption.KEYSTORE,\n supportedChains: [\n ...EVMChains,\n ...UTXOChains,\n ...CosmosChains,\n Chain.Polkadot,\n Chain.Chainflip,\n Chain.Ripple,\n Chain.Solana,\n Chain.Tron,\n Chain.Near,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeystore(\n chains: Chain[],\n phrase: string,\n derivationPathMapOrIndex?: { [chain in Chain]?: DerivationPathArray } | number,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const derivationPathIndex =\n typeof derivationPathMapOrIndex === \"number\" ? derivationPathMapOrIndex : 0;\n\n const derivationPathFromMap =\n derivationPathMapOrIndex && typeof derivationPathMapOrIndex === \"object\"\n ? derivationPathMapOrIndex[chain]\n : undefined;\n\n const derivationArrayToUpdate = NetworkDerivationPath[chain].slice(\n 0,\n chain === Chain.Solana ? 4 : 5,\n ) as DerivationPathArray;\n\n const derivationPath: DerivationPathArray =\n derivationPathFromMap ||\n updateDerivationPath(derivationArrayToUpdate, { index: derivationPathIndex });\n\n const { getToolbox } = await import(\"@swapkit/toolboxes\");\n\n const toolbox = await getToolbox(chain, { phrase, derivationPath });\n const address = (await toolbox.getAddress()) || \"\";\n\n const wallet = { ...toolbox, address };\n\n addChain({ ...wallet, chain, walletType: WalletOption.KEYSTORE });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEYSTORE_SUPPORTED_CHAINS = getWalletSupportedChains(keystoreWallet);\n\nexport * from \"./helpers\";\n",
6
+ "import { createCipheriv, createDecipheriv, pbkdf2Sync, randomBytes } from \"node:crypto\";\nimport { generateMnemonic, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist } from \"@scure/bip39/wordlists/english\";\n\nexport type Keystore = {\n version: number;\n meta: string;\n crypto: {\n cipher: string;\n cipherparams: { iv: string };\n ciphertext: string;\n kdf: string;\n kdfparams: { prf: string; dklen: number; salt: string; c: number };\n mac: string;\n };\n};\n\nasync function blake256(initData: Buffer | string) {\n const { blake2bFinal, blake2bInit, blake2bUpdate } = (await import(\"blakejs\")).default;\n let data = initData;\n\n if (!(data instanceof Buffer)) {\n // @ts-ignore\n data = Buffer.from(data, \"hex\");\n }\n\n const context = blake2bInit(32);\n blake2bUpdate(context, data);\n\n return Array.from(blake2bFinal(context))\n .map((byte) => (byte < 0x10 ? `0${byte.toString(16)}` : byte.toString(16)))\n .join(\"\");\n}\n\nexport async function encryptToKeyStore(phrase: string, password: string) {\n const cipher = \"aes-128-ctr\";\n const iv = randomBytes(16);\n const salt = randomBytes(32);\n const kdfParams = { c: 262144, prf: \"hmac-sha256\", dklen: 32, salt: salt.toString(\"hex\") };\n\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n const cipherIV = createCipheriv(cipher, derivedKey.subarray(0, 16), iv);\n const ciphertext = Buffer.concat([\n cipherIV.update(Buffer.from(phrase, \"utf8\")),\n cipherIV.final(),\n ]);\n const initData = Buffer.concat([derivedKey.subarray(16, 32), Buffer.from(ciphertext)]);\n const mac = await blake256(initData);\n\n return {\n meta: \"xchain-keystore\",\n version: 1,\n crypto: {\n cipher,\n cipherparams: { iv: iv.toString(\"hex\") },\n ciphertext: ciphertext.toString(\"hex\"),\n kdf: \"pbkdf2\",\n kdfparams: kdfParams,\n mac,\n },\n };\n}\n\nexport function generatePhrase(size: 12 | 24 = 12) {\n return generateMnemonic(wordlist, size === 12 ? 128 : 256);\n}\n\nexport function validatePhrase(phrase: string) {\n return validateMnemonic(phrase, wordlist);\n}\n\nexport async function decryptFromKeystore(keystore: Keystore, password: string) {\n const { SwapKitError } = await import(\"@swapkit/helpers\");\n\n switch (keystore.version) {\n case 1: {\n const kdfParams = keystore.crypto.kdfparams;\n const salt = Buffer.from(kdfParams.salt, \"hex\");\n const derivedKey = pbkdf2Sync(password, salt, kdfParams.c, kdfParams.dklen, \"sha256\");\n\n const ciphertext = Buffer.from(keystore.crypto.ciphertext, \"hex\");\n const initData = Buffer.concat([derivedKey.subarray(16, 32), ciphertext]);\n const mac = await blake256(initData);\n\n if (mac !== keystore.crypto.mac) {\n throw new SwapKitError(\"wallet_keystore_invalid_password\");\n }\n\n const decipher = createDecipheriv(\n keystore.crypto.cipher,\n derivedKey.subarray(0, 16),\n Buffer.from(keystore.crypto.cipherparams.iv, \"hex\"),\n );\n\n const phrase = Buffer.concat([decipher.update(ciphertext), decipher.final()]);\n return phrase.toString(\"utf8\");\n }\n\n default:\n throw new SwapKitError(\"wallet_keystore_unsupported_version\");\n }\n}\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "D774098E142DFD7064756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "4568036FAB76AA1964756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,5 @@
1
- var e0={};t0(e0,{ledgerWallet:()=>K0,LEDGER_SUPPORTED_CHAINS:()=>n0});module.exports=o0(e0);var J=require("@swapkit/helpers");var H=require("@swapkit/helpers"),E=async({chain:L,ledgerClient:_})=>{if(!_)return"";switch(L){case H.Chain.Cosmos:case H.Chain.THORChain:return _.connect();case H.Chain.Ethereum:case H.Chain.BinanceSmartChain:case H.Chain.Avalanche:case H.Chain.Polygon:case H.Chain.Arbitrum:case H.Chain.Optimism:case H.Chain.Base:return _.getAddress();case H.Chain.Bitcoin:case H.Chain.BitcoinCash:case H.Chain.Dash:case H.Chain.Dogecoin:case H.Chain.Litecoin:{let O=_;await O.connect();let B=await O.getAddress();return L===H.Chain.BitcoinCash?B.replace("bitcoincash:",""):B}default:throw new H.SwapKitError("wallet_chain_not_supported",{wallet:H.WalletOption.LEDGER,chain:L})}};var Y=require("@swapkit/helpers");var x=require("@swapkit/helpers");var w=require("@swapkit/helpers");var C=85,d=250;var K={GET_VERSION:0,INS_PUBLIC_KEY_SECP256K1:1,SIGN_SECP256K1:2,GET_ADDR_SECP256K1:4},k={INIT:0,ADD:1,LAST:2},i={ONLY_RETRIEVE:0,SHOW_ADDRESS_IN_DEVICE:1},f={JSON:0},R={NoError:36864},G0={1:"U2F: Unknown",2:"U2F: Bad request",3:"U2F: Configuration unsupported",4:"U2F: Device Ineligible",5:"U2F: Timeout",14:"Timeout",36864:"No errors",36865:"Device is busy",26626:"Error deriving keys",25600:"Execution Error",26368:"Wrong Length",27010:"Empty Buffer",27011:"Output buffer too small",27012:"Data is invalid",27013:"Conditions not satisfied",27014:"Transaction rejected",27264:"Bad key handle",27392:"Invalid P1/P2",27904:"Instruction not supported",28160:"App does not seem to be open",28416:"Unknown error",28417:"Sign/verify error"};function U(L){if(L in G0)return G0[L];return`Unknown Status Code: ${L}`}function h0(L){return typeof L==="object"&&L!==null&&!Array.isArray(L)&&!(L instanceof Date)}function M(L){if(L){if(h0(L)){if(Object.prototype.hasOwnProperty.call(L,"statusCode"))return{return_code:L.statusCode,error_message:U(L.statusCode)};if(Object.prototype.hasOwnProperty.call(L,"return_code")&&Object.prototype.hasOwnProperty.call(L,"error_message"))return L}return{return_code:65535,error_message:L.toString()}}return{return_code:65535,error_message:L.toString()}}async function p(L){return L.send(85,K.GET_VERSION,0,0).then((_)=>{let O=_.slice(-2),B=O[0]*256+O[1],G=0;if(_.length>=9)G=(_[5]<<24)+(_[6]<<16)+(_[7]<<8)+(_[8]<<0);return{return_code:B,error_message:U(B),test_mode:_[0]!==0,major:_[1],minor:_[2],patch:_[3],device_locked:_[4]===1,target_id:G.toString(16)}},M)}function B0(L){if(L==null||L.length<3)throw new Error("Invalid path.");if(L.length>10)throw new Error("Invalid path. Length should be <= 10");let _=Buffer.alloc(1+4*L.length);_.writeUInt8(L.length,0);for(let O=0;O<L.length;O+=1){let B=L[O]||0;if(O<3)B|=2147483648;_.writeInt32LE(B,1+O*4)}return _}async function o(L,_,O,B,G=f.JSON){return L.transport.send(C,K.SIGN_SECP256K1,_,G,B,[R.NoError,27012,27264]).then((j)=>{let X=j.slice(-2),F=X[0]*256+X[1],W=U(F);if(F===27264||F===27012)W=`${W} : ${j.slice(0,j.length-2).toString("ascii")}`;let $=null;if(j.length>2)$=j.slice(0,j.length-2);return{signature:$,return_code:F,error_message:W}},M)}function d0(L){if(L.length!==65)throw new Error("decompressed public key length should be 65 bytes");let _=L.slice(33,65),O=Buffer.from([2+(_[_.length-1]&1)]);return Buffer.concat([O,L.slice(1,33)])}async function j0(L,_){return L.transport.send(C,K.INS_PUBLIC_KEY_SECP256K1,0,0,_,[R.NoError]).then((O)=>{let B=O.slice(-2),G=B[0]*256+B[1],j=Buffer.from(O.slice(0,65));return{pk:j,compressed_pk:d0(j),return_code:G,error_message:U(G)}},M)}function F0(L){if(!L||L.length!==5)throw new Error("Invalid path.");let _=Buffer.alloc(20);return _.writeUInt32LE(2147483648+L[0],0),_.writeUInt32LE(2147483648+L[1],4),_.writeUInt32LE(2147483648+L[2],8),_.writeUInt32LE(L[3],12),_.writeUInt32LE(L[4],16),_}function X0(L,_,O,B,G=f.JSON){let j=k.ADD;if(_===1)j=k.INIT;if(_===O)j=k.LAST;return o(L,j,0,B,G)}async function J0(L,_){return L.transport.send(C,K.GET_ADDR_SECP256K1,0,0,_,[R.NoError]).then((O)=>{let B=O.slice(-2),G=B[0]*256+B[1];return{pk:"OBSOLETE PROPERTY",compressed_pk:Buffer.from(O.slice(0,33)),return_code:G,error_message:U(G)}},M)}class l{transport;versionResponse;constructor(L){if(!L)throw new Error("Transport has not been defined");this.transport=L}static serializeHRP(L){if(L==null||L.length<3||L.length>83)throw new Error("Invalid HRP");let _=Buffer.alloc(1+L.length);return _.writeUInt8(L.length,0),_.write(L,1),_}async serializePath(L){if(this.versionResponse=await p(this.transport),this.versionResponse.return_code!==R.NoError)throw this.versionResponse;switch(this.versionResponse.major){case 1:return B0(L);case 2:return F0(L);default:return Buffer.alloc(0)}}async signGetChunks(L,_){let O=await this.serializePath(L),B=[];B.push(O);for(let G=0;G<_.length;G+=d){let j=G+d;if(G>_.length)j=_.length;B.push(_.slice(G,j))}return B}async getVersion(){try{return this.versionResponse=await p(this.transport),this.versionResponse}catch(L){return M(L)}}async appInfo(){return this.transport.send(176,1,0,0).then((L)=>{let _=L.slice(-2),O=_[0]*256+_[1],B="",G="",j=0,X=0;if(L[0]!==1)return{return_code:36865,error_message:"response format ID not recognized"};let F=L[1];B=L.slice(2,2+F).toString("ascii");let W=2+F,$=L[W];W+=1,G=L.slice(W,W+$).toString("ascii"),W+=$;let Q=L[W];return W+=1,j=Q,X=L[W],{return_code:O,error_message:U(O),appName:B,appVersion:G,flagLen:j,flagsValue:X,flag_recovery:(X&1)!==0,flag_signed_mcu_code:(X&2)!==0,flag_onboarded:(X&4)!==0,flag_pin_validated:(X&128)!==0}},M)}async deviceInfo(){return this.transport.send(224,1,0,0,Buffer.from([]),[R.NoError,28160]).then((L)=>{let _=L.slice(-2),O=_[0]*256+_[1];if(O===28160)return{return_code:O,error_message:"This command is only available in the Dashboard"};let B=L.slice(0,4).toString("hex"),G=4,j=L[G];G+=1;let X=L.slice(G,G+j).toString();G+=j;let F=L[G];G+=1;let W=L.slice(G,G+F).toString("hex");G+=F;let $=L[G];G+=1;let Q=L.slice(G,G+$);if(Q[$-1]===0)Q=L.slice(G,G+$-1);let T=Q.toString();return{return_code:O,error_message:U(O),targetId:B,seVersion:X,flag:W,mcuVersion:T}},M)}async publicKey(L){try{let _=await this.serializePath(L);switch(this.versionResponse.major){case 1:return j0(this,_);case 2:{let O=Buffer.concat([l.serializeHRP("thor"),_]);return J0(this,O)}default:return{return_code:25600,error_message:"App Version is not supported"}}}catch(_){return M(_)}}async getAddressAndPubKey(L,_,O=!1){return this.serializePath(L).then((B)=>{let G=Buffer.concat([l.serializeHRP(_),B]);return this.transport.send(C,K.GET_ADDR_SECP256K1,O?i.SHOW_ADDRESS_IN_DEVICE:i.ONLY_RETRIEVE,0,G,[R.NoError]).then((j)=>{let X=j.slice(-2),F=X[0]*256+X[1],W=Buffer.from(j.slice(0,33));return{bech32_address:Buffer.from(j.slice(33,-2)).toString(),compressed_pk:W,return_code:F,error_message:U(F)}},M)}).catch((B)=>M(B))}showAddressAndPubKey(L,_){return this.getAddressAndPubKey(L,_,!0)}signSendChunk(L,_,O,B=f.JSON){switch(this.versionResponse.major){case 1:return o(this,L,_,O,B);case 2:return X0(this,L,_,O,B);default:return{return_code:25600,error_message:"App Version is not supported"}}}async sign(L,_,O=f.JSON){let B=Buffer.from(_),G=[],j;try{G=await this.signGetChunks(L,B),j=await this.signSendChunk(1,G.length,G[0],O)}catch(F){M(F)}let X={return_code:j.return_code,error_message:j.error_message,signature:null};for(let F=1;F<G.length;F+=1)if(X=await this.signSendChunk(1+F,G.length,G[F],O),X.return_code!==R.NoError)break;return{return_code:X.return_code,error_message:X.error_message,signature:X.signature}}}var b=require("@swapkit/helpers"),t=()=>navigator?.usb,i0=async()=>{let L=t();if(typeof L?.getDevices!=="function")return[];let{ledgerUSBVendorId:_}=await import("@ledgerhq/devices"),B=(await L?.getDevices()).filter((G)=>G.vendorId===_);if(B.length>0)return B[0];return L?.requestDevice({filters:[{vendorId:_}]})},N=async()=>{let L=await i0();if(!L)throw new b.SwapKitError("wallet_ledger_device_not_found");if(await L.open(),L.configuration===null)await L.selectConfiguration(1);try{await L.reset()}catch{}let _=L.configurations[0].interfaces.find(({alternates:F})=>F.some(({interfaceClass:W})=>W===255));if(!_)throw await L.close(),new b.SwapKitError("wallet_ledger_connection_error");try{await L.claimInterface(_.interfaceNumber)}catch(F){throw await L.close(),new b.SwapKitError("wallet_ledger_connection_claimed",F)}let{default:O}=await import("@ledgerhq/hw-transport-webusb");if(!await O.isSupported())throw new Error("WebUSB not supported");let{DisconnectedDevice:G}=await import("@ledgerhq/errors"),j=new O(L,_.interfaceNumber),X=(F)=>{if(L===F.device)t()?.removeEventListener("disconnect",X),j._emitDisconnect(new G)};return t()?.addEventListener("disconnect",X),j};class V{ledgerTimeout=50000;derivationPath=w.NetworkDerivationPath.GAIA;transport;ledgerApp;chain="thor";checkOrCreateTransportAndLedger=async(L=!1)=>{if(!L&&this.transport&&this.ledgerApp)return;try{switch(this.transport=L||!this.transport?await N():this.transport,this.chain){case"thor":{this.ledgerApp=L||!this.ledgerApp?new l(this.transport):this.ledgerApp;break}case"cosmos":{let{default:_}=await import("@ledgerhq/hw-app-cosmos");this.ledgerApp=L||!this.ledgerApp?new _(this.transport):this.ledgerApp}}return this.ledgerApp}catch(_){throw new w.SwapKitError("wallet_ledger_connection_error",_)}};validateResponse=(L,_)=>{switch(L){case w.LedgerErrorCode.NoError:return;case w.LedgerErrorCode.LockedDevice:throw new w.SwapKitError("wallet_ledger_device_locked",{message:`Ledger is locked: ${_}`});case w.LedgerErrorCode.TC_NotFound:throw new w.SwapKitError("wallet_ledger_device_not_found");default:{console.error(`Ledger error: ${L} ${_}`);break}}}}class n extends V{pubKey=null;derivationPath;constructor(L=x.NetworkDerivationPath.GAIA){super();this.chain="cosmos",this.derivationPath=x.derivationPathToString(L)}connect=async()=>{await this.checkOrCreateTransportAndLedger(!0);let{publicKey:L,address:_}=await this.getAddressAndPubKey();return this.pubKey=Buffer.from(L,"hex").toString("base64"),_};getAddressAndPubKey=async()=>{return await this.checkOrCreateTransportAndLedger(!0),await this.ledgerApp.getAddress(this.derivationPath,this.chain)};signTransaction=async(L,_="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:O,error_message:B,signature:G}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new Error("Public Key not found");return this.validateResponse(O,B),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:_,signature:G}]};signAmino=async(L,_)=>{await this.checkOrCreateTransportAndLedger(!0);let O=await this.getAccounts();if(O.findIndex((Q)=>Q.address===L)===-1)throw new Error(`Address ${L} not found in wallet`);let{encodeSecp256k1Signature:G,serializeSignDoc:j}=await import("@cosmjs/amino"),{Secp256k1Signature:X}=await import("@cosmjs/crypto"),F=j(_),W=await this.ledgerApp.sign(this.derivationPath,F);this.validateResponse(W.return_code,W.error_message);let $=X.fromDer(W.signature).toFixedLength();return{signed:_,signature:G(O[0].pubkey,$)}};getAccounts=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.getAddressAndPubKey();return[{address:L.address,algo:"secp256k1",pubkey:Buffer.from(L.publicKey,"hex")}]}}var m=require("@swapkit/helpers"),W0=require("ethers");class y extends W0.AbstractSigner{chainId=m.ChainId.Ethereum;derivationPath="";ledgerApp=null;ledgerTimeout=50000;constructor({provider:L,derivationPath:_=m.NetworkDerivationPath.OP,chainId:O=m.ChainId.Optimism}){super(L);this.chainId=O||m.ChainId.Ethereum,this.derivationPath=typeof _==="string"?_:m.derivationPathToString(_),Object.defineProperty(this,"provider",{enumerable:!0,value:L||null,writable:!1})}connect=(L)=>new y({provider:L,derivationPath:this.derivationPath,chainId:this.chainId});checkOrCreateTransportAndLedger=async()=>{if(this.ledgerApp)return;await this.createTransportAndLedger()};createTransportAndLedger=async()=>{let L=await N(),{default:_}=await import("@ledgerhq/hw-app-eth");this.ledgerApp=new _(L)};getAddress=async()=>{let L=await this.getAddressAndPubKey();if(!L)throw new Error("Could not get Address");return L.address};getAddressAndPubKey=async()=>{return await this.createTransportAndLedger(),this.ledgerApp?.getAddress(this.derivationPath)};showAddressAndPubKey=async()=>{return await this.createTransportAndLedger(),this.ledgerApp?.getAddress(this.derivationPath,!0)};signMessage=async(L)=>{let{Signature:_}=await import("ethers");await this.createTransportAndLedger();let O=await this.ledgerApp?.signPersonalMessage(this.derivationPath,L);if(!O)throw new Error("Signing failed");return O.r=`0x${O.r}`,O.s=`0x${O.s}`,_.from(O).serialized};sendTransaction=async(L)=>{if(!this.provider)throw new Error("No provider set");let _=await this.signTransaction(L);return await this.provider.broadcastTransaction(_)};signTypedData(){throw new Error("Method not implemented.")}signTransaction=async(L)=>{let{Transaction:_}=await import("ethers");await this.createTransportAndLedger();let O=await this.provider?.getTransactionCount(L.from||await this.getAddress()),B={chainId:L.chainId||this.chainId,data:L.data,gasLimit:L.gasLimit,...L.gasPrice&&{gasPrice:L.gasPrice},...!L.gasPrice&&L.maxFeePerGas&&{maxFeePerGas:L.maxFeePerGas,maxPriorityFeePerGas:L.maxPriorityFeePerGas},nonce:L.nonce!==void 0?Number((L.nonce||O||0).toString()):O,to:L.to?.toString(),value:L.value,type:L.type&&!Number.isNaN(L.type)?L.type:L.maxFeePerGas?2:0},G=_.from(B).unsignedSerialized.slice(2),{ledgerService:j}=await import("@ledgerhq/hw-app-eth"),X=await j.resolveTransaction(G,{},{externalPlugins:!0,erc20:!0}),F=await this.ledgerApp?.signTransaction(this.derivationPath,G,X);if(!F)throw new Error("Could not sign transaction");let{r:W,s:$,v:Q}=F;return _.from({...B,signature:{v:Number(BigInt(Q)),r:`0x${W}`,s:`0x${$}`}}).serialized}}var $0=({provider:L,derivationPath:_})=>new y({chainId:m.ChainId.Ethereum,provider:L,derivationPath:_}),Q0=({provider:L,derivationPath:_})=>new y({chainId:m.ChainId.Avalanche,provider:L,derivationPath:_}),Y0=({provider:L,derivationPath:_})=>new y({chainId:m.ChainId.BinanceSmartChain,provider:L,derivationPath:_}),Z0=({provider:L,derivationPath:_})=>new y({chainId:m.ChainId.Arbitrum,provider:L,derivationPath:_}),H0=({provider:L,derivationPath:_})=>new y({chainId:m.ChainId.Polygon,provider:L,derivationPath:_}),m0=({provider:L,derivationPath:_})=>new y({chainId:m.ChainId.Optimism,provider:L,derivationPath:_}),M0=({provider:L,derivationPath:_})=>new y({chainId:m.ChainId.Base,provider:L,derivationPath:_});var U0=require("@scure/base"),w0=require("@swapkit/helpers");var T0=require("@scure/base"),a=(L)=>{if(L.length<64)throw new Error("Invalid Signature: Too short");if(L[0]!==48)throw new Error("Invalid Ledger Signature TLV encoding: expected first byte 0x30");if(L[1]+2!==L.length)throw new Error("Invalid Signature: signature length does not match TLV");if(L[2]!==2)throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02");let _=L[3],O=L.slice(4,_+4);if(O.length===33&&O[0]===0)O=O.slice(1,33);else if(O.length===33)throw new Error('Invalid signature: "r" too long');while(O.length<32)O.unshift(0);if(L[_+4]!==2)throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02");let B=L[_+5];if(4+_+2+B!==L.length)throw new Error("Invalid Ledger Signature: TLV byte lengths do not match message length");let G=L.slice(_+6,L.length);if(G.length===33&&G[0]===0)G=G.slice(1,33);else if(G.length===33)throw new Error('Invalid signature: "s" too long');while(G.length<32)G.unshift(0);if(O.length!==32||G.length!==32)throw new Error("Invalid signatures: must be 32 bytes each");return T0.base64.encode(Buffer.concat([O,G]))};class s extends V{pubKey=null;derivationPath;constructor(L=w0.NetworkDerivationPath.THOR){super();this.chain="thor",this.derivationPath=L}get pubkey(){return this.pubKey}connect=async()=>{await this.checkOrCreateTransportAndLedger();let{compressed_pk:L,bech32_address:_}=await this.getAddressAndPubKey();return this.pubKey=U0.base64.encode(L),_};getAddressAndPubKey=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.ledgerApp.getAddressAndPubKey(this.derivationPath,this.chain);return this.validateResponse(L.return_code,L.error_message),L};showAddressAndPubKey=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.ledgerApp.showAddressAndPubKey(this.derivationPath,this.chain);return this.validateResponse(L.return_code,L.error_message),L};signTransaction=async(L,_="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:O,error_message:B,signature:G}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new Error("Public Key not found");return this.validateResponse(O,B),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:_,signature:a(G)}]};sign=async(L)=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:_,error_message:O,signature:B}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new Error("Public Key not found");return this.validateResponse(_,O),a(B)}}var q=require("@swapkit/helpers");var p0=async({psbt:L,inputUtxos:_,btcApp:O,derivationPath:B},G)=>{let{Transaction:j}=await import("bitcoinjs-lib"),X=_.map((T)=>{let D=j.fromHex(T.txHex||"");return[O.splitTransaction(D.toHex(),D.hasWitnesses()),T.index,void 0,void 0]}),F=L.data.globalMap.unsignedTx.toBuffer().toString("hex"),W=O.splitTransaction(F,!0),$=O.serializeTransactionOutputs(W).toString("hex"),Q={additionals:["bech32"],associatedKeysets:X.map(()=>B),inputs:X,outputScriptHex:$,segwit:!0,useTrustedInputForSegwit:!0};return O.createPaymentTransaction({...Q,...G})},A=({chain:L,additionalSignParams:_})=>{let O,B=null;async function G(X=!0){if(X&&!O)new q.SwapKitError("wallet_ledger_connection_error",{message:`Ledger connection failed:
2
- ${JSON.stringify({checkBtcApp:X,btcApp:O})}`});B||=await N()}async function j(){B=await N();let{default:X}=await import("@ledgerhq/hw-app-btc");O=new X({transport:B,currency:L})}return(X)=>{let F=typeof X==="string"?X:q.derivationPathToString(X),W=q.getWalletFormatFor(F);return{connect:async()=>{await G(!1);let{default:$}=await import("@ledgerhq/hw-app-btc");O=new $({transport:B,currency:L})},getExtendedPublicKey:async($="84'/0'/0'",Q=76067358)=>{return await G(!1),O.getWalletXpub({path:$,xpubVersion:Q})},signTransaction:async($,Q)=>{return await j(),p0({psbt:$,derivationPath:F,btcApp:O,inputUtxos:Q},_)},getAddress:async()=>{let{toCashAddress:$}=await import("@swapkit/toolboxes/utxo");await G(!1);let{bitcoinAddress:Q}=await O.getWalletPublicKey(F,{format:W});if(!Q)throw new q.SwapKitError("wallet_ledger_get_address_error",{message:`Cannot get ${L} address from ledger derivation path: ${F}`});return L==="bitcoin-cash"&&W==="legacy"?$(Q).replace(/(bchtest:|bitcoincash:)/,""):Q}}}},R0=A({chain:"bitcoin"}),y0=A({chain:"litecoin"}),D0=A({chain:"bitcoin-cash",additionalSignParams:{segwit:!1,additionals:["abc"],sigHashType:65}}),N0=A({chain:"dogecoin",additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1}}),z0=A({chain:"dash",additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1}});var I=async({chain:L,derivationPath:_})=>{switch(L){case Y.Chain.THORChain:return new s(_);case Y.Chain.Cosmos:return new n(_);case Y.Chain.Bitcoin:return R0(_);case Y.Chain.BitcoinCash:return D0(_);case Y.Chain.Dash:return z0(_);case Y.Chain.Dogecoin:return N0(_);case Y.Chain.Litecoin:return y0(_);case Y.Chain.Arbitrum:case Y.Chain.Avalanche:case Y.Chain.BinanceSmartChain:case Y.Chain.Ethereum:case Y.Chain.Optimism:case Y.Chain.Polygon:case Y.Chain.Base:{let{getProvider:O}=await import("@swapkit/toolboxes/evm"),B={provider:await O(L),derivationPath:_};switch(L){case Y.Chain.BinanceSmartChain:return Y0(B);case Y.Chain.Avalanche:return Q0(B);case Y.Chain.Arbitrum:return Z0(B);case Y.Chain.Optimism:return m0(B);case Y.Chain.Polygon:return H0(B);case Y.Chain.Base:return M0(B);default:return $0(B)}}default:throw new Y.SwapKitError("wallet_chain_not_supported",{wallet:Y.WalletOption.LEDGER,chain:L})}};var K0=J.createWallet({name:"connectLedger",supportedChains:[J.Chain.Arbitrum,J.Chain.Avalanche,J.Chain.Base,J.Chain.BinanceSmartChain,J.Chain.Bitcoin,J.Chain.BitcoinCash,J.Chain.Cosmos,J.Chain.Dash,J.Chain.Dogecoin,J.Chain.Ethereum,J.Chain.Litecoin,J.Chain.Optimism,J.Chain.Polygon,J.Chain.THORChain],walletType:J.WalletOption.LEDGER,connect:({addChain:L,supportedChains:_,walletType:O})=>async function B(G,j){let[X]=J.filterSupportedChains({chains:G,supportedChains:_,walletType:O});if(!X)return!1;let F=await r0({chain:X,derivationPath:j});return L({...F,chain:X,walletType:J.WalletOption.LEDGER}),!0}}),n0=q0(K0);function a0(L,_="t"){if(!L?.includes("=:"))return L;let O=L.includes(`:${_}:`)?L.split(`:${_}:`)[0]:L;return O?.substring(0,O.lastIndexOf(":"))}function v(L){if(Array.isArray(L))return L.forEach((B,G)=>{L[G]=v(B)}),L;if(typeof L!=="object")return L;let _={},O=Object.keys(L).sort();for(let B of O)_[B]=v(L[B]);return _}function s0(L){return JSON.stringify(v(L))}async function r0({chain:L,derivationPath:_}){switch(L){case J.Chain.BitcoinCash:case J.Chain.Bitcoin:case J.Chain.Dash:case J.Chain.Dogecoin:case J.Chain.Litecoin:{let{getUtxoToolbox:O}=await import("@swapkit/toolboxes/utxo"),B=await O(L),G=await I({chain:L,derivationPath:_}),j=await E({chain:L,ledgerClient:G});return{...B,address:j,transfer:async(F)=>{let W=F.feeRate||(await B.getFeeRates())[J.FeeOption.Average],$=[J.Chain.Bitcoin].includes(L)?F.memo:a0(F.memo),{psbt:Q,inputs:T}=await B.createTransaction({...F,feeRate:W,memo:$,sender:j,fetchTxHex:!0}),D=await G.signTransaction(Q,T);return await B.broadcastTx(D)}}}case J.Chain.Ethereum:case J.Chain.Avalanche:case J.Chain.Arbitrum:case J.Chain.Optimism:case J.Chain.Polygon:case J.Chain.BinanceSmartChain:case J.Chain.Base:{let{getEvmToolbox:O}=await import("@swapkit/toolboxes/evm"),B=await I({chain:L,derivationPath:_}),G=await E({chain:L,ledgerClient:B});return{...await O(L,{signer:B}),address:G}}case J.Chain.Cosmos:{let{createSigningStargateClient:O,getMsgSendDenom:B,getCosmosToolbox:G}=await import("@swapkit/toolboxes/cosmos"),j=await G(J.Chain.Cosmos),X=await I({chain:L,derivationPath:_}),F=await E({chain:L,ledgerClient:X});return{...j,address:F,transfer:async({assetValue:$,recipient:Q,memo:T})=>{if(!$)throw new Error("invalid asset");let D={amount:[{amount:$.getBaseValue("string"),denom:B(`u${$.symbol}`).toLowerCase()}],fromAddress:F,toAddress:Q},S=await O(J.SKConfig.get("rpcUrls")[L],X,"0.007uatom"),{transactionHash:P}=await S.signAndBroadcast(F,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:D}],2,T);return P}}}case J.Chain.THORChain:{let{SignMode:O}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:B}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),{encodePubkey:G,makeAuthInfoBytes:j}=await import("@cosmjs/proto-signing"),{createStargateClient:X,buildEncodedTxBody:F,getCosmosToolbox:W,buildAminoMsg:$,getDefaultChainFee:Q,fromBase64:T,parseAminoMessageForDirectSigning:D}=await import("@swapkit/toolboxes/cosmos"),S=await W(L),P=await I({chain:L,derivationPath:_}),g=await E({chain:L,ledgerClient:P}),c=Q(L),{pubkey:r,signTransaction:S0,sign:E0}=P,e=async({memo:z="",assetValue:L0,...C0})=>{let _0=await S.getAccount(g);if(!_0)throw new Error("invalid account");if(!L0)throw new Error("invalid asset");if(!r)throw new Error("Account pubkey not found");let{accountNumber:f0,sequence:I0}=_0,u=(I0||0).toString(),O0=v([$({sender:g,assetValue:L0,memo:z,...C0})]),l0=s0({account_number:f0?.toString(),chain_id:J.ChainId.THORChain,fee:c,memo:z,msgs:O0,sequence:u}),h=await S0(l0,u);if(!h)throw new Error("tx signing failed");let V0=G({type:"tendermint/PubKeySecp256k1",value:r}),A0=O0.map(D),P0=await F({msgs:A0,chain:L,memo:z}),k0=j([{pubkey:V0,sequence:Number(u)}],c.amount,Number.parseInt(c.gas),void 0,void 0,O.SIGN_MODE_LEGACY_AMINO_JSON),b0=h?.[0]?.signature?T(h[0].signature):Uint8Array.from([]),x0=B.fromPartial({bodyBytes:P0,authInfoBytes:k0,signatures:[b0]}),v0=B.encode(x0).finish(),{isStagenet:g0}=J.SKConfig.get("envs"),c0=await X(J.SKConfig.get("rpcUrls")[g0?J.StagenetChain.THORChain:J.Chain.THORChain]),{transactionHash:u0}=await c0.broadcastTx(v0);return u0};return{...S,address:g,deposit:(z)=>e(z),transfer:(z)=>e(z),signMessage:E0}}default:throw new Error("Unsupported chain")}}
1
+ var WL={};XL(WL,{ledgerWallet:()=>K0,LEDGER_SUPPORTED_CHAINS:()=>BL});module.exports=TL(WL);var T=require("@swapkit/helpers");var j=require("@swapkit/helpers"),V=async({chain:L,ledgerClient:m})=>{if(!m)return"";switch(L){case j.Chain.Cosmos:case j.Chain.THORChain:return m.connect();case j.Chain.Ethereum:case j.Chain.BinanceSmartChain:case j.Chain.Avalanche:case j.Chain.Polygon:case j.Chain.Arbitrum:case j.Chain.Optimism:case j.Chain.Base:return m.getAddress();case j.Chain.Bitcoin:case j.Chain.BitcoinCash:case j.Chain.Dash:case j.Chain.Dogecoin:case j.Chain.Litecoin:{let _=m;await _.connect();let O=await _.getAddress();return L===j.Chain.BitcoinCash?O.replace("bitcoincash:",""):O}case j.Chain.Near:return await m.getAddress();case j.Chain.Ripple:return m.address;default:throw new j.SwapKitError("wallet_chain_not_supported",{wallet:j.WalletOption.LEDGER,chain:L})}};var $=require("@swapkit/helpers");var A=require("@swapkit/helpers");var w=require("@swapkit/helpers");var r=require("@swapkit/helpers");var E=85,p=250;var S={GET_VERSION:0,INS_PUBLIC_KEY_SECP256K1:1,SIGN_SECP256K1:2,GET_ADDR_SECP256K1:4},i={INIT:0,ADD:1,LAST:2},a={ONLY_RETRIEVE:0,SHOW_ADDRESS_IN_DEVICE:1},k={JSON:0},z={NoError:36864},F0={1:"U2F: Unknown",2:"U2F: Bad request",3:"U2F: Configuration unsupported",4:"U2F: Device Ineligible",5:"U2F: Timeout",14:"Timeout",36864:"No errors",36865:"Device is busy",26626:"Error deriving keys",25600:"Execution Error",26368:"Wrong Length",27010:"Empty Buffer",27011:"Output buffer too small",27012:"Data is invalid",27013:"Conditions not satisfied",27014:"Transaction rejected",27264:"Bad key handle",27392:"Invalid P1/P2",27904:"Instruction not supported",28160:"App does not seem to be open",28416:"Unknown error",28417:"Sign/verify error"};function H(L){if(L in F0)return F0[L];return`Unknown Status Code: ${L}`}function s0(L){return typeof L==="object"&&L!==null&&!Array.isArray(L)&&!(L instanceof Date)}function Z(L){if(L){if(s0(L)){if(Object.prototype.hasOwnProperty.call(L,"statusCode"))return{return_code:L.statusCode,error_message:H(L.statusCode)};if(Object.prototype.hasOwnProperty.call(L,"return_code")&&Object.prototype.hasOwnProperty.call(L,"error_message"))return L}return{return_code:65535,error_message:L.toString()}}return{return_code:65535,error_message:L.toString()}}async function s(L){return L.send(85,S.GET_VERSION,0,0).then((m)=>{let _=m.slice(-2),O=_[0]*256+_[1],y=0;if(m.length>=9)y=(m[5]<<24)+(m[6]<<16)+(m[7]<<8)+(m[8]<<0);return{return_code:O,error_message:H(O),test_mode:m[0]!==0,major:m[1],minor:m[2],patch:m[3],device_locked:m[4]===1,target_id:y.toString(16)}},Z)}var x=require("@swapkit/helpers");function R0(L){if(L==null||L.length<3)throw new x.SwapKitError("wallet_ledger_invalid_params",{reason:"Path too short"});if(L.length>10)throw new x.SwapKitError("wallet_ledger_invalid_params",{reason:"Path too long"});let m=Buffer.alloc(1+4*L.length);m.writeUInt8(L.length,0);for(let _=0;_<L.length;_+=1){let O=L[_]||0;if(_<3)O|=2147483648;m.writeInt32LE(O,1+_*4)}return m}async function e(L,m,_,O,y=k.JSON){return L.transport.send(E,S.SIGN_SECP256K1,m,y,O,[z.NoError,27012,27264]).then((X)=>{let G=X.slice(-2),B=G[0]*256+G[1],F=H(B);if(B===27264||B===27012)F=`${F} : ${X.slice(0,X.length-2).toString("ascii")}`;let R=null;if(X.length>2)R=X.slice(0,X.length-2);return{signature:R,return_code:B,error_message:F}},Z)}function e0(L){if(L.length!==65)throw new x.SwapKitError("wallet_ledger_invalid_params",{reason:"decompressed public key length should be 65 bytes"});let m=L.slice(33,65),_=Buffer.from([2+(m[m.length-1]&1)]);return Buffer.concat([_,L.slice(1,33)])}async function W0(L,m){return L.transport.send(E,S.INS_PUBLIC_KEY_SECP256K1,0,0,m,[z.NoError]).then((_)=>{let O=_.slice(-2),y=O[0]*256+O[1],X=Buffer.from(_.slice(0,65));return{pk:X,compressed_pk:e0(X),return_code:y,error_message:H(y)}},Z)}function J0(L){if(!L||L.length!==5)throw new x.SwapKitError("wallet_ledger_invalid_params",{reason:"Path must be exactly 5 elements"});let m=Buffer.alloc(20);return m.writeUInt32LE(2147483648+L[0],0),m.writeUInt32LE(2147483648+L[1],4),m.writeUInt32LE(2147483648+L[2],8),m.writeUInt32LE(L[3],12),m.writeUInt32LE(L[4],16),m}function $0(L,m,_,O,y=k.JSON){let X=i.ADD;if(m===1)X=i.INIT;if(m===_)X=i.LAST;return e(L,X,0,O,y)}async function j0(L,m){return L.transport.send(E,S.GET_ADDR_SECP256K1,0,0,m,[z.NoError]).then((_)=>{let O=_.slice(-2),y=O[0]*256+O[1];return{pk:"OBSOLETE PROPERTY",compressed_pk:Buffer.from(_.slice(0,33)),return_code:y,error_message:H(y)}},Z)}class g{transport;versionResponse;constructor(L){if(!L)throw new r.SwapKitError("wallet_ledger_transport_not_defined");this.transport=L}static serializeHRP(L){if(L==null||L.length<3||L.length>83)throw new r.SwapKitError("wallet_ledger_invalid_params",{reason:"Invalid HRP"});let m=Buffer.alloc(1+L.length);return m.writeUInt8(L.length,0),m.write(L,1),m}async serializePath(L){if(this.versionResponse=await s(this.transport),this.versionResponse.return_code!==z.NoError)throw this.versionResponse;switch(this.versionResponse.major){case 1:return R0(L);case 2:return J0(L);default:return Buffer.alloc(0)}}async signGetChunks(L,m){let _=await this.serializePath(L),O=[];O.push(_);for(let y=0;y<m.length;y+=p){let X=y+p;if(y>m.length)X=m.length;O.push(m.slice(y,X))}return O}async getVersion(){try{return this.versionResponse=await s(this.transport),this.versionResponse}catch(L){return Z(L)}}async appInfo(){return this.transport.send(176,1,0,0).then((L)=>{let m=L.slice(-2),_=m[0]*256+m[1],O="",y="",X=0,G=0;if(L[0]!==1)return{return_code:36865,error_message:"response format ID not recognized"};let B=L[1];O=L.slice(2,2+B).toString("ascii");let F=2+B,R=L[F];F+=1,y=L.slice(F,F+R).toString("ascii"),F+=R;let J=L[F];return F+=1,X=J,G=L[F],{return_code:_,error_message:H(_),appName:O,appVersion:y,flagLen:X,flagsValue:G,flag_recovery:(G&1)!==0,flag_signed_mcu_code:(G&2)!==0,flag_onboarded:(G&4)!==0,flag_pin_validated:(G&128)!==0}},Z)}async deviceInfo(){return this.transport.send(224,1,0,0,Buffer.from([]),[z.NoError,28160]).then((L)=>{let m=L.slice(-2),_=m[0]*256+m[1];if(_===28160)return{return_code:_,error_message:"This command is only available in the Dashboard"};let O=L.slice(0,4).toString("hex"),y=4,X=L[y];y+=1;let G=L.slice(y,y+X).toString();y+=X;let B=L[y];y+=1;let F=L.slice(y,y+B).toString("hex");y+=B;let R=L[y];y+=1;let J=L.slice(y,y+R);if(J[R-1]===0)J=L.slice(y,y+R-1);let M=J.toString();return{return_code:_,error_message:H(_),targetId:O,seVersion:G,flag:F,mcuVersion:M}},Z)}async publicKey(L){try{let m=await this.serializePath(L);switch(this.versionResponse.major){case 1:return W0(this,m);case 2:{let _=Buffer.concat([g.serializeHRP("thor"),m]);return j0(this,_)}default:return{return_code:25600,error_message:"App Version is not supported"}}}catch(m){return Z(m)}}async getAddressAndPubKey(L,m,_=!1){return this.serializePath(L).then((O)=>{let y=Buffer.concat([g.serializeHRP(m),O]);return this.transport.send(E,S.GET_ADDR_SECP256K1,_?a.SHOW_ADDRESS_IN_DEVICE:a.ONLY_RETRIEVE,0,y,[z.NoError]).then((X)=>{let G=X.slice(-2),B=G[0]*256+G[1],F=Buffer.from(X.slice(0,33));return{bech32_address:Buffer.from(X.slice(33,-2)).toString(),compressed_pk:F,return_code:B,error_message:H(B)}},Z)}).catch((O)=>Z(O))}showAddressAndPubKey(L,m){return this.getAddressAndPubKey(L,m,!0)}signSendChunk(L,m,_,O=k.JSON){switch(this.versionResponse.major){case 1:return e(this,L,m,_,O);case 2:return $0(this,L,m,_,O);default:return{return_code:25600,error_message:"App Version is not supported"}}}async sign(L,m,_=k.JSON){let O=Buffer.from(m),y=[],X;try{y=await this.signGetChunks(L,O),X=await this.signSendChunk(1,y.length,y[0],_)}catch(B){Z(B)}let G={return_code:X.return_code,error_message:X.error_message,signature:null};for(let B=1;B<y.length;B+=1)if(G=await this.signSendChunk(1+B,y.length,y[B],_),G.return_code!==z.NoError)break;return{return_code:G.return_code,error_message:G.error_message,signature:G.signature}}}var c=require("@swapkit/helpers"),L0=()=>navigator?.usb,r0=async()=>{let L=L0();if(typeof L?.getDevices!=="function")return[];let{ledgerUSBVendorId:m}=await import("@ledgerhq/devices"),O=(await L?.getDevices()).filter((y)=>y.vendorId===m);if(O.length>0)return O[0];return L?.requestDevice({filters:[{vendorId:m}]})},N=async()=>{let L=await r0();if(!L)throw new c.SwapKitError("wallet_ledger_device_not_found");if(await L.open(),L.configuration===null)await L.selectConfiguration(1);try{await L.reset()}catch{}let m=L.configurations[0].interfaces.find(({alternates:B})=>B.some(({interfaceClass:F})=>F===255));if(!m)throw await L.close(),new c.SwapKitError("wallet_ledger_connection_error");try{await L.claimInterface(m.interfaceNumber)}catch(B){throw await L.close(),new c.SwapKitError("wallet_ledger_connection_claimed",B)}let _=(await import("@ledgerhq/hw-transport-webusb")).default;if(!await _.isSupported())throw new c.SwapKitError("wallet_ledger_webusb_not_supported");let{DisconnectedDevice:y}=await import("@ledgerhq/errors"),X=new _(L,m.interfaceNumber),G=(B)=>{if(L===B.device)L0()?.removeEventListener("disconnect",G),X._emitDisconnect(new y)};return L0()?.addEventListener("disconnect",G),X};class v{ledgerTimeout=50000;derivationPath=w.NetworkDerivationPath.GAIA;transport;ledgerApp;chain="thor";checkOrCreateTransportAndLedger=async(L=!1)=>{if(!L&&this.transport&&this.ledgerApp)return;try{switch(this.transport=L||!this.transport?await N():this.transport,this.chain){case"thor":{this.ledgerApp=L||!this.ledgerApp?new g(this.transport):this.ledgerApp;break}case"cosmos":{let m=(await import("@ledgerhq/hw-app-cosmos")).default;this.ledgerApp=L||!this.ledgerApp?new m(this.transport):this.ledgerApp}}return this.ledgerApp}catch(m){throw new w.SwapKitError("wallet_ledger_connection_error",m)}};validateResponse=(L,m)=>{switch(L){case w.LedgerErrorCode.NoError:return;case w.LedgerErrorCode.LockedDevice:throw new w.SwapKitError("wallet_ledger_device_locked",{message:`Ledger is locked: ${m}`});case w.LedgerErrorCode.TC_NotFound:throw new w.SwapKitError("wallet_ledger_device_not_found");default:break}}}class m0 extends v{pubKey=null;derivationPath;constructor(L=A.NetworkDerivationPath.GAIA){super();this.chain="cosmos",this.derivationPath=A.derivationPathToString(L)}connect=async()=>{await this.checkOrCreateTransportAndLedger(!0);let{publicKey:L,address:m}=await this.getAddressAndPubKey();return this.pubKey=Buffer.from(L,"hex").toString("base64"),m};getAddressAndPubKey=async()=>{return await this.checkOrCreateTransportAndLedger(!0),await this.ledgerApp.getAddress(this.derivationPath,this.chain)};signTransaction=async(L,m="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:_,error_message:O,signature:y}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new A.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(_,O),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:m,signature:y}]};signAmino=async(L,m)=>{await this.checkOrCreateTransportAndLedger(!0);let _=await this.getAccounts();if(_.findIndex((J)=>J.address===L)===-1)throw new A.SwapKitError("wallet_ledger_address_not_found",{address:L});let{encodeSecp256k1Signature:y,serializeSignDoc:X}=(await import("@cosmjs/amino")).default,{Secp256k1Signature:G}=(await import("@cosmjs/crypto")).default,B=X(m),F=await this.ledgerApp.sign(this.derivationPath,B);this.validateResponse(F.return_code,F.error_message);let R=G.fromDer(F.signature).toFixedLength();return{signed:m,signature:y(_[0].pubkey,R)}};getAccounts=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.getAddressAndPubKey();return[{address:L.address,algo:"secp256k1",pubkey:Buffer.from(L.publicKey,"hex")}]}}var Q=require("@swapkit/helpers"),Q0=require("ethers");class q extends Q0.AbstractSigner{chainId=Q.ChainId.Ethereum;derivationPath="";ledgerApp=null;ledgerTimeout=50000;constructor({provider:L,derivationPath:m=Q.NetworkDerivationPath.OP,chainId:_=Q.ChainId.Optimism}){super(L);this.chainId=_||Q.ChainId.Ethereum,this.derivationPath=typeof m==="string"?m:Q.derivationPathToString(m),Object.defineProperty(this,"provider",{enumerable:!0,value:L||null,writable:!1})}connect=(L)=>new q({provider:L,derivationPath:this.derivationPath,chainId:this.chainId});checkOrCreateTransportAndLedger=async()=>{if(this.ledgerApp)return;await this.createTransportAndLedger()};createTransportAndLedger=async()=>{let L=await N(),m=(await import("@ledgerhq/hw-app-eth")).default;this.ledgerApp=new m(L)};getAddress=async()=>{let L=await this.getAddressAndPubKey();if(!L)throw new Q.SwapKitError("wallet_ledger_failed_to_get_address");return L.address};getAddressAndPubKey=async()=>{return await this.createTransportAndLedger(),this.ledgerApp?.getAddress(this.derivationPath)};showAddressAndPubKey=async()=>{return await this.createTransportAndLedger(),this.ledgerApp?.getAddress(this.derivationPath,!0)};signMessage=async(L)=>{let{Signature:m}=await import("ethers");await this.createTransportAndLedger();let _=await this.ledgerApp?.signPersonalMessage(this.derivationPath,L);if(!_)throw new Q.SwapKitError("wallet_ledger_signing_error");return _.r=`0x${_.r}`,_.s=`0x${_.s}`,m.from(_).serialized};sendTransaction=async(L)=>{if(!this.provider)throw new Q.SwapKitError("wallet_ledger_no_provider");let m=await this.signTransaction(L);return await this.provider.broadcastTransaction(m)};signTypedData(){throw new Q.SwapKitError("wallet_ledger_method_not_supported",{method:"signTypedData"})}signTransaction=async(L)=>{let{Transaction:m}=await import("ethers");await this.createTransportAndLedger();let _=await this.provider?.getTransactionCount(L.from||await this.getAddress()),O={chainId:L.chainId||this.chainId,data:L.data,gasLimit:L.gasLimit,...L.gasPrice&&{gasPrice:L.gasPrice},...!L.gasPrice&&L.maxFeePerGas&&{maxFeePerGas:L.maxFeePerGas,maxPriorityFeePerGas:L.maxPriorityFeePerGas},nonce:L.nonce!==void 0?Number((L.nonce||_||0).toString()):_,to:L.to?.toString(),value:L.value,type:L.type&&!Number.isNaN(L.type)?L.type:L.maxFeePerGas?2:0},y=m.from(O).unsignedSerialized.slice(2),{ledgerService:X}=await import("@ledgerhq/hw-app-eth"),G=await X.resolveTransaction(y,{},{externalPlugins:!0,erc20:!0}),B=await this.ledgerApp?.signTransaction(this.derivationPath,y,G);if(!B)throw new Q.SwapKitError("wallet_ledger_signing_error");let{r:F,s:R,v:J}=B;return m.from({...O,signature:{v:Number(BigInt(J)),r:`0x${F}`,s:`0x${R}`}}).serialized}}var Y0=({provider:L,derivationPath:m})=>new q({chainId:Q.ChainId.Ethereum,provider:L,derivationPath:m}),M0=({provider:L,derivationPath:m})=>new q({chainId:Q.ChainId.Avalanche,provider:L,derivationPath:m}),Z0=({provider:L,derivationPath:m})=>new q({chainId:Q.ChainId.BinanceSmartChain,provider:L,derivationPath:m}),N0=({provider:L,derivationPath:m})=>new q({chainId:Q.ChainId.Arbitrum,provider:L,derivationPath:m}),C0=({provider:L,derivationPath:m})=>new q({chainId:Q.ChainId.Polygon,provider:L,derivationPath:m}),U0=({provider:L,derivationPath:m})=>new q({chainId:Q.ChainId.Optimism,provider:L,derivationPath:m}),H0=({provider:L,derivationPath:m})=>new q({chainId:Q.ChainId.Base,provider:L,derivationPath:m});async function w0(L,m){let _=await import("@ledgerhq/hw-app-near"),{Chain:O,DerivationPath:y,derivationPathToString:X,SwapKitError:G}=await import("@swapkit/helpers"),B=new _.default(L),F=m?X(m):y[O.Near],{address:R,publicKey:J}=await B.getAddress(F);return{async getPublicKey(){let{utils:Y}=await import("near-api-js");return Y.PublicKey.fromString(`ed25519:${J}`)},signNep413Message(Y,C,f,U,K){return Promise.reject(new G("wallet_ledger_method_not_supported",{wallet:"Ledger",method:"signNep413Message"}))},getAddress(){return Promise.resolve(R)},async signTransaction(Y){let{Signature:C,SignedTransaction:f}=await import("near-api-js/lib/transaction");try{let U=await B.signTransaction(Y.encode(),F);if(!U)throw new Error("Signature undefined");let K=new C({keyType:0,data:U}),d=new f({transaction:Y,signature:K});return[U,d]}catch(U){throw new G("wallet_ledger_signing_error",{error:U})}},signDelegateAction(Y){return Promise.reject(new G("wallet_ledger_method_not_supported",{wallet:"Ledger",method:"signDelegateAction"}))}}}var f0=require("@scure/base"),h=require("@swapkit/helpers");var D0=require("@scure/base"),D=require("@swapkit/helpers"),_0=(L)=>{if(L.length<64)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"Too short"});if(L[0]!==48)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV encoding: expected first byte 0x30"});if(L[1]+2!==L.length)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"signature length does not match TLV"});if(L[2]!==2)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV encoding: expected length type 0x02"});let m=L[3],_=L.slice(4,m+4);if(_.length===33&&_[0]===0)_=_.slice(1,33);else if(_.length===33)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"r too long"});while(_.length<32)_.unshift(0);if(L[m+4]!==2)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV encoding: expected length type 0x02 for s"});let O=L[m+5];if(4+m+2+O!==L.length)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV byte lengths do not match message length"});let y=L.slice(m+6,L.length);if(y.length===33&&y[0]===0)y=y.slice(1,33);else if(y.length===33)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"s too long"});while(y.length<32)y.unshift(0);if(_.length!==32||y.length!==32)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"must be 32 bytes each"});return D0.base64.encode(Buffer.concat([_,y]))};class y0 extends v{pubKey=null;derivationPath;constructor(L=h.NetworkDerivationPath.THOR){super();this.chain="thor",this.derivationPath=L}get pubkey(){return this.pubKey}connect=async()=>{await this.checkOrCreateTransportAndLedger();let{compressed_pk:L,bech32_address:m}=await this.getAddressAndPubKey();return this.pubKey=f0.base64.encode(L),m};getAddressAndPubKey=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.ledgerApp.getAddressAndPubKey(this.derivationPath,this.chain);return this.validateResponse(L.return_code,L.error_message),L};showAddressAndPubKey=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.ledgerApp.showAddressAndPubKey(this.derivationPath,this.chain);return this.validateResponse(L.return_code,L.error_message),L};signTransaction=async(L,m="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:_,error_message:O,signature:y}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new h.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(_,O),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:m,signature:_0(y)}]};sign=async(L)=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:m,error_message:_,signature:O}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new h.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(m,_),_0(O)}}var I=require("@swapkit/helpers"),z0=require("bitcoinjs-lib");var LL=async({psbt:L,inputUtxos:m,btcApp:_,derivationPath:O},y)=>{let X=m.map((J)=>{let M=z0.Transaction.fromHex(J.txHex||"");return[_.splitTransaction(M.toHex(),M.hasWitnesses()),J.index,void 0,void 0]}),G=L.data.globalMap.unsignedTx.toBuffer().toString("hex"),B=_.splitTransaction(G,!0),F=_.serializeTransactionOutputs(B).toString("hex"),R={additionals:["bech32"],associatedKeysets:X.map(()=>O),inputs:X,outputScriptHex:F,segwit:!0,useTrustedInputForSegwit:!0};return _.createPaymentTransaction({...R,...y})},u=({chain:L,additionalSignParams:m})=>{let _,O=null;async function y(G=!0){if(G&&!_)new I.SwapKitError("wallet_ledger_connection_error",{message:`Ledger connection failed:
2
+ ${JSON.stringify({checkBtcApp:G,btcApp:_})}`});O||=await N()}async function X(){O=await N(),_=new(await import("@ledgerhq/hw-app-btc")).default({transport:O,currency:L})}return(G)=>{let B=typeof G==="string"?G:I.derivationPathToString(G),F=I.getWalletFormatFor(B);return{connect:async()=>{await y(!1),_=new(await import("@ledgerhq/hw-app-btc")).default({transport:O,currency:L})},getExtendedPublicKey:async(R="84'/0'/0'",J=76067358)=>{return await y(!1),_.getWalletXpub({path:R,xpubVersion:J})},signTransaction:async(R,J)=>{return await X(),LL({psbt:R,derivationPath:B,btcApp:_,inputUtxos:J},m)},getAddress:async()=>{let{toCashAddress:R}=await import("@swapkit/toolboxes/utxo");await y(!1);let{bitcoinAddress:J}=await _.getWalletPublicKey(B,{format:F});if(!J)throw new I.SwapKitError("wallet_ledger_get_address_error",{message:`Cannot get ${L} address from ledger derivation path: ${B}`});return L==="bitcoin-cash"&&F==="legacy"?R(J).replace(/(bchtest:|bitcoincash:)/,""):J}}}},q0=u({chain:"bitcoin"}),l0=u({chain:"litecoin"}),P0=u({chain:"bitcoin-cash",additionalSignParams:{segwit:!1,additionals:["abc"],sigHashType:65}}),S0=u({chain:"dogecoin",additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1}}),A0=u({chain:"dash",additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1}});var b=require("@swapkit/helpers"),O0=require("ripple-binary-codec");var mL=2147483648;function _L(L){let m={};for(let _ in L)if(L[_]!==null&&L[_]!==void 0)m[_]=L[_];return m}async function yL(L){let{default:m}=await import("@ledgerhq/hw-app-xrp");return new m(L)}function OL({instance:L,derivationPath:m}){return L.getAddress(m)}var I0=async(L)=>{let m=b.derivationPathToString(L||b.NetworkDerivationPath[b.Chain.Ripple]),_=await N(),O=await yL(_),{address:y,publicKey:X}=await OL({instance:O,derivationPath:m});async function G(B){let{hashes:F}=await import("@swapkit/toolboxes/ripple"),J={..._L(B),Flags:B.Flags||mL,SigningPubKey:X.toUpperCase()},M=O0.encode(J),Y=await O.signTransaction(m,M),C=O0.encode({...J,TxnSignature:Y}),f=F.hashSignedTx(C);return{tx_blob:C,hash:f}}return{address:y,sign:G}};var l=async({chain:L,derivationPath:m})=>{let{match:_}=await import("ts-pattern");return _(L).returnType().with($.Chain.THORChain,()=>Promise.resolve(new y0(m))).with($.Chain.Cosmos,()=>Promise.resolve(new m0(m))).with($.Chain.Bitcoin,()=>Promise.resolve(q0(m))).with($.Chain.BitcoinCash,()=>Promise.resolve(P0(m))).with($.Chain.Dash,()=>Promise.resolve(A0(m))).with($.Chain.Dogecoin,()=>Promise.resolve(S0(m))).with($.Chain.Litecoin,()=>Promise.resolve(l0(m))).with($.Chain.Ripple,()=>Promise.resolve(I0(m))).with($.Chain.Near,async()=>{let O=await N();return w0(O,m)}).with($.Chain.Arbitrum,$.Chain.Avalanche,$.Chain.BinanceSmartChain,$.Chain.Ethereum,$.Chain.Optimism,$.Chain.Polygon,$.Chain.Base,async()=>{let{getProvider:O}=await import("@swapkit/toolboxes/evm"),y={provider:await O(L),derivationPath:m};return _(L).with($.Chain.BinanceSmartChain,()=>Z0(y)).with($.Chain.Avalanche,()=>M0(y)).with($.Chain.Arbitrum,()=>N0(y)).with($.Chain.Optimism,()=>U0(y)).with($.Chain.Polygon,()=>C0(y)).with($.Chain.Base,()=>H0(y)).otherwise(()=>Y0(y))}).otherwise(()=>{throw new $.SwapKitError("wallet_chain_not_supported",{wallet:$.WalletOption.LEDGER,chain:L})})};var K0=T.createWallet({name:"connectLedger",supportedChains:[T.Chain.Arbitrum,T.Chain.Avalanche,T.Chain.Base,T.Chain.BinanceSmartChain,T.Chain.Bitcoin,T.Chain.BitcoinCash,T.Chain.Cosmos,T.Chain.Dash,T.Chain.Dogecoin,T.Chain.Ethereum,T.Chain.Litecoin,T.Chain.Near,T.Chain.Optimism,T.Chain.Polygon,T.Chain.Ripple,T.Chain.THORChain],walletType:T.WalletOption.LEDGER,connect:({addChain:L,supportedChains:m,walletType:_})=>async function O(y,X){let[G]=T.filterSupportedChains({chains:y,supportedChains:m,walletType:_});if(!G)return!1;let B=await RL({chain:G,derivationPath:X});return L({...B,chain:G,walletType:T.WalletOption.LEDGER}),!0}}),BL=V0(K0);function GL(L,m="t"){if(!L?.includes("=:"))return L;let _=L.includes(`:${m}:`)?L.split(`:${m}:`)[0]:L;return _?.substring(0,_.lastIndexOf(":"))}function t(L){if(Array.isArray(L))return L.forEach((O,y)=>{L[y]=t(O)}),L;if(typeof L!=="object")return L;let m={},_=Object.keys(L).sort();for(let O of _)m[O]=t(L[O]);return m}function FL(L){return JSON.stringify(t(L))}async function RL({chain:L,derivationPath:m}){switch(L){case T.Chain.BitcoinCash:case T.Chain.Bitcoin:case T.Chain.Dash:case T.Chain.Dogecoin:case T.Chain.Litecoin:{let{getUtxoToolbox:_}=await import("@swapkit/toolboxes/utxo"),O=await _(L),y=await l({chain:L,derivationPath:m}),X=await V({chain:L,ledgerClient:y});return{...O,address:X,transfer:async(B)=>{let F=B.feeRate||(await O.getFeeRates())[T.FeeOption.Average],R=[T.Chain.Bitcoin].includes(L)?B.memo:GL(B.memo),{psbt:J,inputs:M}=await O.createTransaction({...B,feeRate:F,memo:R,sender:X,fetchTxHex:!0}),Y=await y.signTransaction(J,M);return await O.broadcastTx(Y)}}}case T.Chain.Ethereum:case T.Chain.Avalanche:case T.Chain.Arbitrum:case T.Chain.Optimism:case T.Chain.Polygon:case T.Chain.BinanceSmartChain:case T.Chain.Base:{let{getEvmToolbox:_}=await import("@swapkit/toolboxes/evm"),O=await l({chain:L,derivationPath:m}),y=await V({chain:L,ledgerClient:O});return{...await _(L,{signer:O}),address:y}}case T.Chain.Cosmos:{let{createSigningStargateClient:_,getMsgSendDenom:O,getCosmosToolbox:y}=await import("@swapkit/toolboxes/cosmos"),X=await y(T.Chain.Cosmos),G=await l({chain:L,derivationPath:m}),B=await V({chain:L,ledgerClient:G});return{...X,address:B,transfer:async({assetValue:R,recipient:J,memo:M})=>{if(!R)throw new T.SwapKitError("wallet_ledger_invalid_asset");let Y={amount:[{amount:R.getBaseValue("string"),denom:O(`u${R.symbol}`).toLowerCase()}],fromAddress:B,toAddress:J},C=await _(T.SKConfig.get("rpcUrls")[L],G,"0.007uatom"),{transactionHash:f}=await C.signAndBroadcast(B,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:Y}],2,M);return f}}}case T.Chain.THORChain:{let{SignMode:_}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:O}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),{encodePubkey:y,makeAuthInfoBytes:X}=(await import("@cosmjs/proto-signing")).default,{createStargateClient:G,buildEncodedTxBody:B,getCosmosToolbox:F,buildAminoMsg:R,getDefaultChainFee:J,fromBase64:M,parseAminoMessageForDirectSigning:Y}=await import("@swapkit/toolboxes/cosmos"),C=await F(L),f=await l({chain:L,derivationPath:m}),U=await V({chain:L,ledgerClient:f}),K=J(L),{pubkey:d,signTransaction:E0,sign:k0}=f,T0=async({memo:P="",assetValue:X0,...b0})=>{let B0=await C.getAccount(U);if(!B0)throw new T.SwapKitError("wallet_ledger_invalid_account");if(!X0)throw new T.SwapKitError("wallet_ledger_invalid_asset");if(!d)throw new T.SwapKitError("wallet_ledger_pubkey_not_found");let{accountNumber:x0,sequence:g0}=B0,n=(g0||0).toString(),G0=t([R({sender:U,assetValue:X0,memo:P,...b0})]),c0=FL({account_number:x0?.toString(),chain_id:T.ChainId.THORChain,fee:K,memo:P,msgs:G0,sequence:n}),o=await E0(c0,n);if(!o)throw new T.SwapKitError("wallet_ledger_signing_error");let v0=y({type:"tendermint/PubKeySecp256k1",value:d}),h0=G0.map(Y),u0=await B({msgs:h0,chain:L,memo:P}),d0=X([{pubkey:v0,sequence:Number(n)}],K.amount,Number.parseInt(K.gas),void 0,void 0,_.SIGN_MODE_LEGACY_AMINO_JSON),i0=o?.[0]?.signature?M(o[0].signature):Uint8Array.from([]),t0=O.fromPartial({bodyBytes:u0,authInfoBytes:d0,signatures:[i0]}),n0=O.encode(t0).finish(),{isStagenet:o0}=T.SKConfig.get("envs"),p0=await G(T.SKConfig.get("rpcUrls")[o0?T.StagenetChain.THORChain:T.Chain.THORChain]),{transactionHash:a0}=await p0.broadcastTx(n0);return a0};return{...C,address:U,deposit:(P)=>T0(P),transfer:(P)=>T0(P),signMessage:k0}}case T.Chain.Near:{let{getNearToolbox:_}=await import("@swapkit/toolboxes/near"),O=await l({chain:L,derivationPath:m}),y=await O.getAddress();return{...await _({signer:O}),address:y}}case T.Chain.Ripple:{let{getRippleToolbox:_}=await import("@swapkit/toolboxes/ripple"),O=await l({chain:L,derivationPath:m}),y=O.address;return{...await _({signer:O}),address:y}}default:throw new T.SwapKitError("wallet_ledger_chain_not_supported",{chain:L})}}
3
3
 
4
- //# debugId=D4E7D491EC73452064756E2164756E21
4
+ //# debugId=00C89B228D4A22FD64756E2164756E21
5
+ //# sourceMappingURL=index.cjs.map