@rango-dev/provider-ledger 0.31.0 → 0.31.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mod.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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-
|
|
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-L5TO7MTO.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-MELLZRNW.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-L5TO7MTO.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-L5TO7MTO.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
|