@rango-dev/provider-ledger 0.32.1-next.4 → 0.32.1-next.5

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 as e,m as P}from"./chunk-CVKDPNYM.js";import{defineVersions as Tt}from"@hub3js/core/utils";import{ProviderBuilder as Pt}from"@hub3js/core";import{Networks as V}from"@rango-dev/wallets-shared";import"rango-types";import{DefaultSignerFactory as mt,TransactionType as H}from"rango-types";import{DEFAULT_ETHEREUM_RPC_URL as tt,dynamicImportWithRefinedError as N}from"@rango-dev/wallets-shared";import{JsonRpcProvider as rt,Transaction as k}from"ethers";import{SignerError as et,SignerErrorCode as nt}from"rango-types";var I="";function w(t){I=t}e(w,"setDerivationPath");function s(){return I}e(s,"getDerivationPath");import{EVM_NAMESPACE as q,SOLANA_NAMESPACE as K}from"@hub3js/namespaces";import{CAIP_SOLANA_CHAIN_ID as J}from"@hub3js/solana";import{LegacyNetworks as Q}from"@rango-dev/wallets-core/legacy";import{dynamicImportWithRefinedError as T,ETHEREUM_CHAIN_ID as D}from"@rango-dev/wallets-shared";import Y from"bs58";function C(){let t=new Map;return t.set(q,{chainId:D}),t.set(K,{chainId:Q.SOLANA}),t}e(C,"ledger");var b={21781:"The device is locked",25871:"Related application is not ready on your device",27013:"Action denied by user"};function Z(t){return b[t]?b[t]:P(t)?P(t):`Ledger device unknown error 0x${t.toString(R)}`}e(Z,"getLedgerErrorMessage");function d(t){return t?.statusCode?new Error(Z(t.statusCode)):t?.code==="INSUFFICIENT_FUNDS"?new Error("Insufficient funds for transaction"):t}e(d,"getLedgerError");function A(t,r){throw d(r)}e(A,"standardizeAndThrowLedgerError");async function M(){try{let t=await m(),r=(await T(async()=>await import("./Eth-L5TO7MTO.js"))).default,n=new r(t),a=s(),o=[],i=await n.getAddress(a,!1,!0);return o.push(i.address),{accounts:o,chainId:D,derivationPath:a}}catch(t){throw d(t)}finally{await l()}}e(M,"getEthereumAccounts");async function _(){try{let t=await m(),r=(await T(async()=>await import("./Solana-UB4SGWQ3.js"))).default,n=new r(t),a=s(),o=[],i=await n.getAddress(a);return o.push(Y.encode(i.address)),{accounts:o,chainId:J,derivationPath:a}}catch(t){throw d(t)}finally{await l()}}e(_,"getSolanaAccounts");var f=null;async function m(){return f=await(await T(async()=>await import("./TransportWebHID-MELLZRNW.js"))).default.create(),f}e(m,"transportConnect");async function l(){f&&(await f.close(),f=null)}e(l,"transportDisconnect");var E=class{static{e(this,"EthereumSigner")}async signMessage(r){try{let n=await m(),a=(await N(async()=>await import("./Eth-L5TO7MTO.js"))).default,i=await new a(n).signPersonalMessage(s(),Buffer.from(r).toString("hex")),c=(i.v-27).toString(16);return c.length<2&&(c="0"+c),"0x"+i.r+i.s+c}catch(n){throw new et(nt.SIGN_TX_ERROR,void 0,n)}}async signAndSendTx(r,n,a){try{let o=new rt(tt),i=await o.getTransactionCount(n),c={to:r.to,gasPrice:r.gasPrice,gasLimit:r.gasLimit,nonce:i,chainId:a,data:r.data,value:r.value,maxPriorityFeePerGas:r.maxPriorityFeePerGas,maxFeePerGas:r.maxFeePerGas},p=k.from(c).unsignedSerialized.substring(2),g=await m(),h=await N(async()=>await import("./Eth-L5TO7MTO.js")),S=h.default,L=new S(g),$=await h.ledgerService.resolveTransaction(p,{},{}),v=await L.signTransaction(s(),p,$),X=k.from({...c,signature:{r:"0x"+v.r,s:"0x"+v.s,v:parseInt(v.v)}}).serialized;return{hash:(await o.broadcastTransaction(X)).hash}}catch(o){throw d(o)}finally{await l()}}};import{generalSolanaTransactionExecutor as ot}from"@rango-dev/signer-solana";import{dynamicImportWithRefinedError as B}from"@rango-dev/wallets-shared";import{PublicKey as at}from"@solana/web3.js";import{SignerError as it,SignerErrorCode as st}from"rango-types";function ct(t){return"version"in t}e(ct,"isVersionedTransaction");var y=class{static{e(this,"SolanaSigner")}async signMessage(r){try{let n=await m(),a=(await B(async()=>await import("./Solana-UB4SGWQ3.js"))).default;return(await new a(n).signOffchainMessage(s(),Buffer.from(r))).signature.toString()}catch(n){throw new it(st.SIGN_TX_ERROR,void 0,n)}}async signAndSendTx(r){try{return{hash:await ot(r,e(async o=>{let i=await m(),c=(await B(async()=>await import("./Solana-UB4SGWQ3.js"))).default,p=new c(i),g;ct(o)?g=await p.signTransaction(s(),o.message.serialize()):g=await p.signTransaction(s(),o.serialize());let h=await p.getAddress(s()),S=new at(h.address);return o.addSignature(S,Buffer.from(g.signature)),o.serialize()},"DefaultSolanaSigner"))}}catch(n){throw d(n)}finally{await l()}}};async function x(){let t=new mt;return t.registerSigner(H.EVM,new E),t.registerSigner(H.SOLANA,new y),t}e(x,"getSigners");var R=16,u="ledger",F={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:t=>t.filter(r=>r.name===V.ETHEREUM)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:t=>t.filter(r=>r.name===V.SOLANA)}]}},{name:"derivationPath",value:{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}`}]}},{name:"signers",value:{getSigners:async()=>x()}}]};import{NamespaceBuilder as dt}from"@hub3js/core";import{builders as z,CAIP_NAMESPACE as pt}from"@hub3js/evm";import*as G from"@hub3js/std/builders";import{ETHEREUM_CHAIN_ID as lt}from"@rango-dev/wallets-shared";import{AccountId as ut}from"caip";var gt=z.connect().action(async function(t,r,n){if(!n?.derivationPath)throw new Error("Derivation Path can not be empty.");w(n.derivationPath);let a=await M();return{accounts:a.accounts.map(i=>ut.format({address:i,chainId:{namespace:pt,reference:a.chainId}})),network:a.chainId}}).or(A).build(),ft=G.disconnect().build(),ht=z.getChainId().action(()=>lt).build(),O=new dt("EVM",u).action(gt).action(ft).action(ht).build();import{NamespaceBuilder as wt}from"@hub3js/core";import{builders as At,CAIP_NAMESPACE as Et}from"@hub3js/solana";import*as U from"@hub3js/std/builders";import{AccountId as yt}from"caip";var St=At.connect().action(async function(t,r){if(!r?.derivationPath)throw new Error("Derivation Path can not be empty.");w(r.derivationPath);let n=await _();return n.accounts.map(o=>yt.format({address:o,chainId:{namespace:Et,reference:n.chainId}}))}).or(A).build(),vt=U.disconnect().build(),W=new wt("Solana",u).action(St).action(vt).build();var j=e(()=>new Pt(u).init(function(t){let[,r]=t.state();C()&&r("installed",!0)}).config("metadata",F).add("solana",W).add("evm",O).build(),"buildProvider");var _r=e(()=>Tt().version("1.0.0",j()).build(),"versions");export{_r as versions};
1
+ import{a as e,m as P}from"./chunk-CVKDPNYM.js";import{defineVersions as Tt}from"@hub3js/core/utils";import{ProviderBuilder as Pt}from"@hub3js/core";import{Networks as V}from"@rango-dev/wallets-shared";import"rango-types";import{DefaultSignerFactory as mt,TransactionType as H}from"rango-types";import{DEFAULT_ETHEREUM_RPC_URL as tt,dynamicImportWithRefinedError as N}from"@rango-dev/wallets-shared";import{JsonRpcProvider as rt,Transaction as k}from"ethers";import{SignerError as et,SignerErrorCode as nt}from"rango-types";var I="";function w(t){I=t}e(w,"setDerivationPath");function s(){return I}e(s,"getDerivationPath");import{EVM_NAMESPACE as q,SOLANA_NAMESPACE as K}from"@hub3js/namespaces";import{CAIP_SOLANA_CHAIN_ID as J}from"@hub3js/solana";import{LegacyNetworks as Q}from"@rango-dev/wallets-core/legacy";import{dynamicImportWithRefinedError as T,ETHEREUM_CHAIN_ID as D}from"@rango-dev/wallets-shared";import Y from"bs58";function C(){let t=new Map;return t.set(q,{chainId:D}),t.set(K,{chainId:Q.SOLANA}),t}e(C,"ledger");var b={21781:"The device is locked",25871:"Related application is not ready on your device",27013:"Action denied by user"};function Z(t){return b[t]?b[t]:P(t)?P(t):`Ledger device unknown error 0x${t.toString(R)}`}e(Z,"getLedgerErrorMessage");function d(t){return t?.statusCode?new Error(Z(t.statusCode)):t?.code==="INSUFFICIENT_FUNDS"?new Error("Insufficient funds for transaction"):t}e(d,"getLedgerError");function A(t,r){throw d(r)}e(A,"standardizeAndThrowLedgerError");async function M(){try{let t=await m(),r=(await T(async()=>await import("./Eth-57SIE6C4.js"))).default,n=new r(t),a=s(),o=[],i=await n.getAddress(a,!1,!0);return o.push(i.address),{accounts:o,chainId:D,derivationPath:a}}catch(t){throw d(t)}finally{await l()}}e(M,"getEthereumAccounts");async function _(){try{let t=await m(),r=(await T(async()=>await import("./Solana-UB4SGWQ3.js"))).default,n=new r(t),a=s(),o=[],i=await n.getAddress(a);return o.push(Y.encode(i.address)),{accounts:o,chainId:J,derivationPath:a}}catch(t){throw d(t)}finally{await l()}}e(_,"getSolanaAccounts");var f=null;async function m(){return f=await(await T(async()=>await import("./TransportWebHID-YWGJOL6M.js"))).default.create(),f}e(m,"transportConnect");async function l(){f&&(await f.close(),f=null)}e(l,"transportDisconnect");var E=class{static{e(this,"EthereumSigner")}async signMessage(r){try{let n=await m(),a=(await N(async()=>await import("./Eth-57SIE6C4.js"))).default,i=await new a(n).signPersonalMessage(s(),Buffer.from(r).toString("hex")),c=(i.v-27).toString(16);return c.length<2&&(c="0"+c),"0x"+i.r+i.s+c}catch(n){throw new et(nt.SIGN_TX_ERROR,void 0,n)}}async signAndSendTx(r,n,a){try{let o=new rt(tt),i=await o.getTransactionCount(n),c={to:r.to,gasPrice:r.gasPrice,gasLimit:r.gasLimit,nonce:i,chainId:a,data:r.data,value:r.value,maxPriorityFeePerGas:r.maxPriorityFeePerGas,maxFeePerGas:r.maxFeePerGas},p=k.from(c).unsignedSerialized.substring(2),g=await m(),h=await N(async()=>await import("./Eth-57SIE6C4.js")),S=h.default,L=new S(g),$=await h.ledgerService.resolveTransaction(p,{},{}),v=await L.signTransaction(s(),p,$),X=k.from({...c,signature:{r:"0x"+v.r,s:"0x"+v.s,v:parseInt(v.v)}}).serialized;return{hash:(await o.broadcastTransaction(X)).hash}}catch(o){throw d(o)}finally{await l()}}};import{generalSolanaTransactionExecutor as ot}from"@rango-dev/signer-solana";import{dynamicImportWithRefinedError as B}from"@rango-dev/wallets-shared";import{PublicKey as at}from"@solana/web3.js";import{SignerError as it,SignerErrorCode as st}from"rango-types";function ct(t){return"version"in t}e(ct,"isVersionedTransaction");var y=class{static{e(this,"SolanaSigner")}async signMessage(r){try{let n=await m(),a=(await B(async()=>await import("./Solana-UB4SGWQ3.js"))).default;return(await new a(n).signOffchainMessage(s(),Buffer.from(r))).signature.toString()}catch(n){throw new it(st.SIGN_TX_ERROR,void 0,n)}}async signAndSendTx(r){try{return{hash:await ot(r,e(async o=>{let i=await m(),c=(await B(async()=>await import("./Solana-UB4SGWQ3.js"))).default,p=new c(i),g;ct(o)?g=await p.signTransaction(s(),o.message.serialize()):g=await p.signTransaction(s(),o.serialize());let h=await p.getAddress(s()),S=new at(h.address);return o.addSignature(S,Buffer.from(g.signature)),o.serialize()},"DefaultSolanaSigner"))}}catch(n){throw d(n)}finally{await l()}}};async function x(){let t=new mt;return t.registerSigner(H.EVM,new E),t.registerSigner(H.SOLANA,new y),t}e(x,"getSigners");var R=16,u="ledger",F={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:t=>t.filter(r=>r.name===V.ETHEREUM)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:t=>t.filter(r=>r.name===V.SOLANA)}]}},{name:"derivationPath",value:{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}`}]}},{name:"signers",value:{getSigners:async()=>x()}}]};import{NamespaceBuilder as dt}from"@hub3js/core";import{builders as z,CAIP_NAMESPACE as pt}from"@hub3js/evm";import*as G from"@hub3js/std/builders";import{ETHEREUM_CHAIN_ID as lt}from"@rango-dev/wallets-shared";import{AccountId as ut}from"caip";var gt=z.connect().action(async function(t,r,n){if(!n?.derivationPath)throw new Error("Derivation Path can not be empty.");w(n.derivationPath);let a=await M();return{accounts:a.accounts.map(i=>ut.format({address:i,chainId:{namespace:pt,reference:a.chainId}})),network:a.chainId}}).or(A).build(),ft=G.disconnect().build(),ht=z.getChainId().action(()=>lt).build(),O=new dt("EVM",u).action(gt).action(ft).action(ht).build();import{NamespaceBuilder as wt}from"@hub3js/core";import{builders as At,CAIP_NAMESPACE as Et}from"@hub3js/solana";import*as U from"@hub3js/std/builders";import{AccountId as yt}from"caip";var St=At.connect().action(async function(t,r){if(!r?.derivationPath)throw new Error("Derivation Path can not be empty.");w(r.derivationPath);let n=await _();return n.accounts.map(o=>yt.format({address:o,chainId:{namespace:Et,reference:n.chainId}}))}).or(A).build(),vt=U.disconnect().build(),W=new wt("Solana",u).action(St).action(vt).build();var j=e(()=>new Pt(u).init(function(t){let[,r]=t.state();C()&&r("installed",!0)}).config("metadata",F).add("solana",W).add("evm",O).build(),"buildProvider");var _r=e(()=>Tt().version("1.0.0",j()).build(),"versions");export{_r as versions};
2
2
  //# sourceMappingURL=mod.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-ledger",
3
- "version": "0.32.1-next.4",
3
+ "version": "0.32.1-next.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/mod.ts",
@@ -14,7 +14,7 @@
14
14
  "src"
15
15
  ],
16
16
  "scripts": {
17
- "build": "node ../../scripts/build/command.mjs --path wallets/provider-ledger --splitting --external-all-except @ledgerhq/errors,@ledgerhq/hw-app-eth,@ledgerhq/hw-app-solana,@ledgerhq/hw-transport-webhid,@ledgerhq/types-cryptoassets,@ledgerhq/types-devices --inputs src/mod.ts",
17
+ "build": "yarn run rangutopia library build --splitting --external-all-except @ledgerhq/errors,@ledgerhq/hw-app-eth,@ledgerhq/hw-app-solana,@ledgerhq/hw-transport-webhid,@ledgerhq/types-cryptoassets,@ledgerhq/types-devices",
18
18
  "ts-check": "tsc --declaration --emitDeclarationOnly -p ./tsconfig.json",
19
19
  "clean": "rimraf dist",
20
20
  "format": "prettier --write '{.,src}/**/*.{ts,tsx}'",
@@ -32,9 +32,9 @@
32
32
  "@ledgerhq/hw-transport-webhid": "^6.28.6",
33
33
  "@ledgerhq/types-cryptoassets": "^7.11.0",
34
34
  "@ledgerhq/types-devices": "^6.24.0",
35
- "@rango-dev/signer-solana": "^0.48.0",
36
- "@rango-dev/wallets-core": "^0.60.1-next.2",
37
- "@rango-dev/wallets-shared": "^0.61.1-next.3",
35
+ "@rango-dev/signer-solana": "^0.48.1-next.0",
36
+ "@rango-dev/wallets-core": "^0.60.1-next.3",
37
+ "@rango-dev/wallets-shared": "^0.61.1-next.4",
38
38
  "@solana/web3.js": "^1.91.4",
39
39
  "@types/w3c-web-hid": "^1.0.2",
40
40
  "bs58": "^5.0.0",