@swapkit/wallet-hardware 4.1.31 → 4.1.32

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.
@@ -1,4 +1,4 @@
1
- var e={};s(e,{keepkeyWallet:()=>d,KEEPKEY_SUPPORTED_CHAINS:()=>t});module.exports=r(e);var h=require("@keepkey/keepkey-sdk"),z=require("@swapkit/helpers"),u=require("@swapkit/wallet-core");var E=require("@swapkit/helpers");async function g({sdk:J,derivationPath:Q}){let{DEFAULT_COSMOS_FEE_MAINNET:X,getCosmosToolbox:H,getFeeRateFromSwapKit:Y,createStargateClient:q}=await import("@swapkit/toolboxes/cosmos"),U=Q?E.derivationPathToString(Q):`${E.DerivationPath.GAIA}/0`,{address:$}=await J.address.cosmosGetAddress({address_n:y(U)}),j=await H(E.Chain.Cosmos);if(X.amount[0])X.amount[0].amount=String(await Y(E.GAIAConfig.chainId,500));return{...j,address:$,transfer:async({assetValue:_,recipient:Z,memo:W})=>{let O=_.getBaseValue("string"),B=await j.getAccount($),L=await J.cosmos.cosmosSignAmino({signDoc:{account_number:B?.accountNumber.toString()??"",chain_id:E.GAIAConfig.chainId,fee:X,memo:W||"",msgs:[{type:"cosmos-sdk/MsgSend",value:{amount:[{amount:O,denom:"uatom"}],from_address:$,to_address:Z}}],sequence:B?.sequence.toString()??""},signerAddress:$}),N=atob(L.serialized),I=new Uint8Array(N.length).map((w,A)=>N.charCodeAt(A)),G=await E.getRPCUrl(E.Chain.Cosmos);return(await(await q(G)).broadcastTx(I)).transactionHash}}}var M=require("@swapkit/helpers"),l=require("ethers");class v extends l.AbstractSigner{sdk;chain;derivationPath;address;provider;constructor({sdk:J,chain:Q,derivationPath:X,provider:H}){super();this.sdk=J,this.chain=Q,this.derivationPath=X||M.NetworkDerivationPath.ETH,this.address="",this.provider=H}signTypedData(){throw new M.SwapKitError("wallet_keepkey_method_not_supported",{method:"signTypedData"})}getAddress=async()=>{if(this.address)return this.address;let{address:J}=await this.sdk.address.ethereumGetAddress({address_n:y(M.derivationPathToString(this.derivationPath))});return this.address=J,J};signMessage=(J)=>this.sdk.eth.ethSign({address:this.address,message:J});signTransaction=async({to:J,value:Q,gasLimit:X,nonce:H,data:Y,maxFeePerGas:q,maxPriorityFeePerGas:U,gasPrice:$})=>{if(!J)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing to address"});if(!X)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing gasLimit"});if(!Y)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing data"});let j=!!((q||U)&&!$);if(j&&!q)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing maxFeePerGas"});if(j&&!U)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing maxPriorityFeePerGas"});if(!(j||$))throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing gasPrice"});let{toHexString:R}=await import("@swapkit/toolboxes/evm"),_=H?BigInt(H):BigInt(await this.provider.getTransactionCount(await this.getAddress(),"pending")),Z={addressNList:[2147483692,2147483708,2147483648,0,0],chainId:R(BigInt(M.ChainToChainId[this.chain])),data:Y,from:this.address,gas:R(BigInt(X)),nonce:R(_),to:J.toString(),value:R(BigInt(Q||0)),...j&&{maxFeePerGas:R(BigInt(q?.toString()||"0")),maxPriorityFeePerGas:R(BigInt(U?.toString()||"0"))},...!j&&{gasPrice:R(BigInt($?.toString()||"0"))}};return(await this.sdk.eth.ethSignTransaction(Z)).serialized};sendTransaction=async(J)=>{if(!this.provider)throw new M.SwapKitError("wallet_keepkey_no_provider");let Q=await this.signTransaction(J);return await this.provider.broadcastTransaction(Q)};connect=(J)=>new v({chain:this.chain,derivationPath:this.derivationPath,provider:J,sdk:this.sdk})}var V=require("@swapkit/helpers");async function m({sdk:J,derivationPath:Q}){let{createStargateClient:X,getCosmosToolbox:H}=await import("@swapkit/toolboxes/cosmos"),Y=await H(V.Chain.Maya),q=Q?V.derivationPathToString(Q):`${V.DerivationPath.MAYA}/0`,{address:U}=await J.address.mayachainGetAddress({address_n:y(q)}),$=async({assetValue:_,recipient:Z,sender:W,memo:O})=>{let B=await import("@cosmjs/amino"),L=B.makeSignDoc??B.default?.makeSignDoc,{getDenomWithChain:N}=await import("@swapkit/toolboxes/cosmos"),I=await Y.getAccount(W);if(!I)throw new V.SwapKitError("wallet_keepkey_account_not_found");let{accountNumber:G,sequence:F=0}=I,K=_.getBaseValue("string"),w=Z&&Z!=="",A=w?{type:"mayachain/MsgSend",value:{amount:[{amount:K,denom:_.symbol.toLowerCase()}],from_address:W,to_address:Z}}:{type:"mayachain/MsgDeposit",value:{coins:[{amount:K,asset:N(_)}],memo:O,signer:W}},T=L([A],{amount:[],gas:"500000000"},V.MAYAConfig.chainId,O,G?.toString(),F),x=await(w?J.mayachain.mayachainSignAminoTransfer:J.mayachain.mayachainSignAminoDeposit)({signDoc:T,signerAddress:W}),k=atob(x.serialized);return new Uint8Array(k.length).map((C,n)=>k.charCodeAt(n))};return{...Y,address:U,deposit:async({assetValue:_,memo:Z})=>{let W=await V.getRPCUrl(V.Chain.Maya),O=await X(W),B=await $({assetValue:_,memo:Z,sender:U}),{transactionHash:L}=await O.broadcastTx(B);return L},transfer:async({assetValue:_,recipient:Z,memo:W})=>{let O=await V.getRPCUrl(V.Chain.Maya),B=await X(O),L=await $({assetValue:_,memo:W,recipient:Z,sender:U}),{transactionHash:N}=await B.broadcastTx(L);return N}}}var D=require("@swapkit/helpers");async function p({sdk:J,derivationPath:Q}){let X=await import("@cosmjs/amino"),H=X.makeSignDoc??X.default?.makeSignDoc,{buildAminoMsg:Y,getDefaultChainFee:q,createStargateClient:U,getCosmosToolbox:$}=await import("@swapkit/toolboxes/cosmos"),j=await $(D.Chain.THORChain),R=Q?D.derivationPathToString(Q):`${D.DerivationPath.THOR}/0`,{address:_}=await J.address.thorchainGetAddress({address_n:y(R)}),Z=async({assetValue:B,recipient:L,sender:N,memo:I})=>{let G=await j.getAccount(N);if(!G)throw new D.SwapKitError("wallet_keepkey_account_not_found");let{accountNumber:F,sequence:K=0}=G,w=L&&L!=="",A=Y({assetValue:B,memo:I,recipient:L,sender:N}),T=H([A],q(D.Chain.THORChain),D.THORConfig.chainId,I,F?.toString(),K),S=w?await J.thorchain.thorchainSignAminoTransfer({signDoc:T,signerAddress:N}):await J.thorchain.thorchainSignAminoDeposit({signDoc:T,signerAddress:N}),x=atob(S.serialized);return new Uint8Array(x.length).map((k,C)=>x.charCodeAt(C))};return{...j,address:_,deposit:async({assetValue:B,memo:L})=>{let N=await D.getRPCUrl(D.Chain.THORChain),I=await U(N),G=await Z({assetValue:B,memo:L,sender:_}),{transactionHash:F}=await I.broadcastTx(G);return F},transfer:async({assetValue:B,recipient:L,memo:N})=>{let I=await D.getRPCUrl(D.Chain.THORChain),G=await U(I),F=await Z({assetValue:B,memo:N,recipient:L,sender:_}),{transactionHash:K}=await G.broadcastTx(F);return K}}}var b=require("@swapkit/helpers");var c=async({sdk:J,chain:Q,derivationPath:X})=>{let{getUtxoToolbox:H}=await import("@swapkit/toolboxes/utxo"),Y=await H(Q),q=[b.Chain.Bitcoin,b.Chain.Litecoin].includes(Q)?"p2wpkh":"p2pkh",U=X?b.derivationPathToString(X):`${b.DerivationPath[Q]}/0`,$={address_n:y(U),coin:P[Q],script_type:q},j=(await J.address.utxoGetAddress($)).address,R=async(Z,W,O="")=>{let B=Z.txOutputs.map((I)=>{let{value:G,address:F,change:K}=I,w=Q===b.Chain.BitcoinCash?Y.stripToCashAddress(F):F;if(K||F===j)return{addressNList:$.address_n,addressType:"change",amount:G,isChange:!0,scriptType:q};if(w)return{address:w,addressType:"spend",amount:G};return null}).filter(Boolean),L=(I)=>{return I.filter((G)=>G!==null&&typeof G==="object"&&Object.keys(G).length>0)};return(await J.utxo.utxoSignTransaction({coin:P[Q],inputs:W,opReturnData:O,outputs:L(B)})).serializedTx?.toString()};return{...Y,address:j,signTransaction:R,transfer:async({recipient:Z,feeOptionKey:W,feeRate:O,memo:B,...L})=>{if(!j)throw new b.SwapKitError("wallet_keepkey_invalid_params",{reason:"From address must be provided"});if(!Z)throw new b.SwapKitError("wallet_keepkey_invalid_params",{reason:"Recipient address must be provided"});let N=Q===b.Chain.BitcoinCash?Y.buildTx:Y.createTransaction,{psbt:I,inputs:G}=await N({...L,feeRate:O||(await Y.getFeeRates())[W||b.FeeOption.Fast],fetchTxHex:!0,memo:B,recipient:Z,sender:j}),F=G.map(({value:w,index:A,hash:T,txHex:S})=>({addressNList:$.address_n,amount:w.toString(),hex:S||"",scriptType:q,txid:T,vout:A})),K=await R(I,F,B);return Y.broadcastTx(K)}}};var d=u.createWallet({connect:({addChain:J,supportedChains:Q,walletType:X})=>async function(Y,q){let U=z.filterSupportedChains({chains:Y,supportedChains:Q,walletType:X}),$=z.SKConfig.get("integrations").keepKey;if(!$)throw Error("KeepKey config not found");let j=z.SKConfig.get("apiKeys").keepKey||"1234";await o();let R={apiKey:j,pairingInfo:$},_=await h.KeepKeySdk.create(R);if(R.apiKey&&R.apiKey!==j)z.SKConfig.setApiKey("keepKey",R.apiKey);return await Promise.all(U.map(async(Z)=>{let W=await a({chain:Z,derivationPath:q?.[Z]||z.NetworkDerivationPath[Z],sdk:_}),O=await W.getAddress()||"";J({...W,address:O,chain:Z,walletType:z.WalletOption.KEEPKEY})})),!0},name:"connectKeepkey",supportedChains:[z.Chain.Arbitrum,z.Chain.Avalanche,z.Chain.Base,z.Chain.BinanceSmartChain,z.Chain.Bitcoin,z.Chain.BitcoinCash,z.Chain.Cosmos,z.Chain.Dogecoin,z.Chain.Dash,z.Chain.Ethereum,z.Chain.Litecoin,z.Chain.Ripple,z.Chain.Optimism,z.Chain.Polygon,z.Chain.THORChain,z.Chain.Maya],walletType:z.WalletOption.KEEPKEY}),t=u.getWalletSupportedChains(d);async function a({sdk:J,chain:Q,derivationPath:X}){let{getProvider:H,getEvmToolbox:Y}=await import("@swapkit/toolboxes/evm");switch(Q){case z.Chain.BinanceSmartChain:case z.Chain.Arbitrum:case z.Chain.Optimism:case z.Chain.Polygon:case z.Chain.Avalanche:case z.Chain.Base:case z.Chain.Ethereum:{let q=await H(Q),U=new v({chain:Q,derivationPath:X,provider:q,sdk:J});return await Y(Q,{provider:q,signer:U})}case z.Chain.Cosmos:return g({derivationPath:X,sdk:J});case z.Chain.THORChain:return p({derivationPath:X,sdk:J});case z.Chain.Maya:return m({derivationPath:X,sdk:J});case z.Chain.Bitcoin:case z.Chain.BitcoinCash:case z.Chain.Dash:case z.Chain.Dogecoin:case z.Chain.Litecoin:return c({chain:Q,derivationPath:X,sdk:J});case z.Chain.Ripple:{let{rippleWalletMethods:q}=await import("../chunk-8sth2w05.js");return q({derivationPath:X,sdk:J})}default:throw new z.SwapKitError("wallet_keepkey_chain_not_supported",{chain:Q})}}async function o(J=0){if(J>=3)alert("KeepKey desktop is required for keepkey-sdk, please go to https://keepkey.com/get-started");if(!await i())window.location.assign("keepkey://launch"),await new Promise((X)=>setTimeout(X,30000)),await o(J+1)}async function i(J="http://localhost:1646/spec/swagger.json"){try{return(await fetch(J)).status===200}catch{return!1}}
1
+ var e={};s(e,{keepkeyWallet:()=>d,KEEPKEY_SUPPORTED_CHAINS:()=>t});module.exports=r(e);var h=require("@keepkey/keepkey-sdk"),z=require("@swapkit/helpers"),u=require("@swapkit/wallet-core");var E=require("@swapkit/helpers");async function g({sdk:J,derivationPath:Q}){let{DEFAULT_COSMOS_FEE_MAINNET:X,getCosmosToolbox:H,getFeeRateFromSwapKit:Y,createStargateClient:q}=await import("@swapkit/toolboxes/cosmos"),U=Q?E.derivationPathToString(Q):`${E.DerivationPath.GAIA}/0`,{address:$}=await J.address.cosmosGetAddress({address_n:y(U)}),j=await H(E.Chain.Cosmos);if(X.amount[0])X.amount[0].amount=String(await Y(E.GAIAConfig.chainId,500));return{...j,address:$,transfer:async({assetValue:_,recipient:Z,memo:W})=>{let O=_.getBaseValue("string"),B=await j.getAccount($),L=await J.cosmos.cosmosSignAmino({signDoc:{account_number:B?.accountNumber.toString()??"",chain_id:E.GAIAConfig.chainId,fee:X,memo:W||"",msgs:[{type:"cosmos-sdk/MsgSend",value:{amount:[{amount:O,denom:"uatom"}],from_address:$,to_address:Z}}],sequence:B?.sequence.toString()??""},signerAddress:$}),N=atob(L.serialized),I=new Uint8Array(N.length).map((w,A)=>N.charCodeAt(A)),G=await E.getRPCUrl(E.Chain.Cosmos);return(await(await q(G)).broadcastTx(I)).transactionHash}}}var M=require("@swapkit/helpers"),l=require("ethers");class v extends l.AbstractSigner{sdk;chain;derivationPath;address;provider;constructor({sdk:J,chain:Q,derivationPath:X,provider:H}){super();this.sdk=J,this.chain=Q,this.derivationPath=X||M.NetworkDerivationPath.ETH,this.address="",this.provider=H}signTypedData(){throw new M.SwapKitError("wallet_keepkey_method_not_supported",{method:"signTypedData"})}getAddress=async()=>{if(this.address)return this.address;let{address:J}=await this.sdk.address.ethereumGetAddress({address_n:y(M.derivationPathToString(this.derivationPath))});return this.address=J,J};signMessage=(J)=>this.sdk.eth.ethSign({address:this.address,message:J});signTransaction=async({to:J,value:Q,gasLimit:X,nonce:H,data:Y,maxFeePerGas:q,maxPriorityFeePerGas:U,gasPrice:$})=>{if(!J)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing to address"});if(!X)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing gasLimit"});if(!Y)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing data"});let j=!!((q||U)&&!$);if(j&&!q)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing maxFeePerGas"});if(j&&!U)throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing maxPriorityFeePerGas"});if(!(j||$))throw new M.SwapKitError("wallet_keepkey_invalid_params",{reason:"Missing gasPrice"});let{toHexString:R}=await import("@swapkit/toolboxes/evm"),_=H?BigInt(H):BigInt(await this.provider.getTransactionCount(await this.getAddress(),"pending")),Z={addressNList:[2147483692,2147483708,2147483648,0,0],chainId:R(BigInt(M.ChainToChainId[this.chain])),data:Y,from:this.address,gas:R(BigInt(X)),nonce:R(_),to:J.toString(),value:R(BigInt(Q||0)),...j&&{maxFeePerGas:R(BigInt(q?.toString()||"0")),maxPriorityFeePerGas:R(BigInt(U?.toString()||"0"))},...!j&&{gasPrice:R(BigInt($?.toString()||"0"))}};return(await this.sdk.eth.ethSignTransaction(Z)).serialized};sendTransaction=async(J)=>{if(!this.provider)throw new M.SwapKitError("wallet_keepkey_no_provider");let Q=await this.signTransaction(J);return await this.provider.broadcastTransaction(Q)};connect=(J)=>new v({chain:this.chain,derivationPath:this.derivationPath,provider:J,sdk:this.sdk})}var V=require("@swapkit/helpers");async function m({sdk:J,derivationPath:Q}){let{createStargateClient:X,getCosmosToolbox:H}=await import("@swapkit/toolboxes/cosmos"),Y=await H(V.Chain.Maya),q=Q?V.derivationPathToString(Q):`${V.DerivationPath.MAYA}/0`,{address:U}=await J.address.mayachainGetAddress({address_n:y(q)}),$=async({assetValue:_,recipient:Z,sender:W,memo:O})=>{let B=await import("@cosmjs/amino"),L=B.makeSignDoc??B.default?.makeSignDoc,{getDenomWithChain:N}=await import("@swapkit/toolboxes/cosmos"),I=await Y.getAccount(W);if(!I)throw new V.SwapKitError("wallet_keepkey_account_not_found");let{accountNumber:G,sequence:F=0}=I,K=_.getBaseValue("string"),w=Z&&Z!=="",A=w?{type:"mayachain/MsgSend",value:{amount:[{amount:K,denom:_.symbol.toLowerCase()}],from_address:W,to_address:Z}}:{type:"mayachain/MsgDeposit",value:{coins:[{amount:K,asset:N(_)}],memo:O,signer:W}},T=L([A],{amount:[],gas:"500000000"},V.MAYAConfig.chainId,O,G?.toString(),F),x=await(w?J.mayachain.mayachainSignAminoTransfer:J.mayachain.mayachainSignAminoDeposit)({signDoc:T,signerAddress:W}),k=atob(x.serialized);return new Uint8Array(k.length).map((C,n)=>k.charCodeAt(n))};return{...Y,address:U,deposit:async({assetValue:_,memo:Z})=>{let W=await V.getRPCUrl(V.Chain.Maya),O=await X(W),B=await $({assetValue:_,memo:Z,sender:U}),{transactionHash:L}=await O.broadcastTx(B);return L},transfer:async({assetValue:_,recipient:Z,memo:W})=>{let O=await V.getRPCUrl(V.Chain.Maya),B=await X(O),L=await $({assetValue:_,memo:W,recipient:Z,sender:U}),{transactionHash:N}=await B.broadcastTx(L);return N}}}var D=require("@swapkit/helpers");async function p({sdk:J,derivationPath:Q}){let X=await import("@cosmjs/amino"),H=X.makeSignDoc??X.default?.makeSignDoc,{buildAminoMsg:Y,getDefaultChainFee:q,createStargateClient:U,getCosmosToolbox:$}=await import("@swapkit/toolboxes/cosmos"),j=await $(D.Chain.THORChain),R=Q?D.derivationPathToString(Q):`${D.DerivationPath.THOR}/0`,{address:_}=await J.address.thorchainGetAddress({address_n:y(R)}),Z=async({assetValue:B,recipient:L,sender:N,memo:I})=>{let G=await j.getAccount(N);if(!G)throw new D.SwapKitError("wallet_keepkey_account_not_found");let{accountNumber:F,sequence:K=0}=G,w=L&&L!=="",A=Y({assetValue:B,memo:I,recipient:L,sender:N}),T=H([A],q(D.Chain.THORChain),D.THORConfig.chainId,I,F?.toString(),K),S=w?await J.thorchain.thorchainSignAminoTransfer({signDoc:T,signerAddress:N}):await J.thorchain.thorchainSignAminoDeposit({signDoc:T,signerAddress:N}),x=atob(S.serialized);return new Uint8Array(x.length).map((k,C)=>x.charCodeAt(C))};return{...j,address:_,deposit:async({assetValue:B,memo:L})=>{let N=await D.getRPCUrl(D.Chain.THORChain),I=await U(N),G=await Z({assetValue:B,memo:L,sender:_}),{transactionHash:F}=await I.broadcastTx(G);return F},transfer:async({assetValue:B,recipient:L,memo:N})=>{let I=await D.getRPCUrl(D.Chain.THORChain),G=await U(I),F=await Z({assetValue:B,memo:N,recipient:L,sender:_}),{transactionHash:K}=await G.broadcastTx(F);return K}}}var b=require("@swapkit/helpers");async function c({sdk:J,chain:Q,derivationPath:X}){let{getUtxoToolbox:H}=await import("@swapkit/toolboxes/utxo"),Y=await H(Q),q=[b.Chain.Bitcoin,b.Chain.Litecoin].includes(Q)?"p2wpkh":"p2pkh",U=X?b.derivationPathToString(X):`${b.DerivationPath[Q]}/0`,$={address_n:y(U),coin:P[Q],script_type:q},j=(await J.address.utxoGetAddress($)).address,R=async(Z,W,O="")=>{let B=Z.txOutputs.map((I)=>{let{value:G,address:F,change:K}=I,w=Q===b.Chain.BitcoinCash?Y.stripToCashAddress(F):F;if(K||F===j)return{addressNList:$.address_n,addressType:"change",amount:G,isChange:!0,scriptType:q};if(w)return{address:w,addressType:"spend",amount:G};return null}).filter(Boolean),L=(I)=>{return I.filter((G)=>G!==null&&typeof G==="object"&&Object.keys(G).length>0)};return(await J.utxo.utxoSignTransaction({coin:P[Q],inputs:W,opReturnData:O,outputs:L(B)})).serializedTx?.toString()};return{...Y,address:j,signTransaction:R,transfer:async({recipient:Z,feeOptionKey:W,feeRate:O,memo:B,...L})=>{if(!j)throw new b.SwapKitError("wallet_keepkey_invalid_params",{reason:"From address must be provided"});if(!Z)throw new b.SwapKitError("wallet_keepkey_invalid_params",{reason:"Recipient address must be provided"});let N=Q===b.Chain.BitcoinCash?Y.buildTx:Y.createTransaction,{psbt:I,inputs:G}=await N({...L,feeRate:O||(await Y.getFeeRates())[W||b.FeeOption.Fast],fetchTxHex:!0,memo:B,recipient:Z,sender:j}),F=G.map(({value:w,index:A,hash:T,txHex:S})=>({addressNList:$.address_n,amount:w.toString(),hex:S||"",scriptType:q,txid:T,vout:A})),K=await R(I,F,B);return Y.broadcastTx(K)}}}var d=u.createWallet({connect:({addChain:J,supportedChains:Q,walletType:X})=>async function(Y,q){let U=z.filterSupportedChains({chains:Y,supportedChains:Q,walletType:X}),$=z.SKConfig.get("integrations").keepKey;if(!$)throw Error("KeepKey config not found");let j=z.SKConfig.get("apiKeys").keepKey||"1234";await o();let R={apiKey:j,pairingInfo:$},_=await h.KeepKeySdk.create(R);if(R.apiKey&&R.apiKey!==j)z.SKConfig.setApiKey("keepKey",R.apiKey);return await Promise.all(U.map(async(Z)=>{let W=await a({chain:Z,derivationPath:q?.[Z]||z.NetworkDerivationPath[Z],sdk:_}),O=await W.getAddress()||"";J({...W,address:O,chain:Z,walletType:z.WalletOption.KEEPKEY})})),!0},name:"connectKeepkey",supportedChains:[z.Chain.Arbitrum,z.Chain.Avalanche,z.Chain.Base,z.Chain.BinanceSmartChain,z.Chain.Bitcoin,z.Chain.BitcoinCash,z.Chain.Cosmos,z.Chain.Dogecoin,z.Chain.Dash,z.Chain.Ethereum,z.Chain.Litecoin,z.Chain.Ripple,z.Chain.Optimism,z.Chain.Polygon,z.Chain.THORChain,z.Chain.Maya],walletType:z.WalletOption.KEEPKEY}),t=u.getWalletSupportedChains(d);async function a({sdk:J,chain:Q,derivationPath:X}){let{getProvider:H,getEvmToolbox:Y}=await import("@swapkit/toolboxes/evm");switch(Q){case z.Chain.BinanceSmartChain:case z.Chain.Arbitrum:case z.Chain.Optimism:case z.Chain.Polygon:case z.Chain.Avalanche:case z.Chain.Base:case z.Chain.Ethereum:{let q=await H(Q),U=new v({chain:Q,derivationPath:X,provider:q,sdk:J});return await Y(Q,{provider:q,signer:U})}case z.Chain.Cosmos:return g({derivationPath:X,sdk:J});case z.Chain.THORChain:return p({derivationPath:X,sdk:J});case z.Chain.Maya:return m({derivationPath:X,sdk:J});case z.Chain.Bitcoin:case z.Chain.BitcoinCash:case z.Chain.Dash:case z.Chain.Dogecoin:case z.Chain.Litecoin:return c({chain:Q,derivationPath:X,sdk:J});case z.Chain.Ripple:{let{rippleWalletMethods:q}=await import("../chunk-8sth2w05.js");return q({derivationPath:X,sdk:J})}default:throw new z.SwapKitError("wallet_keepkey_chain_not_supported",{chain:Q})}}async function o(J=0){if(J>=3)alert("KeepKey desktop is required for keepkey-sdk, please go to https://keepkey.com/get-started");if(!await i())window.location.assign("keepkey://launch"),await new Promise((X)=>setTimeout(X,30000)),await o(J+1)}async function i(J="http://localhost:1646/spec/swagger.json"){try{return(await fetch(J)).status===200}catch{return!1}}
2
2
 
3
- //# debugId=85E848D6BFB7969B64756E2164756E21
3
+ //# debugId=0C9BF3226D0D237964756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -7,9 +7,9 @@
7
7
  "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n type Chain,\n ChainToChainId,\n type DerivationPathArray,\n derivationPathToString,\n NetworkDerivationPath,\n SwapKitError,\n} from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { bip32ToAddressNList } from \"../coins\";\n\ninterface KeepKeyEVMSignerParams {\n sdk: KeepKeySdk;\n chain: Chain;\n derivationPath?: DerivationPathArray;\n provider: Provider | JsonRpcProvider;\n}\n\nexport class KeepKeySigner extends AbstractSigner {\n private sdk: KeepKeySdk;\n private chain: Chain;\n private derivationPath: DerivationPathArray;\n private address: string;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ sdk, chain, derivationPath, provider }: KeepKeyEVMSignerParams) {\n super();\n this.sdk = sdk;\n this.chain = chain;\n this.derivationPath = derivationPath || NetworkDerivationPath.ETH;\n this.address = \"\";\n this.provider = provider;\n }\n\n signTypedData(): Promise<string> {\n throw new SwapKitError(\"wallet_keepkey_method_not_supported\", { method: \"signTypedData\" });\n }\n\n getAddress = async () => {\n if (this.address) return this.address;\n const { address } = await this.sdk.address.ethereumGetAddress({\n address_n: bip32ToAddressNList(derivationPathToString(this.derivationPath)),\n });\n\n this.address = address;\n return address;\n };\n\n signMessage = (message: string) => this.sdk.eth.ethSign({ address: this.address, message }) as Promise<string>;\n\n signTransaction = async ({\n to,\n value,\n gasLimit,\n nonce,\n data,\n maxFeePerGas,\n maxPriorityFeePerGas,\n gasPrice,\n }: TransactionRequest) => {\n if (!to) throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing to address\" });\n if (!gasLimit) throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing gasLimit\" });\n if (!data) throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing data\" });\n\n const isEIP1559 = !!((maxFeePerGas || maxPriorityFeePerGas) && !gasPrice);\n if (isEIP1559 && !maxFeePerGas)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing maxFeePerGas\" });\n if (isEIP1559 && !maxPriorityFeePerGas)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing maxPriorityFeePerGas\" });\n if (!(isEIP1559 || gasPrice))\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing gasPrice\" });\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const nonceValue = nonce\n ? BigInt(nonce)\n : BigInt(await this.provider.getTransactionCount(await this.getAddress(), \"pending\"));\n\n const input = {\n addressNList: [2147483692, 2147483708, 2147483648, 0, 0],\n chainId: toHexString(BigInt(ChainToChainId[this.chain])),\n data,\n from: this.address,\n gas: toHexString(BigInt(gasLimit)),\n nonce: toHexString(nonceValue),\n to: to.toString(),\n value: toHexString(BigInt(value || 0)),\n ...(isEIP1559 && {\n maxFeePerGas: toHexString(BigInt(maxFeePerGas?.toString() || \"0\")),\n maxPriorityFeePerGas: toHexString(BigInt(maxPriorityFeePerGas?.toString() || \"0\")),\n }),\n ...(!isEIP1559 && {\n // Fixed syntax error and structure here\n gasPrice: toHexString(BigInt(gasPrice?.toString() || \"0\")),\n }),\n };\n const responseSign = await this.sdk.eth.ethSignTransaction(input);\n return responseSign.serialized;\n };\n\n sendTransaction = async (tx: TransactionRequest): Promise<any> => {\n if (!this.provider) throw new SwapKitError(\"wallet_keepkey_no_provider\");\n\n const signedTxHex = await this.signTransaction(tx);\n\n return await this.provider.broadcastTransaction(signedTxHex);\n };\n\n connect = (provider: Provider) =>\n new KeepKeySigner({ chain: this.chain, derivationPath: this.derivationPath, provider, sdk: this.sdk });\n}\n",
8
8
  "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n type AssetValue,\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n type GenericTransferParams,\n getRPCUrl,\n MAYAConfig,\n SwapKitError,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\n\nimport { bip32ToAddressNList } from \"../coins\";\n\ntype SignTransactionParams = { assetValue: AssetValue; recipient?: string; sender: string; memo: string | undefined };\n\nexport async function mayachainWalletMethods({\n sdk,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n derivationPath?: DerivationPathArray;\n}): Promise<any> {\n const { createStargateClient, getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const toolbox = await getCosmosToolbox(Chain.Maya);\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath.MAYA}/0`;\n\n const { address: fromAddress } = (await sdk.address.mayachainGetAddress({\n address_n: bip32ToAddressNList(derivationPathString),\n })) as { address: string };\n\n const signTransaction = async ({ assetValue, recipient, sender, memo }: SignTransactionParams) => {\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedAmino.default?.makeSignDoc;\n const { getDenomWithChain } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const account = await toolbox.getAccount(sender);\n if (!account) throw new SwapKitError(\"wallet_keepkey_account_not_found\");\n const { accountNumber, sequence = 0 } = account;\n const amount = assetValue.getBaseValue(\"string\");\n\n const isTransfer = recipient && recipient !== \"\";\n\n // TODO check if we can move to toolbox created msg\n const msg = isTransfer\n ? {\n type: \"mayachain/MsgSend\",\n value: {\n amount: [{ amount, denom: assetValue.symbol.toLowerCase() }],\n from_address: sender,\n to_address: recipient,\n },\n }\n : {\n type: \"mayachain/MsgDeposit\",\n value: { coins: [{ amount, asset: getDenomWithChain(assetValue) }], memo, signer: sender },\n };\n\n const signDoc = makeSignDoc(\n [msg],\n { amount: [], gas: \"500000000\" },\n MAYAConfig.chainId,\n memo,\n accountNumber?.toString(),\n sequence,\n );\n\n const sdkMethod = isTransfer ? sdk.mayachain.mayachainSignAminoTransfer : sdk.mayachain.mayachainSignAminoDeposit;\n\n // @ts-expect-error TC\n const signedTx = await sdkMethod({ signDoc, signerAddress: sender });\n const decodedBytes = atob(signedTx.serialized);\n return new Uint8Array(decodedBytes.length).map((_, i) => decodedBytes.charCodeAt(i));\n };\n\n const transfer = async ({ assetValue, recipient, memo }: GenericTransferParams) => {\n const rpcUrl = await getRPCUrl(Chain.Maya);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, recipient, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n const deposit = async ({ assetValue, memo }: ThorchainDepositParams) => {\n const rpcUrl = await getRPCUrl(Chain.Maya);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n return { ...toolbox, address: fromAddress, deposit, transfer };\n}\n",
9
9
  "import type { KeepKeySdk, TypesThorchainSignDocDeposit, TypesThorchainSignDocTransfer } from \"@keepkey/keepkey-sdk\";\nimport {\n type AssetValue,\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n type GenericTransferParams,\n getRPCUrl,\n SwapKitError,\n THORConfig,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\n\nimport { bip32ToAddressNList } from \"../coins\";\n\ntype SignTransactionParams = { assetValue: AssetValue; recipient?: string; sender: string; memo: string | undefined };\n\nexport async function thorchainWalletMethods({\n sdk,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n derivationPath?: DerivationPathArray;\n}): Promise<any> {\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedAmino.default?.makeSignDoc;\n const { buildAminoMsg, getDefaultChainFee, createStargateClient, getCosmosToolbox } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath.THOR}/0`;\n\n const { address: fromAddress } = (await sdk.address.thorchainGetAddress({\n address_n: bip32ToAddressNList(derivationPathString),\n })) as { address: string };\n\n const signTransaction = async ({ assetValue, recipient, sender, memo }: SignTransactionParams) => {\n const account = await toolbox.getAccount(sender);\n if (!account) throw new SwapKitError(\"wallet_keepkey_account_not_found\");\n const { accountNumber, sequence = 0 } = account;\n\n const isTransfer = recipient && recipient !== \"\";\n const msg = buildAminoMsg({ assetValue, memo, recipient, sender });\n\n const signDoc = makeSignDoc(\n [msg],\n getDefaultChainFee(Chain.THORChain),\n THORConfig.chainId,\n memo,\n accountNumber?.toString(),\n sequence,\n );\n\n const signedTx = isTransfer\n ? await sdk.thorchain.thorchainSignAminoTransfer({\n signDoc: signDoc as TypesThorchainSignDocTransfer,\n signerAddress: sender,\n })\n : await sdk.thorchain.thorchainSignAminoDeposit({\n signDoc: signDoc as TypesThorchainSignDocDeposit,\n signerAddress: sender,\n });\n const decodedBytes = atob(signedTx.serialized);\n return new Uint8Array(decodedBytes.length).map((_, i) => decodedBytes.charCodeAt(i));\n };\n\n const transfer = async ({ assetValue, recipient, memo }: GenericTransferParams) => {\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, recipient, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n const deposit = async ({ assetValue, memo }: ThorchainDepositParams) => {\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n // const signMessage = async (message: string) => {\n // const stargateClient = await createStargateClient(RPCUrl.THORChain);\n // // return signedTx;\n // };\n\n return { ...toolbox, address: fromAddress, deposit, transfer };\n}\n",
10
- "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n FeeOption,\n type GenericTransferParams,\n SwapKitError,\n type UTXOChain,\n} from \"@swapkit/helpers\";\nimport type { UTXOToolboxes } from \"@swapkit/toolboxes/utxo\";\nimport type { Psbt } from \"bitcoinjs-lib\";\nimport { bip32ToAddressNList, ChainToKeepKeyName } from \"../coins\";\n\ninterface KeepKeyInputObject {\n addressNList: number[];\n scriptType: string;\n amount: string;\n vout: number;\n txid: string;\n hex: string;\n}\n\nexport const utxoWalletMethods = async ({\n sdk,\n chain,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n chain: Exclude<UTXOChain, typeof Chain.Zcash>;\n derivationPath?: DerivationPathArray;\n}) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n // This might not work for BCH\n const toolbox = await getUtxoToolbox(chain);\n const scriptType = [Chain.Bitcoin, Chain.Litecoin].includes(chain as typeof Chain.Bitcoin)\n ? (\"p2wpkh\" as const)\n : (\"p2pkh\" as const);\n\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath[chain]}/0`;\n\n const addressInfo = {\n address_n: bip32ToAddressNList(derivationPathString),\n coin: ChainToKeepKeyName[chain],\n script_type: scriptType,\n };\n\n const walletAddress: string = (await sdk.address.utxoGetAddress(addressInfo)).address;\n\n const signTransaction = async (psbt: Psbt, inputs: KeepKeyInputObject[], memo = \"\") => {\n const outputs = psbt.txOutputs\n .map((output) => {\n const { value, address, change } = output as {\n address: string;\n script: Buffer;\n value: number;\n change?: boolean;\n };\n\n const outputAddress =\n // @ts-expect-error - stripToCashAddress is not defined in the UTXO toolbox just only on BCH\n chain === Chain.BitcoinCash ? toolbox.stripToCashAddress(address) : address;\n\n if (change || address === walletAddress) {\n return {\n addressNList: addressInfo.address_n,\n addressType: \"change\",\n amount: value,\n isChange: true,\n scriptType,\n };\n }\n\n if (outputAddress) {\n return { address: outputAddress, addressType: \"spend\", amount: value };\n }\n\n return null;\n })\n .filter(Boolean);\n\n const removeNullAndEmptyObjectsFromArray = (arr: any[]) => {\n return arr.filter((item) => item !== null && typeof item === \"object\" && Object.keys(item).length > 0);\n };\n\n const responseSign = await sdk.utxo.utxoSignTransaction({\n coin: ChainToKeepKeyName[chain],\n inputs,\n opReturnData: memo,\n outputs: removeNullAndEmptyObjectsFromArray(outputs),\n });\n\n return responseSign.serializedTx?.toString();\n };\n\n const transfer = async ({ recipient, feeOptionKey, feeRate, memo, ...rest }: GenericTransferParams) => {\n if (!walletAddress)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"From address must be provided\" });\n if (!recipient)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Recipient address must be provided\" });\n\n const createTxMethod =\n chain === Chain.BitcoinCash\n ? (toolbox as UTXOToolboxes[\"BCH\"]).buildTx\n : (toolbox as UTXOToolboxes[\"BTC\"]).createTransaction;\n\n const { psbt, inputs: rawInputs } = await createTxMethod({\n ...rest,\n feeRate: feeRate || (await toolbox.getFeeRates())[feeOptionKey || FeeOption.Fast],\n fetchTxHex: true,\n memo,\n recipient,\n sender: walletAddress,\n });\n\n const inputs = rawInputs.map(({ value, index, hash, txHex }) => ({\n //@TODO don't hardcode master, lookup on blockbook what input this is for and what path that address is!\n addressNList: addressInfo.address_n,\n amount: value.toString(),\n hex: txHex || \"\",\n scriptType,\n txid: hash,\n vout: index,\n }));\n\n const txHex = await signTransaction(psbt, inputs, memo);\n return toolbox.broadcastTx(txHex);\n };\n\n return { ...toolbox, address: walletAddress, signTransaction, transfer };\n};\n"
10
+ "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n FeeOption,\n type GenericTransferParams,\n SwapKitError,\n type UTXOChain,\n} from \"@swapkit/helpers\";\nimport type { UTXOToolboxes } from \"@swapkit/toolboxes/utxo\";\nimport type { Psbt } from \"bitcoinjs-lib\";\nimport { bip32ToAddressNList, ChainToKeepKeyName } from \"../coins\";\n\ninterface KeepKeyInputObject {\n addressNList: number[];\n scriptType: string;\n amount: string;\n vout: number;\n txid: string;\n hex: string;\n}\n\nexport async function utxoWalletMethods({\n sdk,\n chain,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n chain: Exclude<UTXOChain, typeof Chain.Zcash>;\n derivationPath?: DerivationPathArray;\n}): Promise<\n UTXOToolboxes[UTXOChain] & {\n address: string;\n signTransaction: (psbt: Psbt, inputs: KeepKeyInputObject[], memo?: string) => Promise<string>;\n }\n> {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n // This might not work for BCH\n const toolbox = await getUtxoToolbox(chain);\n const scriptType = [Chain.Bitcoin, Chain.Litecoin].includes(chain as typeof Chain.Bitcoin)\n ? (\"p2wpkh\" as const)\n : (\"p2pkh\" as const);\n\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath[chain]}/0`;\n\n const addressInfo = {\n address_n: bip32ToAddressNList(derivationPathString),\n coin: ChainToKeepKeyName[chain],\n script_type: scriptType,\n };\n\n const walletAddress: string = (await sdk.address.utxoGetAddress(addressInfo)).address;\n\n const signTransaction = async (psbt: Psbt, inputs: KeepKeyInputObject[], memo = \"\") => {\n const outputs = psbt.txOutputs\n .map((output) => {\n const { value, address, change } = output as {\n address: string;\n script: Buffer;\n value: number;\n change?: boolean;\n };\n\n const outputAddress =\n // @ts-expect-error - stripToCashAddress is not defined in the UTXO toolbox just only on BCH\n chain === Chain.BitcoinCash ? toolbox.stripToCashAddress(address) : address;\n\n if (change || address === walletAddress) {\n return {\n addressNList: addressInfo.address_n,\n addressType: \"change\",\n amount: value,\n isChange: true,\n scriptType,\n };\n }\n\n if (outputAddress) {\n return { address: outputAddress, addressType: \"spend\", amount: value };\n }\n\n return null;\n })\n .filter(Boolean);\n\n const removeNullAndEmptyObjectsFromArray = (arr: any[]) => {\n return arr.filter((item) => item !== null && typeof item === \"object\" && Object.keys(item).length > 0);\n };\n\n const responseSign = await sdk.utxo.utxoSignTransaction({\n coin: ChainToKeepKeyName[chain],\n inputs,\n opReturnData: memo,\n outputs: removeNullAndEmptyObjectsFromArray(outputs),\n });\n\n return responseSign.serializedTx?.toString();\n };\n\n const transfer = async ({ recipient, feeOptionKey, feeRate, memo, ...rest }: GenericTransferParams) => {\n if (!walletAddress)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"From address must be provided\" });\n if (!recipient)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Recipient address must be provided\" });\n\n const createTxMethod =\n chain === Chain.BitcoinCash\n ? (toolbox as UTXOToolboxes[\"BCH\"]).buildTx\n : (toolbox as UTXOToolboxes[\"BTC\"]).createTransaction;\n\n const { psbt, inputs: rawInputs } = await createTxMethod({\n ...rest,\n feeRate: feeRate || (await toolbox.getFeeRates())[feeOptionKey || FeeOption.Fast],\n fetchTxHex: true,\n memo,\n recipient,\n sender: walletAddress,\n });\n\n const inputs = rawInputs.map(({ value, index, hash, txHex }) => ({\n //@TODO don't hardcode master, lookup on blockbook what input this is for and what path that address is!\n addressNList: addressInfo.address_n,\n amount: value.toString(),\n hex: txHex || \"\",\n scriptType,\n txid: hash,\n vout: index,\n }));\n\n const txHex = await signTransaction(psbt, inputs, memo);\n return toolbox.broadcastTx(txHex);\n };\n\n return { ...toolbox, address: walletAddress, signTransaction, transfer };\n}\n"
11
11
  ],
12
- "mappings": "uFAA2B,IAA3B,kCACA,8BAYA,kCCJO,IAPP,8BAWA,eAAsB,CAAmB,EACvC,MACA,kBAIe,CACf,IAAQ,6BAA4B,mBAAkB,wBAAuB,wBAAyB,KACpG,qCAEI,EAAuB,EAAiB,yBAAuB,CAAc,EAAI,GAAG,iBAAe,UAEjG,QAAS,GAAiB,MAAM,EAAI,QAAQ,iBAAiB,CACnE,UAAW,EAAoB,CAAoB,CACrD,CAAC,EAEK,EAAU,MAAM,EAAiB,QAAM,MAAM,EAEnD,GAAI,EAA2B,OAAO,GACpC,EAA2B,OAAO,GAAG,OAAS,OAAO,MAAM,EAAsB,aAAW,QAAS,GAAG,CAAC,EAmC3G,MAAO,IAAK,EAAS,QAAS,EAAa,SA/B1B,OAAS,aAAY,YAAW,UAAkC,CACjF,IAAM,EAAS,EAAW,aAAa,QAAQ,EACzC,EAAc,MAAM,EAAQ,WAAW,CAAW,EAElD,EAAkB,MAAM,EAAI,OAAO,gBAAgB,CACvD,QAAS,CACP,eAAgB,GAAa,cAAc,SAAS,GAAK,GACzD,SAAU,aAAW,QACrB,IAAK,EACL,KAAM,GAAQ,GACd,KAAM,CACJ,CACE,KAAM,qBACN,MAAO,CAAE,OAAQ,CAAC,CAAE,SAAQ,MAAO,OAAQ,CAAC,EAAG,aAAc,EAAa,WAAY,CAAU,CAClG,CACF,EACA,SAAU,GAAa,SAAS,SAAS,GAAK,EAChD,EACA,cAAe,CACjB,CAAC,EAEK,EAAe,KAAK,EAAgB,UAAU,EAC9C,EAAa,IAAI,WAAW,EAAa,MAAM,EAAE,IAAI,CAAC,EAAG,IAAM,EAAa,WAAW,CAAC,CAAC,EAEzF,EAAS,MAAM,YAAU,QAAM,MAAM,EAI3C,OAFiB,MADF,MAAM,EAAqB,CAAM,GAClB,YAAY,CAAU,GAEpC,gBAGkC,EC3D/C,IAPP,8BASA,oBAWO,MAAM,UAAsB,gBAAe,CACxC,IACA,MACA,eACA,QACC,SAET,WAAW,EAAG,MAAK,QAAO,iBAAgB,YAAoC,CAC5E,MAAM,EACN,KAAK,IAAM,EACX,KAAK,MAAQ,EACb,KAAK,eAAiB,GAAkB,wBAAsB,IAC9D,KAAK,QAAU,GACf,KAAK,SAAW,EAGlB,aAAa,EAAoB,CAC/B,MAAM,IAAI,eAAa,sCAAuC,CAAE,OAAQ,eAAgB,CAAC,EAG3F,WAAa,SAAY,CACvB,GAAI,KAAK,QAAS,OAAO,KAAK,QAC9B,IAAQ,WAAY,MAAM,KAAK,IAAI,QAAQ,mBAAmB,CAC5D,UAAW,EAAoB,yBAAuB,KAAK,cAAc,CAAC,CAC5E,CAAC,EAGD,OADA,KAAK,QAAU,EACR,GAGT,YAAc,CAAC,IAAoB,KAAK,IAAI,IAAI,QAAQ,CAAE,QAAS,KAAK,QAAS,SAAQ,CAAC,EAE1F,gBAAkB,OAChB,KACA,QACA,WACA,QACA,OACA,eACA,uBACA,cACwB,CACxB,GAAI,CAAC,EAAI,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,oBAAqB,CAAC,EACjG,GAAI,CAAC,EAAU,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,kBAAmB,CAAC,EACrG,GAAI,CAAC,EAAM,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,cAAe,CAAC,EAE7F,IAAM,EAAY,CAAC,GAAG,GAAgB,IAAyB,CAAC,GAChE,GAAI,GAAa,CAAC,EAChB,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,sBAAuB,CAAC,EAC5F,GAAI,GAAa,CAAC,EAChB,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,8BAA+B,CAAC,EACpG,GAAI,EAAE,GAAa,GACjB,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,kBAAmB,CAAC,EAExF,IAAQ,eAAgB,KAAa,kCAE/B,EAAa,EACf,OAAO,CAAK,EACZ,OAAO,MAAM,KAAK,SAAS,oBAAoB,MAAM,KAAK,WAAW,EAAG,SAAS,CAAC,EAEhF,EAAQ,CACZ,aAAc,CAAC,WAAY,WAAY,WAAY,EAAG,CAAC,EACvD,QAAS,EAAY,OAAO,iBAAe,KAAK,MAAM,CAAC,EACvD,OACA,KAAM,KAAK,QACX,IAAK,EAAY,OAAO,CAAQ,CAAC,EACjC,MAAO,EAAY,CAAU,EAC7B,GAAI,EAAG,SAAS,EAChB,MAAO,EAAY,OAAO,GAAS,CAAC,CAAC,KACjC,GAAa,CACf,aAAc,EAAY,OAAO,GAAc,SAAS,GAAK,GAAG,CAAC,EACjE,qBAAsB,EAAY,OAAO,GAAsB,SAAS,GAAK,GAAG,CAAC,CACnF,KACI,CAAC,GAAa,CAEhB,SAAU,EAAY,OAAO,GAAU,SAAS,GAAK,GAAG,CAAC,CAC3D,CACF,EAEA,OADqB,MAAM,KAAK,IAAI,IAAI,mBAAmB,CAAK,GAC5C,YAGtB,gBAAkB,MAAO,IAAyC,CAChE,GAAI,CAAC,KAAK,SAAU,MAAM,IAAI,eAAa,4BAA4B,EAEvE,IAAM,EAAc,MAAM,KAAK,gBAAgB,CAAE,EAEjD,OAAO,MAAM,KAAK,SAAS,qBAAqB,CAAW,GAG7D,QAAU,CAAC,IACT,IAAI,EAAc,CAAE,MAAO,KAAK,MAAO,eAAgB,KAAK,eAAgB,WAAU,IAAK,KAAK,GAAI,CAAC,CACzG,CCtGO,IAVP,8BAiBA,eAAsB,CAAsB,EAC1C,MACA,kBAIe,CACf,IAAQ,uBAAsB,oBAAqB,KAAa,qCAE1D,EAAU,MAAM,EAAiB,QAAM,IAAI,EAC3C,EAAuB,EAAiB,yBAAuB,CAAc,EAAI,GAAG,iBAAe,UAEjG,QAAS,GAAiB,MAAM,EAAI,QAAQ,oBAAoB,CACtE,UAAW,EAAoB,CAAoB,CACrD,CAAC,EAEK,EAAkB,OAAS,aAAY,YAAW,SAAQ,UAAkC,CAChG,IAAM,EAAgB,KAAa,yBAC7B,EAAc,EAAc,aAAe,EAAc,SAAS,aAChE,qBAAsB,KAAa,qCAErC,EAAU,MAAM,EAAQ,WAAW,CAAM,EAC/C,GAAI,CAAC,EAAS,MAAM,IAAI,eAAa,kCAAkC,EACvE,IAAQ,gBAAe,WAAW,GAAM,EAClC,EAAS,EAAW,aAAa,QAAQ,EAEzC,EAAa,GAAa,IAAc,GAGxC,EAAM,EACR,CACE,KAAM,oBACN,MAAO,CACL,OAAQ,CAAC,CAAE,SAAQ,MAAO,EAAW,OAAO,YAAY,CAAE,CAAC,EAC3D,aAAc,EACd,WAAY,CACd,CACF,EACA,CACE,KAAM,uBACN,MAAO,CAAE,MAAO,CAAC,CAAE,SAAQ,MAAO,EAAkB,CAAU,CAAE,CAAC,EAAG,OAAM,OAAQ,CAAO,CAC3F,EAEE,EAAU,EACd,CAAC,CAAG,EACJ,CAAE,OAAQ,CAAC,EAAG,IAAK,WAAY,EAC/B,aAAW,QACX,EACA,GAAe,SAAS,EACxB,CACF,EAKM,EAAW,MAHC,EAAa,EAAI,UAAU,2BAA6B,EAAI,UAAU,2BAGvD,CAAE,UAAS,cAAe,CAAO,CAAC,EAC7D,EAAe,KAAK,EAAS,UAAU,EAC7C,OAAO,IAAI,WAAW,EAAa,MAAM,EAAE,IAAI,CAAC,EAAG,IAAM,EAAa,WAAW,CAAC,CAAC,GAqBrF,MAAO,IAAK,EAAS,QAAS,EAAa,QAT3B,OAAS,aAAY,UAAmC,CACtE,IAAM,EAAS,MAAM,YAAU,QAAM,IAAI,EACnC,EAAiB,MAAM,EAAqB,CAAM,EAClD,EAAoB,MAAM,EAAgB,CAAE,aAAY,OAAM,OAAQ,CAAY,CAAC,GACjF,mBAAoB,MAAM,EAAe,YAAY,CAAiB,EAE9E,OAAO,GAG2C,SAlBnC,OAAS,aAAY,YAAW,UAAkC,CACjF,IAAM,EAAS,MAAM,YAAU,QAAM,IAAI,EACnC,EAAiB,MAAM,EAAqB,CAAM,EAClD,EAAoB,MAAM,EAAgB,CAAE,aAAY,OAAM,YAAW,OAAQ,CAAY,CAAC,GAC5F,mBAAoB,MAAM,EAAe,YAAY,CAAiB,EAE9E,OAAO,EAYoD,ECrFxD,IAVP,8BAiBA,eAAsB,CAAsB,EAC1C,MACA,kBAIe,CACf,IAAM,EAAgB,KAAa,yBAC7B,EAAc,EAAc,aAAe,EAAc,SAAS,aAChE,gBAAe,qBAAoB,uBAAsB,oBAAqB,KACpF,qCAGI,EAAU,MAAM,EAAiB,QAAM,SAAS,EAChD,EAAuB,EAAiB,yBAAuB,CAAc,EAAI,GAAG,iBAAe,UAEjG,QAAS,GAAiB,MAAM,EAAI,QAAQ,oBAAoB,CACtE,UAAW,EAAoB,CAAoB,CACrD,CAAC,EAEK,EAAkB,OAAS,aAAY,YAAW,SAAQ,UAAkC,CAChG,IAAM,EAAU,MAAM,EAAQ,WAAW,CAAM,EAC/C,GAAI,CAAC,EAAS,MAAM,IAAI,eAAa,kCAAkC,EACvE,IAAQ,gBAAe,WAAW,GAAM,EAElC,EAAa,GAAa,IAAc,GACxC,EAAM,EAAc,CAAE,aAAY,OAAM,YAAW,QAAO,CAAC,EAE3D,EAAU,EACd,CAAC,CAAG,EACJ,EAAmB,QAAM,SAAS,EAClC,aAAW,QACX,EACA,GAAe,SAAS,EACxB,CACF,EAEM,EAAW,EACb,MAAM,EAAI,UAAU,2BAA2B,CAC7C,QAAS,EACT,cAAe,CACjB,CAAC,EACD,MAAM,EAAI,UAAU,0BAA0B,CAC5C,QAAS,EACT,cAAe,CACjB,CAAC,EACC,EAAe,KAAK,EAAS,UAAU,EAC7C,OAAO,IAAI,WAAW,EAAa,MAAM,EAAE,IAAI,CAAC,EAAG,IAAM,EAAa,WAAW,CAAC,CAAC,GA0BrF,MAAO,IAAK,EAAS,QAAS,EAAa,QAd3B,OAAS,aAAY,UAAmC,CACtE,IAAM,EAAS,MAAM,YAAU,QAAM,SAAS,EACxC,EAAiB,MAAM,EAAqB,CAAM,EAClD,EAAoB,MAAM,EAAgB,CAAE,aAAY,OAAM,OAAQ,CAAY,CAAC,GACjF,mBAAoB,MAAM,EAAe,YAAY,CAAiB,EAE9E,OAAO,GAQ2C,SAvBnC,OAAS,aAAY,YAAW,UAAkC,CACjF,IAAM,EAAS,MAAM,YAAU,QAAM,SAAS,EACxC,EAAiB,MAAM,EAAqB,CAAM,EAClD,EAAoB,MAAM,EAAgB,CAAE,aAAY,OAAM,YAAW,OAAQ,CAAY,CAAC,GAC5F,mBAAoB,MAAM,EAAe,YAAY,CAAiB,EAE9E,OAAO,EAiBoD,ECjFxD,IATP,8BAuBO,IAAM,EAAoB,OAC/B,MACA,QACA,oBAKI,CACJ,IAAQ,kBAAmB,KAAa,mCAElC,EAAU,MAAM,EAAe,CAAK,EACpC,EAAa,CAAC,QAAM,QAAS,QAAM,QAAQ,EAAE,SAAS,CAA6B,EACpF,SACA,QAEC,EAAuB,EAAiB,yBAAuB,CAAc,EAAI,GAAG,iBAAe,OAEnG,EAAc,CAClB,UAAW,EAAoB,CAAoB,EACnD,KAAM,EAAmB,GACzB,YAAa,CACf,EAEM,GAAyB,MAAM,EAAI,QAAQ,eAAe,CAAW,GAAG,QAExE,EAAkB,MAAO,EAAY,EAA8B,EAAO,KAAO,CACrF,IAAM,EAAU,EAAK,UAClB,IAAI,CAAC,IAAW,CACf,IAAQ,QAAO,UAAS,UAAW,EAO7B,EAEJ,IAAU,QAAM,YAAc,EAAQ,mBAAmB,CAAO,EAAI,EAEtE,GAAI,GAAU,IAAY,EACxB,MAAO,CACL,aAAc,EAAY,UAC1B,YAAa,SACb,OAAQ,EACR,SAAU,GACV,YACF,EAGF,GAAI,EACF,MAAO,CAAE,QAAS,EAAe,YAAa,QAAS,OAAQ,CAAM,EAGvE,OAAO,KACR,EACA,OAAO,OAAO,EAEX,EAAqC,CAAC,IAAe,CACzD,OAAO,EAAI,OAAO,CAAC,IAAS,IAAS,MAAQ,OAAO,IAAS,UAAY,OAAO,KAAK,CAAI,EAAE,OAAS,CAAC,GAUvG,OAPqB,MAAM,EAAI,KAAK,oBAAoB,CACtD,KAAM,EAAmB,GACzB,SACA,aAAc,EACd,QAAS,EAAmC,CAAO,CACrD,CAAC,GAEmB,cAAc,SAAS,GAqC7C,MAAO,IAAK,EAAS,QAAS,EAAe,kBAAiB,SAlC7C,OAAS,YAAW,eAAc,UAAS,UAAS,KAAkC,CACrG,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,+BAAgC,CAAC,EACrG,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,gCAAiC,CAAE,OAAQ,oCAAqC,CAAC,EAE1G,IAAM,EACJ,IAAU,QAAM,YACX,EAAiC,QACjC,EAAiC,mBAEhC,OAAM,OAAQ,GAAc,MAAM,EAAe,IACpD,EACH,QAAS,IAAY,MAAM,EAAQ,YAAY,GAAG,GAAgB,YAAU,MAC5E,WAAY,GACZ,OACA,YACA,OAAQ,CACV,CAAC,EAEK,EAAS,EAAU,IAAI,EAAG,QAAO,QAAO,OAAM,YAAa,CAE/D,aAAc,EAAY,UAC1B,OAAQ,EAAM,SAAS,EACvB,IAAK,GAAS,GACd,aACA,KAAM,EACN,KAAM,CACR,EAAE,EAEI,EAAQ,MAAM,EAAgB,EAAM,EAAQ,CAAI,EACtD,OAAO,EAAQ,YAAY,CAAK,EAGqC,GL9GlE,IAAM,EAAgB,eAAa,CACxC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAA6B,CAAC,EAAiB,EAAwD,CACrG,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAC9E,EAAc,WAAS,IAAI,cAAc,EAAE,QACjD,GAAI,CAAC,EAAa,MAAU,MAAM,0BAA0B,EAE5D,IAAM,EAAgB,WAAS,IAAI,SAAS,EAAE,SAAW,OAEzD,MAAM,EAAe,EAGrB,IAAM,EAAgB,CAAE,OAAQ,EAAe,aAAY,EACrD,EAAa,MAAM,aAAW,OAAO,CAAa,EAGxD,GAAI,EAAc,QAAU,EAAc,SAAW,EACnD,WAAS,UAAU,UAAW,EAAc,MAAM,EAepD,OAZA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,CAC3C,QACA,eAAgB,IAAoB,IAAU,wBAAsB,GACpE,IAAK,CACP,CAAC,EACK,EAAW,MAAM,EAAc,WAAW,GAAM,GAEtD,EAAS,IAAK,EAAe,UAAS,QAAO,WAAY,eAAa,OAAQ,CAAC,EAChF,CACH,EACO,IAEX,KAAM,iBACN,gBAAiB,CACf,QAAM,SACN,QAAM,UACN,QAAM,KACN,QAAM,kBACN,QAAM,QACN,QAAM,YACN,QAAM,OACN,QAAM,SACN,QAAM,KACN,QAAM,SACN,QAAM,SACN,QAAM,OACN,QAAM,SACN,QAAM,QACN,QAAM,UACN,QAAM,IACR,EACA,WAAY,eAAa,OAC3B,CAAC,EAEY,EAA2B,2BAAyB,CAAa,EAE9E,eAAe,CAAgB,EAC7B,MACA,QACA,kBAKC,CACD,IAAQ,cAAa,iBAAkB,KAAa,kCAEpD,OAAQ,QACD,QAAM,uBACN,QAAM,cACN,QAAM,cACN,QAAM,aACN,QAAM,eACN,QAAM,UACN,QAAM,SAAU,CACnB,IAAM,EAAW,MAAM,EAAY,CAAK,EAClC,EAAS,IAAI,EAAc,CAAE,QAAO,iBAAgB,WAAU,KAAI,CAAC,EAGzE,OAFgB,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,CAGjE,MACK,QAAM,OACT,OAAO,EAAoB,CAAE,iBAAgB,KAAI,CAAC,OAE/C,QAAM,UACT,OAAO,EAAuB,CAAE,iBAAgB,KAAI,CAAC,OAElD,QAAM,KACT,OAAO,EAAuB,CAAE,iBAAgB,KAAI,CAAC,OAElD,QAAM,aACN,QAAM,iBACN,QAAM,UACN,QAAM,cACN,QAAM,SACT,OAAO,EAAkB,CAAE,QAAO,iBAAgB,KAAI,CAAC,OAEpD,QAAM,OAAQ,CACjB,IAAQ,uBAAwB,KAAa,gCAC7C,OAAO,EAAoB,CAAE,iBAAgB,KAAI,CAAC,CACpD,SAEE,MAAM,IAAI,eAAa,qCAAsC,CAAE,OAAM,CAAC,GAM5E,eAAe,CAAc,CAAC,EAAW,EAAG,CAC1C,GAAI,GAAY,EACd,MAAM,2FAA2F,EAInG,GAAI,CAFgB,MAAM,EAAyB,EAGjD,OAAO,SAAS,OAAO,kBAAkB,EACzC,MAAM,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,KAAK,CAAC,EACzD,MAAM,EAAe,EAAW,CAAC,EAIrC,eAAe,CAAwB,CAAC,EAAO,0CAA2C,CACxF,GAAI,CAEF,OADiB,MAAM,MAAM,CAAI,GACjB,SAAW,IAC3B,KAAM,CACN,MAAO",
13
- "debugId": "85E848D6BFB7969B64756E2164756E21",
12
+ "mappings": "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",
13
+ "debugId": "0C9BF3226D0D237964756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -1,4 +1,4 @@
1
- import{a as k,b as E}from"../chunk-7fsaymh4.js";import{c as F,d as b}from"../chunk-zzfbcc7e.js";import{KeepKeySdk as _z}from"@keepkey/keepkey-sdk";import{Chain as Q,filterSupportedChains as Nz,NetworkDerivationPath as Iz,SKConfig as P,SwapKitError as Dz,WalletOption as r}from"@swapkit/helpers";import{createWallet as Hz,getWalletSupportedChains as Oz}from"@swapkit/wallet-core";import{Chain as g,DerivationPath as a,derivationPathToString as i,GAIAConfig as l,getRPCUrl as e}from"@swapkit/helpers";async function m({sdk:z,derivationPath:J}){let{DEFAULT_COSMOS_FEE_MAINNET:X,getCosmosToolbox:D,getFeeRateFromSwapKit:Y,createStargateClient:q}=await import("@swapkit/toolboxes/cosmos"),U=J?i(J):`${a.GAIA}/0`,{address:$}=await z.address.cosmosGetAddress({address_n:E(U)}),j=await D(g.Cosmos);if(X.amount[0])X.amount[0].amount=String(await Y(l.chainId,500));return{...j,address:$,transfer:async({assetValue:_,recipient:Z,memo:W})=>{let H=_.getBaseValue("string"),B=await j.getAccount($),L=await z.cosmos.cosmosSignAmino({signDoc:{account_number:B?.accountNumber.toString()??"",chain_id:l.chainId,fee:X,memo:W||"",msgs:[{type:"cosmos-sdk/MsgSend",value:{amount:[{amount:H,denom:"uatom"}],from_address:$,to_address:Z}}],sequence:B?.sequence.toString()??""},signerAddress:$}),N=atob(L.serialized),I=new Uint8Array(N.length).map((V,w)=>N.charCodeAt(w)),G=await e(g.Cosmos);return(await(await q(G)).broadcastTx(I)).transactionHash}}}import{ChainToChainId as zz,derivationPathToString as Jz,NetworkDerivationPath as Qz,SwapKitError as K}from"@swapkit/helpers";import{AbstractSigner as Xz}from"ethers";class T extends Xz{sdk;chain;derivationPath;address;provider;constructor({sdk:z,chain:J,derivationPath:X,provider:D}){super();this.sdk=z,this.chain=J,this.derivationPath=X||Qz.ETH,this.address="",this.provider=D}signTypedData(){throw new K("wallet_keepkey_method_not_supported",{method:"signTypedData"})}getAddress=async()=>{if(this.address)return this.address;let{address:z}=await this.sdk.address.ethereumGetAddress({address_n:E(Jz(this.derivationPath))});return this.address=z,z};signMessage=(z)=>this.sdk.eth.ethSign({address:this.address,message:z});signTransaction=async({to:z,value:J,gasLimit:X,nonce:D,data:Y,maxFeePerGas:q,maxPriorityFeePerGas:U,gasPrice:$})=>{if(!z)throw new K("wallet_keepkey_invalid_params",{reason:"Missing to address"});if(!X)throw new K("wallet_keepkey_invalid_params",{reason:"Missing gasLimit"});if(!Y)throw new K("wallet_keepkey_invalid_params",{reason:"Missing data"});let j=!!((q||U)&&!$);if(j&&!q)throw new K("wallet_keepkey_invalid_params",{reason:"Missing maxFeePerGas"});if(j&&!U)throw new K("wallet_keepkey_invalid_params",{reason:"Missing maxPriorityFeePerGas"});if(!(j||$))throw new K("wallet_keepkey_invalid_params",{reason:"Missing gasPrice"});let{toHexString:R}=await import("@swapkit/toolboxes/evm"),_=D?BigInt(D):BigInt(await this.provider.getTransactionCount(await this.getAddress(),"pending")),Z={addressNList:[2147483692,2147483708,2147483648,0,0],chainId:R(BigInt(zz[this.chain])),data:Y,from:this.address,gas:R(BigInt(X)),nonce:R(_),to:z.toString(),value:R(BigInt(J||0)),...j&&{maxFeePerGas:R(BigInt(q?.toString()||"0")),maxPriorityFeePerGas:R(BigInt(U?.toString()||"0"))},...!j&&{gasPrice:R(BigInt($?.toString()||"0"))}};return(await this.sdk.eth.ethSignTransaction(Z)).serialized};sendTransaction=async(z)=>{if(!this.provider)throw new K("wallet_keepkey_no_provider");let J=await this.signTransaction(z);return await this.provider.broadcastTransaction(J)};connect=(z)=>new T({chain:this.chain,derivationPath:this.derivationPath,provider:z,sdk:this.sdk})}import{Chain as u,DerivationPath as Zz,derivationPathToString as $z,getRPCUrl as p,MAYAConfig as Yz,SwapKitError as qz}from"@swapkit/helpers";async function c({sdk:z,derivationPath:J}){let{createStargateClient:X,getCosmosToolbox:D}=await import("@swapkit/toolboxes/cosmos"),Y=await D(u.Maya),q=J?$z(J):`${Zz.MAYA}/0`,{address:U}=await z.address.mayachainGetAddress({address_n:E(q)}),$=async({assetValue:_,recipient:Z,sender:W,memo:H})=>{let B=await import("@cosmjs/amino"),L=B.makeSignDoc??B.default?.makeSignDoc,{getDenomWithChain:N}=await import("@swapkit/toolboxes/cosmos"),I=await Y.getAccount(W);if(!I)throw new qz("wallet_keepkey_account_not_found");let{accountNumber:G,sequence:O=0}=I,M=_.getBaseValue("string"),V=Z&&Z!=="",w=V?{type:"mayachain/MsgSend",value:{amount:[{amount:M,denom:_.symbol.toLowerCase()}],from_address:W,to_address:Z}}:{type:"mayachain/MsgDeposit",value:{coins:[{amount:M,asset:N(_)}],memo:H,signer:W}},f=L([w],{amount:[],gas:"500000000"},Yz.chainId,H,G?.toString(),O),A=await(V?z.mayachain.mayachainSignAminoTransfer:z.mayachain.mayachainSignAminoDeposit)({signDoc:f,signerAddress:W}),v=atob(A.serialized);return new Uint8Array(v.length).map((C,t)=>v.charCodeAt(t))};return{...Y,address:U,deposit:async({assetValue:_,memo:Z})=>{let W=await p(u.Maya),H=await X(W),B=await $({assetValue:_,memo:Z,sender:U}),{transactionHash:L}=await H.broadcastTx(B);return L},transfer:async({assetValue:_,recipient:Z,memo:W})=>{let H=await p(u.Maya),B=await X(H),L=await $({assetValue:_,memo:W,recipient:Z,sender:U}),{transactionHash:N}=await B.broadcastTx(L);return N}}}import{Chain as S,DerivationPath as jz,derivationPathToString as Bz,getRPCUrl as h,SwapKitError as Rz,THORConfig as Wz}from"@swapkit/helpers";async function d({sdk:z,derivationPath:J}){let X=await import("@cosmjs/amino"),D=X.makeSignDoc??X.default?.makeSignDoc,{buildAminoMsg:Y,getDefaultChainFee:q,createStargateClient:U,getCosmosToolbox:$}=await import("@swapkit/toolboxes/cosmos"),j=await $(S.THORChain),R=J?Bz(J):`${jz.THOR}/0`,{address:_}=await z.address.thorchainGetAddress({address_n:E(R)}),Z=async({assetValue:B,recipient:L,sender:N,memo:I})=>{let G=await j.getAccount(N);if(!G)throw new Rz("wallet_keepkey_account_not_found");let{accountNumber:O,sequence:M=0}=G,V=L&&L!=="",w=Y({assetValue:B,memo:I,recipient:L,sender:N}),f=D([w],q(S.THORChain),Wz.chainId,I,O?.toString(),M),y=V?await z.thorchain.thorchainSignAminoTransfer({signDoc:f,signerAddress:N}):await z.thorchain.thorchainSignAminoDeposit({signDoc:f,signerAddress:N}),A=atob(y.serialized);return new Uint8Array(A.length).map((v,C)=>A.charCodeAt(C))};return{...j,address:_,deposit:async({assetValue:B,memo:L})=>{let N=await h(S.THORChain),I=await U(N),G=await Z({assetValue:B,memo:L,sender:_}),{transactionHash:O}=await I.broadcastTx(G);return O},transfer:async({assetValue:B,recipient:L,memo:N})=>{let I=await h(S.THORChain),G=await U(I),O=await Z({assetValue:B,memo:N,recipient:L,sender:_}),{transactionHash:M}=await G.broadcastTx(O);return M}}}import{Chain as x,DerivationPath as Lz,derivationPathToString as Gz,FeeOption as Uz,SwapKitError as o}from"@swapkit/helpers";var n=async({sdk:z,chain:J,derivationPath:X})=>{let{getUtxoToolbox:D}=await import("@swapkit/toolboxes/utxo"),Y=await D(J),q=[x.Bitcoin,x.Litecoin].includes(J)?"p2wpkh":"p2pkh",U=X?Gz(X):`${Lz[J]}/0`,$={address_n:E(U),coin:k[J],script_type:q},j=(await z.address.utxoGetAddress($)).address,R=async(Z,W,H="")=>{let B=Z.txOutputs.map((I)=>{let{value:G,address:O,change:M}=I,V=J===x.BitcoinCash?Y.stripToCashAddress(O):O;if(M||O===j)return{addressNList:$.address_n,addressType:"change",amount:G,isChange:!0,scriptType:q};if(V)return{address:V,addressType:"spend",amount:G};return null}).filter(Boolean),L=(I)=>{return I.filter((G)=>G!==null&&typeof G==="object"&&Object.keys(G).length>0)};return(await z.utxo.utxoSignTransaction({coin:k[J],inputs:W,opReturnData:H,outputs:L(B)})).serializedTx?.toString()};return{...Y,address:j,signTransaction:R,transfer:async({recipient:Z,feeOptionKey:W,feeRate:H,memo:B,...L})=>{if(!j)throw new o("wallet_keepkey_invalid_params",{reason:"From address must be provided"});if(!Z)throw new o("wallet_keepkey_invalid_params",{reason:"Recipient address must be provided"});let N=J===x.BitcoinCash?Y.buildTx:Y.createTransaction,{psbt:I,inputs:G}=await N({...L,feeRate:H||(await Y.getFeeRates())[W||Uz.Fast],fetchTxHex:!0,memo:B,recipient:Z,sender:j}),O=G.map(({value:V,index:w,hash:f,txHex:y})=>({addressNList:$.address_n,amount:V.toString(),hex:y||"",scriptType:q,txid:f,vout:w})),M=await R(I,O,B);return Y.broadcastTx(M)}}};var Mz=Hz({connect:({addChain:z,supportedChains:J,walletType:X})=>async function(Y,q){let U=Nz({chains:Y,supportedChains:J,walletType:X}),$=P.get("integrations").keepKey;if(!$)throw Error("KeepKey config not found");let j=P.get("apiKeys").keepKey||"1234";await s();let R={apiKey:j,pairingInfo:$},_=await _z.create(R);if(R.apiKey&&R.apiKey!==j)P.setApiKey("keepKey",R.apiKey);return await Promise.all(U.map(async(Z)=>{let W=await Vz({chain:Z,derivationPath:q?.[Z]||Iz[Z],sdk:_}),H=await W.getAddress()||"";z({...W,address:H,chain:Z,walletType:r.KEEPKEY})})),!0},name:"connectKeepkey",supportedChains:[Q.Arbitrum,Q.Avalanche,Q.Base,Q.BinanceSmartChain,Q.Bitcoin,Q.BitcoinCash,Q.Cosmos,Q.Dogecoin,Q.Dash,Q.Ethereum,Q.Litecoin,Q.Ripple,Q.Optimism,Q.Polygon,Q.THORChain,Q.Maya],walletType:r.KEEPKEY}),rz=Oz(Mz);async function Vz({sdk:z,chain:J,derivationPath:X}){let{getProvider:D,getEvmToolbox:Y}=await import("@swapkit/toolboxes/evm");switch(J){case Q.BinanceSmartChain:case Q.Arbitrum:case Q.Optimism:case Q.Polygon:case Q.Avalanche:case Q.Base:case Q.Ethereum:{let q=await D(J),U=new T({chain:J,derivationPath:X,provider:q,sdk:z});return await Y(J,{provider:q,signer:U})}case Q.Cosmos:return m({derivationPath:X,sdk:z});case Q.THORChain:return d({derivationPath:X,sdk:z});case Q.Maya:return c({derivationPath:X,sdk:z});case Q.Bitcoin:case Q.BitcoinCash:case Q.Dash:case Q.Dogecoin:case Q.Litecoin:return n({chain:J,derivationPath:X,sdk:z});case Q.Ripple:{let{rippleWalletMethods:q}=await import("../chunk-37bgpz1y.js");return q({derivationPath:X,sdk:z})}default:throw new Dz("wallet_keepkey_chain_not_supported",{chain:J})}}async function s(z=0){if(z>=3)alert("KeepKey desktop is required for keepkey-sdk, please go to https://keepkey.com/get-started");if(!await Fz())window.location.assign("keepkey://launch"),await new Promise((X)=>setTimeout(X,30000)),await s(z+1)}async function Fz(z="http://localhost:1646/spec/swagger.json"){try{return(await fetch(z)).status===200}catch{return!1}}export{Mz as keepkeyWallet,rz as KEEPKEY_SUPPORTED_CHAINS};
1
+ import{a as k,b as E}from"../chunk-7fsaymh4.js";import{c as F,d as b}from"../chunk-zzfbcc7e.js";import{KeepKeySdk as _z}from"@keepkey/keepkey-sdk";import{Chain as Q,filterSupportedChains as Nz,NetworkDerivationPath as Iz,SKConfig as P,SwapKitError as Dz,WalletOption as r}from"@swapkit/helpers";import{createWallet as Hz,getWalletSupportedChains as Oz}from"@swapkit/wallet-core";import{Chain as g,DerivationPath as a,derivationPathToString as i,GAIAConfig as l,getRPCUrl as e}from"@swapkit/helpers";async function m({sdk:z,derivationPath:J}){let{DEFAULT_COSMOS_FEE_MAINNET:X,getCosmosToolbox:D,getFeeRateFromSwapKit:Y,createStargateClient:q}=await import("@swapkit/toolboxes/cosmos"),U=J?i(J):`${a.GAIA}/0`,{address:$}=await z.address.cosmosGetAddress({address_n:E(U)}),j=await D(g.Cosmos);if(X.amount[0])X.amount[0].amount=String(await Y(l.chainId,500));return{...j,address:$,transfer:async({assetValue:_,recipient:Z,memo:W})=>{let H=_.getBaseValue("string"),B=await j.getAccount($),L=await z.cosmos.cosmosSignAmino({signDoc:{account_number:B?.accountNumber.toString()??"",chain_id:l.chainId,fee:X,memo:W||"",msgs:[{type:"cosmos-sdk/MsgSend",value:{amount:[{amount:H,denom:"uatom"}],from_address:$,to_address:Z}}],sequence:B?.sequence.toString()??""},signerAddress:$}),N=atob(L.serialized),I=new Uint8Array(N.length).map((V,w)=>N.charCodeAt(w)),G=await e(g.Cosmos);return(await(await q(G)).broadcastTx(I)).transactionHash}}}import{ChainToChainId as zz,derivationPathToString as Jz,NetworkDerivationPath as Qz,SwapKitError as K}from"@swapkit/helpers";import{AbstractSigner as Xz}from"ethers";class T extends Xz{sdk;chain;derivationPath;address;provider;constructor({sdk:z,chain:J,derivationPath:X,provider:D}){super();this.sdk=z,this.chain=J,this.derivationPath=X||Qz.ETH,this.address="",this.provider=D}signTypedData(){throw new K("wallet_keepkey_method_not_supported",{method:"signTypedData"})}getAddress=async()=>{if(this.address)return this.address;let{address:z}=await this.sdk.address.ethereumGetAddress({address_n:E(Jz(this.derivationPath))});return this.address=z,z};signMessage=(z)=>this.sdk.eth.ethSign({address:this.address,message:z});signTransaction=async({to:z,value:J,gasLimit:X,nonce:D,data:Y,maxFeePerGas:q,maxPriorityFeePerGas:U,gasPrice:$})=>{if(!z)throw new K("wallet_keepkey_invalid_params",{reason:"Missing to address"});if(!X)throw new K("wallet_keepkey_invalid_params",{reason:"Missing gasLimit"});if(!Y)throw new K("wallet_keepkey_invalid_params",{reason:"Missing data"});let j=!!((q||U)&&!$);if(j&&!q)throw new K("wallet_keepkey_invalid_params",{reason:"Missing maxFeePerGas"});if(j&&!U)throw new K("wallet_keepkey_invalid_params",{reason:"Missing maxPriorityFeePerGas"});if(!(j||$))throw new K("wallet_keepkey_invalid_params",{reason:"Missing gasPrice"});let{toHexString:R}=await import("@swapkit/toolboxes/evm"),_=D?BigInt(D):BigInt(await this.provider.getTransactionCount(await this.getAddress(),"pending")),Z={addressNList:[2147483692,2147483708,2147483648,0,0],chainId:R(BigInt(zz[this.chain])),data:Y,from:this.address,gas:R(BigInt(X)),nonce:R(_),to:z.toString(),value:R(BigInt(J||0)),...j&&{maxFeePerGas:R(BigInt(q?.toString()||"0")),maxPriorityFeePerGas:R(BigInt(U?.toString()||"0"))},...!j&&{gasPrice:R(BigInt($?.toString()||"0"))}};return(await this.sdk.eth.ethSignTransaction(Z)).serialized};sendTransaction=async(z)=>{if(!this.provider)throw new K("wallet_keepkey_no_provider");let J=await this.signTransaction(z);return await this.provider.broadcastTransaction(J)};connect=(z)=>new T({chain:this.chain,derivationPath:this.derivationPath,provider:z,sdk:this.sdk})}import{Chain as u,DerivationPath as Zz,derivationPathToString as $z,getRPCUrl as p,MAYAConfig as Yz,SwapKitError as qz}from"@swapkit/helpers";async function c({sdk:z,derivationPath:J}){let{createStargateClient:X,getCosmosToolbox:D}=await import("@swapkit/toolboxes/cosmos"),Y=await D(u.Maya),q=J?$z(J):`${Zz.MAYA}/0`,{address:U}=await z.address.mayachainGetAddress({address_n:E(q)}),$=async({assetValue:_,recipient:Z,sender:W,memo:H})=>{let B=await import("@cosmjs/amino"),L=B.makeSignDoc??B.default?.makeSignDoc,{getDenomWithChain:N}=await import("@swapkit/toolboxes/cosmos"),I=await Y.getAccount(W);if(!I)throw new qz("wallet_keepkey_account_not_found");let{accountNumber:G,sequence:O=0}=I,M=_.getBaseValue("string"),V=Z&&Z!=="",w=V?{type:"mayachain/MsgSend",value:{amount:[{amount:M,denom:_.symbol.toLowerCase()}],from_address:W,to_address:Z}}:{type:"mayachain/MsgDeposit",value:{coins:[{amount:M,asset:N(_)}],memo:H,signer:W}},f=L([w],{amount:[],gas:"500000000"},Yz.chainId,H,G?.toString(),O),A=await(V?z.mayachain.mayachainSignAminoTransfer:z.mayachain.mayachainSignAminoDeposit)({signDoc:f,signerAddress:W}),v=atob(A.serialized);return new Uint8Array(v.length).map((C,t)=>v.charCodeAt(t))};return{...Y,address:U,deposit:async({assetValue:_,memo:Z})=>{let W=await p(u.Maya),H=await X(W),B=await $({assetValue:_,memo:Z,sender:U}),{transactionHash:L}=await H.broadcastTx(B);return L},transfer:async({assetValue:_,recipient:Z,memo:W})=>{let H=await p(u.Maya),B=await X(H),L=await $({assetValue:_,memo:W,recipient:Z,sender:U}),{transactionHash:N}=await B.broadcastTx(L);return N}}}import{Chain as S,DerivationPath as jz,derivationPathToString as Bz,getRPCUrl as h,SwapKitError as Rz,THORConfig as Wz}from"@swapkit/helpers";async function d({sdk:z,derivationPath:J}){let X=await import("@cosmjs/amino"),D=X.makeSignDoc??X.default?.makeSignDoc,{buildAminoMsg:Y,getDefaultChainFee:q,createStargateClient:U,getCosmosToolbox:$}=await import("@swapkit/toolboxes/cosmos"),j=await $(S.THORChain),R=J?Bz(J):`${jz.THOR}/0`,{address:_}=await z.address.thorchainGetAddress({address_n:E(R)}),Z=async({assetValue:B,recipient:L,sender:N,memo:I})=>{let G=await j.getAccount(N);if(!G)throw new Rz("wallet_keepkey_account_not_found");let{accountNumber:O,sequence:M=0}=G,V=L&&L!=="",w=Y({assetValue:B,memo:I,recipient:L,sender:N}),f=D([w],q(S.THORChain),Wz.chainId,I,O?.toString(),M),y=V?await z.thorchain.thorchainSignAminoTransfer({signDoc:f,signerAddress:N}):await z.thorchain.thorchainSignAminoDeposit({signDoc:f,signerAddress:N}),A=atob(y.serialized);return new Uint8Array(A.length).map((v,C)=>A.charCodeAt(C))};return{...j,address:_,deposit:async({assetValue:B,memo:L})=>{let N=await h(S.THORChain),I=await U(N),G=await Z({assetValue:B,memo:L,sender:_}),{transactionHash:O}=await I.broadcastTx(G);return O},transfer:async({assetValue:B,recipient:L,memo:N})=>{let I=await h(S.THORChain),G=await U(I),O=await Z({assetValue:B,memo:N,recipient:L,sender:_}),{transactionHash:M}=await G.broadcastTx(O);return M}}}import{Chain as x,DerivationPath as Lz,derivationPathToString as Gz,FeeOption as Uz,SwapKitError as o}from"@swapkit/helpers";async function n({sdk:z,chain:J,derivationPath:X}){let{getUtxoToolbox:D}=await import("@swapkit/toolboxes/utxo"),Y=await D(J),q=[x.Bitcoin,x.Litecoin].includes(J)?"p2wpkh":"p2pkh",U=X?Gz(X):`${Lz[J]}/0`,$={address_n:E(U),coin:k[J],script_type:q},j=(await z.address.utxoGetAddress($)).address,R=async(Z,W,H="")=>{let B=Z.txOutputs.map((I)=>{let{value:G,address:O,change:M}=I,V=J===x.BitcoinCash?Y.stripToCashAddress(O):O;if(M||O===j)return{addressNList:$.address_n,addressType:"change",amount:G,isChange:!0,scriptType:q};if(V)return{address:V,addressType:"spend",amount:G};return null}).filter(Boolean),L=(I)=>{return I.filter((G)=>G!==null&&typeof G==="object"&&Object.keys(G).length>0)};return(await z.utxo.utxoSignTransaction({coin:k[J],inputs:W,opReturnData:H,outputs:L(B)})).serializedTx?.toString()};return{...Y,address:j,signTransaction:R,transfer:async({recipient:Z,feeOptionKey:W,feeRate:H,memo:B,...L})=>{if(!j)throw new o("wallet_keepkey_invalid_params",{reason:"From address must be provided"});if(!Z)throw new o("wallet_keepkey_invalid_params",{reason:"Recipient address must be provided"});let N=J===x.BitcoinCash?Y.buildTx:Y.createTransaction,{psbt:I,inputs:G}=await N({...L,feeRate:H||(await Y.getFeeRates())[W||Uz.Fast],fetchTxHex:!0,memo:B,recipient:Z,sender:j}),O=G.map(({value:V,index:w,hash:f,txHex:y})=>({addressNList:$.address_n,amount:V.toString(),hex:y||"",scriptType:q,txid:f,vout:w})),M=await R(I,O,B);return Y.broadcastTx(M)}}}var Mz=Hz({connect:({addChain:z,supportedChains:J,walletType:X})=>async function(Y,q){let U=Nz({chains:Y,supportedChains:J,walletType:X}),$=P.get("integrations").keepKey;if(!$)throw Error("KeepKey config not found");let j=P.get("apiKeys").keepKey||"1234";await s();let R={apiKey:j,pairingInfo:$},_=await _z.create(R);if(R.apiKey&&R.apiKey!==j)P.setApiKey("keepKey",R.apiKey);return await Promise.all(U.map(async(Z)=>{let W=await Vz({chain:Z,derivationPath:q?.[Z]||Iz[Z],sdk:_}),H=await W.getAddress()||"";z({...W,address:H,chain:Z,walletType:r.KEEPKEY})})),!0},name:"connectKeepkey",supportedChains:[Q.Arbitrum,Q.Avalanche,Q.Base,Q.BinanceSmartChain,Q.Bitcoin,Q.BitcoinCash,Q.Cosmos,Q.Dogecoin,Q.Dash,Q.Ethereum,Q.Litecoin,Q.Ripple,Q.Optimism,Q.Polygon,Q.THORChain,Q.Maya],walletType:r.KEEPKEY}),rz=Oz(Mz);async function Vz({sdk:z,chain:J,derivationPath:X}){let{getProvider:D,getEvmToolbox:Y}=await import("@swapkit/toolboxes/evm");switch(J){case Q.BinanceSmartChain:case Q.Arbitrum:case Q.Optimism:case Q.Polygon:case Q.Avalanche:case Q.Base:case Q.Ethereum:{let q=await D(J),U=new T({chain:J,derivationPath:X,provider:q,sdk:z});return await Y(J,{provider:q,signer:U})}case Q.Cosmos:return m({derivationPath:X,sdk:z});case Q.THORChain:return d({derivationPath:X,sdk:z});case Q.Maya:return c({derivationPath:X,sdk:z});case Q.Bitcoin:case Q.BitcoinCash:case Q.Dash:case Q.Dogecoin:case Q.Litecoin:return n({chain:J,derivationPath:X,sdk:z});case Q.Ripple:{let{rippleWalletMethods:q}=await import("../chunk-37bgpz1y.js");return q({derivationPath:X,sdk:z})}default:throw new Dz("wallet_keepkey_chain_not_supported",{chain:J})}}async function s(z=0){if(z>=3)alert("KeepKey desktop is required for keepkey-sdk, please go to https://keepkey.com/get-started");if(!await Fz())window.location.assign("keepkey://launch"),await new Promise((X)=>setTimeout(X,30000)),await s(z+1)}async function Fz(z="http://localhost:1646/spec/swagger.json"){try{return(await fetch(z)).status===200}catch{return!1}}export{Mz as keepkeyWallet,rz as KEEPKEY_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=E5BB816B49072A7964756E2164756E21
3
+ //# debugId=EB1082FDCD11093A64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -7,9 +7,9 @@
7
7
  "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n type Chain,\n ChainToChainId,\n type DerivationPathArray,\n derivationPathToString,\n NetworkDerivationPath,\n SwapKitError,\n} from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { bip32ToAddressNList } from \"../coins\";\n\ninterface KeepKeyEVMSignerParams {\n sdk: KeepKeySdk;\n chain: Chain;\n derivationPath?: DerivationPathArray;\n provider: Provider | JsonRpcProvider;\n}\n\nexport class KeepKeySigner extends AbstractSigner {\n private sdk: KeepKeySdk;\n private chain: Chain;\n private derivationPath: DerivationPathArray;\n private address: string;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ sdk, chain, derivationPath, provider }: KeepKeyEVMSignerParams) {\n super();\n this.sdk = sdk;\n this.chain = chain;\n this.derivationPath = derivationPath || NetworkDerivationPath.ETH;\n this.address = \"\";\n this.provider = provider;\n }\n\n signTypedData(): Promise<string> {\n throw new SwapKitError(\"wallet_keepkey_method_not_supported\", { method: \"signTypedData\" });\n }\n\n getAddress = async () => {\n if (this.address) return this.address;\n const { address } = await this.sdk.address.ethereumGetAddress({\n address_n: bip32ToAddressNList(derivationPathToString(this.derivationPath)),\n });\n\n this.address = address;\n return address;\n };\n\n signMessage = (message: string) => this.sdk.eth.ethSign({ address: this.address, message }) as Promise<string>;\n\n signTransaction = async ({\n to,\n value,\n gasLimit,\n nonce,\n data,\n maxFeePerGas,\n maxPriorityFeePerGas,\n gasPrice,\n }: TransactionRequest) => {\n if (!to) throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing to address\" });\n if (!gasLimit) throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing gasLimit\" });\n if (!data) throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing data\" });\n\n const isEIP1559 = !!((maxFeePerGas || maxPriorityFeePerGas) && !gasPrice);\n if (isEIP1559 && !maxFeePerGas)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing maxFeePerGas\" });\n if (isEIP1559 && !maxPriorityFeePerGas)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing maxPriorityFeePerGas\" });\n if (!(isEIP1559 || gasPrice))\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Missing gasPrice\" });\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const nonceValue = nonce\n ? BigInt(nonce)\n : BigInt(await this.provider.getTransactionCount(await this.getAddress(), \"pending\"));\n\n const input = {\n addressNList: [2147483692, 2147483708, 2147483648, 0, 0],\n chainId: toHexString(BigInt(ChainToChainId[this.chain])),\n data,\n from: this.address,\n gas: toHexString(BigInt(gasLimit)),\n nonce: toHexString(nonceValue),\n to: to.toString(),\n value: toHexString(BigInt(value || 0)),\n ...(isEIP1559 && {\n maxFeePerGas: toHexString(BigInt(maxFeePerGas?.toString() || \"0\")),\n maxPriorityFeePerGas: toHexString(BigInt(maxPriorityFeePerGas?.toString() || \"0\")),\n }),\n ...(!isEIP1559 && {\n // Fixed syntax error and structure here\n gasPrice: toHexString(BigInt(gasPrice?.toString() || \"0\")),\n }),\n };\n const responseSign = await this.sdk.eth.ethSignTransaction(input);\n return responseSign.serialized;\n };\n\n sendTransaction = async (tx: TransactionRequest): Promise<any> => {\n if (!this.provider) throw new SwapKitError(\"wallet_keepkey_no_provider\");\n\n const signedTxHex = await this.signTransaction(tx);\n\n return await this.provider.broadcastTransaction(signedTxHex);\n };\n\n connect = (provider: Provider) =>\n new KeepKeySigner({ chain: this.chain, derivationPath: this.derivationPath, provider, sdk: this.sdk });\n}\n",
8
8
  "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n type AssetValue,\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n type GenericTransferParams,\n getRPCUrl,\n MAYAConfig,\n SwapKitError,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\n\nimport { bip32ToAddressNList } from \"../coins\";\n\ntype SignTransactionParams = { assetValue: AssetValue; recipient?: string; sender: string; memo: string | undefined };\n\nexport async function mayachainWalletMethods({\n sdk,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n derivationPath?: DerivationPathArray;\n}): Promise<any> {\n const { createStargateClient, getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const toolbox = await getCosmosToolbox(Chain.Maya);\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath.MAYA}/0`;\n\n const { address: fromAddress } = (await sdk.address.mayachainGetAddress({\n address_n: bip32ToAddressNList(derivationPathString),\n })) as { address: string };\n\n const signTransaction = async ({ assetValue, recipient, sender, memo }: SignTransactionParams) => {\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedAmino.default?.makeSignDoc;\n const { getDenomWithChain } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const account = await toolbox.getAccount(sender);\n if (!account) throw new SwapKitError(\"wallet_keepkey_account_not_found\");\n const { accountNumber, sequence = 0 } = account;\n const amount = assetValue.getBaseValue(\"string\");\n\n const isTransfer = recipient && recipient !== \"\";\n\n // TODO check if we can move to toolbox created msg\n const msg = isTransfer\n ? {\n type: \"mayachain/MsgSend\",\n value: {\n amount: [{ amount, denom: assetValue.symbol.toLowerCase() }],\n from_address: sender,\n to_address: recipient,\n },\n }\n : {\n type: \"mayachain/MsgDeposit\",\n value: { coins: [{ amount, asset: getDenomWithChain(assetValue) }], memo, signer: sender },\n };\n\n const signDoc = makeSignDoc(\n [msg],\n { amount: [], gas: \"500000000\" },\n MAYAConfig.chainId,\n memo,\n accountNumber?.toString(),\n sequence,\n );\n\n const sdkMethod = isTransfer ? sdk.mayachain.mayachainSignAminoTransfer : sdk.mayachain.mayachainSignAminoDeposit;\n\n // @ts-expect-error TC\n const signedTx = await sdkMethod({ signDoc, signerAddress: sender });\n const decodedBytes = atob(signedTx.serialized);\n return new Uint8Array(decodedBytes.length).map((_, i) => decodedBytes.charCodeAt(i));\n };\n\n const transfer = async ({ assetValue, recipient, memo }: GenericTransferParams) => {\n const rpcUrl = await getRPCUrl(Chain.Maya);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, recipient, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n const deposit = async ({ assetValue, memo }: ThorchainDepositParams) => {\n const rpcUrl = await getRPCUrl(Chain.Maya);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n return { ...toolbox, address: fromAddress, deposit, transfer };\n}\n",
9
9
  "import type { KeepKeySdk, TypesThorchainSignDocDeposit, TypesThorchainSignDocTransfer } from \"@keepkey/keepkey-sdk\";\nimport {\n type AssetValue,\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n type GenericTransferParams,\n getRPCUrl,\n SwapKitError,\n THORConfig,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\n\nimport { bip32ToAddressNList } from \"../coins\";\n\ntype SignTransactionParams = { assetValue: AssetValue; recipient?: string; sender: string; memo: string | undefined };\n\nexport async function thorchainWalletMethods({\n sdk,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n derivationPath?: DerivationPathArray;\n}): Promise<any> {\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedAmino.default?.makeSignDoc;\n const { buildAminoMsg, getDefaultChainFee, createStargateClient, getCosmosToolbox } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath.THOR}/0`;\n\n const { address: fromAddress } = (await sdk.address.thorchainGetAddress({\n address_n: bip32ToAddressNList(derivationPathString),\n })) as { address: string };\n\n const signTransaction = async ({ assetValue, recipient, sender, memo }: SignTransactionParams) => {\n const account = await toolbox.getAccount(sender);\n if (!account) throw new SwapKitError(\"wallet_keepkey_account_not_found\");\n const { accountNumber, sequence = 0 } = account;\n\n const isTransfer = recipient && recipient !== \"\";\n const msg = buildAminoMsg({ assetValue, memo, recipient, sender });\n\n const signDoc = makeSignDoc(\n [msg],\n getDefaultChainFee(Chain.THORChain),\n THORConfig.chainId,\n memo,\n accountNumber?.toString(),\n sequence,\n );\n\n const signedTx = isTransfer\n ? await sdk.thorchain.thorchainSignAminoTransfer({\n signDoc: signDoc as TypesThorchainSignDocTransfer,\n signerAddress: sender,\n })\n : await sdk.thorchain.thorchainSignAminoDeposit({\n signDoc: signDoc as TypesThorchainSignDocDeposit,\n signerAddress: sender,\n });\n const decodedBytes = atob(signedTx.serialized);\n return new Uint8Array(decodedBytes.length).map((_, i) => decodedBytes.charCodeAt(i));\n };\n\n const transfer = async ({ assetValue, recipient, memo }: GenericTransferParams) => {\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, recipient, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n const deposit = async ({ assetValue, memo }: ThorchainDepositParams) => {\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const stargateClient = await createStargateClient(rpcUrl);\n const signedTransaction = await signTransaction({ assetValue, memo, sender: fromAddress });\n const { transactionHash } = await stargateClient.broadcastTx(signedTransaction);\n\n return transactionHash;\n };\n\n // const signMessage = async (message: string) => {\n // const stargateClient = await createStargateClient(RPCUrl.THORChain);\n // // return signedTx;\n // };\n\n return { ...toolbox, address: fromAddress, deposit, transfer };\n}\n",
10
- "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n FeeOption,\n type GenericTransferParams,\n SwapKitError,\n type UTXOChain,\n} from \"@swapkit/helpers\";\nimport type { UTXOToolboxes } from \"@swapkit/toolboxes/utxo\";\nimport type { Psbt } from \"bitcoinjs-lib\";\nimport { bip32ToAddressNList, ChainToKeepKeyName } from \"../coins\";\n\ninterface KeepKeyInputObject {\n addressNList: number[];\n scriptType: string;\n amount: string;\n vout: number;\n txid: string;\n hex: string;\n}\n\nexport const utxoWalletMethods = async ({\n sdk,\n chain,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n chain: Exclude<UTXOChain, typeof Chain.Zcash>;\n derivationPath?: DerivationPathArray;\n}) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n // This might not work for BCH\n const toolbox = await getUtxoToolbox(chain);\n const scriptType = [Chain.Bitcoin, Chain.Litecoin].includes(chain as typeof Chain.Bitcoin)\n ? (\"p2wpkh\" as const)\n : (\"p2pkh\" as const);\n\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath[chain]}/0`;\n\n const addressInfo = {\n address_n: bip32ToAddressNList(derivationPathString),\n coin: ChainToKeepKeyName[chain],\n script_type: scriptType,\n };\n\n const walletAddress: string = (await sdk.address.utxoGetAddress(addressInfo)).address;\n\n const signTransaction = async (psbt: Psbt, inputs: KeepKeyInputObject[], memo = \"\") => {\n const outputs = psbt.txOutputs\n .map((output) => {\n const { value, address, change } = output as {\n address: string;\n script: Buffer;\n value: number;\n change?: boolean;\n };\n\n const outputAddress =\n // @ts-expect-error - stripToCashAddress is not defined in the UTXO toolbox just only on BCH\n chain === Chain.BitcoinCash ? toolbox.stripToCashAddress(address) : address;\n\n if (change || address === walletAddress) {\n return {\n addressNList: addressInfo.address_n,\n addressType: \"change\",\n amount: value,\n isChange: true,\n scriptType,\n };\n }\n\n if (outputAddress) {\n return { address: outputAddress, addressType: \"spend\", amount: value };\n }\n\n return null;\n })\n .filter(Boolean);\n\n const removeNullAndEmptyObjectsFromArray = (arr: any[]) => {\n return arr.filter((item) => item !== null && typeof item === \"object\" && Object.keys(item).length > 0);\n };\n\n const responseSign = await sdk.utxo.utxoSignTransaction({\n coin: ChainToKeepKeyName[chain],\n inputs,\n opReturnData: memo,\n outputs: removeNullAndEmptyObjectsFromArray(outputs),\n });\n\n return responseSign.serializedTx?.toString();\n };\n\n const transfer = async ({ recipient, feeOptionKey, feeRate, memo, ...rest }: GenericTransferParams) => {\n if (!walletAddress)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"From address must be provided\" });\n if (!recipient)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Recipient address must be provided\" });\n\n const createTxMethod =\n chain === Chain.BitcoinCash\n ? (toolbox as UTXOToolboxes[\"BCH\"]).buildTx\n : (toolbox as UTXOToolboxes[\"BTC\"]).createTransaction;\n\n const { psbt, inputs: rawInputs } = await createTxMethod({\n ...rest,\n feeRate: feeRate || (await toolbox.getFeeRates())[feeOptionKey || FeeOption.Fast],\n fetchTxHex: true,\n memo,\n recipient,\n sender: walletAddress,\n });\n\n const inputs = rawInputs.map(({ value, index, hash, txHex }) => ({\n //@TODO don't hardcode master, lookup on blockbook what input this is for and what path that address is!\n addressNList: addressInfo.address_n,\n amount: value.toString(),\n hex: txHex || \"\",\n scriptType,\n txid: hash,\n vout: index,\n }));\n\n const txHex = await signTransaction(psbt, inputs, memo);\n return toolbox.broadcastTx(txHex);\n };\n\n return { ...toolbox, address: walletAddress, signTransaction, transfer };\n};\n"
10
+ "import type { KeepKeySdk } from \"@keepkey/keepkey-sdk\";\nimport {\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n FeeOption,\n type GenericTransferParams,\n SwapKitError,\n type UTXOChain,\n} from \"@swapkit/helpers\";\nimport type { UTXOToolboxes } from \"@swapkit/toolboxes/utxo\";\nimport type { Psbt } from \"bitcoinjs-lib\";\nimport { bip32ToAddressNList, ChainToKeepKeyName } from \"../coins\";\n\ninterface KeepKeyInputObject {\n addressNList: number[];\n scriptType: string;\n amount: string;\n vout: number;\n txid: string;\n hex: string;\n}\n\nexport async function utxoWalletMethods({\n sdk,\n chain,\n derivationPath,\n}: {\n sdk: KeepKeySdk;\n chain: Exclude<UTXOChain, typeof Chain.Zcash>;\n derivationPath?: DerivationPathArray;\n}): Promise<\n UTXOToolboxes[UTXOChain] & {\n address: string;\n signTransaction: (psbt: Psbt, inputs: KeepKeyInputObject[], memo?: string) => Promise<string>;\n }\n> {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n // This might not work for BCH\n const toolbox = await getUtxoToolbox(chain);\n const scriptType = [Chain.Bitcoin, Chain.Litecoin].includes(chain as typeof Chain.Bitcoin)\n ? (\"p2wpkh\" as const)\n : (\"p2pkh\" as const);\n\n const derivationPathString = derivationPath ? derivationPathToString(derivationPath) : `${DerivationPath[chain]}/0`;\n\n const addressInfo = {\n address_n: bip32ToAddressNList(derivationPathString),\n coin: ChainToKeepKeyName[chain],\n script_type: scriptType,\n };\n\n const walletAddress: string = (await sdk.address.utxoGetAddress(addressInfo)).address;\n\n const signTransaction = async (psbt: Psbt, inputs: KeepKeyInputObject[], memo = \"\") => {\n const outputs = psbt.txOutputs\n .map((output) => {\n const { value, address, change } = output as {\n address: string;\n script: Buffer;\n value: number;\n change?: boolean;\n };\n\n const outputAddress =\n // @ts-expect-error - stripToCashAddress is not defined in the UTXO toolbox just only on BCH\n chain === Chain.BitcoinCash ? toolbox.stripToCashAddress(address) : address;\n\n if (change || address === walletAddress) {\n return {\n addressNList: addressInfo.address_n,\n addressType: \"change\",\n amount: value,\n isChange: true,\n scriptType,\n };\n }\n\n if (outputAddress) {\n return { address: outputAddress, addressType: \"spend\", amount: value };\n }\n\n return null;\n })\n .filter(Boolean);\n\n const removeNullAndEmptyObjectsFromArray = (arr: any[]) => {\n return arr.filter((item) => item !== null && typeof item === \"object\" && Object.keys(item).length > 0);\n };\n\n const responseSign = await sdk.utxo.utxoSignTransaction({\n coin: ChainToKeepKeyName[chain],\n inputs,\n opReturnData: memo,\n outputs: removeNullAndEmptyObjectsFromArray(outputs),\n });\n\n return responseSign.serializedTx?.toString();\n };\n\n const transfer = async ({ recipient, feeOptionKey, feeRate, memo, ...rest }: GenericTransferParams) => {\n if (!walletAddress)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"From address must be provided\" });\n if (!recipient)\n throw new SwapKitError(\"wallet_keepkey_invalid_params\", { reason: \"Recipient address must be provided\" });\n\n const createTxMethod =\n chain === Chain.BitcoinCash\n ? (toolbox as UTXOToolboxes[\"BCH\"]).buildTx\n : (toolbox as UTXOToolboxes[\"BTC\"]).createTransaction;\n\n const { psbt, inputs: rawInputs } = await createTxMethod({\n ...rest,\n feeRate: feeRate || (await toolbox.getFeeRates())[feeOptionKey || FeeOption.Fast],\n fetchTxHex: true,\n memo,\n recipient,\n sender: walletAddress,\n });\n\n const inputs = rawInputs.map(({ value, index, hash, txHex }) => ({\n //@TODO don't hardcode master, lookup on blockbook what input this is for and what path that address is!\n addressNList: addressInfo.address_n,\n amount: value.toString(),\n hex: txHex || \"\",\n scriptType,\n txid: hash,\n vout: index,\n }));\n\n const txHex = await signTransaction(psbt, inputs, memo);\n return toolbox.broadcastTx(txHex);\n };\n\n return { ...toolbox, address: walletAddress, signTransaction, transfer };\n}\n"
11
11
  ],
12
- "mappings": "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",
13
- "debugId": "E5BB816B49072A7964756E2164756E21",
12
+ "mappings": "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",
13
+ "debugId": "EB1082FDCD11093A64756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -1,5 +1,5 @@
1
- var N0={};Z0(N0,{ledgerWallet:()=>xL,LEDGER_SUPPORTED_CHAINS:()=>W0});module.exports=F0(N0);var O=require("@swapkit/helpers"),n=require("@swapkit/wallet-core");var W=require("@swapkit/helpers"),g=async({chain:L,ledgerClient:T})=>{if(!T)return"";switch(L){case W.Chain.Cosmos:case W.Chain.THORChain:return T.connect();case W.Chain.Ethereum:case W.Chain.BinanceSmartChain:case W.Chain.Avalanche:case W.Chain.Polygon:case W.Chain.Arbitrum:case W.Chain.Optimism:case W.Chain.Base:case W.Chain.Aurora:case W.Chain.Gnosis:return T.getAddress();case W.Chain.Bitcoin:case W.Chain.BitcoinCash:case W.Chain.Dash:case W.Chain.Dogecoin:case W.Chain.Litecoin:case W.Chain.Zcash:{let _=T;await _.connect();let y=await _.getAddress();return L===W.Chain.BitcoinCash?y.replace("bitcoincash:",""):y}case W.Chain.Near:return await T.getAddress();case W.Chain.Ripple:return T.getAddress();case W.Chain.Tron:return T.getAddress();default:throw new W.SwapKitError("wallet_chain_not_supported",{chain:L,wallet:W.WalletOption.LEDGER})}};var F=require("@swapkit/helpers");var K=require("@swapkit/helpers");var H=require("@swapkit/helpers");var TL=require("@swapkit/helpers");var V=85,s=250;var S={GET_ADDR_SECP256K1:4,GET_VERSION:0,INS_PUBLIC_KEY_SECP256K1:1,SIGN_SECP256K1:2},u={ADD:1,INIT:0,LAST:2},e={ONLY_RETRIEVE:0,SHOW_ADDRESS_IN_DEVICE:1},k={JSON:0},z={NoError:36864},FL={1:"U2F: Unknown",2:"U2F: Bad request",3:"U2F: Configuration unsupported",4:"U2F: Device Ineligible",5:"U2F: Timeout",14:"Timeout",25600:"Execution Error",26368:"Wrong Length",26626:"Error deriving keys",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",36864:"No errors",36865:"Device is busy"};function M(L){if(L in FL)return FL[L];return`Unknown Status Code: ${L}`}function y0(L){return typeof L==="object"&&L!==null&&!Array.isArray(L)&&!(L instanceof Date)}function f(L){if(L){if(y0(L)){if(Object.hasOwn(L,"statusCode"))return{error_message:M(L.statusCode),return_code:L.statusCode};if(Object.hasOwn(L,"return_code")&&Object.hasOwn(L,"error_message"))return L}return{error_message:L.toString(),return_code:65535}}return{error_message:L.toString(),return_code:65535}}function r(L){return L.send(85,S.GET_VERSION,0,0).then((T)=>{let _=T.slice(-2),y=_[0]*256+_[1],m=0;if(T.length>=9)m=(T[5]<<24)+(T[6]<<16)+(T[7]<<8)+(T[8]<<0);return{device_locked:T[4]===1,error_message:M(y),major:T[1],minor:T[2],patch:T[3],return_code:y,target_id:m.toString(16),test_mode:T[0]!==0}},f)}var x=require("@swapkit/helpers");function ZL(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 T=Buffer.alloc(1+4*L.length);T.writeUInt8(L.length,0);for(let _=0;_<L.length;_+=1){let y=L[_]||0;if(_<3)y|=2147483648;T.writeInt32LE(y,1+_*4)}return T}function LL(L,T,_,y,m=k.JSON){return L.transport.send(V,S.SIGN_SECP256K1,T,m,y,[z.NoError,27012,27264]).then((G)=>{let w=G.slice(-2),R=w[0]*256+w[1],C=M(R);if(R===27264||R===27012)C=`${C} : ${G.slice(0,G.length-2).toString("ascii")}`;let B=null;if(G.length>2)B=G.slice(0,G.length-2);return{error_message:C,return_code:R,signature:B}},f)}function O0(L){if(L.length!==65)throw new x.SwapKitError("wallet_ledger_invalid_params",{reason:"decompressed public key length should be 65 bytes"});let T=L.slice(33,65),_=Buffer.from([2+(T[T.length-1]&1)]);return Buffer.concat([_,L.slice(1,33)])}function WL(L,T){return L.transport.send(V,S.INS_PUBLIC_KEY_SECP256K1,0,0,T,[z.NoError]).then((_)=>{let y=_.slice(-2),m=y[0]*256+y[1],G=Buffer.from(_.slice(0,65));return{compressed_pk:O0(G),error_message:M(m),pk:G,return_code:m}},f)}function lL(L){if(!L||L.length!==5)throw new x.SwapKitError("wallet_ledger_invalid_params",{reason:"Path must be exactly 5 elements"});let T=Buffer.alloc(20);return T.writeUInt32LE(2147483648+L[0],0),T.writeUInt32LE(2147483648+L[1],4),T.writeUInt32LE(2147483648+L[2],8),T.writeUInt32LE(L[3],12),T.writeUInt32LE(L[4],16),T}function JL(L,T,_,y,m=k.JSON){let G=u.ADD;if(T===1)G=u.INIT;if(T===_)G=u.LAST;return LL(L,G,0,y,m)}function $L(L,T){return L.transport.send(V,S.GET_ADDR_SECP256K1,0,0,T,[z.NoError]).then((_)=>{let y=_.slice(-2),m=y[0]*256+y[1];return{compressed_pk:Buffer.from(_.slice(0,33)),error_message:M(m),pk:"OBSOLETE PROPERTY",return_code:m}},f)}class h{transport;versionResponse;constructor(L){if(!L)throw new TL.SwapKitError("wallet_ledger_transport_not_defined");this.transport=L}static serializeHRP(L){if(L==null||L.length<3||L.length>83)throw new TL.SwapKitError("wallet_ledger_invalid_params",{reason:"Invalid HRP"});let T=Buffer.alloc(1+L.length);return T.writeUInt8(L.length,0),T.write(L,1),T}async serializePath(L){if(this.versionResponse=await r(this.transport),this.versionResponse.return_code!==z.NoError)throw this.versionResponse;switch(this.versionResponse.major){case 1:return ZL(L);case 2:return lL(L);default:return Buffer.alloc(0)}}async signGetChunks(L,T){let _=await this.serializePath(L),y=[];y.push(_);for(let m=0;m<T.length;m+=s){let G=m+s;if(m>T.length)G=T.length;y.push(T.slice(m,G))}return y}async getVersion(){try{return this.versionResponse=await r(this.transport),this.versionResponse}catch(L){return f(L)}}appInfo(){return this.transport.send(176,1,0,0).then((L)=>{let T=L.slice(-2),_=T[0]*256+T[1],y="",m="",G=0,w=0;if(L[0]!==1)return{error_message:"response format ID not recognized",return_code:36865};let R=L[1];y=L.slice(2,2+R).toString("ascii");let C=2+R,B=L[C];C+=1,m=L.slice(C,C+B).toString("ascii"),C+=B;let Z=L[C];return C+=1,G=Z,w=L[C],{appName:y,appVersion:m,error_message:M(_),flag_onboarded:(w&4)!==0,flag_pin_validated:(w&128)!==0,flag_recovery:(w&1)!==0,flag_signed_mcu_code:(w&2)!==0,flagLen:G,flagsValue:w,return_code:_}},f)}deviceInfo(){return this.transport.send(224,1,0,0,Buffer.from([]),[z.NoError,28160]).then((L)=>{let T=L.slice(-2),_=T[0]*256+T[1];if(_===28160)return{error_message:"This command is only available in the Dashboard",return_code:_};let y=L.slice(0,4).toString("hex"),m=4,G=L[m];m+=1;let w=L.slice(m,m+G).toString();m+=G;let R=L[m];m+=1;let C=L.slice(m,m+R).toString("hex");m+=R;let B=L[m];m+=1;let Z=L.slice(m,m+B);if(Z[B-1]===0)Z=L.slice(m,m+B-1);let $=Z.toString();return{error_message:M(_),flag:C,mcuVersion:$,return_code:_,seVersion:w,targetId:y}},f)}async publicKey(L){try{let T=await this.serializePath(L);switch(this.versionResponse.major){case 1:return WL(this,T);case 2:{let _=Buffer.concat([h.serializeHRP("thor"),T]);return $L(this,_)}default:return{error_message:"App Version is not supported",return_code:25600}}}catch(T){return f(T)}}getAddressAndPubKey(L,T,_=!1){return this.serializePath(L).then((y)=>{let m=Buffer.concat([h.serializeHRP(T),y]);return this.transport.send(V,S.GET_ADDR_SECP256K1,_?e.SHOW_ADDRESS_IN_DEVICE:e.ONLY_RETRIEVE,0,m,[z.NoError]).then((G)=>{let w=G.slice(-2),R=w[0]*256+w[1],C=Buffer.from(G.slice(0,33));return{bech32_address:Buffer.from(G.slice(33,-2)).toString(),compressed_pk:C,error_message:M(R),return_code:R}},f)}).catch((y)=>f(y))}showAddressAndPubKey(L,T){return this.getAddressAndPubKey(L,T,!0)}signSendChunk(L,T,_,y=k.JSON){switch(this.versionResponse.major){case 1:return LL(this,L,T,_,y);case 2:return JL(this,L,T,_,y);default:return{error_message:"App Version is not supported",return_code:25600}}}async sign(L,T,_=k.JSON){let y=Buffer.from(T),m=[],G;try{m=await this.signGetChunks(L,y),G=await this.signSendChunk(1,m.length,m[0],_)}catch(R){f(R)}let w={error_message:G.error_message,return_code:G.return_code,signature:null};for(let R=1;R<m.length;R+=1)if(w=await this.signSendChunk(1+R,m.length,m[R],_),w.return_code!==z.NoError)break;return{error_message:w.error_message,return_code:w.return_code,signature:w.signature}}}var d=require("@swapkit/helpers"),_L=()=>navigator?.usb,G0=async()=>{let L=_L();if(typeof L?.getDevices!=="function")return[];let{ledgerUSBVendorId:T}=await import("@ledgerhq/devices"),y=(await L?.getDevices()).filter((m)=>m.vendorId===T);if(y.length>0)return y[0];return L?.requestDevice({filters:[{vendorId:T}]})},N=async()=>{let L=await G0();if(!L)throw new d.SwapKitError("wallet_ledger_device_not_found");if(await L.open(),L.configuration===null)await L.selectConfiguration(1);try{await L.reset()}catch{}let T=L.configurations[0].interfaces.find(({alternates:R})=>R.some(({interfaceClass:C})=>C===255));if(!T)throw await L.close(),new d.SwapKitError("wallet_ledger_connection_error");try{await L.claimInterface(T.interfaceNumber)}catch(R){throw await L.close(),new d.SwapKitError("wallet_ledger_connection_claimed",R)}let _=(await import("@ledgerhq/hw-transport-webusb")).default;if(!await _.isSupported())throw new d.SwapKitError("wallet_ledger_webusb_not_supported");let{DisconnectedDevice:m}=await import("@ledgerhq/errors"),G=new _(L,T.interfaceNumber),w=(R)=>{if(L===R.device)_L()?.removeEventListener("disconnect",w),G._emitDisconnect(new m)};return _L()?.addEventListener("disconnect",w),G};class i{ledgerTimeout=50000;derivationPath=H.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 h(this.transport):this.ledgerApp;break}case"cosmos":{let T=(await import("@ledgerhq/hw-app-cosmos")).default;this.ledgerApp=L||!this.ledgerApp?new T(this.transport):this.ledgerApp}}return this.ledgerApp}catch(T){throw new H.SwapKitError("wallet_ledger_connection_error",T)}};validateResponse=(L,T)=>{switch(L){case H.LedgerErrorCode.NoError:return;case H.LedgerErrorCode.LockedDevice:throw new H.SwapKitError("wallet_ledger_device_locked",{message:`Ledger is locked: ${T}`});case H.LedgerErrorCode.TC_NotFound:throw new H.SwapKitError("wallet_ledger_device_not_found");default:break}}}class mL extends i{pubKey=null;derivationPath;constructor(L=K.NetworkDerivationPath.GAIA){super();this.chain="cosmos",this.derivationPath=K.derivationPathToString(L)}connect=async()=>{await this.checkOrCreateTransportAndLedger(!0);let{publicKey:L,address:T}=await this.getAddressAndPubKey();return this.pubKey=Buffer.from(L,"hex").toString("base64"),T};getAddressAndPubKey=async()=>{return await this.checkOrCreateTransportAndLedger(!0),await this.ledgerApp.getAddress(this.derivationPath,this.chain)};signTransaction=async(L,T="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:_,error_message:y,signature:m}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new K.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(_,y),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:T,signature:m}]};signAmino=async(L,T)=>{await this.checkOrCreateTransportAndLedger(!0);let _=await this.getAccounts();if(_.findIndex((J)=>J.address===L)===-1)throw new K.SwapKitError("wallet_ledger_address_not_found",{address:L});let m=await import("@cosmjs/amino"),G=m.encodeSecp256k1Signature??m.default?.encodeSecp256k1Signature,w=m.serializeSignDoc??m.default?.serializeSignDoc,R=await import("@cosmjs/crypto"),C=R.Secp256k1Signature??R.default?.Secp256k1Signature,B=w(T),Z=await this.ledgerApp.sign(this.derivationPath,B);this.validateResponse(Z.return_code,Z.error_message);let $=C.fromDer(Z.signature).toFixedLength();return{signature:G(_[0].pubkey,$),signed:T}};getAccounts=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.getAddressAndPubKey();return[{address:L.address,algo:"secp256k1",pubkey:Buffer.from(L.publicKey,"hex")}]}}var l=require("@swapkit/helpers"),NL=require("ethers");class Q extends NL.AbstractSigner{chainId=l.ChainId.Ethereum;derivationPath="";ledgerApp=null;ledgerTimeout=50000;constructor({provider:L,derivationPath:T=l.NetworkDerivationPath.OP,chainId:_=l.ChainId.Optimism}){super(L);this.chainId=_||l.ChainId.Ethereum,this.derivationPath=typeof T==="string"?T:l.derivationPathToString(T),Object.defineProperty(this,"provider",{enumerable:!0,value:L||null,writable:!1})}connect=(L)=>new Q({chainId:this.chainId,derivationPath:this.derivationPath,provider:L});checkOrCreateTransportAndLedger=async()=>{if(this.ledgerApp)return;await this.createTransportAndLedger()};createTransportAndLedger=async()=>{let L=await N(),T=(await import("@ledgerhq/hw-app-eth")).default;this.ledgerApp=new T(L)};getAddress=async()=>{let L=await this.getAddressAndPubKey();if(!L)throw new l.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:T}=await import("ethers");await this.createTransportAndLedger();let _=await this.ledgerApp?.signPersonalMessage(this.derivationPath,L);if(!_)throw new l.SwapKitError("wallet_ledger_signing_error");return _.r=`0x${_.r}`,_.s=`0x${_.s}`,T.from(_).serialized};sendTransaction=async(L)=>{if(!this.provider)throw new l.SwapKitError("wallet_ledger_no_provider");let T=await this.signTransaction(L);return await this.provider.broadcastTransaction(T)};signTypedData(){throw new l.SwapKitError("wallet_ledger_method_not_supported",{method:"signTypedData"})}signTransaction=async(L)=>{let{Transaction:T}=await import("ethers");await this.createTransportAndLedger();let _=await this.provider?.getTransactionCount(L.from||await this.getAddress()),y={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(),type:L.type&&!Number.isNaN(L.type)?L.type:L.maxFeePerGas?2:0,value:L.value},m=T.from(y).unsignedSerialized.slice(2),{ledgerService:G}=await import("@ledgerhq/hw-app-eth"),w=await G.resolveTransaction(m,{},{erc20:!0,externalPlugins:!0}),R=await this.ledgerApp?.signTransaction(this.derivationPath,m,w);if(!R)throw new l.SwapKitError("wallet_ledger_signing_error");let{r:C,s:B,v:Z}=R;return T.from({...y,signature:{r:`0x${C}`,s:`0x${B}`,v:Number(BigInt(Z))}}).serialized}}var fL=(L)=>new Q({...L,chainId:l.ChainId.Arbitrum}),jL=(L)=>new Q({...L,chainId:l.ChainId.Aurora}),QL=(L)=>new Q({...L,chainId:l.ChainId.Avalanche}),YL=(L)=>new Q({...L,chainId:l.ChainId.Base}),ML=(L)=>new Q({...L,chainId:l.ChainId.Ethereum}),HL=(L)=>new Q({...L,chainId:l.ChainId.Gnosis}),DL=(L)=>new Q({...L,chainId:l.ChainId.Optimism}),UL=(L)=>new Q({...L,chainId:l.ChainId.Polygon}),zL=(L)=>new Q({...L,chainId:l.ChainId.BinanceSmartChain});async function qL(L,T){let _=await import("@ledgerhq/hw-app-near"),{Chain:y,DerivationPath:m,derivationPathToString:G,SwapKitError:w}=await import("@swapkit/helpers"),R=new _.default(L),C=T?G(T):m[y.Near],{address:B,publicKey:Z}=await R.getAddress(C);return{getAddress(){return Promise.resolve(B)},async getPublicKey(){let{utils:J}=await import("near-api-js");return J.PublicKey.fromString(`ed25519:${Z}`)},signDelegateAction(J){return Promise.reject(new w("wallet_ledger_method_not_supported",{method:"signDelegateAction",wallet:"Ledger"}))},signNep413Message(J,Y,A,j,E){return Promise.reject(new w("wallet_ledger_method_not_supported",{method:"signNep413Message",wallet:"Ledger"}))},async signTransaction(J){let{Signature:Y,SignedTransaction:A}=await import("near-api-js/lib/transaction");try{let j=await R.signTransaction(J.encode(),C);if(!j)throw Error("Signature undefined");let E=new Y({data:j,keyType:0}),v=new A({signature:E,transaction:J});return[j,v]}catch(j){throw new w("wallet_ledger_signing_error",{error:j})}}}}var PL=require("@scure/base"),o=require("@swapkit/helpers");var AL=require("@scure/base"),D=require("@swapkit/helpers"),yL=(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 T=L[3],_=L.slice(4,T+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[T+4]!==2)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV encoding: expected length type 0x02 for s"});let y=L[T+5];if(4+T+2+y!==L.length)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV byte lengths do not match message length"});let m=L.slice(T+6,L.length);if(m.length===33&&m[0]===0)m=m.slice(1,33);else if(m.length===33)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"s too long"});while(m.length<32)m.unshift(0);if(_.length!==32||m.length!==32)throw new D.SwapKitError("wallet_ledger_invalid_signature",{reason:"must be 32 bytes each"});return AL.base64.encode(Buffer.concat([_,m]))};class OL extends i{pubKey=null;derivationPath;constructor(L=o.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:T}=await this.getAddressAndPubKey();return this.pubKey=PL.base64.encode(L),T};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,T="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:_,error_message:y,signature:m}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new o.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(_,y),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:T,signature:yL(m)}]};sign=async(L)=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:T,error_message:_,signature:y}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new o.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(T,_),yL(y)}}var U=require("@swapkit/helpers");class gL{derivationPath;ledgerApp=null;ledgerTimeout=50000;constructor(L){this.derivationPath=typeof L==="string"?L:U.derivationPathToString(L||U.NetworkDerivationPath.TRON)}checkOrCreateTransportAndLedger=async()=>{if(this.ledgerApp)return;await this.createTransportAndLedger()};createTransportAndLedger=async()=>{let L=await N(),T=(await import("@ledgerhq/hw-app-trx")).default;this.ledgerApp=new T(L)};getAddress=async()=>{let L=await this.getAddressAndPubKey();if(!L)throw new U.SwapKitError("wallet_ledger_failed_to_get_address");return L.address};getAddressAndPubKey=async()=>{await this.createTransportAndLedger();let L=await this.ledgerApp?.getAddress(this.derivationPath);if(!L)throw new U.SwapKitError("wallet_ledger_failed_to_get_address");return{address:L.address,publicKey:L.publicKey}};showAddressAndPubKey=async()=>{return await this.createTransportAndLedger(),this.ledgerApp?.getAddress(this.derivationPath,!0)};signTransaction=async(L)=>{if(await this.createTransportAndLedger(),!this.ledgerApp)throw new U.SwapKitError("wallet_ledger_transport_error");let T=JSON.stringify(L);try{let _=await this.ledgerApp.signTransaction(this.derivationPath,T,[]);if(!_)throw new U.SwapKitError("wallet_ledger_signing_error");return{...L,signature:[_]}}catch(_){throw new U.SwapKitError("wallet_ledger_signing_error",{error:_})}}}var SL=(L)=>new gL(L);var I=require("@swapkit/helpers");var R0=["bitcoin-cash","dash","dogecoin","zcash"],w0=({psbt:L,inputUtxos:T,btcApp:_,derivationPath:y,chain:m},G)=>{let w=T.map(($)=>{return[_.splitTransaction($.txHex||"",!R0.includes(m),m==="zcash"),$.index,void 0,void 0]}),R=L.data.globalMap.unsignedTx.toBuffer().toString("hex"),C=_.splitTransaction(R,!0),B=_.serializeTransactionOutputs(C).toString("hex"),Z={additionals:["bech32"],associatedKeysets:w.map(()=>y),inputs:w,outputScriptHex:B,segwit:!0,useTrustedInputForSegwit:!0};return _.createPaymentTransaction({...Z,...G})},c=({chain:L,additionalSignParams:T})=>{let _,y=null;async function m(w=!0){if(w&&!_)new I.SwapKitError("wallet_ledger_connection_error",{message:`Ledger connection failed:
2
- ${JSON.stringify({btcApp:_,checkBtcApp:w})}`});y||=await N()}async function G(){y=await N(),_=new(await import("@ledgerhq/hw-app-btc")).default({currency:L,transport:y})}return(w)=>{let R=typeof w==="string"?w:I.derivationPathToString(w),C=I.getWalletFormatFor(R);return{connect:async()=>{await m(!1),_=new(await import("@ledgerhq/hw-app-btc")).default({currency:L,transport:y})},getAddress:async()=>{let{toCashAddress:B}=await import("@swapkit/toolboxes/utxo");await m(!1);let{bitcoinAddress:Z}=await _.getWalletPublicKey(R,{format:C});if(!Z)throw new I.SwapKitError("wallet_ledger_get_address_error",{message:`Cannot get ${L} address from ledger derivation path: ${R}`});return L==="bitcoin-cash"&&C==="legacy"?B(Z).replace(/(bchtest:|bitcoincash:)/,""):Z},getExtendedPublicKey:async(B="84'/0'/0'",Z=76067358)=>{return await m(!1),_.getWalletXpub({path:B,xpubVersion:Z})},signTransaction:async(B,Z)=>{return await G(),w0({btcApp:_,chain:L,derivationPath:R,inputUtxos:Z,psbt:B},T)}}}},KL=c({chain:"bitcoin"}),IL=c({chain:"litecoin"}),EL=c({additionalSignParams:{additionals:["abc"],segwit:!1,sigHashType:65},chain:"bitcoin-cash"}),VL=c({additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1},chain:"dogecoin"}),kL=c({additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1},chain:"dash"}),cL=c({additionalSignParams:{additionals:["zcash","sapling"],expiryHeight:(()=>{let L=Buffer.allocUnsafe(4);return L.writeUInt32LE(0),L})(),lockTime:0,segwit:!1,useTrustedInputForSegwit:!1},chain:"zcash"});var bL=X(require("@ledgerhq/hw-app-xrp")),b=require("@swapkit/helpers"),GL=require("ripple-binary-codec");var C0=2147483648;function B0(L){let T={};for(let _ in L)if(L[_]!==null&&L[_]!==void 0)T[_]=L[_];return T}function X0(L){return new bL.default(L)}var vL=async(L)=>{let T=b.derivationPathToString(L||b.NetworkDerivationPath[b.Chain.Ripple]),_=await N(),y=X0(_),{address:m,publicKey:G}=await y.getAddress(T);async function w(R){let{hashes:C}=await import("@swapkit/toolboxes/ripple"),Z={...B0(R),Flags:R.Flags||C0,SigningPubKey:G.toUpperCase()},$=GL.encode(Z),J=await y.signTransaction(T,$),Y=GL.encode({...Z,TxnSignature:J});return{hash:C.hashSignedTx(Y),tx_blob:Y}}return{getAddress:()=>m,signTransaction:w}};var q=async({chain:L,derivationPath:T})=>{let{match:_}=await import("ts-pattern");return _(L).returnType().with(F.Chain.THORChain,()=>Promise.resolve(new OL(T))).with(F.Chain.Cosmos,()=>Promise.resolve(new mL(T))).with(F.Chain.Bitcoin,()=>Promise.resolve(KL(T))).with(F.Chain.BitcoinCash,()=>Promise.resolve(EL(T))).with(F.Chain.Dash,()=>Promise.resolve(kL(T))).with(F.Chain.Dogecoin,()=>Promise.resolve(VL(T))).with(F.Chain.Litecoin,()=>Promise.resolve(IL(T))).with(F.Chain.Zcash,()=>Promise.resolve(cL(T))).with(F.Chain.Ripple,()=>Promise.resolve(vL(T))).with(F.Chain.Tron,()=>Promise.resolve(SL(T))).with(F.Chain.Near,async()=>{let y=await N();return qL(y,T)}).with(F.Chain.Arbitrum,F.Chain.Aurora,F.Chain.Avalanche,F.Chain.BinanceSmartChain,F.Chain.Ethereum,F.Chain.Gnosis,F.Chain.Optimism,F.Chain.Polygon,F.Chain.Base,async()=>{let{getProvider:y}=await import("@swapkit/toolboxes/evm"),m={derivationPath:T,provider:await y(L)};return _(L).with(F.Chain.BinanceSmartChain,()=>zL(m)).with(F.Chain.Avalanche,()=>QL(m)).with(F.Chain.Arbitrum,()=>fL(m)).with(F.Chain.Optimism,()=>DL(m)).with(F.Chain.Polygon,()=>UL(m)).with(F.Chain.Base,()=>YL(m)).with(F.Chain.Aurora,()=>jL(m)).with(F.Chain.Gnosis,()=>HL(m)).otherwise(()=>ML(m))}).otherwise(()=>{throw new F.SwapKitError("wallet_chain_not_supported",{chain:L,wallet:F.WalletOption.LEDGER})})};var xL=n.createWallet({connect:({addChain:L,supportedChains:T,walletType:_})=>async function(m,G){let[w]=O.filterSupportedChains({chains:m,supportedChains:T,walletType:_});if(!w)return!1;let R=await $0({chain:w,derivationPath:G});return L({...R,chain:w,walletType:O.WalletOption.LEDGER}),!0},name:"connectLedger",supportedChains:[O.Chain.Arbitrum,O.Chain.Aurora,O.Chain.Avalanche,O.Chain.Base,O.Chain.BinanceSmartChain,O.Chain.Bitcoin,O.Chain.BitcoinCash,O.Chain.Cosmos,O.Chain.Dash,O.Chain.Dogecoin,O.Chain.Ethereum,O.Chain.Gnosis,O.Chain.Litecoin,O.Chain.Near,O.Chain.Optimism,O.Chain.Polygon,O.Chain.Ripple,O.Chain.THORChain,O.Chain.Tron,O.Chain.Zcash],walletType:O.WalletOption.LEDGER}),W0=n.getWalletSupportedChains(xL);function l0(L,T="t"){if(!L?.includes("=:"))return L;let _=L.includes(`:${T}:`)?L.split(`:${T}:`)[0]:L;return _?.substring(0,_.lastIndexOf(":"))}function t(L){if(Array.isArray(L))return L.forEach((y,m)=>{L[m]=t(y)}),L;if(typeof L!=="object")return L;let T={},_=Object.keys(L).sort();for(let y of _)T[y]=t(L[y]);return T}function J0(L){return JSON.stringify(t(L))}async function $0({chain:L,derivationPath:T}){switch(L){case O.Chain.BitcoinCash:case O.Chain.Bitcoin:case O.Chain.Dash:case O.Chain.Dogecoin:case O.Chain.Litecoin:case O.Chain.Zcash:{let{getUtxoToolbox:_}=await import("@swapkit/toolboxes/utxo"),y=await _(L),m=await q({chain:L,derivationPath:T}),G=await g({chain:L,ledgerClient:m});return{...y,address:G,transfer:async(R)=>{let C=R.feeRate||(await y.getFeeRates())[O.FeeOption.Average],B=[O.Chain.Bitcoin].includes(L)?R.memo:l0(R.memo),{psbt:Z,inputs:$}=await y.createTransaction({...R,feeRate:C,fetchTxHex:!0,memo:B,sender:G}),J=await m.signTransaction(Z,$);return await y.broadcastTx(J)}}}case O.Chain.Ethereum:case O.Chain.Avalanche:case O.Chain.Arbitrum:case O.Chain.Optimism:case O.Chain.Polygon:case O.Chain.BinanceSmartChain:case O.Chain.Base:case O.Chain.Aurora:case O.Chain.Gnosis:{let{getEvmToolbox:_}=await import("@swapkit/toolboxes/evm"),y=await q({chain:L,derivationPath:T}),m=await g({chain:L,ledgerClient:y});return{...await _(L,{signer:y}),address:m}}case O.Chain.Cosmos:{let{createSigningStargateClient:_,getMsgSendDenom:y,getCosmosToolbox:m}=await import("@swapkit/toolboxes/cosmos"),G=await m(O.Chain.Cosmos),w=await q({chain:L,derivationPath:T}),R=await g({chain:L,ledgerClient:w});return{...G,address:R,transfer:async({assetValue:B,recipient:Z,memo:$})=>{if(!B)throw new O.SwapKitError("wallet_ledger_invalid_asset");let J={amount:[{amount:B.getBaseValue("string"),denom:y(`u${B.symbol}`).toLowerCase()}],fromAddress:R,toAddress:Z},Y=await O.getRPCUrl(L),A=await _(Y,w,"0.007uatom"),{transactionHash:j}=await A.signAndBroadcast(R,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:J}],2,$);return j}}}case O.Chain.THORChain:{let{SignMode:_}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:y}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),m=await import("@cosmjs/proto-signing"),G=m.encodePubkey??m.default?.encodePubkey,w=m.makeAuthInfoBytes??m.default?.makeAuthInfoBytes,{createStargateClient:R,buildEncodedTxBody:C,getCosmosToolbox:B,buildAminoMsg:Z,getDefaultChainFee:$,fromBase64:J,parseAminoMessageForDirectSigning:Y}=await import("@swapkit/toolboxes/cosmos"),A=await B(L),j=await q({chain:L,derivationPath:T}),E=await g({chain:L,ledgerClient:j}),v=$(L),{pubkey:RL,signTransaction:hL,sign:dL}=j,wL=async({memo:P="",assetValue:CL,...iL})=>{let BL=await A.getAccount(E);if(!BL)throw new O.SwapKitError("wallet_ledger_invalid_account");if(!CL)throw new O.SwapKitError("wallet_ledger_invalid_asset");if(!RL)throw new O.SwapKitError("wallet_ledger_pubkey_not_found");let{accountNumber:oL,sequence:uL}=BL,p=(uL||0).toString(),XL=t([Z({assetValue:CL,memo:P,sender:E,...iL})]),tL=J0({account_number:oL?.toString(),chain_id:O.THORConfig.chainId,fee:v,memo:P,msgs:XL,sequence:p}),a=await hL(tL,p);if(!a)throw new O.SwapKitError("wallet_ledger_signing_error");let nL=G({type:"tendermint/PubKeySecp256k1",value:RL}),pL=XL.map(Y),aL=await C({chain:L,memo:P,msgs:pL}),sL=w([{pubkey:nL,sequence:Number(p)}],v.amount,Number.parseInt(v.gas,10),void 0,void 0,_.SIGN_MODE_LEGACY_AMINO_JSON),eL=a?.[0]?.signature?J(a[0].signature):Uint8Array.from([]),rL=y.fromPartial({authInfoBytes:sL,bodyBytes:aL,signatures:[eL]}),L0=y.encode(rL).finish(),T0=await O.getRPCUrl(O.Chain.THORChain),_0=await R(T0),{transactionHash:m0}=await _0.broadcastTx(L0);return m0};return{...A,address:E,deposit:(P)=>wL(P),signMessage:dL,transfer:(P)=>wL(P)}}case O.Chain.Near:{let{getNearToolbox:_}=await import("@swapkit/toolboxes/near"),y=await q({chain:L,derivationPath:T}),m=await y.getAddress();return{...await _({signer:y}),address:m}}case O.Chain.Ripple:{let{getRippleToolbox:_}=await import("@swapkit/toolboxes/ripple"),y=await q({chain:L,derivationPath:T}),m=y.getAddress();return{...await _({signer:y}),address:m}}case O.Chain.Tron:{let{createTronToolbox:_}=await import("@swapkit/toolboxes/tron"),y=await q({chain:L,derivationPath:T}),m=await g({chain:L,ledgerClient:y});return{...await _({signer:y}),address:m}}default:throw new O.SwapKitError("wallet_ledger_chain_not_supported",{chain:L})}}
1
+ var f0={};i0(f0,{ledgerWallet:()=>VL,LEDGER_SUPPORTED_CHAINS:()=>C0});module.exports=N0(f0);var w=require("@swapkit/helpers"),x=require("@swapkit/wallet-core");var C=require("@swapkit/helpers"),P=async({chain:L,ledgerClient:y})=>{if(!y)return"";switch(L){case C.Chain.Cosmos:case C.Chain.THORChain:return y.connect();case C.Chain.Ethereum:case C.Chain.BinanceSmartChain:case C.Chain.Avalanche:case C.Chain.Polygon:case C.Chain.Arbitrum:case C.Chain.Optimism:case C.Chain.Base:case C.Chain.Aurora:case C.Chain.Gnosis:return y.getAddress();case C.Chain.Bitcoin:case C.Chain.BitcoinCash:case C.Chain.Dash:case C.Chain.Dogecoin:case C.Chain.Litecoin:case C.Chain.Zcash:{let _=y;await _.connect();let T=await _.getAddress();return L===C.Chain.BitcoinCash?T.replace("bitcoincash:",""):T}case C.Chain.Near:return await y.getAddress();case C.Chain.Ripple:return y.getAddress();case C.Chain.Tron:return y.getAddress();default:throw new C.SwapKitError("wallet_chain_not_supported",{chain:L,wallet:C.WalletOption.LEDGER})}};var i=require("@swapkit/helpers");var c=require("@swapkit/helpers");var M=require("@swapkit/helpers");var yL=require("@swapkit/helpers");var S=85,e=250;var z={GET_ADDR_SECP256K1:4,GET_VERSION:0,INS_PUBLIC_KEY_SECP256K1:1,SIGN_SECP256K1:2},d={ADD:1,INIT:0,LAST:2},r={ONLY_RETRIEVE:0,SHOW_ADDRESS_IN_DEVICE:1},o={JSON:0},Y={NoError:36864},NL={1:"U2F: Unknown",2:"U2F: Bad request",3:"U2F: Configuration unsupported",4:"U2F: Device Ineligible",5:"U2F: Timeout",14:"Timeout",25600:"Execution Error",26368:"Wrong Length",26626:"Error deriving keys",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",36864:"No errors",36865:"Device is busy"};function J(L){if(L in NL)return NL[L];return`Unknown Status Code: ${L}`}function T0(L){return typeof L==="object"&&L!==null&&!Array.isArray(L)&&!(L instanceof Date)}function Z(L){if(L){if(T0(L)){if(Object.hasOwn(L,"statusCode"))return{error_message:J(L.statusCode),return_code:L.statusCode};if(Object.hasOwn(L,"return_code")&&Object.hasOwn(L,"error_message"))return L}return{error_message:L.toString(),return_code:65535}}return{error_message:L.toString(),return_code:65535}}function s(L){return L.send(85,z.GET_VERSION,0,0).then((y)=>{let _=y.slice(-2),T=_[0]*256+_[1],m=0;if(y.length>=9)m=(y[5]<<24)+(y[6]<<16)+(y[7]<<8)+(y[8]<<0);return{device_locked:y[4]===1,error_message:J(T),major:y[1],minor:y[2],patch:y[3],return_code:T,target_id:m.toString(16),test_mode:y[0]!==0}},Z)}var V=require("@swapkit/helpers");function iL(L){if(L==null||L.length<3)throw new V.SwapKitError("wallet_ledger_invalid_params",{reason:"Path too short"});if(L.length>10)throw new V.SwapKitError("wallet_ledger_invalid_params",{reason:"Path too long"});let y=Buffer.alloc(1+4*L.length);y.writeUInt8(L.length,0);for(let _=0;_<L.length;_+=1){let T=L[_]||0;if(_<3)T|=2147483648;y.writeInt32LE(T,1+_*4)}return y}function LL(L,y,_,T,m=o.JSON){return L.transport.send(S,z.SIGN_SECP256K1,y,m,T,[Y.NoError,27012,27264]).then((l)=>{let O=l.slice(-2),g=O[0]*256+O[1],R=J(g);if(g===27264||g===27012)R=`${R} : ${l.slice(0,l.length-2).toString("ascii")}`;let G=null;if(l.length>2)G=l.slice(0,l.length-2);return{error_message:R,return_code:g,signature:G}},Z)}function w0(L){if(L.length!==65)throw new V.SwapKitError("wallet_ledger_invalid_params",{reason:"decompressed public key length should be 65 bytes"});let y=L.slice(33,65),_=Buffer.from([2+(y[y.length-1]&1)]);return Buffer.concat([_,L.slice(1,33)])}function CL(L,y){return L.transport.send(S,z.INS_PUBLIC_KEY_SECP256K1,0,0,y,[Y.NoError]).then((_)=>{let T=_.slice(-2),m=T[0]*256+T[1],l=Buffer.from(_.slice(0,65));return{compressed_pk:w0(l),error_message:J(m),pk:l,return_code:m}},Z)}function XL(L){if(!L||L.length!==5)throw new V.SwapKitError("wallet_ledger_invalid_params",{reason:"Path must be exactly 5 elements"});let y=Buffer.alloc(20);return y.writeUInt32LE(2147483648+L[0],0),y.writeUInt32LE(2147483648+L[1],4),y.writeUInt32LE(2147483648+L[2],8),y.writeUInt32LE(L[3],12),y.writeUInt32LE(L[4],16),y}function FL(L,y,_,T,m=o.JSON){let l=d.ADD;if(y===1)l=d.INIT;if(y===_)l=d.LAST;return LL(L,l,0,T,m)}function jL(L,y){return L.transport.send(S,z.GET_ADDR_SECP256K1,0,0,y,[Y.NoError]).then((_)=>{let T=_.slice(-2),m=T[0]*256+T[1];return{compressed_pk:Buffer.from(_.slice(0,33)),error_message:J(m),pk:"OBSOLETE PROPERTY",return_code:m}},Z)}class I{transport;versionResponse;constructor(L){if(!L)throw new yL.SwapKitError("wallet_ledger_transport_not_defined");this.transport=L}static serializeHRP(L){if(L==null||L.length<3||L.length>83)throw new yL.SwapKitError("wallet_ledger_invalid_params",{reason:"Invalid HRP"});let y=Buffer.alloc(1+L.length);return y.writeUInt8(L.length,0),y.write(L,1),y}async serializePath(L){if(this.versionResponse=await s(this.transport),this.versionResponse.return_code!==Y.NoError)throw this.versionResponse;switch(this.versionResponse.major){case 1:return iL(L);case 2:return XL(L);default:return Buffer.alloc(0)}}async signGetChunks(L,y){let _=await this.serializePath(L),T=[];T.push(_);for(let m=0;m<y.length;m+=e){let l=m+e;if(m>y.length)l=y.length;T.push(y.slice(m,l))}return T}async getVersion(){try{return this.versionResponse=await s(this.transport),this.versionResponse}catch(L){return Z(L)}}appInfo(){return this.transport.send(176,1,0,0).then((L)=>{let y=L.slice(-2),_=y[0]*256+y[1],T="",m="",l=0,O=0;if(L[0]!==1)return{error_message:"response format ID not recognized",return_code:36865};let g=L[1];T=L.slice(2,2+g).toString("ascii");let R=2+g,G=L[R];R+=1,m=L.slice(R,R+G).toString("ascii"),R+=G;let B=L[R];return R+=1,l=B,O=L[R],{appName:T,appVersion:m,error_message:J(_),flag_onboarded:(O&4)!==0,flag_pin_validated:(O&128)!==0,flag_recovery:(O&1)!==0,flag_signed_mcu_code:(O&2)!==0,flagLen:l,flagsValue:O,return_code:_}},Z)}deviceInfo(){return this.transport.send(224,1,0,0,Buffer.from([]),[Y.NoError,28160]).then((L)=>{let y=L.slice(-2),_=y[0]*256+y[1];if(_===28160)return{error_message:"This command is only available in the Dashboard",return_code:_};let T=L.slice(0,4).toString("hex"),m=4,l=L[m];m+=1;let O=L.slice(m,m+l).toString();m+=l;let g=L[m];m+=1;let R=L.slice(m,m+g).toString("hex");m+=g;let G=L[m];m+=1;let B=L.slice(m,m+G);if(B[G-1]===0)B=L.slice(m,m+G-1);let F=B.toString();return{error_message:J(_),flag:R,mcuVersion:F,return_code:_,seVersion:O,targetId:T}},Z)}async publicKey(L){try{let y=await this.serializePath(L);switch(this.versionResponse.major){case 1:return CL(this,y);case 2:{let _=Buffer.concat([I.serializeHRP("thor"),y]);return jL(this,_)}default:return{error_message:"App Version is not supported",return_code:25600}}}catch(y){return Z(y)}}getAddressAndPubKey(L,y,_=!1){return this.serializePath(L).then((T)=>{let m=Buffer.concat([I.serializeHRP(y),T]);return this.transport.send(S,z.GET_ADDR_SECP256K1,_?r.SHOW_ADDRESS_IN_DEVICE:r.ONLY_RETRIEVE,0,m,[Y.NoError]).then((l)=>{let O=l.slice(-2),g=O[0]*256+O[1],R=Buffer.from(l.slice(0,33));return{bech32_address:Buffer.from(l.slice(33,-2)).toString(),compressed_pk:R,error_message:J(g),return_code:g}},Z)}).catch((T)=>Z(T))}showAddressAndPubKey(L,y){return this.getAddressAndPubKey(L,y,!0)}signSendChunk(L,y,_,T=o.JSON){switch(this.versionResponse.major){case 1:return LL(this,L,y,_,T);case 2:return FL(this,L,y,_,T);default:return{error_message:"App Version is not supported",return_code:25600}}}async sign(L,y,_=o.JSON){let T=Buffer.from(y),m=[],l;try{m=await this.signGetChunks(L,T),l=await this.signSendChunk(1,m.length,m[0],_)}catch(g){Z(g)}let O={error_message:l.error_message,return_code:l.return_code,signature:null};for(let g=1;g<m.length;g+=1)if(O=await this.signSendChunk(1+g,m.length,m[g],_),O.return_code!==Y.NoError)break;return{error_message:O.error_message,return_code:O.return_code,signature:O.signature}}}var K=require("@swapkit/helpers"),_L=()=>navigator?.usb,l0=async()=>{let L=_L();if(typeof L?.getDevices!=="function")return[];let{ledgerUSBVendorId:y}=await import("@ledgerhq/devices"),T=(await L?.getDevices()).filter((m)=>m.vendorId===y);if(T.length>0)return T[0];return L?.requestDevice({filters:[{vendorId:y}]})},j=async()=>{let L=await l0();if(!L)throw new K.SwapKitError("wallet_ledger_device_not_found");if(L.opened||await L.open(),L.configuration===null)await L.selectConfiguration(1);try{await L.reset()}catch{}let _=(L.configuration??L.configurations?.[0]).interfaces.find(({alternates:G})=>G.some(({interfaceClass:B})=>B===3||B===255));if(!_)throw await L.close(),new K.SwapKitError("wallet_ledger_connection_error");if(_.alternates?.find(({interfaceClass:G})=>G===3||G===255)?.interfaceClass===3){let G=(await import("@ledgerhq/hw-transport-webhid")).default;if(!await G.isSupported())throw await L.close(),new K.SwapKitError("wallet_ledger_webhid_not_supported");return await G.create()}try{await L.claimInterface(_.interfaceNumber)}catch(G){throw await L.close(),new K.SwapKitError("wallet_ledger_connection_claimed",G)}let m=(await import("@ledgerhq/hw-transport-webusb")).default;if(!await m.isSupported())throw new K.SwapKitError("wallet_ledger_webusb_not_supported");let{DisconnectedDevice:O}=await import("@ledgerhq/errors"),g=new m(L,_.interfaceNumber),R=(G)=>{if(L===G.device)_L()?.removeEventListener("disconnect",R),g._emitDisconnect(new O)};return _L()?.addEventListener("disconnect",R),g};class b{ledgerTimeout=50000;derivationPath=M.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 j():this.transport,this.chain){case"thor":{this.ledgerApp=L||!this.ledgerApp?new I(this.transport):this.ledgerApp;break}case"cosmos":{let y=(await import("@ledgerhq/hw-app-cosmos")).default;this.ledgerApp=L||!this.ledgerApp?new y(this.transport):this.ledgerApp}}return this.ledgerApp}catch(y){throw new M.SwapKitError("wallet_ledger_connection_error",y)}};validateResponse=(L,y)=>{switch(L){case M.LedgerErrorCode.NoError:return;case M.LedgerErrorCode.LockedDevice:throw new M.SwapKitError("wallet_ledger_device_locked",{message:`Ledger is locked: ${y}`});case M.LedgerErrorCode.TC_NotFound:throw new M.SwapKitError("wallet_ledger_device_not_found");default:break}}}class mL extends b{pubKey=null;derivationPath;constructor(L=c.NetworkDerivationPath.GAIA){super();this.chain="cosmos",this.derivationPath=c.derivationPathToString(L)}connect=async()=>{await this.checkOrCreateTransportAndLedger(!0);let{publicKey:L,address:y}=await this.getAddressAndPubKey();return this.pubKey=Buffer.from(L,"hex").toString("base64"),y};getAddressAndPubKey=async()=>{return await this.checkOrCreateTransportAndLedger(!0),await this.ledgerApp.getAddress(this.derivationPath,this.chain)};signTransaction=async(L,y="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:_,error_message:T,signature:m}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new c.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(_,T),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:y,signature:m}]};signAmino=async(L,y)=>{await this.checkOrCreateTransportAndLedger(!0);let _=await this.getAccounts();if(_.findIndex((f)=>f.address===L)===-1)throw new c.SwapKitError("wallet_ledger_address_not_found",{address:L});let m=await import("@cosmjs/amino"),l=m.encodeSecp256k1Signature??m.default?.encodeSecp256k1Signature,O=m.serializeSignDoc??m.default?.serializeSignDoc,g=await import("@cosmjs/crypto"),R=g.Secp256k1Signature??g.default?.Secp256k1Signature,G=O(y),B=await this.ledgerApp.sign(this.derivationPath,G);this.validateResponse(B.return_code,B.error_message);let F=R.fromDer(B.signature).toFixedLength();return{signature:l(_[0].pubkey,F),signed:y}};getAccounts=async()=>{await this.checkOrCreateTransportAndLedger(!0);let L=await this.getAddressAndPubKey();return[{address:L.address,algo:"secp256k1",pubkey:Buffer.from(L.publicKey,"hex")}]}}var X=require("@swapkit/helpers"),fL=require("ethers");class $ extends fL.AbstractSigner{chainId=X.ChainId.Ethereum;derivationPath="";ledgerApp=null;ledgerTimeout=50000;constructor({provider:L,derivationPath:y=X.NetworkDerivationPath.OP,chainId:_=X.ChainId.Optimism}){super(L);this.chainId=_||X.ChainId.Ethereum,this.derivationPath=typeof y==="string"?y:X.derivationPathToString(y),Object.defineProperty(this,"provider",{enumerable:!0,value:L||null,writable:!1})}connect=(L)=>new $({chainId:this.chainId,derivationPath:this.derivationPath,provider:L});checkOrCreateTransportAndLedger=async()=>{if(this.ledgerApp)return;await this.createTransportAndLedger()};createTransportAndLedger=async()=>{let L=await j(),y=(await import("@ledgerhq/hw-app-eth")).default;this.ledgerApp=new y(L)};getAddress=async()=>{let L=await this.getAddressAndPubKey();if(!L)throw new X.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:y}=await import("ethers");await this.createTransportAndLedger();let _=await this.ledgerApp?.signPersonalMessage(this.derivationPath,L);if(!_)throw new X.SwapKitError("wallet_ledger_signing_error");return _.r=`0x${_.r}`,_.s=`0x${_.s}`,y.from(_).serialized};sendTransaction=async(L)=>{if(!this.provider)throw new X.SwapKitError("wallet_ledger_no_provider");let y=await this.signTransaction(L);return await this.provider.broadcastTransaction(y)};signTypedData(){throw new X.SwapKitError("wallet_ledger_method_not_supported",{method:"signTypedData"})}signTransaction=async(L)=>{let{Transaction:y}=await import("ethers");await this.createTransportAndLedger();let _=await this.provider?.getTransactionCount(L.from||await this.getAddress()),T={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(),type:L.type&&!Number.isNaN(L.type)?L.type:L.maxFeePerGas?2:0,value:L.value},m=y.from(T).unsignedSerialized.slice(2),{ledgerService:l}=await import("@ledgerhq/hw-app-eth"),O=await l.resolveTransaction(m,{},{erc20:!0,externalPlugins:!0}),g=await this.ledgerApp?.signTransaction(this.derivationPath,m,O);if(!g)throw new X.SwapKitError("wallet_ledger_signing_error");let{r:R,s:G,v:B}=g;return y.from({...T,signature:{r:`0x${R}`,s:`0x${G}`,v:Number(BigInt(B))}}).serialized}}var ZL=(L)=>new $({...L,chainId:X.ChainId.Arbitrum}),AL=(L)=>new $({...L,chainId:X.ChainId.Aurora}),$L=(L)=>new $({...L,chainId:X.ChainId.Avalanche}),tL=(L)=>new $({...L,chainId:X.ChainId.Base}),JL=(L)=>new $({...L,chainId:X.ChainId.Ethereum}),ML=(L)=>new $({...L,chainId:X.ChainId.Gnosis}),QL=(L)=>new $({...L,chainId:X.ChainId.Optimism}),WL=(L)=>new $({...L,chainId:X.ChainId.Polygon}),YL=(L)=>new $({...L,chainId:X.ChainId.BinanceSmartChain});async function DL(L){let y=(await import("@ledgerhq/hw-app-near")).default,{Chain:_,NetworkDerivationPath:T,SwapKitError:m}=await import("@swapkit/helpers"),l=await j(),O=new y(l),g=(L||T[_.Near]).join("'/").concat("'"),{address:R,publicKey:G}=await O.getAddress(g);return{getAddress(){return Promise.resolve(R)},async getPublicKey(){let{utils:F}=await import("near-api-js");return F.PublicKey.fromString(`ed25519:${G}`)},signDelegateAction(F){return Promise.reject(new m("wallet_ledger_method_not_supported",{method:"signDelegateAction",wallet:"Ledger"}))},signNep413Message(F,f,t,A,U){return Promise.reject(new m("wallet_ledger_method_not_supported",{method:"signNep413Message",wallet:"Ledger"}))},async signTransaction(F){let{Signature:f,SignedTransaction:t}=await import("near-api-js/lib/transaction");try{let A=await O.signTransaction(F.encode(),g);if(!A)throw Error("Signature undefined");let U=new f({data:A,keyType:0}),E=new t({signature:U,transaction:F});return[A,E]}catch(A){throw new m("wallet_ledger_signing_error",{error:A})}}}}var HL=require("@scure/base"),v=require("@swapkit/helpers");var UL=require("@scure/base"),Q=require("@swapkit/helpers"),TL=(L)=>{if(L.length<64)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"Too short"});if(L[0]!==48)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV encoding: expected first byte 0x30"});if(L[1]+2!==L.length)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"signature length does not match TLV"});if(L[2]!==2)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV encoding: expected length type 0x02"});let y=L[3],_=L.slice(4,y+4);if(_.length===33&&_[0]===0)_=_.slice(1,33);else if(_.length===33)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"r too long"});while(_.length<32)_.unshift(0);if(L[y+4]!==2)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV encoding: expected length type 0x02 for s"});let T=L[y+5];if(4+y+2+T!==L.length)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"TLV byte lengths do not match message length"});let m=L.slice(y+6,L.length);if(m.length===33&&m[0]===0)m=m.slice(1,33);else if(m.length===33)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"s too long"});while(m.length<32)m.unshift(0);if(_.length!==32||m.length!==32)throw new Q.SwapKitError("wallet_ledger_invalid_signature",{reason:"must be 32 bytes each"});return UL.base64.encode(Buffer.concat([_,m]))};class wL extends b{pubKey=null;derivationPath;constructor(L=v.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:y}=await this.getAddressAndPubKey();return this.pubKey=HL.base64.encode(L),y};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,y="0")=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:_,error_message:T,signature:m}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new v.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(_,T),[{pub_key:{type:"tendermint/PubKeySecp256k1",value:this.pubKey},sequence:y,signature:TL(m)}]};sign=async(L)=>{await this.checkOrCreateTransportAndLedger(!0);let{return_code:y,error_message:_,signature:T}=await this.ledgerApp.sign(this.derivationPath,L);if(!this.pubKey)throw new v.SwapKitError("wallet_ledger_pubkey_not_found");return this.validateResponse(y,_),TL(T)}}var W=require("@swapkit/helpers");class PL{derivationPath;ledgerApp=null;ledgerTimeout=50000;constructor(L){this.derivationPath=typeof L==="string"?L:W.derivationPathToString(L||W.NetworkDerivationPath.TRON)}checkOrCreateTransportAndLedger=async()=>{if(this.ledgerApp)return;await this.createTransportAndLedger()};createTransportAndLedger=async()=>{let L=await j(),y=(await import("@ledgerhq/hw-app-trx")).default;this.ledgerApp=new y(L)};getAddress=async()=>{let L=await this.getAddressAndPubKey();if(!L)throw new W.SwapKitError("wallet_ledger_failed_to_get_address");return L.address};getAddressAndPubKey=async()=>{await this.createTransportAndLedger();let L=await this.ledgerApp?.getAddress(this.derivationPath);if(!L)throw new W.SwapKitError("wallet_ledger_failed_to_get_address");return{address:L.address,publicKey:L.publicKey}};showAddressAndPubKey=async()=>{return await this.createTransportAndLedger(),this.ledgerApp?.getAddress(this.derivationPath,!0)};signTransaction=async(L)=>{if(await this.createTransportAndLedger(),!this.ledgerApp)throw new W.SwapKitError("wallet_ledger_transport_error");let y=JSON.stringify(L);try{let _=await this.ledgerApp.signTransaction(this.derivationPath,y,[]);if(!_)throw new W.SwapKitError("wallet_ledger_signing_error");return{...L,signature:[_]}}catch(_){throw new W.SwapKitError("wallet_ledger_signing_error",{error:_})}}}var zL=(L)=>new PL(L);var q=require("@swapkit/helpers");var g0=["bitcoin-cash","dash","dogecoin","zcash"],O0=({psbt:L,inputUtxos:y,btcApp:_,derivationPath:T,chain:m},l)=>{let O=y.map((F)=>{return[_.splitTransaction(F.txHex||"",!g0.includes(m),m==="zcash"),F.index,void 0,void 0]}),g=L.data.globalMap.unsignedTx.toBuffer().toString("hex"),R=_.splitTransaction(g,!0),G=_.serializeTransactionOutputs(R).toString("hex"),B={additionals:["bech32"],associatedKeysets:O.map(()=>T),inputs:O,outputScriptHex:G,segwit:!0,useTrustedInputForSegwit:!0};return _.createPaymentTransaction({...B,...l})},n=({chain:L,additionalSignParams:y})=>{let _,T=null;async function m(O=!0){if(O&&!_)new q.SwapKitError("wallet_ledger_connection_error",{message:`Ledger connection failed:
2
+ ${JSON.stringify({btcApp:_,checkBtcApp:O})}`});T||=await j()}async function l(){T=await j(),_=new(await import("@ledgerhq/hw-app-btc")).default({currency:L,transport:T})}return(O)=>{let g=typeof O==="string"?O:q.derivationPathToString(O),R=q.getWalletFormatFor(g);return{connect:async()=>{await m(!1),_=new(await import("@ledgerhq/hw-app-btc")).default({currency:L,transport:T})},getAddress:async()=>{let{toCashAddress:G}=await import("@swapkit/toolboxes/utxo");await m(!1);let{bitcoinAddress:B}=await _.getWalletPublicKey(g,{format:R});if(!B)throw new q.SwapKitError("wallet_ledger_get_address_error",{message:`Cannot get ${L} address from ledger derivation path: ${g}`});return L==="bitcoin-cash"&&R==="legacy"?G(B).replace(/(bchtest:|bitcoincash:)/,""):B},getExtendedPublicKey:async(G="84'/0'/0'",B=76067358)=>{return await m(!1),_.getWalletXpub({path:G,xpubVersion:B})},signTransaction:async(G,B)=>{return await l(),O0({btcApp:_,chain:L,derivationPath:g,inputUtxos:B,psbt:G},y)}}}},cL=n({chain:"bitcoin"}),qL=n({chain:"litecoin"}),SL=n({additionalSignParams:{additionals:["abc"],segwit:!1,sigHashType:65},chain:"bitcoin-cash"}),oL=n({additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1},chain:"dogecoin"}),KL=n({additionalSignParams:{additionals:[],segwit:!1,useTrustedInputForSegwit:!1},chain:"dash"}),nL=n({additionalSignParams:{additionals:["zcash","sapling"],expiryHeight:(()=>{let L=Buffer.allocUnsafe(4);return L.writeUInt32LE(0),L})(),lockTime:0,segwit:!1,useTrustedInputForSegwit:!1},chain:"zcash"});var kL=N(require("@ledgerhq/hw-app-xrp")),k=require("@swapkit/helpers"),lL=require("ripple-binary-codec");var G0=2147483648;function R0(L){let y={};for(let _ in L)if(L[_]!==null&&L[_]!==void 0)y[_]=L[_];return y}function B0(L){return new kL.default(L)}var EL=async(L)=>{let y=k.derivationPathToString(L||k.NetworkDerivationPath[k.Chain.Ripple]),_=await j(),T=B0(_),{address:m,publicKey:l}=await T.getAddress(y);async function O(g){let{hashes:R}=await import("@swapkit/toolboxes/ripple"),B={...R0(g),Flags:g.Flags||G0,SigningPubKey:l.toUpperCase()},F=lL.encode(B),f=await T.signTransaction(y,F),t=lL.encode({...B,TxnSignature:f});return{hash:R.hashSignedTx(t),tx_blob:t}}return{getAddress:()=>m,signTransaction:O}};var D=async({chain:L,derivationPath:y})=>{let{match:_}=await import("ts-pattern");return _(L).returnType().with(i.Chain.THORChain,()=>Promise.resolve(new wL(y))).with(i.Chain.Cosmos,()=>Promise.resolve(new mL(y))).with(i.Chain.Bitcoin,()=>Promise.resolve(cL(y))).with(i.Chain.BitcoinCash,()=>Promise.resolve(SL(y))).with(i.Chain.Dash,()=>Promise.resolve(KL(y))).with(i.Chain.Dogecoin,()=>Promise.resolve(oL(y))).with(i.Chain.Litecoin,()=>Promise.resolve(qL(y))).with(i.Chain.Zcash,()=>Promise.resolve(nL(y))).with(i.Chain.Ripple,()=>Promise.resolve(EL(y))).with(i.Chain.Tron,()=>Promise.resolve(zL(y))).with(i.Chain.Near,()=>{return Promise.resolve(DL(y))}).with(i.Chain.Arbitrum,i.Chain.Aurora,i.Chain.Avalanche,i.Chain.BinanceSmartChain,i.Chain.Ethereum,i.Chain.Gnosis,i.Chain.Optimism,i.Chain.Polygon,i.Chain.Base,async()=>{let{getProvider:T}=await import("@swapkit/toolboxes/evm"),m={derivationPath:y,provider:await T(L)};return _(L).with(i.Chain.BinanceSmartChain,()=>YL(m)).with(i.Chain.Avalanche,()=>$L(m)).with(i.Chain.Arbitrum,()=>ZL(m)).with(i.Chain.Optimism,()=>QL(m)).with(i.Chain.Polygon,()=>WL(m)).with(i.Chain.Base,()=>tL(m)).with(i.Chain.Aurora,()=>AL(m)).with(i.Chain.Gnosis,()=>ML(m)).otherwise(()=>JL(m))}).otherwise(()=>{throw new i.SwapKitError("wallet_chain_not_supported",{chain:L,wallet:i.WalletOption.LEDGER})})};var VL=x.createWallet({connect:({addChain:L,supportedChains:y,walletType:_})=>async function(m,l){let[O]=w.filterSupportedChains({chains:m,supportedChains:y,walletType:_});if(!O)return!1;let g=await j0({chain:O,derivationPath:l});return L({...g,chain:O,walletType:w.WalletOption.LEDGER}),!0},name:"connectLedger",supportedChains:[w.Chain.Arbitrum,w.Chain.Aurora,w.Chain.Avalanche,w.Chain.Base,w.Chain.BinanceSmartChain,w.Chain.Bitcoin,w.Chain.BitcoinCash,w.Chain.Cosmos,w.Chain.Dash,w.Chain.Dogecoin,w.Chain.Ethereum,w.Chain.Gnosis,w.Chain.Litecoin,w.Chain.Near,w.Chain.Optimism,w.Chain.Polygon,w.Chain.Ripple,w.Chain.THORChain,w.Chain.Tron,w.Chain.Zcash],walletType:w.WalletOption.LEDGER}),C0=x.getWalletSupportedChains(VL);function X0(L,y="t"){if(!L?.includes("=:"))return L;let _=L.includes(`:${y}:`)?L.split(`:${y}:`)[0]:L;return _?.substring(0,_.lastIndexOf(":"))}function h(L){if(Array.isArray(L))return L.forEach((T,m)=>{L[m]=h(T)}),L;if(typeof L!=="object")return L;let y={},_=Object.keys(L).sort();for(let T of _)y[T]=h(L[T]);return y}function F0(L){return JSON.stringify(h(L))}async function j0({chain:L,derivationPath:y}){switch(L){case w.Chain.BitcoinCash:case w.Chain.Bitcoin:case w.Chain.Dash:case w.Chain.Dogecoin:case w.Chain.Litecoin:case w.Chain.Zcash:{let{getUtxoToolbox:_}=await import("@swapkit/toolboxes/utxo"),T=await _(L),m=await D({chain:L,derivationPath:y}),l=await P({chain:L,ledgerClient:m});return{...T,address:l,transfer:async(g)=>{let R=g.feeRate||(await T.getFeeRates())[w.FeeOption.Average],G=[w.Chain.Bitcoin].includes(L)?g.memo:X0(g.memo),{psbt:B,inputs:F}=await T.createTransaction({...g,feeRate:R,fetchTxHex:!0,memo:G,sender:l}),f=await m.signTransaction(B,F);return await T.broadcastTx(f)}}}case w.Chain.Ethereum:case w.Chain.Avalanche:case w.Chain.Arbitrum:case w.Chain.Optimism:case w.Chain.Polygon:case w.Chain.BinanceSmartChain:case w.Chain.Base:case w.Chain.Aurora:case w.Chain.Gnosis:{let{getEvmToolbox:_}=await import("@swapkit/toolboxes/evm"),T=await D({chain:L,derivationPath:y}),m=await P({chain:L,ledgerClient:T});return{...await _(L,{signer:T}),address:m}}case w.Chain.Cosmos:{let{createSigningStargateClient:_,getMsgSendDenom:T,getCosmosToolbox:m}=await import("@swapkit/toolboxes/cosmos"),l=await m(w.Chain.Cosmos),O=await D({chain:L,derivationPath:y}),g=await P({chain:L,ledgerClient:O});return{...l,address:g,transfer:async({assetValue:G,recipient:B,memo:F})=>{if(!G)throw new w.SwapKitError("wallet_ledger_invalid_asset");let f={amount:[{amount:G.getBaseValue("string"),denom:T(`u${G.symbol}`).toLowerCase()}],fromAddress:g,toAddress:B},t=await w.getRPCUrl(L),A=await _(t,O,"0.007uatom"),{transactionHash:U}=await A.signAndBroadcast(g,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:f}],2,F);return U}}}case w.Chain.THORChain:{let{SignMode:_}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:T}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),m=await import("@cosmjs/proto-signing"),l=m.encodePubkey??m.default?.encodePubkey,O=m.makeAuthInfoBytes??m.default?.makeAuthInfoBytes,{createStargateClient:g,buildEncodedTxBody:R,getCosmosToolbox:G,buildAminoMsg:B,getDefaultChainFee:F,fromBase64:f,parseAminoMessageForDirectSigning:t}=await import("@swapkit/toolboxes/cosmos"),A=await G(L),U=await D({chain:L,derivationPath:y}),E=await P({chain:L,ledgerClient:U}),u=F(L),{pubkey:gL,signTransaction:IL,sign:bL}=U,OL=async({memo:H="",assetValue:GL,...vL})=>{let RL=await A.getAccount(E);if(!RL)throw new w.SwapKitError("wallet_ledger_invalid_account");if(!GL)throw new w.SwapKitError("wallet_ledger_invalid_asset");if(!gL)throw new w.SwapKitError("wallet_ledger_pubkey_not_found");let{accountNumber:dL,sequence:hL}=RL,p=(hL||0).toString(),BL=h([B({assetValue:GL,memo:H,sender:E,...vL})]),xL=F0({account_number:dL?.toString(),chain_id:w.THORConfig.chainId,fee:u,memo:H,msgs:BL,sequence:p}),a=await IL(xL,p);if(!a)throw new w.SwapKitError("wallet_ledger_signing_error");let uL=l({type:"tendermint/PubKeySecp256k1",value:gL}),pL=BL.map(t),aL=await R({chain:L,memo:H,msgs:pL}),eL=O([{pubkey:uL,sequence:Number(p)}],u.amount,Number.parseInt(u.gas,10),void 0,void 0,_.SIGN_MODE_LEGACY_AMINO_JSON),rL=a?.[0]?.signature?f(a[0].signature):Uint8Array.from([]),sL=T.fromPartial({authInfoBytes:eL,bodyBytes:aL,signatures:[rL]}),L0=T.encode(sL).finish(),y0=await w.getRPCUrl(w.Chain.THORChain),_0=await g(y0),{transactionHash:m0}=await _0.broadcastTx(L0);return m0};return{...A,address:E,deposit:(H)=>OL(H),signMessage:bL,transfer:(H)=>OL(H)}}case w.Chain.Near:{let{getNearToolbox:_}=await import("@swapkit/toolboxes/near"),T=await D({chain:L,derivationPath:y}),m=await T.getAddress();return{...await _({signer:T}),address:m}}case w.Chain.Ripple:{let{getRippleToolbox:_}=await import("@swapkit/toolboxes/ripple"),T=await D({chain:L,derivationPath:y}),m=T.getAddress();return{...await _({signer:T}),address:m}}case w.Chain.Tron:{let{createTronToolbox:_}=await import("@swapkit/toolboxes/tron"),T=await D({chain:L,derivationPath:y}),m=await P({chain:L,ledgerClient:T});return{...await _({signer:T}),address:m}}default:throw new w.SwapKitError("wallet_ledger_chain_not_supported",{chain:L})}}
3
3
 
4
- //# debugId=F66037D24E7CA21E64756E2164756E21
4
+ //# debugId=78843B918D3A212664756E2164756E21
5
5
  //# sourceMappingURL=index.cjs.map