@swapkit/wallet-hardware 5.0.0 → 6.0.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.
Files changed (167) hide show
  1. package/dist/THIRD_PARTY_LICENSES.md +2344 -0
  2. package/dist/chunk-09e51wma.js +4 -0
  3. package/dist/chunk-09e51wma.js.map +167 -0
  4. package/dist/chunk-0arpsm5f.js +4 -0
  5. package/dist/chunk-0arpsm5f.js.map +10 -0
  6. package/dist/chunk-1amf58aq.js +4 -0
  7. package/dist/{chunk-vwv6z2mk.js.map → chunk-1amf58aq.js.map} +2 -2
  8. package/dist/chunk-3t17wpjg.js +17 -0
  9. package/dist/chunk-3t17wpjg.js.map +29 -0
  10. package/dist/chunk-5c7b7z2d.js +4 -0
  11. package/dist/{chunk-9gy0xve4.js.map → chunk-5c7b7z2d.js.map} +2 -2
  12. package/dist/chunk-5p3ttw6y.js +4 -0
  13. package/dist/{chunk-n05bv2n5.js.map → chunk-5p3ttw6y.js.map} +1 -1
  14. package/dist/chunk-dptbnkzm.js +64 -0
  15. package/dist/chunk-dptbnkzm.js.map +260 -0
  16. package/dist/chunk-ds2m83jp.js +5 -0
  17. package/dist/chunk-ds2m83jp.js.map +11 -0
  18. package/dist/chunk-eenx3cv6.js +4 -0
  19. package/dist/chunk-eenx3cv6.js.map +33 -0
  20. package/dist/chunk-gr3eswf1.js +4 -0
  21. package/dist/chunk-gr3eswf1.js.map +73 -0
  22. package/dist/{chunk-7fsaymh4.js → chunk-hg71hp4m.js} +3 -3
  23. package/dist/{chunk-7fsaymh4.js.map → chunk-hg71hp4m.js.map} +1 -1
  24. package/dist/chunk-jewm2ag3.js +5 -0
  25. package/dist/chunk-jewm2ag3.js.map +10 -0
  26. package/dist/chunk-jzrytcrf.js +4 -0
  27. package/dist/chunk-jzrytcrf.js.map +12 -0
  28. package/dist/chunk-k3thje6a.js +4 -0
  29. package/dist/chunk-k3thje6a.js.map +9 -0
  30. package/dist/chunk-nhva847d.js +5 -0
  31. package/dist/chunk-nhva847d.js.map +9 -0
  32. package/dist/chunk-tm47brht.js +4 -0
  33. package/dist/chunk-tm47brht.js.map +140 -0
  34. package/dist/chunk-xmvg4cds.js +4 -0
  35. package/dist/chunk-xmvg4cds.js.map +127 -0
  36. package/dist/chunk-xx7cwpzq.js +4 -0
  37. package/dist/chunk-xx7cwpzq.js.map +9 -0
  38. package/dist/chunk-yrxe491r.js +20 -0
  39. package/dist/chunk-yrxe491r.js.map +17 -0
  40. package/dist/index.cjs +2 -2
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/keepkey/index.cjs +2 -2
  43. package/dist/keepkey/index.cjs.map +2 -2
  44. package/dist/keepkey/index.js +2 -2
  45. package/dist/keepkey/index.js.map +2 -2
  46. package/dist/ledger/index.cjs +90 -2
  47. package/dist/ledger/index.cjs.map +830 -23
  48. package/dist/ledger/index.js +2 -2
  49. package/dist/ledger/index.js.map +21 -19
  50. package/dist/trezor/index.cjs +2 -2
  51. package/dist/trezor/index.cjs.map +5 -4
  52. package/dist/trezor/index.js +2 -2
  53. package/dist/trezor/index.js.map +3 -3
  54. package/dist/types/helpers/psbt.d.ts +9 -0
  55. package/dist/types/helpers/psbt.d.ts.map +1 -0
  56. package/dist/types/ledger/clients/bitcoin.d.ts +36 -0
  57. package/dist/types/ledger/clients/bitcoin.d.ts.map +1 -0
  58. package/dist/types/ledger/clients/cosmos.d.ts +38 -10
  59. package/dist/types/ledger/clients/cosmos.d.ts.map +1 -1
  60. package/dist/types/ledger/clients/evm.d.ts +37 -46
  61. package/dist/types/ledger/clients/evm.d.ts.map +1 -1
  62. package/dist/types/ledger/clients/near.d.ts +5 -2
  63. package/dist/types/ledger/clients/near.d.ts.map +1 -1
  64. package/dist/types/ledger/clients/sui.d.ts +8 -12
  65. package/dist/types/ledger/clients/sui.d.ts.map +1 -1
  66. package/dist/types/ledger/clients/thorchain/index.d.ts +34 -8
  67. package/dist/types/ledger/clients/thorchain/index.d.ts.map +1 -1
  68. package/dist/types/ledger/clients/thorchain/protocol.d.ts +58 -0
  69. package/dist/types/ledger/clients/thorchain/protocol.d.ts.map +1 -0
  70. package/dist/types/ledger/clients/tron.d.ts +11 -8
  71. package/dist/types/ledger/clients/tron.d.ts.map +1 -1
  72. package/dist/types/ledger/clients/utxo-legacy-adapter.d.ts +3 -2
  73. package/dist/types/ledger/clients/utxo-legacy-adapter.d.ts.map +1 -1
  74. package/dist/types/ledger/clients/utxo-legacy-outputs.d.ts +18 -0
  75. package/dist/types/ledger/clients/utxo-legacy-outputs.d.ts.map +1 -0
  76. package/dist/types/ledger/clients/utxo.d.ts +10 -13
  77. package/dist/types/ledger/clients/utxo.d.ts.map +1 -1
  78. package/dist/types/ledger/clients/xrp.d.ts +4 -1
  79. package/dist/types/ledger/clients/xrp.d.ts.map +1 -1
  80. package/dist/types/ledger/clients/zcash.d.ts +53 -0
  81. package/dist/types/ledger/clients/zcash.d.ts.map +1 -0
  82. package/dist/types/ledger/helpers/dmk.d.ts +24 -0
  83. package/dist/types/ledger/helpers/dmk.d.ts.map +1 -0
  84. package/dist/types/ledger/helpers/executeDeviceAction.d.ts +34 -0
  85. package/dist/types/ledger/helpers/executeDeviceAction.d.ts.map +1 -0
  86. package/dist/types/ledger/helpers/getLedgerAddress.d.ts +1 -1
  87. package/dist/types/ledger/helpers/getLedgerAddress.d.ts.map +1 -1
  88. package/dist/types/ledger/helpers/getLedgerClient.d.ts +10 -3
  89. package/dist/types/ledger/helpers/getLedgerClient.d.ts.map +1 -1
  90. package/dist/types/ledger/helpers/index.d.ts +2 -1
  91. package/dist/types/ledger/helpers/index.d.ts.map +1 -1
  92. package/dist/types/ledger/helpers/ledgerJsDmkBridge.d.ts +26 -0
  93. package/dist/types/ledger/helpers/ledgerJsDmkBridge.d.ts.map +1 -0
  94. package/dist/types/ledger/helpers/ledgerJsDmkTransport.d.ts +13 -0
  95. package/dist/types/ledger/helpers/ledgerJsDmkTransport.d.ts.map +1 -0
  96. package/dist/types/ledger/helpers/lowS.d.ts +6 -0
  97. package/dist/types/ledger/helpers/lowS.d.ts.map +1 -0
  98. package/dist/types/ledger/helpers/rawTx.d.ts +2 -0
  99. package/dist/types/ledger/helpers/rawTx.d.ts.map +1 -0
  100. package/dist/types/ledger/index.d.ts +19 -7
  101. package/dist/types/ledger/index.d.ts.map +1 -1
  102. package/dist/types/ledger/types.d.ts +6 -10
  103. package/dist/types/ledger/types.d.ts.map +1 -1
  104. package/dist/types/trezor/index.d.ts +2 -2
  105. package/dist/types/trezor/index.d.ts.map +1 -1
  106. package/package.json +36 -36
  107. package/src/helpers/psbt.ts +26 -0
  108. package/src/ledger/clients/bitcoin.ts +575 -0
  109. package/src/ledger/clients/cosmos.ts +180 -51
  110. package/src/ledger/clients/evm.ts +238 -195
  111. package/src/ledger/clients/near.ts +43 -13
  112. package/src/ledger/clients/sui.ts +55 -68
  113. package/src/ledger/clients/thorchain/index.ts +210 -86
  114. package/src/ledger/clients/thorchain/protocol.ts +166 -0
  115. package/src/ledger/clients/tron.ts +49 -37
  116. package/src/ledger/clients/utxo-legacy-adapter.ts +35 -32
  117. package/src/ledger/clients/utxo-legacy-outputs.ts +122 -0
  118. package/src/ledger/clients/utxo.ts +108 -206
  119. package/src/ledger/clients/xrp.ts +39 -23
  120. package/src/ledger/clients/zcash.ts +440 -0
  121. package/src/ledger/helpers/dmk.ts +231 -0
  122. package/src/ledger/helpers/executeDeviceAction.ts +201 -0
  123. package/src/ledger/helpers/getLedgerClient.ts +101 -72
  124. package/src/ledger/helpers/index.ts +6 -1
  125. package/src/ledger/helpers/ledgerJsDmkBridge.ts +109 -0
  126. package/src/ledger/helpers/ledgerJsDmkTransport.ts +88 -0
  127. package/src/ledger/helpers/lowS.ts +30 -0
  128. package/src/ledger/helpers/rawTx.ts +12 -0
  129. package/src/ledger/index.ts +564 -369
  130. package/src/ledger/types.ts +15 -10
  131. package/src/trezor/index.ts +117 -25
  132. package/dist/chunk-3yr76n9s.js +0 -5
  133. package/dist/chunk-3yr76n9s.js.map +0 -10
  134. package/dist/chunk-9gy0xve4.js +0 -4
  135. package/dist/chunk-bwf31zxr.js +0 -4
  136. package/dist/chunk-bwf31zxr.js.map +0 -10
  137. package/dist/chunk-egtwbe6q.js +0 -4
  138. package/dist/chunk-egtwbe6q.js.map +0 -10
  139. package/dist/chunk-n05bv2n5.js +0 -5
  140. package/dist/chunk-vwv6z2mk.js +0 -4
  141. package/dist/types/ledger/clients/thorchain/common.d.ts +0 -28
  142. package/dist/types/ledger/clients/thorchain/common.d.ts.map +0 -1
  143. package/dist/types/ledger/clients/thorchain/helpers.d.ts +0 -7
  144. package/dist/types/ledger/clients/thorchain/helpers.d.ts.map +0 -1
  145. package/dist/types/ledger/clients/thorchain/lib.d.ts +0 -22
  146. package/dist/types/ledger/clients/thorchain/lib.d.ts.map +0 -1
  147. package/dist/types/ledger/clients/thorchain/utils.d.ts +0 -2
  148. package/dist/types/ledger/clients/thorchain/utils.d.ts.map +0 -1
  149. package/dist/types/ledger/clients/utxo-psbt.d.ts +0 -18
  150. package/dist/types/ledger/clients/utxo-psbt.d.ts.map +0 -1
  151. package/dist/types/ledger/cosmosTypes.d.ts +0 -40
  152. package/dist/types/ledger/cosmosTypes.d.ts.map +0 -1
  153. package/dist/types/ledger/helpers/getLedgerTransport.d.ts +0 -3
  154. package/dist/types/ledger/helpers/getLedgerTransport.d.ts.map +0 -1
  155. package/dist/types/ledger/helpers/ledgerNetworkInfo.d.ts +0 -14
  156. package/dist/types/ledger/helpers/ledgerNetworkInfo.d.ts.map +0 -1
  157. package/dist/types/ledger/interfaces/CosmosLedgerInterface.d.ts +0 -14
  158. package/dist/types/ledger/interfaces/CosmosLedgerInterface.d.ts.map +0 -1
  159. package/src/ledger/clients/thorchain/common.ts +0 -93
  160. package/src/ledger/clients/thorchain/helpers.ts +0 -120
  161. package/src/ledger/clients/thorchain/lib.ts +0 -258
  162. package/src/ledger/clients/thorchain/utils.ts +0 -69
  163. package/src/ledger/clients/utxo-psbt.ts +0 -172
  164. package/src/ledger/cosmosTypes.ts +0 -98
  165. package/src/ledger/helpers/getLedgerTransport.ts +0 -102
  166. package/src/ledger/helpers/ledgerNetworkInfo.ts +0 -127
  167. package/src/ledger/interfaces/CosmosLedgerInterface.ts +0 -67
@@ -1,59 +1,50 @@
1
- import type EthereumApp from "@ledgerhq/hw-app-eth";
2
- import type Transport from "@ledgerhq/hw-transport";
3
1
  import { ChainId, type DerivationPathArray } from "@swapkit/helpers";
4
2
  import { AbstractSigner, type Provider, type TransactionRequest, type TypedDataDomain, type TypedDataField } from "ethers";
3
+ import { type LedgerDMKSession } from "../helpers/dmk";
4
+ import { type LedgerDeviceActionStateHandler } from "../helpers/executeDeviceAction";
5
+ interface EVMLedgerParams {
6
+ dmkSession?: LedgerDMKSession;
7
+ provider: Provider;
8
+ derivationPath?: DerivationPathArray | string;
9
+ chainId?: ChainId;
10
+ onDeviceActionState?: LedgerDeviceActionStateHandler;
11
+ originToken?: string;
12
+ }
5
13
  declare class EVMLedgerInterface extends AbstractSigner {
6
14
  chainId: ChainId;
7
15
  derivationPath: string;
8
- ledgerApp: InstanceType<typeof EthereumApp> | null;
9
- ledgerTimeout: number;
10
- private transport?;
11
- private readonly injectedTransport?;
12
- private arcNetworkRegistered;
13
- constructor({ provider, derivationPath, chainId, transport, }: {
14
- provider: Provider;
15
- derivationPath?: DerivationPathArray | string;
16
- chainId?: ChainId;
17
- transport?: Transport;
18
- });
16
+ private readonly dmkSession?;
17
+ private readonly getLedgerSigner;
18
+ private readonly onDeviceActionState?;
19
+ private readonly originToken?;
20
+ constructor({ provider, dmkSession, derivationPath, chainId, onDeviceActionState, originToken, }: EVMLedgerParams);
19
21
  connect: (provider: Provider) => EVMLedgerInterface;
20
- checkOrCreateTransportAndLedger: () => Promise<void>;
21
- createTransportAndLedger: () => Promise<void>;
22
- getAddress: () => Promise<string>;
23
- getAddressAndPubKey: () => Promise<{
24
- publicKey: string;
25
- address: string;
26
- chainCode?: string;
27
- } | undefined>;
28
- showAddressAndPubKey: () => Promise<{
29
- publicKey: string;
30
- address: string;
31
- chainCode?: string;
32
- } | undefined>;
33
- signMessage: (messageHex: string) => Promise<string>;
34
- sendTransaction: (tx: TransactionRequest) => Promise<any>;
22
+ getAddress: () => Promise<`0x${string}`>;
23
+ getAddressAndPubKey: () => Promise<import("@ledgerhq/device-signer-kit-ethereum/api/app-binder/GetAddressCommandTypes.js").GetAddressCommandResponse>;
24
+ showAddressAndPubKey: () => Promise<import("@ledgerhq/device-signer-kit-ethereum/api/app-binder/GetAddressCommandTypes.js").GetAddressCommandResponse>;
25
+ signMessage: (message: string | Uint8Array) => Promise<string>;
35
26
  signTypedData: (domain: TypedDataDomain, types: Record<string, TypedDataField[]>, value: Record<string, unknown>, explicitPrimaryType?: string) => Promise<string>;
36
27
  signTransaction: (tx: TransactionRequest) => Promise<string>;
37
- private signWithLedgerApp;
38
- private registerNetworkOnDevice;
39
28
  }
40
- type LedgerParams = {
29
+ interface LedgerParams {
30
+ dmkSession?: LedgerDMKSession;
41
31
  provider: Provider;
42
32
  derivationPath?: DerivationPathArray;
43
- transport?: Transport;
44
- };
45
- export declare const ArbitrumLedger: (params: LedgerParams) => EVMLedgerInterface;
46
- export declare const ArcLedger: (params: LedgerParams) => EVMLedgerInterface;
47
- export declare const AuroraLedger: (params: LedgerParams) => EVMLedgerInterface;
48
- export declare const AvalancheLedger: (params: LedgerParams) => EVMLedgerInterface;
49
- export declare const BaseLedger: (params: LedgerParams) => EVMLedgerInterface;
50
- export declare const EthereumLedger: (params: LedgerParams) => EVMLedgerInterface;
51
- export declare const GnosisLedger: (params: LedgerParams) => EVMLedgerInterface;
52
- export declare const OptimismLedger: (params: LedgerParams) => EVMLedgerInterface;
53
- export declare const PolygonLedger: (params: LedgerParams) => EVMLedgerInterface;
54
- export declare const BinanceSmartChainLedger: (params: LedgerParams) => EVMLedgerInterface;
55
- export declare const MonadLedger: (params: LedgerParams) => EVMLedgerInterface;
56
- export declare const XLayerLedger: (params: LedgerParams) => EVMLedgerInterface;
57
- export declare const BerachainLedger: (params: LedgerParams) => EVMLedgerInterface;
33
+ onDeviceActionState?: LedgerDeviceActionStateHandler;
34
+ originToken?: string;
35
+ }
36
+ export declare function ArbitrumLedger(params: LedgerParams): EVMLedgerInterface;
37
+ export declare function ArcLedger(params: LedgerParams): EVMLedgerInterface;
38
+ export declare function AuroraLedger(params: LedgerParams): EVMLedgerInterface;
39
+ export declare function AvalancheLedger(params: LedgerParams): EVMLedgerInterface;
40
+ export declare function BaseLedger(params: LedgerParams): EVMLedgerInterface;
41
+ export declare function EthereumLedger(params: LedgerParams): EVMLedgerInterface;
42
+ export declare function GnosisLedger(params: LedgerParams): EVMLedgerInterface;
43
+ export declare function OptimismLedger(params: LedgerParams): EVMLedgerInterface;
44
+ export declare function PolygonLedger(params: LedgerParams): EVMLedgerInterface;
45
+ export declare function BinanceSmartChainLedger(params: LedgerParams): EVMLedgerInterface;
46
+ export declare function MonadLedger(params: LedgerParams): EVMLedgerInterface;
47
+ export declare function XLayerLedger(params: LedgerParams): EVMLedgerInterface;
48
+ export declare function BerachainLedger(params: LedgerParams): EVMLedgerInterface;
58
49
  export {};
59
50
  //# sourceMappingURL=evm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,OAAO,EACP,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,QAAQ,CAAC;AAqChB,cAAM,kBAAmB,SAAQ,cAAc;IAC7C,OAAO,EAAE,OAAO,CAAoB;IACpC,cAAc,SAAM;IACpB,SAAS,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAQ;IAC1D,aAAa,SAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAY;IAC/C,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,EACV,QAAQ,EACR,cAAyC,EACzC,OAA0B,EAC1B,SAAS,GACV,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,cAAc,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE;IAUlH,OAAO,GAAI,UAAU,QAAQ,wBAMxB;IAEL,+BAA+B,sBAE7B;IAEF,wBAAwB,sBAOtB;IAEF,UAAU,wBAIR;IAEF,mBAAmB;;;;mBAGjB;IAEF,oBAAoB;;;;mBAGlB;IAEF,WAAW,GAAU,YAAY,MAAM,qBAWrC;IAEF,eAAe,GAAU,IAAI,kBAAkB,KAAG,OAAO,CAAC,GAAG,CAAC,CAM5D;IAEF,aAAa,GACX,QAAQ,eAAe,EACvB,OAAO,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,sBAAsB,MAAM,qBAmC5B;IAEF,eAAe,GAAU,IAAI,kBAAkB,qBAiD7C;IAEF,OAAO,CAAC,iBAAiB,CAiBvB;IAEF,OAAO,CAAC,uBAAuB,CAqB7B;CACH;AAED,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAExG,eAAO,MAAM,cAAc,GAAI,QAAQ,YAAY,uBACe,CAAC;AACnE,eAAO,MAAM,SAAS,GAAI,QAAQ,YAAY,uBAAgE,CAAC;AAC/G,eAAO,MAAM,YAAY,GAAI,QAAQ,YAAY,uBAAmE,CAAC;AACrH,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,uBACe,CAAC;AACpE,eAAO,MAAM,UAAU,GAAI,QAAQ,YAAY,uBAAiE,CAAC;AACjH,eAAO,MAAM,cAAc,GAAI,QAAQ,YAAY,uBACe,CAAC;AACnE,eAAO,MAAM,YAAY,GAAI,QAAQ,YAAY,uBAAmE,CAAC;AACrH,eAAO,MAAM,cAAc,GAAI,QAAQ,YAAY,uBACe,CAAC;AACnE,eAAO,MAAM,aAAa,GAAI,QAAQ,YAAY,uBAAoE,CAAC;AACvH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,YAAY,uBACe,CAAC;AAC5E,eAAO,MAAM,WAAW,GAAI,QAAQ,YAAY,uBAAkE,CAAC;AACnH,eAAO,MAAM,YAAY,GAAI,QAAQ,YAAY,uBAAmE,CAAC;AACrH,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,uBACe,CAAC"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/evm.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,KAAK,QAAQ,EAEb,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAA6B,KAAK,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAEhH,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqCD,cAAM,kBAAmB,SAAQ,cAAc;IAC7C,OAAO,EAAE,OAAO,CAAoB;IACpC,cAAc,SAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAiC;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,EACV,QAAQ,EACR,UAAU,EACV,cAAyC,EACzC,OAA0B,EAC1B,mBAAmB,EACnB,WAAW,GACZ,EAAE,eAAe;IAqClB,OAAO,GAAI,UAAU,QAAQ,wBAQxB;IAEL,UAAU,+BAIR;IAEF,mBAAmB,mIAOjB;IAEF,oBAAoB,mIAQlB;IAEF,WAAW,GAAU,SAAS,MAAM,GAAG,UAAU,qBAU/C;IAEF,aAAa,GACX,QAAQ,eAAe,EACvB,OAAO,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,sBAAsB,MAAM,qBA0C5B;IAEF,eAAe,GAAU,IAAI,kBAAkB,qBA2D7C;CACH;AAED,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,sBAElD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,sBAE7C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,sBAEhD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,sBAEnD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,sBAE9C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,sBAElD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,sBAEhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,sBAElD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,sBAEjD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,sBAE3D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,sBAE/C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,sBAEhD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,sBAEnD"}
@@ -1,5 +1,8 @@
1
1
  import type Transport from "@ledgerhq/hw-transport";
2
- import type { DerivationPathArray } from "@swapkit/helpers";
2
+ import { type DerivationPathArray } from "@swapkit/helpers";
3
3
  import type { NearSigner } from "@swapkit/toolboxes/near";
4
- export declare function getNearLedgerClient(derivationPath?: DerivationPathArray, injectedTransport?: Transport): Promise<NearSigner>;
4
+ import { type LedgerJsClientParams } from "../helpers/ledgerJsDmkBridge";
5
+ type NearLedgerParams = LedgerJsClientParams<DerivationPathArray>;
6
+ export declare function getNearLedgerClient(paramsOrPath?: NearLedgerParams | DerivationPathArray, transport?: Transport): Promise<NearSigner>;
7
+ export {};
5
8
  //# sourceMappingURL=near.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/near.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,wBAAsB,mBAAmB,CAAC,cAAc,CAAC,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,SAAS,uBAyD5G"}
1
+ {"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/near.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAS,KAAK,mBAAmB,EAAuC,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,8BAA8B,CAAC;AAEtC,KAAK,gBAAgB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;AAElE,wBAAsB,mBAAmB,CACvC,YAAY,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,EACrD,SAAS,CAAC,EAAE,SAAS,uBA2EtB"}
@@ -1,20 +1,15 @@
1
- import type Sui from "@ledgerhq/hw-app-sui";
2
1
  import type Transport from "@ledgerhq/hw-transport";
3
2
  import { type DerivationPathArray } from "@swapkit/helpers";
3
+ import { type LedgerJsClientParams } from "../helpers/ledgerJsDmkBridge";
4
+ type SuiLedgerParams = LedgerJsClientParams<DerivationPathArray | string>;
4
5
  export declare class SuiLedgerInterface {
5
- derivationPath: string;
6
- ledgerApp: InstanceType<typeof Sui> | null;
6
+ readonly derivationPath: string;
7
7
  address: string | null;
8
8
  publicKey: Uint8Array | null;
9
- private readonly injectedTransport?;
10
- constructor(derivationPath?: DerivationPathArray | string, transport?: Transport);
11
- /**
12
- * Transform derivation path for SUI Ledger format.
13
- * SUI Ledger expects: 44'/784'/0'/0'/0' (all hardened, no 'm/' prefix)
14
- * Standard format is: m/44'/784'/0'/0/0 (only first 3 hardened, has 'm/' prefix)
15
- */
9
+ private readonly connection;
10
+ constructor(paramsOrPath?: SuiLedgerParams | DerivationPathArray | string, transport?: Transport);
16
11
  private getLedgerPath;
17
- private createTransportAndLedger;
12
+ private runSuiOperation;
18
13
  connect(): Promise<string>;
19
14
  toSuiAddress(): string;
20
15
  getAddress(): Promise<string>;
@@ -25,5 +20,6 @@ export declare class SuiLedgerInterface {
25
20
  signature: string;
26
21
  }>;
27
22
  }
28
- export declare const SuiLedger: (derivationPath?: DerivationPathArray, transport?: Transport) => SuiLedgerInterface;
23
+ export declare function SuiLedger(paramsOrPath?: SuiLedgerParams | DerivationPathArray, transport?: Transport): SuiLedgerInterface;
24
+ export {};
29
25
  //# sourceMappingURL=sui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/sui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAEL,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,kBAAkB;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAQ;IAClD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAY;gBAEnC,cAAc,CAAC,EAAE,mBAAmB,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAQhF;;;;OAIG;IACH,OAAO,CAAC,aAAa;YAMP,wBAAwB;IAQhC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBhC,YAAY,IAAI,MAAM;IAOhB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,eAAe,CACnB,KAAK,EAAE,UAAU,GAAG;QAAE,WAAW,EAAE,UAAU,CAAA;KAAE,GAC9C,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAkDjD;AAED,eAAO,MAAM,SAAS,GAAI,iBAAiB,mBAAmB,EAAE,YAAY,SAAS,uBAClC,CAAC"}
1
+ {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/sui.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAEL,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,8BAA8B,CAAC;AAEtC,KAAK,eAAe,GAAG,oBAAoB,CAAC,mBAAmB,GAAG,MAAM,CAAC,CAAC;AAE1E,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0C;gBAEzD,YAAY,CAAC,EAAE,eAAe,GAAG,mBAAmB,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAUhG,OAAO,CAAC,aAAa;YAIP,eAAe;IAiBvB,OAAO;IAYb,YAAY;IAKN,UAAU;IAKV,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG;QAAE,WAAW,EAAE,UAAU,CAAA;KAAE;;;;CAqCtE;AAED,wBAAgB,SAAS,CAAC,YAAY,CAAC,EAAE,eAAe,GAAG,mBAAmB,EAAE,SAAS,CAAC,EAAE,SAAS,sBAEpG"}
@@ -1,18 +1,43 @@
1
1
  import type { AccountData, AminoSignResponse, StdSignDoc } from "@cosmjs/amino";
2
2
  import type Transport from "@ledgerhq/hw-transport";
3
3
  import { type DerivationPathArray } from "@swapkit/helpers";
4
- import { CosmosLedgerInterface } from "../../interfaces/CosmosLedgerInterface";
5
- import type { GetAddressAndPubKeyResponse } from "../../types";
4
+ import { type LedgerDMKSession } from "../../helpers/dmk";
5
+ import { type LedgerDeviceActionStateHandler } from "../../helpers/executeDeviceAction";
6
+ interface THORChainLedgerParams {
7
+ derivationPath?: DerivationPathArray;
8
+ dmkSession?: LedgerDMKSession;
9
+ onDeviceActionState?: LedgerDeviceActionStateHandler;
10
+ transport?: Transport;
11
+ }
6
12
  export declare function normalizeThorchainLedgerSignDoc(signDoc: StdSignDoc): StdSignDoc;
7
- export declare class THORChainLedger extends CosmosLedgerInterface {
13
+ export declare class THORChainLedger {
14
+ readonly derivationPath: DerivationPathArray;
15
+ private readonly dmkSession?;
16
+ private readonly onDeviceActionState?;
8
17
  private pubKey;
9
- derivationPath: DerivationPathArray;
10
- constructor(derivationPath?: DerivationPathArray, transport?: Transport);
18
+ private readonly transport?;
19
+ constructor({ derivationPath, dmkSession, onDeviceActionState, transport, }?: THORChainLedgerParams);
11
20
  get pubkey(): string | null;
21
+ private executeCommands;
22
+ private getAddressData;
23
+ private signBytes;
12
24
  connect: () => Promise<string>;
13
- getAddressAndPubKey: () => Promise<GetAddressAndPubKeyResponse>;
14
- showAddressAndPubKey: () => Promise<GetAddressAndPubKeyResponse>;
15
- signTransaction: (rawTx: string, sequence?: string) => Promise<{
25
+ getAddressAndPubKey: () => Promise<{
26
+ bech32_address: string;
27
+ compressed_pk: Uint8Array<ArrayBuffer>;
28
+ error_message: string;
29
+ return_code: number;
30
+ }>;
31
+ showAddressAndPubKey: () => Promise<{
32
+ bech32_address: string;
33
+ compressed_pk: Uint8Array<ArrayBuffer>;
34
+ error_message: string;
35
+ return_code: number;
36
+ }>;
37
+ signTransaction: ({ rawTx, sequence }: {
38
+ rawTx: string;
39
+ sequence?: string;
40
+ }) => Promise<{
16
41
  pub_key: {
17
42
  type: string;
18
43
  value: string;
@@ -24,4 +49,5 @@ export declare class THORChainLedger extends CosmosLedgerInterface {
24
49
  getAccounts: () => Promise<readonly AccountData[]>;
25
50
  sign: (message: string) => Promise<string>;
26
51
  }
52
+ export {};
27
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ledger/clients/thorchain/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,KAAK,mBAAmB,EAAuC,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAmB/D,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAkB/E;AAED,qBAAa,eAAgB,SAAQ,qBAAqB;IACxD,OAAO,CAAC,MAAM,CAAuB;IAErC,cAAc,EAAE,mBAAmB,CAAC;gBAExB,cAAc,GAAE,mBAAgD,EAAE,SAAS,CAAC,EAAE,SAAS;IAMnG,IAAI,MAAM,kBAET;IAED,OAAO,wBAOL;IAEF,mBAAmB,6CAWjB;IAEF,oBAAoB,6CAWlB;IAEF,eAAe,GAAU,OAAO,MAAM,EAAE,iBAAc;;;;;;;SAgBpD;IAEF,SAAS,GAAU,eAAe,MAAM,EAAE,SAAS,UAAU,KAAG,OAAO,CAAC,iBAAiB,CAAC,CA4BxF;IAEF,WAAW,QAAa,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAQrD;IAEF,IAAI,GAAU,SAAS,MAAM,qBAU3B;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ledger/clients/thorchain/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhF,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,KAAK,mBAAmB,EAAuC,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAGL,KAAK,8BAA8B,EAGpC,MAAM,mCAAmC,CAAC;AAc3C,UAAU,qBAAqB;IAC7B,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAgBD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAkB/E;AA0BD,qBAAa,eAAe;IAC1B,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAiC;IACtE,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAY;gBAE3B,EACV,cAA2C,EAC3C,UAAU,EACV,mBAAmB,EACnB,SAAS,GACV,GAAE,qBAA0B;IAa7B,IAAI,MAAM,kBAET;IAED,OAAO,CAAC,eAAe,CA2FrB;IAEF,OAAO,CAAC,cAAc,CASpB;IAEF,OAAO,CAAC,SAAS,CAOf;IAEF,OAAO,wBAIL;IAEF,mBAAmB;;;;;OAKjB;IAEF,oBAAoB;;;;;OAKlB;IAEF,eAAe,GAAU,qBAA2B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;SActF;IAEF,SAAS,GAAU,eAAe,MAAM,EAAE,SAAS,UAAU,KAAG,OAAO,CAAC,iBAAiB,CAAC,CASxF;IAEF,WAAW,QAAa,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAIrD;IAEF,IAAI,GAAU,SAAS,MAAM,qBAAyF;CACvH"}
@@ -0,0 +1,58 @@
1
+ import type Transport from "@ledgerhq/hw-transport";
2
+ interface ThorCommandParams {
3
+ data?: Uint8Array;
4
+ ins: number;
5
+ p1?: number;
6
+ p2?: number;
7
+ }
8
+ interface ThorApduResponse {
9
+ data: Uint8Array;
10
+ statusCode: Uint8Array;
11
+ }
12
+ export declare class ThorCommand {
13
+ readonly name = "THORChainCommand";
14
+ private readonly params;
15
+ constructor(params: ThorCommandParams);
16
+ getApdu(): {
17
+ cla: number;
18
+ data: Uint8Array<ArrayBufferLike>;
19
+ ins: number;
20
+ p1: number;
21
+ p2: number;
22
+ };
23
+ parseResponse(response: ThorApduResponse): Uint8Array<ArrayBufferLike>;
24
+ }
25
+ export declare function serializeThorPath({ path }: {
26
+ path: readonly (number | undefined)[];
27
+ }): Uint8Array<ArrayBuffer>;
28
+ export declare function serializeThorAddressPayload({ hrp, path }: {
29
+ hrp: string;
30
+ path: readonly (number | undefined)[];
31
+ }): Uint8Array<ArrayBuffer>;
32
+ export declare function getThorAddressCommand({ checkOnDevice, hrp, path, }: {
33
+ checkOnDevice: boolean;
34
+ hrp: string;
35
+ path: readonly (number | undefined)[];
36
+ }): ThorCommand;
37
+ export declare function getThorSignCommands({ message, path }: {
38
+ message: Uint8Array;
39
+ path: readonly (number | undefined)[];
40
+ }): ThorCommand[];
41
+ export declare function getThorLegacyVersion({ transport }: {
42
+ transport: Transport;
43
+ }): Promise<string>;
44
+ export declare function sendThorLegacyCommand({ command, transport }: {
45
+ command: ThorCommand;
46
+ transport: Transport;
47
+ }): Promise<Uint8Array<ArrayBuffer>>;
48
+ export declare function parseThorAddressResponse({ response }: {
49
+ response: Uint8Array;
50
+ }): {
51
+ address: string;
52
+ publicKey: Uint8Array<ArrayBuffer>;
53
+ };
54
+ export declare function invalidThorAppVersionMessage({ version }: {
55
+ version?: string;
56
+ }): string;
57
+ export {};
58
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../../../src/ledger/clients/thorchain/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAapD,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,IAAI,sBAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,MAAM,EAAE,iBAAiB;IAIrC,OAAO;;;;;;;IAKP,aAAa,CAAC,QAAQ,EAAE,gBAAgB;CAQzC;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAAE,2BA2BpF;AAED,wBAAgB,2BAA2B,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAAE,2BAQhH;AAED,wBAAgB,qBAAqB,CAAC,EACpC,aAAa,EACb,GAAG,EACH,IAAI,GACL,EAAE;IACD,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CACvC,eAMA;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAAE,iBAoBpH;AAUD,wBAAsB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,mBAQjF;AAED,wBAAsB,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,oCAIjH;AAED,wBAAgB,wBAAwB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,UAAU,CAAA;CAAE;;;EAY9E;AAED,wBAAgB,4BAA4B,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,UAE7E"}
@@ -1,13 +1,14 @@
1
- import type TronApp from "@ledgerhq/hw-app-trx";
2
1
  import type Transport from "@ledgerhq/hw-transport";
3
2
  import { type DerivationPathArray } from "@swapkit/helpers";
4
3
  import type { TronSignedTransaction, TronSigner, TronTransaction } from "@swapkit/toolboxes/tron";
4
+ import { type LedgerJsClientParams } from "../helpers/ledgerJsDmkBridge";
5
+ type TronLedgerParams = LedgerJsClientParams<DerivationPathArray | string>;
5
6
  export declare class TronLedgerInterface implements TronSigner {
6
- derivationPath: string;
7
- ledgerApp: InstanceType<typeof TronApp> | null;
8
- ledgerTimeout: number;
9
- private readonly injectedTransport?;
10
- constructor(derivationPath?: DerivationPathArray | string, transport?: Transport);
7
+ readonly derivationPath: string;
8
+ readonly ledgerTimeout = 50000;
9
+ private readonly connection;
10
+ constructor(paramsOrPath?: TronLedgerParams | DerivationPathArray | string, transport?: Transport);
11
+ private runTronOperation;
11
12
  checkOrCreateTransportAndLedger: () => Promise<void>;
12
13
  createTransportAndLedger: () => Promise<void>;
13
14
  getAddress: () => Promise<string>;
@@ -18,8 +19,10 @@ export declare class TronLedgerInterface implements TronSigner {
18
19
  showAddressAndPubKey: () => Promise<{
19
20
  publicKey: string;
20
21
  address: string;
21
- } | undefined>;
22
+ chainCode?: string;
23
+ }>;
22
24
  signTransaction: (transaction: TronTransaction) => Promise<TronSignedTransaction>;
23
25
  }
24
- export declare const TronLedger: (derivationPath?: DerivationPathArray, transport?: Transport) => TronLedgerInterface;
26
+ export declare function TronLedger(paramsOrPath?: TronLedgerParams | DerivationPathArray, transport?: Transport): TronLedgerInterface;
27
+ export {};
25
28
  //# sourceMappingURL=tron.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/tron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAIlG,qBAAa,mBAAoB,YAAW,UAAU;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI,CAAQ;IACtD,aAAa,SAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAY;gBAEnC,cAAc,CAAC,EAAE,mBAAmB,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAQhF,+BAA+B,sBAG7B;IAEF,wBAAwB,sBAKtB;IAEF,UAAU,QAAa,OAAO,CAAC,MAAM,CAAC,CAIpC;IAEF,mBAAmB;;;OAOjB;IAEF,oBAAoB;;;mBAGlB;IAEF,eAAe,GAAU,aAAa,eAAe,KAAG,OAAO,CAAC,qBAAqB,CAAC,CAuBpF;CACH;AAED,eAAO,MAAM,UAAU,GAAI,iBAAiB,mBAAmB,EAAE,YAAY,SAAS,wBAClC,CAAC"}
1
+ {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/tron.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAElG,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,8BAA8B,CAAC;AAEtC,KAAK,gBAAgB,GAAG,oBAAoB,CAAC,mBAAmB,GAAG,MAAM,CAAC,CAAC;AAE3E,qBAAa,mBAAoB,YAAW,UAAU;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,SAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;gBAE1D,YAAY,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;YASnF,gBAAgB;IAiB9B,+BAA+B,sBAE7B;IAEF,wBAAwB,sBAEtB;IAEF,UAAU,wBAIR;IAEF,mBAAmB;;;OAKjB;IAEF,oBAAoB;;;;OAKlB;IAEF,eAAe,GAAU,aAAa,eAAe,KAAG,OAAO,CAAC,qBAAqB,CAAC,CAapF;CACH;AAED,wBAAgB,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,SAAS,CAAC,EAAE,SAAS,uBAEtG"}
@@ -12,11 +12,12 @@ import type { Transaction } from "@swapkit/utxo-signer";
12
12
  * Single-address account assumption: all inputs share our derivation path.
13
13
  */
14
14
  export declare function extractInputsFromPsbt(tx: Transaction, chain: UTXOChain): Promise<UTXOType[]>;
15
- export declare function signLegacyPsbtTransaction({ legacyClient, chain, tx, }: {
15
+ export declare function signLegacyPsbtTransaction({ chain, inputUtxos, legacyClient, tx, }: {
16
+ chain: UTXOChain;
17
+ inputUtxos?: UTXOType[];
16
18
  legacyClient: {
17
19
  signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string>;
18
20
  };
19
- chain: UTXOChain;
20
21
  tx: Transaction;
21
22
  }): Promise<string>;
22
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utxo-legacy-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/utxo-legacy-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAkClG;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,YAAY,EACZ,KAAK,EACL,EAAE,GACH,EAAE;IACD,YAAY,EAAE;QAAE,eAAe,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAChG,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,WAAW,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,YAAY,EACZ,KAAK,EACL,OAAO,GACR,EAAE;IACD,YAAY,EAAE;QAAE,eAAe,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAChG,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;;0BAG+B,WAAW,KAAG,OAAO,CAAC,WAAW,CAAC;EASjE"}
1
+ {"version":3,"file":"utxo-legacy-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/utxo-legacy-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiClG;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,KAAK,EACL,UAAU,EACV,YAAY,EACZ,EAAE,GACH,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,EAAE;QAAE,eAAe,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAChG,EAAE,EAAE,WAAW,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,YAAY,EACZ,KAAK,EACL,OAAO,GACR,EAAE;IACD,YAAY,EAAE;QAAE,eAAe,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAChG,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;;0BAG+B,WAAW,KAAG,OAAO,CAAC,WAAW,CAAC;EAUjE"}
@@ -0,0 +1,18 @@
1
+ import type Transport from "@ledgerhq/hw-transport";
2
+ /**
3
+ * Splits serialised transaction outputs (the output count, then each output) into one piece per output, the first
4
+ * carrying the count, so that every piece the legacy app receives ends on an output boundary. Rejects a malformed
5
+ * stream and any piece the app cannot buffer.
6
+ */
7
+ export declare function splitOutputsForLegacyApp(outputs: Uint8Array, chain: string): Uint8Array[];
8
+ /**
9
+ * hw-app-btc streams the outputs in fixed 50-byte HASH_INPUT_FINALIZE_FULL chunks. Each chunk has to fit the app's
10
+ * buffer beside whatever unfinished output earlier chunks left there, which fails for longer memo outputs (in the
11
+ * SDK's [vault, memo, change] order, from a 56-byte memo with P2PKH outputs and a 59-byte memo on Litecoin). Collect
12
+ * the chunks of each stream and resend it one output per APDU: each APDU then meets an empty buffer, so any output of
13
+ * up to 100 bytes (the first together with the output count) fits, and the bytes, and so the hashes, stay the same.
14
+ * hw-app-btc ignores every response to these APDUs, so a collected chunk gets the app's own reply and the last one
15
+ * returns the device's. The change-path APDU (P1 0xff) and every other APDU pass straight through.
16
+ */
17
+ export declare function withOutputAlignedFinalize(transport: Transport, chain: string): Transport;
18
+ //# sourceMappingURL=utxo-legacy-outputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utxo-legacy-outputs.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/utxo-legacy-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AA6BpD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CA+CzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CA6BxF"}
@@ -1,13 +1,14 @@
1
1
  import type Transport from "@ledgerhq/hw-transport";
2
2
  import { type DerivationPathArray } from "@swapkit/helpers";
3
3
  import type { UTXOType } from "@swapkit/toolboxes/utxo";
4
- import type { PCZT, Transaction } from "@swapkit/utxo-signer";
5
- export declare const BitcoinLedger: (derivationPathArray?: DerivationPathArray | string, injectedTransport?: Transport) => {
4
+ import type { Transaction } from "@swapkit/utxo-signer";
5
+ import { type LedgerJsClientParams } from "../helpers/ledgerJsDmkBridge";
6
+ type UTXOLedgerParams = LedgerJsClientParams<DerivationPathArray | string>;
7
+ export declare const BitcoinLedger: (paramsOrPath?: UTXOLedgerParams | DerivationPathArray | string, transport?: Transport) => {
6
8
  connect: () => Promise<void>;
7
9
  disconnect: () => Promise<void>;
8
10
  getAddress: () => Promise<string>;
9
11
  getExtendedPublicKey: (path?: string, xpubVersion?: number) => Promise<string>;
10
- signPCZT: (pczt: PCZT) => Promise<PCZT>;
11
12
  signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string>;
12
13
  /**
13
14
  * Sign a transaction with multiple derivation paths for HD wallet multi-address support.
@@ -15,12 +16,11 @@ export declare const BitcoinLedger: (derivationPathArray?: DerivationPathArray |
15
16
  */
16
17
  signTransactionWithMultiplePaths: (tx: Transaction, inputUtxos: UTXOType[], derivationPaths: string[]) => Promise<string>;
17
18
  };
18
- export declare const LitecoinLedger: (derivationPathArray?: DerivationPathArray | string, injectedTransport?: Transport) => {
19
+ export declare const LitecoinLedger: (paramsOrPath?: UTXOLedgerParams | DerivationPathArray | string, transport?: Transport) => {
19
20
  connect: () => Promise<void>;
20
21
  disconnect: () => Promise<void>;
21
22
  getAddress: () => Promise<string>;
22
23
  getExtendedPublicKey: (path?: string, xpubVersion?: number) => Promise<string>;
23
- signPCZT: (pczt: PCZT) => Promise<PCZT>;
24
24
  signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string>;
25
25
  /**
26
26
  * Sign a transaction with multiple derivation paths for HD wallet multi-address support.
@@ -28,12 +28,11 @@ export declare const LitecoinLedger: (derivationPathArray?: DerivationPathArray
28
28
  */
29
29
  signTransactionWithMultiplePaths: (tx: Transaction, inputUtxos: UTXOType[], derivationPaths: string[]) => Promise<string>;
30
30
  };
31
- export declare const BitcoinCashLedger: (derivationPathArray?: DerivationPathArray | string, injectedTransport?: Transport) => {
31
+ export declare const BitcoinCashLedger: (paramsOrPath?: UTXOLedgerParams | DerivationPathArray | string, transport?: Transport) => {
32
32
  connect: () => Promise<void>;
33
33
  disconnect: () => Promise<void>;
34
34
  getAddress: () => Promise<string>;
35
35
  getExtendedPublicKey: (path?: string, xpubVersion?: number) => Promise<string>;
36
- signPCZT: (pczt: PCZT) => Promise<PCZT>;
37
36
  signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string>;
38
37
  /**
39
38
  * Sign a transaction with multiple derivation paths for HD wallet multi-address support.
@@ -41,12 +40,11 @@ export declare const BitcoinCashLedger: (derivationPathArray?: DerivationPathArr
41
40
  */
42
41
  signTransactionWithMultiplePaths: (tx: Transaction, inputUtxos: UTXOType[], derivationPaths: string[]) => Promise<string>;
43
42
  };
44
- export declare const DogecoinLedger: (derivationPathArray?: DerivationPathArray | string, injectedTransport?: Transport) => {
43
+ export declare const DogecoinLedger: (paramsOrPath?: UTXOLedgerParams | DerivationPathArray | string, transport?: Transport) => {
45
44
  connect: () => Promise<void>;
46
45
  disconnect: () => Promise<void>;
47
46
  getAddress: () => Promise<string>;
48
47
  getExtendedPublicKey: (path?: string, xpubVersion?: number) => Promise<string>;
49
- signPCZT: (pczt: PCZT) => Promise<PCZT>;
50
48
  signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string>;
51
49
  /**
52
50
  * Sign a transaction with multiple derivation paths for HD wallet multi-address support.
@@ -54,12 +52,11 @@ export declare const DogecoinLedger: (derivationPathArray?: DerivationPathArray
54
52
  */
55
53
  signTransactionWithMultiplePaths: (tx: Transaction, inputUtxos: UTXOType[], derivationPaths: string[]) => Promise<string>;
56
54
  };
57
- export declare const DashLedger: (derivationPathArray?: DerivationPathArray | string, injectedTransport?: Transport) => {
55
+ export declare const DashLedger: (paramsOrPath?: UTXOLedgerParams | DerivationPathArray | string, transport?: Transport) => {
58
56
  connect: () => Promise<void>;
59
57
  disconnect: () => Promise<void>;
60
58
  getAddress: () => Promise<string>;
61
59
  getExtendedPublicKey: (path?: string, xpubVersion?: number) => Promise<string>;
62
- signPCZT: (pczt: PCZT) => Promise<PCZT>;
63
60
  signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string>;
64
61
  /**
65
62
  * Sign a transaction with multiple derivation paths for HD wallet multi-address support.
@@ -67,12 +64,11 @@ export declare const DashLedger: (derivationPathArray?: DerivationPathArray | st
67
64
  */
68
65
  signTransactionWithMultiplePaths: (tx: Transaction, inputUtxos: UTXOType[], derivationPaths: string[]) => Promise<string>;
69
66
  };
70
- export declare const ZcashLedger: (derivationPathArray?: DerivationPathArray | string, injectedTransport?: Transport) => {
67
+ export declare const ZcashLedger: (paramsOrPath?: UTXOLedgerParams | DerivationPathArray | string, transport?: Transport) => {
71
68
  connect: () => Promise<void>;
72
69
  disconnect: () => Promise<void>;
73
70
  getAddress: () => Promise<string>;
74
71
  getExtendedPublicKey: (path?: string, xpubVersion?: number) => Promise<string>;
75
- signPCZT: (pczt: PCZT) => Promise<PCZT>;
76
72
  signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string>;
77
73
  /**
78
74
  * Sign a transaction with multiple derivation paths for HD wallet multi-address support.
@@ -80,4 +76,5 @@ export declare const ZcashLedger: (derivationPathArray?: DerivationPathArray | s
80
76
  */
81
77
  signTransactionWithMultiplePaths: (tx: Transaction, inputUtxos: UTXOType[], derivationPaths: string[]) => Promise<string>;
82
78
  };
79
+ export {};
83
80
  //# sourceMappingURL=utxo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/utxo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,KAAK,mBAAmB,EAA4D,MAAM,kBAAkB,CAAC;AACtH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA+U9D,eAAO,MAAM,aAAa,yBAlOM,mBAAmB,GAAG,MAAM,sBAAsB,SAAS;;;;;qBA4D9D,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;0BA4Ef,WAAW,cAAc,QAAQ,EAAE;IAM/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAgFhD,CAAC;AAClE,eAAO,MAAM,cAAc,yBAnOK,mBAAmB,GAAG,MAAM,sBAAsB,SAAS;;;;;qBA4D9D,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;0BA4Ef,WAAW,cAAc,QAAQ,EAAE;IAM/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAiF9C,CAAC;AAEpE,eAAO,MAAM,iBAAiB,yBArOE,mBAAmB,GAAG,MAAM,sBAAsB,SAAS;;;;;qBA4D9D,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;0BA4Ef,WAAW,cAAc,QAAQ,EAAE;IAM/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAsF/G,CAAC;AAEH,eAAO,MAAM,cAAc,yBA1OK,mBAAmB,GAAG,MAAM,sBAAsB,SAAS;;;;;qBA4D9D,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;0BA4Ef,WAAW,cAAc,QAAQ,EAAE;IAM/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CA2F/G,CAAC;AAEH,eAAO,MAAM,UAAU,yBA/OS,mBAAmB,GAAG,MAAM,sBAAsB,SAAS;;;;;qBA4D9D,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;0BA4Ef,WAAW,cAAc,QAAQ,EAAE;IAM/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAgG/G,CAAC;AAEH,eAAO,MAAM,WAAW,yBApPQ,mBAAmB,GAAG,MAAM,sBAAsB,SAAS;;;;;qBA4D9D,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;0BA4Ef,WAAW,cAAc,QAAQ,EAAE;IAM/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CA+G/G,CAAC"}
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/utxo.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,KAAK,mBAAmB,EAA4D,MAAM,kBAAkB,CAAC;AACtH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,8BAA8B,CAAC;AAMtC,KAAK,gBAAgB,GAAG,oBAAoB,CAAC,mBAAmB,GAAG,MAAM,CAAC,CAAC;AAqN3E,eAAO,MAAM,aAAa,kBAtGD,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,cAAc,SAAS;;;;;0BAuE7D,WAAW,cAAc,QAAQ,EAAE;IAY/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAehD,CAAC;AAClE,eAAO,MAAM,cAAc,kBAvGF,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,cAAc,SAAS;;;;;0BAuE7D,WAAW,cAAc,QAAQ,EAAE;IAY/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAgB9C,CAAC;AAOpE,eAAO,MAAM,iBAAiB,kBA9GL,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,cAAc,SAAS;;;;;0BAuE7D,WAAW,cAAc,QAAQ,EAAE;IAY/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CA+B/G,CAAC;AAEH,eAAO,MAAM,cAAc,kBAxHF,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,cAAc,SAAS;;;;;0BAuE7D,WAAW,cAAc,QAAQ,EAAE;IAY/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAoC/G,CAAC;AAEH,eAAO,MAAM,UAAU,kBA7HE,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,cAAc,SAAS;;;;;0BAuE7D,WAAW,cAAc,QAAQ,EAAE;IAY/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAyC/G,CAAC;AAEH,eAAO,MAAM,WAAW,kBAlIC,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,cAAc,SAAS;;;;;0BAuE7D,WAAW,cAAc,QAAQ,EAAE;IAY/D;;;OAGG;2CAC0C,WAAW,cAAc,QAAQ,EAAE,mBAAmB,MAAM,EAAE;CAwD/G,CAAC"}
@@ -2,11 +2,14 @@ import type Transport from "@ledgerhq/hw-transport";
2
2
  import { type DerivationPathArray } from "@swapkit/helpers";
3
3
  import type { RippleTransaction } from "@swapkit/toolboxes/ripple";
4
4
  import type { Payment } from "xrpl";
5
- export declare const XRPLedger: (derivationPath?: DerivationPathArray, injectedTransport?: Transport) => Promise<{
5
+ import { type LedgerJsClientParams } from "../helpers/ledgerJsDmkBridge";
6
+ type XRPLedgerParams = LedgerJsClientParams<DerivationPathArray>;
7
+ export declare function XRPLedger(paramsOrPath?: XRPLedgerParams | DerivationPathArray, transport?: Transport): Promise<{
6
8
  getAddress: () => string;
7
9
  signTransaction: (transaction: Payment | RippleTransaction) => Promise<{
8
10
  hash: string;
9
11
  tx_blob: string;
10
12
  }>;
11
13
  }>;
14
+ export {};
12
15
  //# sourceMappingURL=xrp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xrp.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/xrp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAS,KAAK,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAClH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAmBpC,eAAO,MAAM,SAAS,GAAU,iBAAiB,mBAAmB,EAAE,oBAAoB,SAAS;;mCAOrD,OAAO,GAAG,iBAAiB;;;;EAkBxE,CAAC"}
1
+ {"version":3,"file":"xrp.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/xrp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAS,KAAK,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAClH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,8BAA8B,CAAC;AAItC,KAAK,eAAe,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;AAMjE,wBAAsB,SAAS,CAAC,YAAY,CAAC,EAAE,eAAe,GAAG,mBAAmB,EAAE,SAAS,CAAC,EAAE,SAAS;;mCAuB7D,OAAO,GAAG,iBAAiB;;;;GAoBxE"}
@@ -0,0 +1,53 @@
1
+ import type Transport from "@ledgerhq/hw-transport";
2
+ import { type DerivationPathArray } from "@swapkit/helpers";
3
+ import type { UTXOType } from "@swapkit/toolboxes/utxo";
4
+ import type { ZcashTransaction } from "@swapkit/utxo-signer";
5
+ import type { LedgerDMKSession } from "../helpers/dmk";
6
+ import { type LedgerDeviceActionStateHandler } from "../helpers/executeDeviceAction";
7
+ interface ZcashLedgerParams {
8
+ derivationPath?: DerivationPathArray | string;
9
+ dmkSession?: LedgerDMKSession;
10
+ onDeviceActionState?: LedgerDeviceActionStateHandler;
11
+ transport?: Transport;
12
+ }
13
+ interface GetExtendedPublicKeyParams {
14
+ path?: string;
15
+ xpubVersion?: number;
16
+ }
17
+ interface SignZcashTransactionParams {
18
+ changePath?: string;
19
+ derivationPaths?: string[];
20
+ inputUtxos: UTXOType[];
21
+ tx: ZcashTransaction;
22
+ }
23
+ interface SignZcashTransactionWithMultiplePathsParams extends Omit<SignZcashTransactionParams, "derivationPaths"> {
24
+ derivationPaths: string[];
25
+ }
26
+ export declare function ZcashLedger({ derivationPath, dmkSession, onDeviceActionState, transport, }?: ZcashLedgerParams): {
27
+ connect: () => Promise<void>;
28
+ disconnect: () => Promise<void | undefined>;
29
+ getAddress: () => Promise<string>;
30
+ getAddressAndPubKey: () => Promise<{
31
+ address: string;
32
+ chainCode?: undefined;
33
+ publicKey?: undefined;
34
+ } | {
35
+ address: string;
36
+ chainCode: string;
37
+ publicKey: string;
38
+ }>;
39
+ getExtendedPublicKey: ({ path, xpubVersion, }?: GetExtendedPublicKeyParams) => Promise<string>;
40
+ showAddressAndPubKey: () => Promise<{
41
+ address: string;
42
+ chainCode?: undefined;
43
+ publicKey?: undefined;
44
+ } | {
45
+ address: string;
46
+ chainCode: string;
47
+ publicKey: string;
48
+ }>;
49
+ signTransaction: ({ changePath, derivationPaths, inputUtxos, tx }: SignZcashTransactionParams) => Promise<string>;
50
+ signTransactionWithMultiplePaths: (params: SignZcashTransactionWithMultiplePathsParams) => Promise<string>;
51
+ };
52
+ export {};
53
+ //# sourceMappingURL=zcash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zcash.d.ts","sourceRoot":"","sources":["../../../../src/ledger/clients/zcash.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAA6B,KAAK,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAOhH,UAAU,iBAAiB;IACzB,cAAc,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAC9C,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,UAAU,0BAA0B;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,0BAA0B;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,EAAE,EAAE,gBAAgB,CAAC;CACtB;AAED,UAAU,2CAA4C,SAAQ,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;IAC/G,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AA2QD,wBAAgB,WAAW,CAAC,EAC1B,cAA0C,EAC1C,UAAU,EACV,mBAAmB,EACnB,SAAS,GACV,GAAE,iBAAsB;;;;;;;;;;;;;oDA6BpB,0BAA0B;;;;;;;;;;uEAuBmD,0BAA0B;+CAgEvD,2CAA2C;EAG/F"}
@@ -0,0 +1,24 @@
1
+ import type { DeviceManagementKit, DeviceSessionId } from "@ledgerhq/device-management-kit";
2
+ export interface LedgerDMKSession {
3
+ dmk: DeviceManagementKit;
4
+ sessionId: DeviceSessionId;
5
+ }
6
+ export declare function getLedgerDMKSession({ dmk }?: {
7
+ dmk?: DeviceManagementKit;
8
+ }): Promise<LedgerDMKSession>;
9
+ /**
10
+ * Builds a signer kit instance for the session an operation runs on. A caller-owned session is used
11
+ * as given; the default session is re-validated on every call and the signer is rebuilt when it was
12
+ * replaced. DMK keeps a session through a brief unplug; once it drops one, the next operation connects
13
+ * again, silently to a Ledger the user already granted, otherwise through the WebHID picker, which
14
+ * needs a user gesture.
15
+ */
16
+ export declare function createLedgerSessionSigner<Signer>({ build, dmkSession, }: {
17
+ build: (session: LedgerDMKSession) => Signer | Promise<Signer>;
18
+ dmkSession?: LedgerDMKSession;
19
+ }): () => Promise<Signer>;
20
+ export declare function preloadLedgerDMK(): Promise<DeviceManagementKit>;
21
+ export declare function disconnectLedgerDMKSession({ dmkSession }?: {
22
+ dmkSession?: LedgerDMKSession;
23
+ }): Promise<void>;
24
+ //# sourceMappingURL=dmk.d.ts.map