@rango-dev/provider-ledger 0.21.1-next.2 → 0.21.1-next.4
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/{chunk-HLLU77MH.js → Eth-Y5JFGVQA.js} +2 -2
- package/dist/{chunk-OOX2UCLJ.js → Solana-UB4SGWQ3.js} +2 -2
- package/dist/{TransportWebHID-HV53OYSS.js → TransportWebHID-JLT4ETY3.js} +2 -2
- package/dist/mod.js +1 -1
- package/dist/mod.js.map +4 -4
- package/dist/provider-ledger.build.json +1 -1
- package/package.json +3 -2
- package/src/signer.ts +3 -7
- package/src/signers/ethereum.ts +19 -9
- package/src/signers/solana.ts +13 -4
- package/src/utils.ts +15 -11
- package/dist/Eth-5PCPPYSI.js +0 -2
- package/dist/Eth-5PCPPYSI.js.map +0 -7
- package/dist/Solana-NJS3LWGA.js +0 -2
- package/dist/Solana-NJS3LWGA.js.map +0 -7
- package/dist/chunk-I25CJMQS.js +0 -2
- package/dist/chunk-I25CJMQS.js.map +0 -7
- package/dist/ethereum-J6U6B3NU.js +0 -2
- package/dist/ethereum-J6U6B3NU.js.map +0 -7
- package/dist/solana-Q7LP23TP.js +0 -2
- package/dist/solana-Q7LP23TP.js.map +0 -7
- /package/dist/{chunk-HLLU77MH.js.map → Eth-Y5JFGVQA.js.map} +0 -0
- /package/dist/{chunk-OOX2UCLJ.js.map → Solana-UB4SGWQ3.js.map} +0 -0
- /package/dist/{TransportWebHID-HV53OYSS.js.map → TransportWebHID-JLT4ETY3.js.map} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{m as d,n as s}from"./chunk-HLLU77MH.js";import"./chunk-5QSDSOWH.js";import{d as o,l as h,p as i,q as l}from"./chunk-I25CJMQS.js";import{a as p}from"./chunk-CVKDPNYM.js";import{DEFAULT_ETHEREUM_RPC_URL as P}from"@rango-dev/wallets-shared";import{JsonRpcProvider as y,Transaction as f}from"ethers";import{SignerError as E,SignerErrorCode as R}from"rango-types";var u=class{static{p(this,"EthereumSigner")}async signMessage(r){try{let a=await i(),t=await new s(a).signPersonalMessage(o(),Buffer.from(r).toString("hex")),n=(t.v-27).toString(16);return n.length<2&&(n="0"+n),"0x"+t.r+t.s+n}catch(a){throw new E(R.SIGN_TX_ERROR,void 0,a)}}async signAndSendTx(r,a,c){try{let t=new y(P),n=await t.getTransactionCount(a),g={to:r.to,gasPrice:r.gasPrice,gasLimit:r.gasLimit,nonce:n,chainId:c,data:r.data,value:r.value,maxPriorityFeePerGas:r.maxPriorityFeePerGas,maxFeePerGas:r.maxFeePerGas},m=f.from(g).unsignedSerialized.substring(2),T=await d.resolveTransaction(m,{},{}),v=await i(),e=await new s(v).signTransaction(o(),m,T),w=f.from({...g,signature:{r:"0x"+e.r,s:"0x"+e.s,v:parseInt(e.v)}}).serialized;return{hash:(await t.broadcastTransaction(w)).hash}}catch(t){throw h(t)}finally{await l()}}};export{u as EthereumSigner};
|
|
2
|
-
//# sourceMappingURL=ethereum-J6U6B3NU.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/signers/ethereum.ts"],
|
|
4
|
-
"sourcesContent": ["import type { TransactionLike } from 'ethers';\nimport type { GenericSigner } from 'rango-types';\nimport type { EvmTransaction } from 'rango-types/mainApi';\n\nimport Eth, { ledgerService } from '@ledgerhq/hw-app-eth';\nimport { DEFAULT_ETHEREUM_RPC_URL } 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\n const eth = new Eth(transport);\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 resolution = await ledgerService.resolveTransaction(\n unsignedTx,\n {},\n {}\n ); // metadata necessary to allow the device to clear sign information\n\n const transport = await transportConnect();\n\n const eth = new Eth(transport);\n\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"],
|
|
5
|
-
"mappings": "gLAKA,OAAS,4BAAAA,MAAgC,4BACzC,OAAS,mBAAAC,EAAiB,eAAAC,MAAmB,SAC7C,OAAS,eAAAC,EAAa,mBAAAC,MAAuB,cAStC,IAAMC,EAAN,KAA8D,CAhBrE,MAgBqE,CAAAC,EAAA,uBACnE,MAAM,YAAYC,EAA8B,CAC9C,GAAI,CACF,IAAMC,EAAY,MAAMC,EAAiB,EAGnCC,EAAS,MADH,IAAIC,EAAIH,CAAS,EACJ,oBACvBI,EAAkB,EAClB,OAAO,KAAKL,CAAG,EAAE,SAAS,KAAK,CACjC,EAEIM,GAAKH,EAAO,EAAO,IAAI,SAAS,EAAE,EACtC,OAAIG,EAAE,OAAS,IACbA,EAAI,IAAMA,GAEL,KAAOH,EAAO,EAAOA,EAAO,EAAOG,CAC5C,OAASC,EAAO,CACd,MAAM,IAAIC,EAAYC,EAAgB,cAAe,OAAWF,CAAK,CACvE,CACF,CAEA,MAAM,cACJG,EACAC,EACAC,EAC2B,CAC3B,GAAI,CACF,IAAMC,EAAW,IAAIC,EAAgBC,CAAwB,EAEvDC,EAAmB,MAAMH,EAAS,oBAAoBF,CAAW,EAEjEM,EAAuC,CAC3C,GAAIP,EAAG,GACP,SAAUA,EAAG,SACb,SAAUA,EAAG,SACb,MAAOM,EACP,QAASJ,EACT,KAAMF,EAAG,KACT,MAAOA,EAAG,MACV,qBAAsBA,EAAG,qBACzB,aAAcA,EAAG,YACnB,EAEMQ,EACJC,EAAY,KAAKF,CAAW,EAAE,mBAAmB,UAAU,CAAC,EAExDG,EAAa,MAAMC,EAAc,mBACrCH,EACA,CAAC,EACD,CAAC,CACH,EAEMjB,EAAY,MAAMC,EAAiB,EAInCoB,EAAY,MAFN,IAAIlB,EAAIH,CAAS,EAED,gBAC1BI,EAAkB,EAClBa,EACAE,CACF,EAEMG,EAAWJ,EAAY,KAAK,CAChC,GAAGF,EACH,UAAW,CACT,EAAG,KAAOK,EAAU,EACpB,EAAG,KAAOA,EAAU,EACpB,EAAG,SAASA,EAAU,CAAC,CACzB,CACF,CAAC,EAAE,WAIH,MAAO,CAAE,MAFe,MAAMT,EAAS,qBAAqBU,CAAQ,GAErC,IAAK,CACtC,OAAShB,EAAO,CACd,MAAMiB,EAAejB,CAAK,CAC5B,QAAE,CACA,MAAMkB,EAAoB,CAC5B,CACF,CACF",
|
|
6
|
-
"names": ["DEFAULT_ETHEREUM_RPC_URL", "JsonRpcProvider", "Transaction", "SignerError", "SignerErrorCode", "EthereumSigner", "__name", "msg", "transport", "transportConnect", "result", "Eth", "getDerivationPath", "v", "error", "SignerError", "SignerErrorCode", "tx", "fromAddress", "chainId", "provider", "JsonRpcProvider", "DEFAULT_ETHEREUM_RPC_URL", "transactionCount", "transaction", "unsignedTx", "Transaction", "resolution", "ledger_default", "signature", "signedTx", "getLedgerError", "transportDisconnect"]
|
|
7
|
-
}
|
package/dist/solana-Q7LP23TP.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as o}from"./chunk-OOX2UCLJ.js";import{d as e,l,p as c,q as f}from"./chunk-I25CJMQS.js";import{a}from"./chunk-CVKDPNYM.js";import{generalSolanaTransactionExecutor as w}from"@rango-dev/signer-solana";import{PublicKey as T}from"@solana/web3.js";import{SignerError as h,SignerErrorCode as y}from"rango-types";function x(g){return"version"in g}a(x,"isVersionedTransaction");var m=class{static{a(this,"SolanaSigner")}async signMessage(t){try{let r=await c();return(await new o(r).signOffchainMessage(e(),Buffer.from(t))).signature.toString()}catch(r){throw new h(y.SIGN_TX_ERROR,void 0,r)}}async signAndSendTx(t){try{return{hash:await w(t,a(async n=>{let p=await c(),i=new o(p),s;x(n)?s=await i.signTransaction(e(),n.message.serialize()):s=await i.signTransaction(e(),n.serialize());let u=await i.getAddress(e()),S=new T(u.address);return n.addSignature(S,Buffer.from(s.signature)),n.serialize()},"DefaultSolanaSigner"))}}catch(r){throw l(r)}finally{await f()}}};export{m as SolanaSigner,x as isVersionedTransaction};
|
|
2
|
-
//# sourceMappingURL=solana-Q7LP23TP.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/signers/solana.ts"],
|
|
4
|
-
"sourcesContent": ["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 Solana from '@ledgerhq/hw-app-solana';\nimport { generalSolanaTransactionExecutor } from '@rango-dev/signer-solana';\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\n const solana = new Solana(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 solana = new Solana(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"],
|
|
5
|
-
"mappings": "mIAKA,OAAS,oCAAAA,MAAwC,2BACjD,OAAS,aAAAC,MAAiB,kBAC1B,OAAS,eAAAC,EAAa,mBAAAC,MAAuB,cAStC,SAASC,EACdC,EACqC,CACrC,MAAO,YAAaA,CACtB,CAJgBC,EAAAF,EAAA,0BAMT,IAAMG,EAAN,KAA+D,CAtBtE,MAsBsE,CAAAD,EAAA,qBACpE,MAAM,YAAYE,EAA8B,CAC9C,GAAI,CACF,IAAMC,EAAY,MAAMC,EAAiB,EAQzC,OAJe,MAFA,IAAIC,EAAOF,CAAS,EAEP,oBAC1BG,EAAkB,EAClB,OAAO,KAAKJ,CAAG,CACjB,GACc,UAAU,SAAS,CACnC,OAASK,EAAO,CACd,MAAM,IAAIC,EAAYC,EAAgB,cAAe,OAAWF,CAAK,CACvE,CACF,CAEA,MAAM,cAAcG,EAAkD,CACpE,GAAI,CAqCF,MAAO,CAAE,KAJI,MAAMC,EACjBD,EAjC4CV,EAAA,MAC5CY,GACG,CACH,IAAMT,EAAY,MAAMC,EAAiB,EACnCS,EAAS,IAAIR,EAAOF,CAAS,EAE/BW,EACAhB,EAAuBc,CAAqB,EAC9CE,EAAa,MAAMD,EAAO,gBACxBP,EAAkB,EAClBM,EAAsB,QAAQ,UAAU,CAC1C,EAEAE,EAAa,MAAMD,EAAO,gBACxBP,EAAkB,EAClBM,EAAsB,UAAU,CAClC,EAGF,IAAMG,EAAgB,MAAMF,EAAO,WAAWP,EAAkB,CAAC,EAE3DU,EAAY,IAAIC,EAAUF,EAAc,OAAO,EAErD,OAAAH,EAAsB,aACpBI,EACA,OAAO,KAAKF,EAAW,SAAS,CAClC,EAEqBF,EAAsB,UAAU,CAGvD,EA/B8C,sBAmC9C,CACc,CAChB,OAASL,EAAO,CACd,MAAMW,EAAeX,CAAK,CAC5B,QAAE,CACA,MAAMY,EAAoB,CAC5B,CACF,CACF",
|
|
6
|
-
"names": ["generalSolanaTransactionExecutor", "PublicKey", "SignerError", "SignerErrorCode", "isVersionedTransaction", "transaction", "__name", "SolanaSigner", "msg", "transport", "transportConnect", "Solana", "getDerivationPath", "error", "SignerError", "SignerErrorCode", "tx", "generalSolanaTransactionExecutor", "solanaWeb3Transaction", "solana", "signResult", "addressResult", "publicKey", "PublicKey", "getLedgerError", "transportDisconnect"]
|
|
7
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|