@rango-dev/provider-ledger 0.23.1-next.0 → 0.23.1-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mod.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a,m as b}from"./chunk-CVKDPNYM.js";import{defineVersions as De}from"@rango-dev/wallets-core/utils";import{Networks as x,WalletTypes as ce}from"@rango-dev/wallets-shared";import"rango-types";import{DefaultSignerFactory as se,TransactionType as G}from"rango-types";import{DEFAULT_ETHEREUM_RPC_URL as Q,dynamicImportWithRefinedError as O}from"@rango-dev/wallets-shared";import{JsonRpcProvider as Z,Transaction as F}from"ethers";import{SignerError as ee,SignerErrorCode as te}from"rango-types";var k="";function d(e){k=e}a(d,"setDerivationPath");function s(){return k}a(s,"getDerivationPath");import{LegacyNetworks as M}from"@rango-dev/wallets-core/legacy";import{CAIP_SOLANA_CHAIN_ID as Y}from"@rango-dev/wallets-core/namespaces/solana";import{dynamicImportWithRefinedError as C,ETHEREUM_CHAIN_ID as H}from"@rango-dev/wallets-shared";import j from"bs58";import"@rango-dev/wallets-core";import{LegacyNetworks as D}from"@rango-dev/wallets-core/legacy";import{Networks as N}from"@rango-dev/wallets-shared";import"rango-types";var He=[D.ETHEREUM,D.POLYGON,D.BASE],_=16,u="ledger",B={name:"Ledger",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg",extensions:{homepage:"https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true"},properties:[{name:"namespaces",value:{selection:"single",data:[{label:"Ethereum",value:"EVM",id:"ETH",getSupportedChains:e=>e.filter(n=>n.name===N.ETHEREUM)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:e=>e.filter(n=>n.name===N.SOLANA)}]}},{name:"derivationPath",value:{data:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",namespace:"EVM",generateDerivationPath:e=>`44'/60'/0'/0/${e}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",namespace:"EVM",generateDerivationPath:e=>`44'/60'/${e}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",namespace:"EVM",generateDerivationPath:e=>`44'/60'/0'/${e}`},{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",namespace:"Solana",generateDerivationPath:e=>`44'/501'/${e}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",namespace:"Solana",generateDerivationPath:e=>`44'/501'/0'/${e}`}]}},{name:"signers",value:{getSigners:async()=>h()}}]};function y(){let e=new Map;return e.set(M.ETHEREUM,{chainId:H}),e.set(M.SOLANA,{chainId:M.SOLANA}),e}a(y,"ledger");var V={21781:"The device is locked",25871:"Related application is not ready on your device",27013:"Action denied by user"};function J(e){return V[e]?V[e]:b(e)?b(e):`Ledger device unknown error 0x${e.toString(_)}`}a(J,"getLedgerErrorMessage");function l(e){return e?.statusCode?new Error(J(e.statusCode)):e?.code==="INSUFFICIENT_FUNDS"?new Error("Insufficient funds for transaction"):e}a(l,"getLedgerError");function E(e,n){throw l(n)}a(E,"standardizeAndThrowLedgerError");async function S(){try{let e=await m(),n=(await C(async()=>await import("./Eth-Y5JFGVQA.js"))).default,r=new n(e),o=s(),t=[],i=await r.getAddress(o,!1,!0);return t.push(i.address),{accounts:t,chainId:H,derivationPath:o}}catch(e){throw l(e)}finally{await p()}}a(S,"getEthereumAccounts");async function A(){try{let e=await m(),n=(await C(async()=>await import("./Solana-UB4SGWQ3.js"))).default,r=new n(e),o=s(),t=[],i=await r.getAddress(o);return t.push(j.encode(i.address)),{accounts:t,chainId:Y,derivationPath:o}}catch(e){throw l(e)}finally{await p()}}a(A,"getSolanaAccounts");var w=null;async function m(){return w=await(await C(async()=>await import("./TransportWebHID-JLT4ETY3.js"))).default.create(),w}a(m,"transportConnect");async function p(){w&&(await w.close(),w=null)}a(p,"transportDisconnect");var P=class{static{a(this,"EthereumSigner")}async signMessage(n){try{let r=await m(),o=(await O(async()=>await import("./Eth-Y5JFGVQA.js"))).default,i=await new o(r).signPersonalMessage(s(),Buffer.from(n).toString("hex")),c=(i.v-27).toString(16);return c.length<2&&(c="0"+c),"0x"+i.r+i.s+c}catch(r){throw new ee(te.SIGN_TX_ERROR,void 0,r)}}async signAndSendTx(n,r,o){try{let t=new Z(Q),i=await t.getTransactionCount(r),c={to:n.to,gasPrice:n.gasPrice,gasLimit:n.gasLimit,nonce:i,chainId:o,data:n.data,value:n.value,maxPriorityFeePerGas:n.maxPriorityFeePerGas,maxFeePerGas:n.maxFeePerGas},g=F.from(c).unsignedSerialized.substring(2),f=await m(),v=await O(async()=>await import("./Eth-Y5JFGVQA.js")),T=v.default,R=new T(f),q=await v.ledgerService.resolveTransaction(g,{},{}),I=await R.signTransaction(s(),g,q),K=F.from({...c,signature:{r:"0x"+I.r,s:"0x"+I.s,v:parseInt(I.v)}}).serialized;return{hash:(await t.broadcastTransaction(K)).hash}}catch(t){throw l(t)}finally{await p()}}};import{generalSolanaTransactionExecutor as ne}from"@rango-dev/signer-solana";import{dynamicImportWithRefinedError as U}from"@rango-dev/wallets-shared";import{PublicKey as re}from"@solana/web3.js";import{SignerError as ae,SignerErrorCode as oe}from"rango-types";function ie(e){return"version"in e}a(ie,"isVersionedTransaction");var L=class{static{a(this,"SolanaSigner")}async signMessage(n){try{let r=await m(),o=(await U(async()=>await import("./Solana-UB4SGWQ3.js"))).default;return(await new o(r).signOffchainMessage(s(),Buffer.from(n))).signature.toString()}catch(r){throw new ae(oe.SIGN_TX_ERROR,void 0,r)}}async signAndSendTx(n){try{return{hash:await ne(n,a(async t=>{let i=await m(),c=(await U(async()=>await import("./Solana-UB4SGWQ3.js"))).default,g=new c(i),f;ie(t)?f=await g.signTransaction(s(),t.message.serialize()):f=await g.signTransaction(s(),t.serialize());let v=await g.getAddress(s()),T=new re(v.address);return t.addSignature(T,Buffer.from(f.signature)),t.serialize()},"DefaultSolanaSigner"))}}catch(r){throw l(r)}finally{await p()}}};async function h(){let e=new se;return e.registerSigner(G.EVM,new P),e.registerSigner(G.SOLANA,new L),e}a(h,"getSigners");var me={type:ce.LEDGER},de=y,le=a(async({namespaces:e})=>{let n=[],r=e?.find(t=>t.namespace==="Solana"),o=e?.find(t=>t.namespace==="EVM");if(r)if(r.derivationPath){d(r.derivationPath);let t=await A();n.push(t)}else throw new Error("Derivation Path can not be empty.");else if(o)if(o.derivationPath){d(o.derivationPath);let t=await S();n.push(t)}else throw new Error("Derivation Path can not be empty.");else throw new Error(`It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${e?.map(t=>t.namespace)}`);return n},"connect");var pe=h,ge=a(e=>{let n=[],r=e.find(t=>t.name===x.ETHEREUM);r&&n.push(r);let o=e.find(t=>t.name===x.SOLANA);return o&&n.push(o),{name:"Ledger",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg",installLink:{DEFAULT:"https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true"},color:"black",supportedChains:n,showOnMobile:!1,needsDerivationPath:{data:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",namespace:"EVM",generateDerivationPath:t=>`44'/60'/0'/0/${t}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",namespace:"EVM",generateDerivationPath:t=>`44'/60'/${t}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",namespace:"EVM",generateDerivationPath:t=>`44'/60'/0'/${t}`},{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",namespace:"Solana",generateDerivationPath:t=>`44'/501'/${t}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",namespace:"Solana",generateDerivationPath:t=>`44'/501'/0'/${t}`}]},needsNamespace:{selection:"single",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:t=>t.filter(i=>i.name===x.ETHEREUM)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:t=>t.filter(i=>i.name===x.SOLANA)}]}}},"getWalletInfo"),$=a(()=>({config:me,getInstance:de,connect:le,getSigners:pe,getWalletInfo:ge}),"buildLegacyProvider");import{ProviderBuilder as be}from"@rango-dev/wallets-core";import{NamespaceBuilder as ue}from"@rango-dev/wallets-core";import{builders as fe}from"@rango-dev/wallets-core/namespaces/common";import{builders as he,CAIP_NAMESPACE as we}from"@rango-dev/wallets-core/namespaces/evm";import{CAIP as ve}from"@rango-dev/wallets-core/utils";var ye=he.connect().action(async function(e,n,r){if(!r?.derivationPath)throw new Error("Derivation Path can not be empty.");d(r.derivationPath);let o=await S();return{accounts:o.accounts.map(i=>ve.AccountId.format({address:i,chainId:{namespace:we,reference:o.chainId}})),network:o.chainId}}).or(E).build(),Ee=fe.disconnect().build(),W=new ue("EVM",u).action(ye).action(Ee).build();import{NamespaceBuilder as Se}from"@rango-dev/wallets-core";import{builders as Ae}from"@rango-dev/wallets-core/namespaces/common";import{builders as Pe,CAIP_NAMESPACE as Le}from"@rango-dev/wallets-core/namespaces/solana";import{CAIP as xe}from"@rango-dev/wallets-core/utils";var Te=Pe.connect().action(async function(e,n){if(!n?.derivationPath)throw new Error("Derivation Path can not be empty.");d(n.derivationPath);let r=await A();return r.accounts.map(t=>xe.AccountId.format({address:t,chainId:{namespace:Le,reference:r.chainId}}))}).or(E).build(),Ie=Ae.disconnect().build(),z=new Se("Solana",u).action(Te).action(Ie).build();var X=a(()=>new be(u).init(function(e){let[,n]=e.state();y()&&n("installed",!0)}).config("metadata",B).add("solana",z).add("evm",W).build(),"buildProvider");var Kt=a(()=>De().version("0.0.0",$()).version("1.0.0",X()).build(),"versions");export{Kt as versions};
1
+ import{a,m as b}from"./chunk-CVKDPNYM.js";import{defineVersions as Ce}from"@rango-dev/wallets-core/utils";import{Networks as x,WalletTypes as me}from"@rango-dev/wallets-shared";import"rango-types";import{DefaultSignerFactory as ce,TransactionType as G}from"rango-types";import{DEFAULT_ETHEREUM_RPC_URL as Z,dynamicImportWithRefinedError as O}from"@rango-dev/wallets-shared";import{JsonRpcProvider as ee,Transaction as F}from"ethers";import{SignerError as te,SignerErrorCode as ne}from"rango-types";var k="";function d(e){k=e}a(d,"setDerivationPath");function s(){return k}a(s,"getDerivationPath");import{LegacyNetworks as M}from"@rango-dev/wallets-core/legacy";import{CAIP_SOLANA_CHAIN_ID as j}from"@rango-dev/wallets-core/namespaces/solana";import{dynamicImportWithRefinedError as C,ETHEREUM_CHAIN_ID as V}from"@rango-dev/wallets-shared";import J from"bs58";import"@rango-dev/wallets-core";import{LegacyNetworks as D}from"@rango-dev/wallets-core/legacy";import{Networks as N}from"@rango-dev/wallets-shared";import"rango-types";var Fe=[D.ETHEREUM,D.POLYGON,D.BASE],_=16,u="ledger",B={name:"Ledger",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg",extensions:{homepage:"https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true"},properties:[{name:"namespaces",value:{selection:"single",data:[{label:"Ethereum",value:"EVM",id:"ETH",getSupportedChains:e=>e.filter(n=>n.name===N.ETHEREUM)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:e=>e.filter(n=>n.name===N.SOLANA)}]}},{name:"derivationPath",value:{data:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",namespace:"EVM",generateDerivationPath:e=>`44'/60'/0'/0/${e}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",namespace:"EVM",generateDerivationPath:e=>`44'/60'/${e}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",namespace:"EVM",generateDerivationPath:e=>`44'/60'/0'/${e}`},{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",namespace:"Solana",generateDerivationPath:e=>`44'/501'/${e}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",namespace:"Solana",generateDerivationPath:e=>`44'/501'/0'/${e}`}]}},{name:"signers",value:{getSigners:async()=>h()}}]};function y(){let e=new Map;return e.set(M.ETHEREUM,{chainId:V}),e.set(M.SOLANA,{chainId:M.SOLANA}),e}a(y,"ledger");var H={21781:"The device is locked",25871:"Related application is not ready on your device",27013:"Action denied by user"};function Q(e){return H[e]?H[e]:b(e)?b(e):`Ledger device unknown error 0x${e.toString(_)}`}a(Q,"getLedgerErrorMessage");function l(e){return e?.statusCode?new Error(Q(e.statusCode)):e?.code==="INSUFFICIENT_FUNDS"?new Error("Insufficient funds for transaction"):e}a(l,"getLedgerError");function E(e,n){throw l(n)}a(E,"standardizeAndThrowLedgerError");async function S(){try{let e=await m(),n=(await C(async()=>await import("./Eth-Y5JFGVQA.js"))).default,r=new n(e),o=s(),t=[],i=await r.getAddress(o,!1,!0);return t.push(i.address),{accounts:t,chainId:V,derivationPath:o}}catch(e){throw l(e)}finally{await p()}}a(S,"getEthereumAccounts");async function A(){try{let e=await m(),n=(await C(async()=>await import("./Solana-UB4SGWQ3.js"))).default,r=new n(e),o=s(),t=[],i=await r.getAddress(o);return t.push(J.encode(i.address)),{accounts:t,chainId:j,derivationPath:o}}catch(e){throw l(e)}finally{await p()}}a(A,"getSolanaAccounts");var w=null;async function m(){return w=await(await C(async()=>await import("./TransportWebHID-JLT4ETY3.js"))).default.create(),w}a(m,"transportConnect");async function p(){w&&(await w.close(),w=null)}a(p,"transportDisconnect");var P=class{static{a(this,"EthereumSigner")}async signMessage(n){try{let r=await m(),o=(await O(async()=>await import("./Eth-Y5JFGVQA.js"))).default,i=await new o(r).signPersonalMessage(s(),Buffer.from(n).toString("hex")),c=(i.v-27).toString(16);return c.length<2&&(c="0"+c),"0x"+i.r+i.s+c}catch(r){throw new te(ne.SIGN_TX_ERROR,void 0,r)}}async signAndSendTx(n,r,o){try{let t=new ee(Z),i=await t.getTransactionCount(r),c={to:n.to,gasPrice:n.gasPrice,gasLimit:n.gasLimit,nonce:i,chainId:o,data:n.data,value:n.value,maxPriorityFeePerGas:n.maxPriorityFeePerGas,maxFeePerGas:n.maxFeePerGas},g=F.from(c).unsignedSerialized.substring(2),f=await m(),v=await O(async()=>await import("./Eth-Y5JFGVQA.js")),T=v.default,R=new T(f),K=await v.ledgerService.resolveTransaction(g,{},{}),I=await R.signTransaction(s(),g,K),Y=F.from({...c,signature:{r:"0x"+I.r,s:"0x"+I.s,v:parseInt(I.v)}}).serialized;return{hash:(await t.broadcastTransaction(Y)).hash}}catch(t){throw l(t)}finally{await p()}}};import{generalSolanaTransactionExecutor as re}from"@rango-dev/signer-solana";import{dynamicImportWithRefinedError as U}from"@rango-dev/wallets-shared";import{PublicKey as ae}from"@solana/web3.js";import{SignerError as oe,SignerErrorCode as ie}from"rango-types";function se(e){return"version"in e}a(se,"isVersionedTransaction");var L=class{static{a(this,"SolanaSigner")}async signMessage(n){try{let r=await m(),o=(await U(async()=>await import("./Solana-UB4SGWQ3.js"))).default;return(await new o(r).signOffchainMessage(s(),Buffer.from(n))).signature.toString()}catch(r){throw new oe(ie.SIGN_TX_ERROR,void 0,r)}}async signAndSendTx(n){try{return{hash:await re(n,a(async t=>{let i=await m(),c=(await U(async()=>await import("./Solana-UB4SGWQ3.js"))).default,g=new c(i),f;se(t)?f=await g.signTransaction(s(),t.message.serialize()):f=await g.signTransaction(s(),t.serialize());let v=await g.getAddress(s()),T=new ae(v.address);return t.addSignature(T,Buffer.from(f.signature)),t.serialize()},"DefaultSolanaSigner"))}}catch(r){throw l(r)}finally{await p()}}};async function h(){let e=new ce;return e.registerSigner(G.EVM,new P),e.registerSigner(G.SOLANA,new L),e}a(h,"getSigners");var de={type:me.LEDGER},le=y,pe=a(async({namespaces:e})=>{let n=[],r=e?.find(t=>t.namespace==="Solana"),o=e?.find(t=>t.namespace==="EVM");if(r)if(r.derivationPath){d(r.derivationPath);let t=await A();n.push(t)}else throw new Error("Derivation Path can not be empty.");else if(o)if(o.derivationPath){d(o.derivationPath);let t=await S();n.push(t)}else throw new Error("Derivation Path can not be empty.");else throw new Error(`It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${e?.map(t=>t.namespace)}`);return n},"connect");var ge=h,ue=a(e=>{let n=[],r=e.find(t=>t.name===x.ETHEREUM);r&&n.push(r);let o=e.find(t=>t.name===x.SOLANA);return o&&n.push(o),{name:"Ledger",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg",installLink:{DEFAULT:"https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true"},color:"black",supportedChains:n,showOnMobile:!1,needsDerivationPath:{data:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",namespace:"EVM",generateDerivationPath:t=>`44'/60'/0'/0/${t}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",namespace:"EVM",generateDerivationPath:t=>`44'/60'/${t}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",namespace:"EVM",generateDerivationPath:t=>`44'/60'/0'/${t}`},{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",namespace:"Solana",generateDerivationPath:t=>`44'/501'/${t}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",namespace:"Solana",generateDerivationPath:t=>`44'/501'/0'/${t}`}]},needsNamespace:{selection:"single",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:t=>t.filter(i=>i.name===x.ETHEREUM)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:t=>t.filter(i=>i.name===x.SOLANA)}]}}},"getWalletInfo"),$=a(()=>({config:de,getInstance:le,connect:pe,getSigners:ge,getWalletInfo:ue}),"buildLegacyProvider");import{ProviderBuilder as Me}from"@rango-dev/wallets-core";import{NamespaceBuilder as fe}from"@rango-dev/wallets-core";import{builders as he}from"@rango-dev/wallets-core/namespaces/common";import{builders as W,CAIP_NAMESPACE as we}from"@rango-dev/wallets-core/namespaces/evm";import{CAIP as ve}from"@rango-dev/wallets-core/utils";import{ETHEREUM_CHAIN_ID as ye}from"@rango-dev/wallets-shared";var Ee=W.connect().action(async function(e,n,r){if(!r?.derivationPath)throw new Error("Derivation Path can not be empty.");d(r.derivationPath);let o=await S();return{accounts:o.accounts.map(i=>ve.AccountId.format({address:i,chainId:{namespace:we,reference:o.chainId}})),network:o.chainId}}).or(E).build(),Se=he.disconnect().build(),Ae=W.getChainId().action(()=>ye).build(),z=new fe("EVM",u).action(Ee).action(Se).action(Ae).build();import{NamespaceBuilder as Pe}from"@rango-dev/wallets-core";import{builders as Le}from"@rango-dev/wallets-core/namespaces/common";import{builders as xe,CAIP_NAMESPACE as Te}from"@rango-dev/wallets-core/namespaces/solana";import{CAIP as Ie}from"@rango-dev/wallets-core/utils";var be=xe.connect().action(async function(e,n){if(!n?.derivationPath)throw new Error("Derivation Path can not be empty.");d(n.derivationPath);let r=await A();return r.accounts.map(t=>Ie.AccountId.format({address:t,chainId:{namespace:Te,reference:r.chainId}}))}).or(E).build(),De=Le.disconnect().build(),X=new Pe("Solana",u).action(be).action(De).build();var q=a(()=>new Me(u).init(function(e){let[,n]=e.state();y()&&n("installed",!0)}).config("metadata",B).add("solana",X).add("evm",z).build(),"buildProvider");var Jt=a(()=>Ce().version("0.0.0",$()).version("1.0.0",q()).build(),"versions");export{Jt as versions};
2
2
  //# sourceMappingURL=mod.js.map
package/dist/mod.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/mod.ts", "../src/legacy/index.ts", "../src/signer.ts", "../src/signers/ethereum.ts", "../src/state.ts", "../src/utils.ts", "../src/constants.ts", "../src/signers/solana.ts", "../src/provider.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts"],
4
- "sourcesContent": ["import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type { LegacyProviderInterface } from '@rango-dev/wallets-core/legacy';\nimport type {\n Connect,\n Disconnect,\n ProviderConnectResult,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport { Networks, WalletTypes } from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta, type SignerFactory } from 'rango-types';\n\nimport signer from '../signer.js';\nimport { setDerivationPath } from '../state.js';\nimport {\n getEthereumAccounts,\n ledger as getLedgerInstance,\n getSolanaAccounts,\n transportDisconnect,\n} from '../utils.js';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype InstanceType = any;\n\nexport const config = {\n type: WalletTypes.LEDGER,\n};\n\nexport const getInstance = getLedgerInstance;\nexport const connect: Connect = async ({ namespaces }) => {\n const results: ProviderConnectResult[] = [];\n\n const solanaNamespace = namespaces?.find(\n (namespaceItem) => namespaceItem.namespace === 'Solana'\n );\n const evmNamespace = namespaces?.find(\n (namespaceItem) => namespaceItem.namespace === 'EVM'\n );\n\n if (solanaNamespace) {\n if (solanaNamespace.derivationPath) {\n setDerivationPath(solanaNamespace.derivationPath);\n const accounts = await getSolanaAccounts();\n results.push(accounts);\n } else {\n throw new Error('Derivation Path can not be empty.');\n }\n } else if (evmNamespace) {\n if (evmNamespace.derivationPath) {\n setDerivationPath(evmNamespace.derivationPath);\n const accounts = await getEthereumAccounts();\n results.push(accounts);\n } else {\n throw new Error('Derivation Path can not be empty.');\n }\n } else {\n throw new Error(\n `It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${namespaces?.map(\n (namespaceItem) => namespaceItem.namespace\n )}`\n );\n }\n\n return results;\n};\n\nexport const disconnect: Disconnect = async () => {\n void transportDisconnect();\n};\n\nexport const getSigners: (provider: InstanceType) => Promise<SignerFactory> =\n signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const supportedChains: BlockchainMeta[] = [];\n\n const ethereumBlockchain = allBlockChains.find(\n (chain) => chain.name === Networks.ETHEREUM\n );\n if (ethereumBlockchain) {\n supportedChains.push(ethereumBlockchain);\n }\n\n const solanaBlockchain = allBlockChains.find(\n (chain) => chain.name === Networks.SOLANA\n );\n if (solanaBlockchain) {\n supportedChains.push(solanaBlockchain);\n }\n\n return {\n name: 'Ledger',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg',\n installLink: {\n DEFAULT:\n 'https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true',\n },\n color: 'black',\n supportedChains,\n showOnMobile: false,\n needsDerivationPath: {\n data: [\n {\n id: 'metamask',\n label: `Metamask (m/44'/60'/0'/0/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/0/${index}`,\n },\n {\n id: 'ledgerLive',\n label: `LedgerLive (m/44'/60'/index'/0/0)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/${index}'/0/0`,\n },\n {\n id: 'legacy',\n label: `Legacy (m/44'/60'/0'/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/${index}`,\n },\n {\n id: `(m/44'/501'/index')`,\n label: `(m/44'/501'/index')`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/${index}'`,\n },\n {\n id: `(m/44'/501'/0'/index)`,\n label: `(m/44'/501'/0'/index)`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/0'/${index}`,\n },\n ],\n },\n\n needsNamespace: {\n selection: 'single',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter((chain) => chain.name === Networks.ETHEREUM),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter((chain) => chain.name === Networks.SOLANA),\n },\n ],\n },\n };\n};\n\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n getSigners,\n getWalletInfo,\n});\n\nexport { buildLegacyProvider };\n", "import type { SignerFactory } from 'rango-types';\n\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { EthereumSigner } from './signers/ethereum';\nimport { SolanaSigner } from './signers/solana';\n\nexport default async function getSigners(): Promise<SignerFactory> {\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new EthereumSigner());\n signers.registerSigner(TxType.SOLANA, new SolanaSigner());\n return signers;\n}\n", "import type { TransactionLike } from 'ethers';\nimport type { GenericSigner } from 'rango-types';\nimport type { EvmTransaction } from 'rango-types/mainApi';\n\nimport {\n DEFAULT_ETHEREUM_RPC_URL,\n dynamicImportWithRefinedError,\n} from '@rango-dev/wallets-shared';\nimport { JsonRpcProvider, Transaction } from 'ethers';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { getDerivationPath } from '../state.js';\nimport {\n getLedgerError,\n transportConnect,\n transportDisconnect,\n} from '../utils.js';\n\nexport class EthereumSigner implements GenericSigner<EvmTransaction> {\n async signMessage(msg: string): Promise<string> {\n try {\n const transport = await transportConnect();\n const LedgerAppEth = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-eth')\n )\n ).default;\n const eth = new LedgerAppEth(transport);\n\n const result = await eth.signPersonalMessage(\n getDerivationPath(),\n Buffer.from(msg).toString('hex')\n );\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n let v = (result['v'] - 27).toString(16);\n if (v.length < 2) {\n v = '0' + v;\n }\n return '0x' + result['r'] + result['s'] + v;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(\n tx: EvmTransaction,\n fromAddress: string,\n chainId: string | null\n ): Promise<{ hash: string }> {\n try {\n const provider = new JsonRpcProvider(DEFAULT_ETHEREUM_RPC_URL); // Provider to broadcast transaction\n\n const transactionCount = await provider.getTransactionCount(fromAddress); // Get nonce\n\n const transaction: TransactionLike<string> = {\n to: tx.to,\n gasPrice: tx.gasPrice,\n gasLimit: tx.gasLimit,\n nonce: transactionCount,\n chainId: chainId,\n data: tx.data,\n value: tx.value,\n maxPriorityFeePerGas: tx.maxPriorityFeePerGas,\n maxFeePerGas: tx.maxFeePerGas,\n };\n\n const unsignedTx =\n Transaction.from(transaction).unsignedSerialized.substring(2); // Create unsigned transaction\n\n const transport = await transportConnect();\n const LedgerHqAppEth = await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-eth')\n );\n\n const LedgerAppEth = LedgerHqAppEth.default;\n const eth = new LedgerAppEth(transport);\n\n const resolution = await LedgerHqAppEth.ledgerService.resolveTransaction(\n unsignedTx,\n {},\n {}\n ); // metadata necessary to allow the device to clear sign information\n const signature = await eth.signTransaction(\n getDerivationPath(),\n unsignedTx,\n resolution\n );\n\n const signedTx = Transaction.from({\n ...transaction,\n signature: {\n r: '0x' + signature.r,\n s: '0x' + signature.s,\n v: parseInt(signature.v),\n },\n }).serialized;\n\n const broadcastResult = await provider.broadcastTransaction(signedTx);\n\n return { hash: broadcastResult.hash };\n } catch (error) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n }\n}\n", "// We keep derivationPath here because we need to maintain it for signing transactions after it is set in connect method\nlet derivationPath = '';\n\nexport function setDerivationPath(path: string) {\n derivationPath = path;\n}\n\nexport function getDerivationPath() {\n return derivationPath;\n}\n", "import type Transport from '@ledgerhq/hw-transport';\n\nimport { getAltStatusMessage } from '@ledgerhq/errors';\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { CAIP_SOLANA_CHAIN_ID } from '@rango-dev/wallets-core/namespaces/solana';\nimport {\n dynamicImportWithRefinedError,\n ETHEREUM_CHAIN_ID,\n type ProviderConnectResult,\n} from '@rango-dev/wallets-shared';\nimport bs58 from 'bs58';\n\nimport { HEXADECIMAL_BASE } from './constants.js';\nimport { getDerivationPath } from './state.js';\n\nexport type Provider = Map<string, unknown>;\n\nexport function ledger(): Provider | null {\n /*\n * Instances have a required property which is `chainId` and is using in swap execution.\n * Here we are setting it as Ethereum always since we are supporting only eth for now.\n */\n const instances = new Map();\n\n instances.set(LegacyNetworks.ETHEREUM, { chainId: ETHEREUM_CHAIN_ID });\n instances.set(LegacyNetworks.SOLANA, { chainId: LegacyNetworks.SOLANA });\n\n return instances;\n}\n\nconst ledgerFrequentErrorMessages: { [statusCode: number]: string } = {\n 0x5515: 'The device is locked',\n 0x650f: 'Related application is not ready on your device',\n 0x6985: 'Action denied by user',\n};\n\nfunction getLedgerErrorMessage(statusCode: number): string {\n if (ledgerFrequentErrorMessages[statusCode]) {\n return ledgerFrequentErrorMessages[statusCode];\n } else if (getAltStatusMessage(statusCode)) {\n return getAltStatusMessage(statusCode) as string;\n }\n\n return `Ledger device unknown error 0x${statusCode.toString(\n HEXADECIMAL_BASE\n )}`; // Hexadecimal numbers are more commonly recognized and utilized for representing ledger error codes\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getLedgerError(error: any) {\n if (error?.statusCode) {\n return new Error(getLedgerErrorMessage(error.statusCode));\n }\n\n if (error?.code === 'INSUFFICIENT_FUNDS') {\n return new Error('Insufficient funds for transaction');\n }\n return error;\n}\n\nexport function standardizeAndThrowLedgerError(_: unknown, error: unknown) {\n throw getLedgerError(error);\n}\n\nexport async function getEthereumAccounts(): Promise<ProviderConnectResult> {\n try {\n const transport = await transportConnect();\n const LedgerAppEth = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-eth')\n )\n ).default;\n const eth = new LedgerAppEth(transport);\n const derivationPath = getDerivationPath();\n\n const accounts: string[] = [];\n\n const result = await eth.getAddress(derivationPath, false, true);\n accounts.push(result.address);\n\n return {\n accounts: accounts,\n chainId: ETHEREUM_CHAIN_ID,\n derivationPath,\n };\n } catch (error: unknown) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n}\n\nexport async function getSolanaAccounts(): Promise<ProviderConnectResult> {\n try {\n const transport = await transportConnect();\n const LedgerAppSolana = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-solana')\n )\n ).default;\n const solana = new LedgerAppSolana(transport);\n const derivationPath = getDerivationPath();\n\n const accounts: string[] = [];\n\n const result = await solana.getAddress(derivationPath);\n accounts.push(bs58.encode(result.address));\n\n return {\n accounts: accounts,\n chainId: CAIP_SOLANA_CHAIN_ID,\n derivationPath,\n };\n } catch (error: unknown) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n}\n\nlet transportConnection: Transport | null = null;\n\nexport async function transportConnect() {\n const TransportWebHID = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-transport-webhid')\n )\n ).default;\n\n transportConnection = await TransportWebHID.create();\n\n return transportConnection;\n}\n\nexport async function transportDisconnect() {\n if (transportConnection) {\n await transportConnection.close();\n transportConnection = null;\n }\n}\n", "import { type ProviderMetadata } from '@rango-dev/wallets-core';\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { Networks } from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta } from 'rango-types';\n\nimport getSigners from './signer.js';\n\nexport const EVM_SUPPORTED_CHAINS = [\n LegacyNetworks.ETHEREUM,\n LegacyNetworks.POLYGON,\n LegacyNetworks.BASE,\n];\n\nexport const HEXADECIMAL_BASE = 16;\nexport const WALLET_ID = 'ledger';\n\nexport const metadata: ProviderMetadata = {\n name: 'Ledger',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg',\n extensions: {\n homepage:\n 'https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'single',\n data: [\n {\n label: 'Ethereum',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter(\n (chain) => chain.name === Networks.ETHEREUM\n ),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter((chain) => chain.name === Networks.SOLANA),\n },\n ],\n },\n },\n {\n name: 'derivationPath',\n value: {\n data: [\n {\n id: 'metamask',\n label: `Metamask (m/44'/60'/0'/0/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/0/${index}`,\n },\n {\n id: 'ledgerLive',\n label: `LedgerLive (m/44'/60'/index'/0/0)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/${index}'/0/0`,\n },\n {\n id: 'legacy',\n label: `Legacy (m/44'/60'/0'/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/${index}`,\n },\n {\n id: `(m/44'/501'/index')`,\n label: `(m/44'/501'/index')`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/${index}'`,\n },\n {\n id: `(m/44'/501'/0'/index)`,\n label: `(m/44'/501'/0'/index)`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/0'/${index}`,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners() },\n },\n ],\n};\n", "import type { SolanaWeb3Signer } from '@rango-dev/signer-solana';\nimport type { Transaction, VersionedTransaction } from '@solana/web3.js';\nimport type { GenericSigner, SolanaTransaction } from 'rango-types';\n\nimport { generalSolanaTransactionExecutor } from '@rango-dev/signer-solana';\nimport { dynamicImportWithRefinedError } from '@rango-dev/wallets-shared';\nimport { PublicKey } from '@solana/web3.js';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { getDerivationPath } from '../state.js';\nimport {\n getLedgerError,\n transportConnect,\n transportDisconnect,\n} from '../utils.js';\n\nexport function isVersionedTransaction(\n transaction: Transaction | VersionedTransaction\n): transaction is VersionedTransaction {\n return 'version' in transaction;\n}\n\nexport class SolanaSigner implements GenericSigner<SolanaTransaction> {\n async signMessage(msg: string): Promise<string> {\n try {\n const transport = await transportConnect();\n const LedgerAppSolana = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-solana')\n )\n ).default;\n const solana = new LedgerAppSolana(transport);\n\n const result = await solana.signOffchainMessage(\n getDerivationPath(),\n Buffer.from(msg)\n );\n return result.signature.toString();\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(tx: SolanaTransaction): Promise<{ hash: string }> {\n try {\n const DefaultSolanaSigner: SolanaWeb3Signer = async (\n solanaWeb3Transaction: Transaction | VersionedTransaction\n ) => {\n const transport = await transportConnect();\n const LedgerAppSolana = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-solana')\n )\n ).default;\n const solana = new LedgerAppSolana(transport);\n\n let signResult;\n if (isVersionedTransaction(solanaWeb3Transaction)) {\n signResult = await solana.signTransaction(\n getDerivationPath(),\n solanaWeb3Transaction.message.serialize() as Buffer\n );\n } else {\n signResult = await solana.signTransaction(\n getDerivationPath(),\n solanaWeb3Transaction.serialize()\n );\n }\n\n const addressResult = await solana.getAddress(getDerivationPath());\n\n const publicKey = new PublicKey(addressResult.address);\n\n solanaWeb3Transaction.addSignature(\n publicKey,\n Buffer.from(signResult.signature)\n );\n\n const serializedTx = solanaWeb3Transaction.serialize();\n\n return serializedTx;\n };\n const hash = await generalSolanaTransactionExecutor(\n tx,\n DefaultSolanaSigner\n );\n return { hash };\n } catch (error) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n }\n}\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { ledger as ledgerInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (ledgerInstance()) {\n setState('installed', true);\n }\n })\n .config('metadata', metadata)\n .add('solana', solana)\n .add('evm', evm)\n .build();\n\nexport { buildProvider };\n", "import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n type CaipAccount,\n builders as commonBuilders,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n builders,\n CAIP_NAMESPACE,\n} from '@rango-dev/wallets-core/namespaces/evm';\nimport { CAIP } from '@rango-dev/wallets-core/utils';\n\nimport { WALLET_ID } from '../constants.js';\nimport { setDerivationPath } from '../state.js';\nimport {\n getEthereumAccounts,\n standardizeAndThrowLedgerError,\n} from '../utils.js';\n\nconst connect = builders\n .connect()\n .action(async function (_context, _chain, options) {\n if (!options?.derivationPath) {\n throw new Error('Derivation Path can not be empty.');\n }\n\n setDerivationPath(options.derivationPath);\n\n const result = await getEthereumAccounts();\n\n const formatAccounts = result.accounts.map(\n (account) =>\n CAIP.AccountId.format({\n address: account,\n chainId: {\n namespace: CAIP_NAMESPACE,\n reference: result.chainId,\n },\n }) as CaipAccount\n );\n\n return {\n accounts: formatAccounts,\n network: result.chainId,\n };\n })\n .or(standardizeAndThrowLedgerError)\n .build();\n\nconst disconnect = commonBuilders.disconnect<EvmActions>().build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { evm };\n", "import type { CaipAccount } from '@rango-dev/wallets-core/namespaces/common';\nimport type { SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport { builders as commonBuilders } from '@rango-dev/wallets-core/namespaces/common';\nimport {\n builders,\n CAIP_NAMESPACE,\n} from '@rango-dev/wallets-core/namespaces/solana';\nimport { CAIP } from '@rango-dev/wallets-core/utils';\n\nimport { WALLET_ID } from '../constants.js';\nimport { setDerivationPath } from '../state.js';\nimport { getSolanaAccounts, standardizeAndThrowLedgerError } from '../utils.js';\n\nconst connect = builders\n .connect()\n .action(async function (_context, options) {\n if (!options?.derivationPath) {\n throw new Error('Derivation Path can not be empty.');\n }\n\n setDerivationPath(options.derivationPath);\n\n const result = await getSolanaAccounts();\n\n const formatAccounts = result.accounts.map(\n (account) =>\n CAIP.AccountId.format({\n address: account,\n chainId: {\n namespace: CAIP_NAMESPACE,\n reference: result.chainId,\n },\n }) as CaipAccount\n );\n\n return formatAccounts;\n })\n .or(standardizeAndThrowLedgerError)\n .build();\n\nconst disconnect = commonBuilders.disconnect<SolanaActions>().build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { solana };\n"],
5
- "mappings": "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",
6
- "names": ["defineVersions", "Networks", "WalletTypes", "DefaultSignerFactory", "TxType", "DEFAULT_ETHEREUM_RPC_URL", "dynamicImportWithRefinedError", "JsonRpcProvider", "Transaction", "SignerError", "SignerErrorCode", "derivationPath", "setDerivationPath", "path", "__name", "getDerivationPath", "LegacyNetworks", "CAIP_SOLANA_CHAIN_ID", "dynamicImportWithRefinedError", "ETHEREUM_CHAIN_ID", "bs58", "LegacyNetworks", "Networks", "EVM_SUPPORTED_CHAINS", "LegacyNetworks", "HEXADECIMAL_BASE", "WALLET_ID", "metadata", "allBlockchains", "chain", "Networks", "index", "getSigners", "ledger", "instances", "LegacyNetworks", "ETHEREUM_CHAIN_ID", "__name", "ledgerFrequentErrorMessages", "getLedgerErrorMessage", "statusCode", "getAltStatusMessage", "HEXADECIMAL_BASE", "getLedgerError", "error", "standardizeAndThrowLedgerError", "_", "getEthereumAccounts", "transport", "transportConnect", "LedgerAppEth", "dynamicImportWithRefinedError", "eth", "derivationPath", "getDerivationPath", "accounts", "result", "transportDisconnect", "getSolanaAccounts", "LedgerAppSolana", "solana", "bs58", "CAIP_SOLANA_CHAIN_ID", "transportConnection", "EthereumSigner", "__name", "msg", "transport", "transportConnect", "LedgerAppEth", "dynamicImportWithRefinedError", "result", "getDerivationPath", "v", "error", "SignerError", "SignerErrorCode", "tx", "fromAddress", "chainId", "provider", "JsonRpcProvider", "DEFAULT_ETHEREUM_RPC_URL", "transactionCount", "transaction", "unsignedTx", "Transaction", "LedgerHqAppEth", "eth", "resolution", "signature", "signedTx", "getLedgerError", "transportDisconnect", "generalSolanaTransactionExecutor", "dynamicImportWithRefinedError", "PublicKey", "SignerError", "SignerErrorCode", "isVersionedTransaction", "transaction", "__name", "SolanaSigner", "msg", "transport", "transportConnect", "LedgerAppSolana", "dynamicImportWithRefinedError", "getDerivationPath", "error", "SignerError", "SignerErrorCode", "tx", "generalSolanaTransactionExecutor", "solanaWeb3Transaction", "solana", "signResult", "addressResult", "publicKey", "PublicKey", "getLedgerError", "transportDisconnect", "getSigners", "signers", "DefaultSignerFactory", "TxType", "EthereumSigner", "SolanaSigner", "__name", "config", "WalletTypes", "getInstance", "ledger", "connect", "__name", "namespaces", "results", "solanaNamespace", "namespaceItem", "evmNamespace", "setDerivationPath", "accounts", "getSolanaAccounts", "getEthereumAccounts", "getSigners", "getWalletInfo", "__name", "allBlockChains", "supportedChains", "ethereumBlockchain", "chain", "Networks", "solanaBlockchain", "index", "allBlockchains", "buildLegacyProvider", "config", "getInstance", "connect", "ProviderBuilder", "NamespaceBuilder", "commonBuilders", "builders", "CAIP_NAMESPACE", "CAIP", "connect", "builders", "_context", "_chain", "options", "setDerivationPath", "result", "getEthereumAccounts", "account", "CAIP", "CAIP_NAMESPACE", "standardizeAndThrowLedgerError", "disconnect", "commonBuilders", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "builders", "CAIP_NAMESPACE", "CAIP", "connect", "builders", "_context", "options", "setDerivationPath", "result", "getSolanaAccounts", "account", "CAIP", "CAIP_NAMESPACE", "standardizeAndThrowLedgerError", "disconnect", "commonBuilders", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "ledger", "metadata", "solana", "evm", "versions", "__name", "defineVersions", "buildLegacyProvider", "buildProvider"]
4
+ "sourcesContent": ["import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type { LegacyProviderInterface } from '@rango-dev/wallets-core/legacy';\nimport type {\n Connect,\n Disconnect,\n ProviderConnectResult,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport { Networks, WalletTypes } from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta, type SignerFactory } from 'rango-types';\n\nimport signer from '../signer.js';\nimport { setDerivationPath } from '../state.js';\nimport {\n getEthereumAccounts,\n ledger as getLedgerInstance,\n getSolanaAccounts,\n transportDisconnect,\n} from '../utils.js';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype InstanceType = any;\n\nexport const config = {\n type: WalletTypes.LEDGER,\n};\n\nexport const getInstance = getLedgerInstance;\nexport const connect: Connect = async ({ namespaces }) => {\n const results: ProviderConnectResult[] = [];\n\n const solanaNamespace = namespaces?.find(\n (namespaceItem) => namespaceItem.namespace === 'Solana'\n );\n const evmNamespace = namespaces?.find(\n (namespaceItem) => namespaceItem.namespace === 'EVM'\n );\n\n if (solanaNamespace) {\n if (solanaNamespace.derivationPath) {\n setDerivationPath(solanaNamespace.derivationPath);\n const accounts = await getSolanaAccounts();\n results.push(accounts);\n } else {\n throw new Error('Derivation Path can not be empty.');\n }\n } else if (evmNamespace) {\n if (evmNamespace.derivationPath) {\n setDerivationPath(evmNamespace.derivationPath);\n const accounts = await getEthereumAccounts();\n results.push(accounts);\n } else {\n throw new Error('Derivation Path can not be empty.');\n }\n } else {\n throw new Error(\n `It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${namespaces?.map(\n (namespaceItem) => namespaceItem.namespace\n )}`\n );\n }\n\n return results;\n};\n\nexport const disconnect: Disconnect = async () => {\n void transportDisconnect();\n};\n\nexport const getSigners: (provider: InstanceType) => Promise<SignerFactory> =\n signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const supportedChains: BlockchainMeta[] = [];\n\n const ethereumBlockchain = allBlockChains.find(\n (chain) => chain.name === Networks.ETHEREUM\n );\n if (ethereumBlockchain) {\n supportedChains.push(ethereumBlockchain);\n }\n\n const solanaBlockchain = allBlockChains.find(\n (chain) => chain.name === Networks.SOLANA\n );\n if (solanaBlockchain) {\n supportedChains.push(solanaBlockchain);\n }\n\n return {\n name: 'Ledger',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg',\n installLink: {\n DEFAULT:\n 'https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true',\n },\n color: 'black',\n supportedChains,\n showOnMobile: false,\n needsDerivationPath: {\n data: [\n {\n id: 'metamask',\n label: `Metamask (m/44'/60'/0'/0/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/0/${index}`,\n },\n {\n id: 'ledgerLive',\n label: `LedgerLive (m/44'/60'/index'/0/0)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/${index}'/0/0`,\n },\n {\n id: 'legacy',\n label: `Legacy (m/44'/60'/0'/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/${index}`,\n },\n {\n id: `(m/44'/501'/index')`,\n label: `(m/44'/501'/index')`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/${index}'`,\n },\n {\n id: `(m/44'/501'/0'/index)`,\n label: `(m/44'/501'/0'/index)`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/0'/${index}`,\n },\n ],\n },\n\n needsNamespace: {\n selection: 'single',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter((chain) => chain.name === Networks.ETHEREUM),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter((chain) => chain.name === Networks.SOLANA),\n },\n ],\n },\n };\n};\n\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n getSigners,\n getWalletInfo,\n});\n\nexport { buildLegacyProvider };\n", "import type { SignerFactory } from 'rango-types';\n\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { EthereumSigner } from './signers/ethereum';\nimport { SolanaSigner } from './signers/solana';\n\nexport default async function getSigners(): Promise<SignerFactory> {\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new EthereumSigner());\n signers.registerSigner(TxType.SOLANA, new SolanaSigner());\n return signers;\n}\n", "import type { TransactionLike } from 'ethers';\nimport type { GenericSigner } from 'rango-types';\nimport type { EvmTransaction } from 'rango-types/mainApi';\n\nimport {\n DEFAULT_ETHEREUM_RPC_URL,\n dynamicImportWithRefinedError,\n} from '@rango-dev/wallets-shared';\nimport { JsonRpcProvider, Transaction } from 'ethers';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { getDerivationPath } from '../state.js';\nimport {\n getLedgerError,\n transportConnect,\n transportDisconnect,\n} from '../utils.js';\n\nexport class EthereumSigner implements GenericSigner<EvmTransaction> {\n async signMessage(msg: string): Promise<string> {\n try {\n const transport = await transportConnect();\n const LedgerAppEth = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-eth')\n )\n ).default;\n const eth = new LedgerAppEth(transport);\n\n const result = await eth.signPersonalMessage(\n getDerivationPath(),\n Buffer.from(msg).toString('hex')\n );\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n let v = (result['v'] - 27).toString(16);\n if (v.length < 2) {\n v = '0' + v;\n }\n return '0x' + result['r'] + result['s'] + v;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(\n tx: EvmTransaction,\n fromAddress: string,\n chainId: string | null\n ): Promise<{ hash: string }> {\n try {\n const provider = new JsonRpcProvider(DEFAULT_ETHEREUM_RPC_URL); // Provider to broadcast transaction\n\n const transactionCount = await provider.getTransactionCount(fromAddress); // Get nonce\n\n const transaction: TransactionLike<string> = {\n to: tx.to,\n gasPrice: tx.gasPrice,\n gasLimit: tx.gasLimit,\n nonce: transactionCount,\n chainId: chainId,\n data: tx.data,\n value: tx.value,\n maxPriorityFeePerGas: tx.maxPriorityFeePerGas,\n maxFeePerGas: tx.maxFeePerGas,\n };\n\n const unsignedTx =\n Transaction.from(transaction).unsignedSerialized.substring(2); // Create unsigned transaction\n\n const transport = await transportConnect();\n const LedgerHqAppEth = await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-eth')\n );\n\n const LedgerAppEth = LedgerHqAppEth.default;\n const eth = new LedgerAppEth(transport);\n\n const resolution = await LedgerHqAppEth.ledgerService.resolveTransaction(\n unsignedTx,\n {},\n {}\n ); // metadata necessary to allow the device to clear sign information\n const signature = await eth.signTransaction(\n getDerivationPath(),\n unsignedTx,\n resolution\n );\n\n const signedTx = Transaction.from({\n ...transaction,\n signature: {\n r: '0x' + signature.r,\n s: '0x' + signature.s,\n v: parseInt(signature.v),\n },\n }).serialized;\n\n const broadcastResult = await provider.broadcastTransaction(signedTx);\n\n return { hash: broadcastResult.hash };\n } catch (error) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n }\n}\n", "// We keep derivationPath here because we need to maintain it for signing transactions after it is set in connect method\nlet derivationPath = '';\n\nexport function setDerivationPath(path: string) {\n derivationPath = path;\n}\n\nexport function getDerivationPath() {\n return derivationPath;\n}\n", "import type Transport from '@ledgerhq/hw-transport';\n\nimport { getAltStatusMessage } from '@ledgerhq/errors';\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { CAIP_SOLANA_CHAIN_ID } from '@rango-dev/wallets-core/namespaces/solana';\nimport {\n dynamicImportWithRefinedError,\n ETHEREUM_CHAIN_ID,\n type ProviderConnectResult,\n} from '@rango-dev/wallets-shared';\nimport bs58 from 'bs58';\n\nimport { HEXADECIMAL_BASE } from './constants.js';\nimport { getDerivationPath } from './state.js';\n\nexport type Provider = Map<string, unknown>;\n\nexport function ledger(): Provider | null {\n /*\n * Instances have a required property which is `chainId` and is using in swap execution.\n * Here we are setting it as Ethereum always since we are supporting only eth for now.\n */\n const instances = new Map();\n\n instances.set(LegacyNetworks.ETHEREUM, { chainId: ETHEREUM_CHAIN_ID });\n instances.set(LegacyNetworks.SOLANA, { chainId: LegacyNetworks.SOLANA });\n\n return instances;\n}\n\nconst ledgerFrequentErrorMessages: { [statusCode: number]: string } = {\n 0x5515: 'The device is locked',\n 0x650f: 'Related application is not ready on your device',\n 0x6985: 'Action denied by user',\n};\n\nfunction getLedgerErrorMessage(statusCode: number): string {\n if (ledgerFrequentErrorMessages[statusCode]) {\n return ledgerFrequentErrorMessages[statusCode];\n } else if (getAltStatusMessage(statusCode)) {\n return getAltStatusMessage(statusCode) as string;\n }\n\n return `Ledger device unknown error 0x${statusCode.toString(\n HEXADECIMAL_BASE\n )}`; // Hexadecimal numbers are more commonly recognized and utilized for representing ledger error codes\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getLedgerError(error: any) {\n if (error?.statusCode) {\n return new Error(getLedgerErrorMessage(error.statusCode));\n }\n\n if (error?.code === 'INSUFFICIENT_FUNDS') {\n return new Error('Insufficient funds for transaction');\n }\n return error;\n}\n\nexport function standardizeAndThrowLedgerError(_: unknown, error: unknown) {\n throw getLedgerError(error);\n}\n\nexport async function getEthereumAccounts(): Promise<ProviderConnectResult> {\n try {\n const transport = await transportConnect();\n const LedgerAppEth = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-eth')\n )\n ).default;\n const eth = new LedgerAppEth(transport);\n const derivationPath = getDerivationPath();\n\n const accounts: string[] = [];\n\n const result = await eth.getAddress(derivationPath, false, true);\n accounts.push(result.address);\n\n return {\n accounts: accounts,\n chainId: ETHEREUM_CHAIN_ID,\n derivationPath,\n };\n } catch (error: unknown) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n}\n\nexport async function getSolanaAccounts(): Promise<ProviderConnectResult> {\n try {\n const transport = await transportConnect();\n const LedgerAppSolana = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-solana')\n )\n ).default;\n const solana = new LedgerAppSolana(transport);\n const derivationPath = getDerivationPath();\n\n const accounts: string[] = [];\n\n const result = await solana.getAddress(derivationPath);\n accounts.push(bs58.encode(result.address));\n\n return {\n accounts: accounts,\n chainId: CAIP_SOLANA_CHAIN_ID,\n derivationPath,\n };\n } catch (error: unknown) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n}\n\nlet transportConnection: Transport | null = null;\n\nexport async function transportConnect() {\n const TransportWebHID = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-transport-webhid')\n )\n ).default;\n\n transportConnection = await TransportWebHID.create();\n\n return transportConnection;\n}\n\nexport async function transportDisconnect() {\n if (transportConnection) {\n await transportConnection.close();\n transportConnection = null;\n }\n}\n", "import { type ProviderMetadata } from '@rango-dev/wallets-core';\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { Networks } from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta } from 'rango-types';\n\nimport getSigners from './signer.js';\n\nexport const EVM_SUPPORTED_CHAINS = [\n LegacyNetworks.ETHEREUM,\n LegacyNetworks.POLYGON,\n LegacyNetworks.BASE,\n];\n\nexport const HEXADECIMAL_BASE = 16;\nexport const WALLET_ID = 'ledger';\n\nexport const metadata: ProviderMetadata = {\n name: 'Ledger',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg',\n extensions: {\n homepage:\n 'https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'single',\n data: [\n {\n label: 'Ethereum',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter(\n (chain) => chain.name === Networks.ETHEREUM\n ),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter((chain) => chain.name === Networks.SOLANA),\n },\n ],\n },\n },\n {\n name: 'derivationPath',\n value: {\n data: [\n {\n id: 'metamask',\n label: `Metamask (m/44'/60'/0'/0/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/0/${index}`,\n },\n {\n id: 'ledgerLive',\n label: `LedgerLive (m/44'/60'/index'/0/0)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/${index}'/0/0`,\n },\n {\n id: 'legacy',\n label: `Legacy (m/44'/60'/0'/index)`,\n namespace: 'EVM',\n generateDerivationPath: (index: string) => `44'/60'/0'/${index}`,\n },\n {\n id: `(m/44'/501'/index')`,\n label: `(m/44'/501'/index')`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/${index}'`,\n },\n {\n id: `(m/44'/501'/0'/index)`,\n label: `(m/44'/501'/0'/index)`,\n namespace: 'Solana',\n generateDerivationPath: (index: string) => `44'/501'/0'/${index}`,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners() },\n },\n ],\n};\n", "import type { SolanaWeb3Signer } from '@rango-dev/signer-solana';\nimport type { Transaction, VersionedTransaction } from '@solana/web3.js';\nimport type { GenericSigner, SolanaTransaction } from 'rango-types';\n\nimport { generalSolanaTransactionExecutor } from '@rango-dev/signer-solana';\nimport { dynamicImportWithRefinedError } from '@rango-dev/wallets-shared';\nimport { PublicKey } from '@solana/web3.js';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { getDerivationPath } from '../state.js';\nimport {\n getLedgerError,\n transportConnect,\n transportDisconnect,\n} from '../utils.js';\n\nexport function isVersionedTransaction(\n transaction: Transaction | VersionedTransaction\n): transaction is VersionedTransaction {\n return 'version' in transaction;\n}\n\nexport class SolanaSigner implements GenericSigner<SolanaTransaction> {\n async signMessage(msg: string): Promise<string> {\n try {\n const transport = await transportConnect();\n const LedgerAppSolana = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-solana')\n )\n ).default;\n const solana = new LedgerAppSolana(transport);\n\n const result = await solana.signOffchainMessage(\n getDerivationPath(),\n Buffer.from(msg)\n );\n return result.signature.toString();\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(tx: SolanaTransaction): Promise<{ hash: string }> {\n try {\n const DefaultSolanaSigner: SolanaWeb3Signer = async (\n solanaWeb3Transaction: Transaction | VersionedTransaction\n ) => {\n const transport = await transportConnect();\n const LedgerAppSolana = (\n await dynamicImportWithRefinedError(\n async () => await import('@ledgerhq/hw-app-solana')\n )\n ).default;\n const solana = new LedgerAppSolana(transport);\n\n let signResult;\n if (isVersionedTransaction(solanaWeb3Transaction)) {\n signResult = await solana.signTransaction(\n getDerivationPath(),\n solanaWeb3Transaction.message.serialize() as Buffer\n );\n } else {\n signResult = await solana.signTransaction(\n getDerivationPath(),\n solanaWeb3Transaction.serialize()\n );\n }\n\n const addressResult = await solana.getAddress(getDerivationPath());\n\n const publicKey = new PublicKey(addressResult.address);\n\n solanaWeb3Transaction.addSignature(\n publicKey,\n Buffer.from(signResult.signature)\n );\n\n const serializedTx = solanaWeb3Transaction.serialize();\n\n return serializedTx;\n };\n const hash = await generalSolanaTransactionExecutor(\n tx,\n DefaultSolanaSigner\n );\n return { hash };\n } catch (error) {\n throw getLedgerError(error);\n } finally {\n await transportDisconnect();\n }\n }\n}\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { ledger as ledgerInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (ledgerInstance()) {\n setState('installed', true);\n }\n })\n .config('metadata', metadata)\n .add('solana', solana)\n .add('evm', evm)\n .build();\n\nexport { buildProvider };\n", "import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n type CaipAccount,\n builders as commonBuilders,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n builders,\n CAIP_NAMESPACE,\n} from '@rango-dev/wallets-core/namespaces/evm';\nimport { CAIP } from '@rango-dev/wallets-core/utils';\nimport { ETHEREUM_CHAIN_ID } from '@rango-dev/wallets-shared';\n\nimport { WALLET_ID } from '../constants.js';\nimport { setDerivationPath } from '../state.js';\nimport {\n getEthereumAccounts,\n standardizeAndThrowLedgerError,\n} from '../utils.js';\n\nconst connect = builders\n .connect()\n .action(async function (_context, _chain, options) {\n if (!options?.derivationPath) {\n throw new Error('Derivation Path can not be empty.');\n }\n\n setDerivationPath(options.derivationPath);\n\n const result = await getEthereumAccounts();\n\n const formatAccounts = result.accounts.map(\n (account) =>\n CAIP.AccountId.format({\n address: account,\n chainId: {\n namespace: CAIP_NAMESPACE,\n reference: result.chainId,\n },\n }) as CaipAccount\n );\n\n return {\n accounts: formatAccounts,\n network: result.chainId,\n };\n })\n .or(standardizeAndThrowLedgerError)\n .build();\n\nconst disconnect = commonBuilders.disconnect<EvmActions>().build();\n\nconst getChainId = builders\n .getChainId()\n .action(() => ETHEREUM_CHAIN_ID)\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import type { CaipAccount } from '@rango-dev/wallets-core/namespaces/common';\nimport type { SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport { builders as commonBuilders } from '@rango-dev/wallets-core/namespaces/common';\nimport {\n builders,\n CAIP_NAMESPACE,\n} from '@rango-dev/wallets-core/namespaces/solana';\nimport { CAIP } from '@rango-dev/wallets-core/utils';\n\nimport { WALLET_ID } from '../constants.js';\nimport { setDerivationPath } from '../state.js';\nimport { getSolanaAccounts, standardizeAndThrowLedgerError } from '../utils.js';\n\nconst connect = builders\n .connect()\n .action(async function (_context, options) {\n if (!options?.derivationPath) {\n throw new Error('Derivation Path can not be empty.');\n }\n\n setDerivationPath(options.derivationPath);\n\n const result = await getSolanaAccounts();\n\n const formatAccounts = result.accounts.map(\n (account) =>\n CAIP.AccountId.format({\n address: account,\n chainId: {\n namespace: CAIP_NAMESPACE,\n reference: result.chainId,\n },\n }) as CaipAccount\n );\n\n return formatAccounts;\n })\n .or(standardizeAndThrowLedgerError)\n .build();\n\nconst disconnect = commonBuilders.disconnect<SolanaActions>().build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { solana };\n"],
5
+ "mappings": "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",
6
+ "names": ["defineVersions", "Networks", "WalletTypes", "DefaultSignerFactory", "TxType", "DEFAULT_ETHEREUM_RPC_URL", "dynamicImportWithRefinedError", "JsonRpcProvider", "Transaction", "SignerError", "SignerErrorCode", "derivationPath", "setDerivationPath", "path", "__name", "getDerivationPath", "LegacyNetworks", "CAIP_SOLANA_CHAIN_ID", "dynamicImportWithRefinedError", "ETHEREUM_CHAIN_ID", "bs58", "LegacyNetworks", "Networks", "EVM_SUPPORTED_CHAINS", "LegacyNetworks", "HEXADECIMAL_BASE", "WALLET_ID", "metadata", "allBlockchains", "chain", "Networks", "index", "getSigners", "ledger", "instances", "LegacyNetworks", "ETHEREUM_CHAIN_ID", "__name", "ledgerFrequentErrorMessages", "getLedgerErrorMessage", "statusCode", "getAltStatusMessage", "HEXADECIMAL_BASE", "getLedgerError", "error", "standardizeAndThrowLedgerError", "_", "getEthereumAccounts", "transport", "transportConnect", "LedgerAppEth", "dynamicImportWithRefinedError", "eth", "derivationPath", "getDerivationPath", "accounts", "result", "transportDisconnect", "getSolanaAccounts", "LedgerAppSolana", "solana", "bs58", "CAIP_SOLANA_CHAIN_ID", "transportConnection", "EthereumSigner", "__name", "msg", "transport", "transportConnect", "LedgerAppEth", "dynamicImportWithRefinedError", "result", "getDerivationPath", "v", "error", "SignerError", "SignerErrorCode", "tx", "fromAddress", "chainId", "provider", "JsonRpcProvider", "DEFAULT_ETHEREUM_RPC_URL", "transactionCount", "transaction", "unsignedTx", "Transaction", "LedgerHqAppEth", "eth", "resolution", "signature", "signedTx", "getLedgerError", "transportDisconnect", "generalSolanaTransactionExecutor", "dynamicImportWithRefinedError", "PublicKey", "SignerError", "SignerErrorCode", "isVersionedTransaction", "transaction", "__name", "SolanaSigner", "msg", "transport", "transportConnect", "LedgerAppSolana", "dynamicImportWithRefinedError", "getDerivationPath", "error", "SignerError", "SignerErrorCode", "tx", "generalSolanaTransactionExecutor", "solanaWeb3Transaction", "solana", "signResult", "addressResult", "publicKey", "PublicKey", "getLedgerError", "transportDisconnect", "getSigners", "signers", "DefaultSignerFactory", "TxType", "EthereumSigner", "SolanaSigner", "__name", "config", "WalletTypes", "getInstance", "ledger", "connect", "__name", "namespaces", "results", "solanaNamespace", "namespaceItem", "evmNamespace", "setDerivationPath", "accounts", "getSolanaAccounts", "getEthereumAccounts", "getSigners", "getWalletInfo", "__name", "allBlockChains", "supportedChains", "ethereumBlockchain", "chain", "Networks", "solanaBlockchain", "index", "allBlockchains", "buildLegacyProvider", "config", "getInstance", "connect", "ProviderBuilder", "NamespaceBuilder", "commonBuilders", "builders", "CAIP_NAMESPACE", "CAIP", "ETHEREUM_CHAIN_ID", "connect", "builders", "_context", "_chain", "options", "setDerivationPath", "result", "getEthereumAccounts", "account", "CAIP", "CAIP_NAMESPACE", "standardizeAndThrowLedgerError", "disconnect", "commonBuilders", "getChainId", "ETHEREUM_CHAIN_ID", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "builders", "CAIP_NAMESPACE", "CAIP", "connect", "builders", "_context", "options", "setDerivationPath", "result", "getSolanaAccounts", "account", "CAIP", "CAIP_NAMESPACE", "standardizeAndThrowLedgerError", "disconnect", "commonBuilders", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "ledger", "metadata", "solana", "evm", "versions", "__name", "defineVersions", "buildLegacyProvider", "buildProvider"]
7
7
  }