@ledgerhq/device-signer-kit-tron 0.2.0 → 0.3.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 (183) hide show
  1. package/README.md +41 -0
  2. package/lib/cjs/api/SignerTrxBuilder.js +1 -1
  3. package/lib/cjs/api/SignerTrxBuilder.js.map +3 -3
  4. package/lib/cjs/api/SignerTrxBuilder.test.js +1 -1
  5. package/lib/cjs/api/SignerTrxBuilder.test.js.map +3 -3
  6. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  7. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +3 -3
  8. package/lib/cjs/api/index.js +1 -1
  9. package/lib/cjs/api/index.js.map +3 -3
  10. package/lib/cjs/api/model/TronAddressBook.js +1 -1
  11. package/lib/cjs/api/model/TronAddressBook.js.map +3 -3
  12. package/lib/cjs/internal/DefaultSignerTrx.js +1 -1
  13. package/lib/cjs/internal/DefaultSignerTrx.js.map +3 -3
  14. package/lib/cjs/internal/app-binder/TronAppBinder.js +1 -1
  15. package/lib/cjs/internal/app-binder/TronAppBinder.js.map +3 -3
  16. package/lib/cjs/internal/app-binder/TronAppBinder.test.js +1 -1
  17. package/lib/cjs/internal/app-binder/TronAppBinder.test.js.map +3 -3
  18. package/lib/cjs/internal/app-binder/TronApplicationResolver.js +2 -0
  19. package/lib/cjs/internal/app-binder/TronApplicationResolver.js.map +7 -0
  20. package/lib/cjs/internal/app-binder/TronApplicationResolver.test.js +2 -0
  21. package/lib/cjs/internal/app-binder/TronApplicationResolver.test.js.map +7 -0
  22. package/lib/cjs/internal/app-binder/constants.js +1 -1
  23. package/lib/cjs/internal/app-binder/constants.js.map +3 -3
  24. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +2 -0
  25. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +7 -0
  26. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +2 -0
  27. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +7 -0
  28. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -0
  29. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -0
  30. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -0
  31. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -0
  32. package/lib/cjs/internal/app-binder/services/TransactionSerializer.js +1 -1
  33. package/lib/cjs/internal/app-binder/services/TransactionSerializer.js.map +3 -3
  34. package/lib/cjs/internal/app-binder/services/TransactionSerializer.test.js +1 -1
  35. package/lib/cjs/internal/app-binder/services/TransactionSerializer.test.js.map +3 -3
  36. package/lib/cjs/internal/app-binder/task/GetTokenPayloadsTask.js +2 -0
  37. package/lib/cjs/internal/app-binder/task/GetTokenPayloadsTask.js.map +7 -0
  38. package/lib/cjs/internal/app-binder/task/GetTokenPayloadsTask.test.js +2 -0
  39. package/lib/cjs/internal/app-binder/task/GetTokenPayloadsTask.test.js.map +7 -0
  40. package/lib/cjs/internal/app-binder/task/ProvideContactTask.js +2 -0
  41. package/lib/cjs/internal/app-binder/task/ProvideContactTask.js.map +7 -0
  42. package/lib/cjs/internal/app-binder/task/ProvideContactTask.test.js +2 -0
  43. package/lib/cjs/internal/app-binder/task/ProvideContactTask.test.js.map +7 -0
  44. package/lib/cjs/internal/app-binder/task/SignTransactionTask.js +1 -1
  45. package/lib/cjs/internal/app-binder/task/SignTransactionTask.js.map +3 -3
  46. package/lib/cjs/internal/app-binder/task/SignTransactionTask.test.js +1 -1
  47. package/lib/cjs/internal/app-binder/task/SignTransactionTask.test.js.map +3 -3
  48. package/lib/cjs/internal/di.js +1 -1
  49. package/lib/cjs/internal/di.js.map +3 -3
  50. package/lib/cjs/internal/externalTypes.js +1 -1
  51. package/lib/cjs/internal/externalTypes.js.map +2 -2
  52. package/lib/cjs/internal/shared/utils/buildExternalContactPayload.js +2 -0
  53. package/lib/cjs/internal/shared/utils/buildExternalContactPayload.js.map +7 -0
  54. package/lib/cjs/internal/shared/utils/buildExternalContactPayload.test.js +2 -0
  55. package/lib/cjs/internal/shared/utils/buildExternalContactPayload.test.js.map +7 -0
  56. package/lib/cjs/internal/shared/utils/extractTransactionRecipient.js +2 -0
  57. package/lib/cjs/internal/shared/utils/extractTransactionRecipient.js.map +7 -0
  58. package/lib/cjs/internal/shared/utils/extractTransactionRecipient.test.js +2 -0
  59. package/lib/cjs/internal/shared/utils/extractTransactionRecipient.test.js.map +7 -0
  60. package/lib/cjs/internal/shared/utils/tronBase58Check.js +2 -0
  61. package/lib/cjs/internal/shared/utils/tronBase58Check.js.map +7 -0
  62. package/lib/cjs/internal/shared/utils/tronBase58Check.test.js +2 -0
  63. package/lib/cjs/internal/shared/utils/tronBase58Check.test.js.map +7 -0
  64. package/lib/cjs/package.json +6 -1
  65. package/lib/esm/api/SignerTrxBuilder.js +1 -1
  66. package/lib/esm/api/SignerTrxBuilder.js.map +3 -3
  67. package/lib/esm/api/SignerTrxBuilder.test.js +1 -1
  68. package/lib/esm/api/SignerTrxBuilder.test.js.map +3 -3
  69. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -0
  70. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +4 -4
  71. package/lib/esm/api/index.js +1 -1
  72. package/lib/esm/api/index.js.map +3 -3
  73. package/lib/esm/api/model/TronAddressBook.js +1 -0
  74. package/lib/esm/api/model/TronAddressBook.js.map +4 -4
  75. package/lib/esm/internal/DefaultSignerTrx.js +1 -1
  76. package/lib/esm/internal/DefaultSignerTrx.js.map +3 -3
  77. package/lib/esm/internal/app-binder/TronAppBinder.js +1 -1
  78. package/lib/esm/internal/app-binder/TronAppBinder.js.map +3 -3
  79. package/lib/esm/internal/app-binder/TronAppBinder.test.js +1 -1
  80. package/lib/esm/internal/app-binder/TronAppBinder.test.js.map +3 -3
  81. package/lib/esm/internal/app-binder/TronApplicationResolver.js +2 -0
  82. package/lib/esm/internal/app-binder/TronApplicationResolver.js.map +7 -0
  83. package/lib/esm/internal/app-binder/TronApplicationResolver.test.js +2 -0
  84. package/lib/esm/internal/app-binder/TronApplicationResolver.test.js.map +7 -0
  85. package/lib/esm/internal/app-binder/constants.js +1 -1
  86. package/lib/esm/internal/app-binder/constants.js.map +3 -3
  87. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +2 -0
  88. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +7 -0
  89. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +2 -0
  90. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +7 -0
  91. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -0
  92. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -0
  93. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -0
  94. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -0
  95. package/lib/esm/internal/app-binder/services/TransactionSerializer.js +1 -1
  96. package/lib/esm/internal/app-binder/services/TransactionSerializer.js.map +3 -3
  97. package/lib/esm/internal/app-binder/services/TransactionSerializer.test.js +1 -1
  98. package/lib/esm/internal/app-binder/services/TransactionSerializer.test.js.map +3 -3
  99. package/lib/esm/internal/app-binder/task/GetTokenPayloadsTask.js +2 -0
  100. package/lib/esm/internal/app-binder/task/GetTokenPayloadsTask.js.map +7 -0
  101. package/lib/esm/internal/app-binder/task/GetTokenPayloadsTask.test.js +2 -0
  102. package/lib/esm/internal/app-binder/task/GetTokenPayloadsTask.test.js.map +7 -0
  103. package/lib/esm/internal/app-binder/task/ProvideContactTask.js +2 -0
  104. package/lib/esm/internal/app-binder/task/ProvideContactTask.js.map +7 -0
  105. package/lib/esm/internal/app-binder/task/ProvideContactTask.test.js +2 -0
  106. package/lib/esm/internal/app-binder/task/ProvideContactTask.test.js.map +7 -0
  107. package/lib/esm/internal/app-binder/task/SignTransactionTask.js +1 -1
  108. package/lib/esm/internal/app-binder/task/SignTransactionTask.js.map +3 -3
  109. package/lib/esm/internal/app-binder/task/SignTransactionTask.test.js +1 -1
  110. package/lib/esm/internal/app-binder/task/SignTransactionTask.test.js.map +3 -3
  111. package/lib/esm/internal/di.js +1 -1
  112. package/lib/esm/internal/di.js.map +3 -3
  113. package/lib/esm/internal/externalTypes.js +1 -1
  114. package/lib/esm/internal/externalTypes.js.map +2 -2
  115. package/lib/esm/internal/shared/utils/buildExternalContactPayload.js +2 -0
  116. package/lib/esm/internal/shared/utils/buildExternalContactPayload.js.map +7 -0
  117. package/lib/esm/internal/shared/utils/buildExternalContactPayload.test.js +2 -0
  118. package/lib/esm/internal/shared/utils/buildExternalContactPayload.test.js.map +7 -0
  119. package/lib/esm/internal/shared/utils/extractTransactionRecipient.js +2 -0
  120. package/lib/esm/internal/shared/utils/extractTransactionRecipient.js.map +7 -0
  121. package/lib/esm/internal/shared/utils/extractTransactionRecipient.test.js +2 -0
  122. package/lib/esm/internal/shared/utils/extractTransactionRecipient.test.js.map +7 -0
  123. package/lib/esm/internal/shared/utils/tronBase58Check.js +2 -0
  124. package/lib/esm/internal/shared/utils/tronBase58Check.js.map +7 -0
  125. package/lib/esm/internal/shared/utils/tronBase58Check.test.js +2 -0
  126. package/lib/esm/internal/shared/utils/tronBase58Check.test.js.map +7 -0
  127. package/lib/esm/package.json +6 -1
  128. package/lib/types/api/SignerTrxBuilder.d.ts +12 -1
  129. package/lib/types/api/SignerTrxBuilder.d.ts.map +1 -1
  130. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +25 -1
  131. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  132. package/lib/types/api/index.d.ts +2 -1
  133. package/lib/types/api/index.d.ts.map +1 -1
  134. package/lib/types/api/model/TronAddressBook.d.ts +8 -3
  135. package/lib/types/api/model/TronAddressBook.d.ts.map +1 -1
  136. package/lib/types/internal/DefaultSignerTrx.d.ts +3 -1
  137. package/lib/types/internal/DefaultSignerTrx.d.ts.map +1 -1
  138. package/lib/types/internal/app-binder/TronAppBinder.d.ts +5 -1
  139. package/lib/types/internal/app-binder/TronAppBinder.d.ts.map +1 -1
  140. package/lib/types/internal/app-binder/TronApplicationResolver.d.ts +5 -0
  141. package/lib/types/internal/app-binder/TronApplicationResolver.d.ts.map +1 -0
  142. package/lib/types/internal/app-binder/TronApplicationResolver.test.d.ts +2 -0
  143. package/lib/types/internal/app-binder/TronApplicationResolver.test.d.ts.map +1 -0
  144. package/lib/types/internal/app-binder/constants.d.ts +3 -0
  145. package/lib/types/internal/app-binder/constants.d.ts.map +1 -1
  146. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +35 -0
  147. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -0
  148. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.d.ts +2 -0
  149. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.d.ts.map +1 -0
  150. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +4 -0
  151. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -0
  152. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +15 -0
  153. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -0
  154. package/lib/types/internal/app-binder/services/TransactionSerializer.d.ts +4 -1
  155. package/lib/types/internal/app-binder/services/TransactionSerializer.d.ts.map +1 -1
  156. package/lib/types/internal/app-binder/task/GetTokenPayloadsTask.d.ts +17 -0
  157. package/lib/types/internal/app-binder/task/GetTokenPayloadsTask.d.ts.map +1 -0
  158. package/lib/types/internal/app-binder/task/GetTokenPayloadsTask.test.d.ts +2 -0
  159. package/lib/types/internal/app-binder/task/GetTokenPayloadsTask.test.d.ts.map +1 -0
  160. package/lib/types/internal/app-binder/task/ProvideContactTask.d.ts +16 -0
  161. package/lib/types/internal/app-binder/task/ProvideContactTask.d.ts.map +1 -0
  162. package/lib/types/internal/app-binder/task/ProvideContactTask.test.d.ts +2 -0
  163. package/lib/types/internal/app-binder/task/ProvideContactTask.test.d.ts.map +1 -0
  164. package/lib/types/internal/app-binder/task/SignTransactionTask.d.ts +1 -0
  165. package/lib/types/internal/app-binder/task/SignTransactionTask.d.ts.map +1 -1
  166. package/lib/types/internal/di.d.ts +3 -1
  167. package/lib/types/internal/di.d.ts.map +1 -1
  168. package/lib/types/internal/externalTypes.d.ts +1 -0
  169. package/lib/types/internal/externalTypes.d.ts.map +1 -1
  170. package/lib/types/internal/shared/utils/buildExternalContactPayload.d.ts +11 -0
  171. package/lib/types/internal/shared/utils/buildExternalContactPayload.d.ts.map +1 -0
  172. package/lib/types/internal/shared/utils/buildExternalContactPayload.test.d.ts +2 -0
  173. package/lib/types/internal/shared/utils/buildExternalContactPayload.test.d.ts.map +1 -0
  174. package/lib/types/internal/shared/utils/extractTransactionRecipient.d.ts +2 -0
  175. package/lib/types/internal/shared/utils/extractTransactionRecipient.d.ts.map +1 -0
  176. package/lib/types/internal/shared/utils/extractTransactionRecipient.test.d.ts +2 -0
  177. package/lib/types/internal/shared/utils/extractTransactionRecipient.test.d.ts.map +1 -0
  178. package/lib/types/internal/shared/utils/tronBase58Check.d.ts +4 -0
  179. package/lib/types/internal/shared/utils/tronBase58Check.d.ts.map +1 -0
  180. package/lib/types/internal/shared/utils/tronBase58Check.test.d.ts +2 -0
  181. package/lib/types/internal/shared/utils/tronBase58Check.test.d.ts.map +1 -0
  182. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  183. package/package.json +13 -8
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/shared/utils/extractTransactionRecipient.test.ts"],
4
+ "sourcesContent": ["import { extractTransactionRecipient } from \"./extractTransactionRecipient\";\n\nconst RECIPIENT = new Uint8Array(21).fill(0x22);\n\nfunction concat(...values: Uint8Array[]): Uint8Array {\n const result = new Uint8Array(\n values.reduce((length, value) => length + value.length, 0),\n );\n let offset = 0;\n for (const value of values) {\n result.set(value, offset);\n offset += value.length;\n }\n return result;\n}\n\nfunction varint(value: number): Uint8Array {\n const bytes: number[] = [];\n do {\n const part = value & 0x7f;\n value >>>= 7;\n bytes.push(value === 0 ? part : part | 0x80);\n } while (value !== 0);\n return Uint8Array.from(bytes);\n}\n\nfunction lengthDelimited(fieldNumber: number, value: Uint8Array): Uint8Array {\n return concat(varint(fieldNumber * 8 + 2), varint(value.length), value);\n}\n\nfunction transaction(contractType: number, recipientField: number): Uint8Array {\n const contractValue = lengthDelimited(recipientField, RECIPIENT);\n const parameter = lengthDelimited(2, contractValue);\n const contract = concat(\n varint(1 * 8),\n varint(contractType),\n lengthDelimited(2, parameter),\n );\n return lengthDelimited(11, contract);\n}\n\ndescribe(\"extractTransactionRecipient\", () => {\n it.each([\n [\"TransferContract\", 1, 2],\n [\"TransferAssetContract\", 2, 3],\n [\"TriggerSmartContract\", 31, 2],\n ])(\"extracts the recipient from %s\", (_name, contractType, fieldNumber) => {\n expect(\n extractTransactionRecipient(transaction(contractType, fieldNumber)),\n ).toStrictEqual(RECIPIENT);\n });\n\n it(\"returns undefined for an unsupported contract\", () => {\n expect(extractTransactionRecipient(transaction(4, 2))).toBeUndefined();\n });\n\n it(\"returns undefined for a truncated transaction\", () => {\n const complete = transaction(1, 2);\n\n expect(\n extractTransactionRecipient(complete.subarray(0, -1)),\n ).toBeUndefined();\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,+BAAAA,MAAmC,gCAE5C,MAAMC,EAAY,IAAI,WAAW,EAAE,EAAE,KAAK,EAAI,EAE9C,SAASC,KAAUC,EAAkC,CACnD,MAAMC,EAAS,IAAI,WACjBD,EAAO,OAAO,CAACE,EAAQC,IAAUD,EAASC,EAAM,OAAQ,CAAC,CAC3D,EACA,IAAIC,EAAS,EACb,UAAWD,KAASH,EAClBC,EAAO,IAAIE,EAAOC,CAAM,EACxBA,GAAUD,EAAM,OAElB,OAAOF,CACT,CAEA,SAASI,EAAOF,EAA2B,CACzC,MAAMG,EAAkB,CAAC,EACzB,EAAG,CACD,MAAMC,EAAOJ,EAAQ,IACrBA,KAAW,EACXG,EAAM,KAAKH,IAAU,EAAII,EAAOA,EAAO,GAAI,CAC7C,OAASJ,IAAU,GACnB,OAAO,WAAW,KAAKG,CAAK,CAC9B,CAEA,SAASE,EAAgBC,EAAqBN,EAA+B,CAC3E,OAAOJ,EAAOM,EAAOI,EAAc,EAAI,CAAC,EAAGJ,EAAOF,EAAM,MAAM,EAAGA,CAAK,CACxE,CAEA,SAASO,EAAYC,EAAsBC,EAAoC,CAC7E,MAAMC,EAAgBL,EAAgBI,EAAgBd,CAAS,EACzDgB,EAAYN,EAAgB,EAAGK,CAAa,EAC5CE,EAAWhB,EACfM,EAAO,EAAI,CAAC,EACZA,EAAOM,CAAY,EACnBH,EAAgB,EAAGM,CAAS,CAC9B,EACA,OAAON,EAAgB,GAAIO,CAAQ,CACrC,CAEA,SAAS,8BAA+B,IAAM,CAC5C,GAAG,KAAK,CACN,CAAC,mBAAoB,EAAG,CAAC,EACzB,CAAC,wBAAyB,EAAG,CAAC,EAC9B,CAAC,uBAAwB,GAAI,CAAC,CAChC,CAAC,EAAE,iCAAkC,CAACC,EAAOL,EAAcF,IAAgB,CACzE,OACEZ,EAA4Ba,EAAYC,EAAcF,CAAW,CAAC,CACpE,EAAE,cAAcX,CAAS,CAC3B,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,OAAOD,EAA4Ba,EAAY,EAAG,CAAC,CAAC,CAAC,EAAE,cAAc,CACvE,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,MAAMO,EAAWP,EAAY,EAAG,CAAC,EAEjC,OACEb,EAA4BoB,EAAS,SAAS,EAAG,EAAE,CAAC,CACtD,EAAE,cAAc,CAClB,CAAC,CACH,CAAC",
6
+ "names": ["extractTransactionRecipient", "RECIPIENT", "concat", "values", "result", "length", "value", "offset", "varint", "bytes", "part", "lengthDelimited", "fieldNumber", "transaction", "contractType", "recipientField", "contractValue", "parameter", "contract", "_name", "complete"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{sha256 as o}from"@noble/hashes/sha256";import c from"bs58";const r=4;function u(e){return o(o(e)).subarray(0,r)}function h(e){const n=new Uint8Array(e.length+r);return n.set(e),n.set(u(e),e.length),c.encode(n)}function m(e){let n;try{n=c.decode(e)}catch{return}if(n.length<=r)return;const t=n.subarray(0,-r),d=n.subarray(-r),i=u(t);if(d.every((a,s)=>a===i[s]))return t}export{m as decodeTronAddress,h as encodeTronAddress};
2
+ //# sourceMappingURL=tronBase58Check.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/shared/utils/tronBase58Check.ts"],
4
+ "sourcesContent": ["import { sha256 } from \"@noble/hashes/sha256\";\nimport bs58 from \"bs58\";\n\nconst CHECKSUM_LENGTH = 4;\n\nfunction checksum(payload: Uint8Array): Uint8Array {\n return sha256(sha256(payload)).subarray(0, CHECKSUM_LENGTH);\n}\n\nexport function encodeTronAddress(rawAddress: Uint8Array): string {\n const encoded = new Uint8Array(rawAddress.length + CHECKSUM_LENGTH);\n encoded.set(rawAddress);\n encoded.set(checksum(rawAddress), rawAddress.length);\n return bs58.encode(encoded);\n}\n\n/** `undefined` when the address is malformed, a bad checksum included. */\nexport function decodeTronAddress(address: string): Uint8Array | undefined {\n let decoded: Uint8Array;\n try {\n decoded = bs58.decode(address);\n } catch {\n return undefined;\n }\n\n if (decoded.length <= CHECKSUM_LENGTH) return undefined;\n\n const payload = decoded.subarray(0, -CHECKSUM_LENGTH);\n const actualChecksum = decoded.subarray(-CHECKSUM_LENGTH);\n const expectedChecksum = checksum(payload);\n if (\n !actualChecksum.every((byte, index) => byte === expectedChecksum[index])\n ) {\n return undefined;\n }\n\n return payload;\n}\n"],
5
+ "mappings": "AAAA,OAAS,UAAAA,MAAc,uBACvB,OAAOC,MAAU,OAEjB,MAAMC,EAAkB,EAExB,SAASC,EAASC,EAAiC,CACjD,OAAOJ,EAAOA,EAAOI,CAAO,CAAC,EAAE,SAAS,EAAGF,CAAe,CAC5D,CAEO,SAASG,EAAkBC,EAAgC,CAChE,MAAMC,EAAU,IAAI,WAAWD,EAAW,OAASJ,CAAe,EAClE,OAAAK,EAAQ,IAAID,CAAU,EACtBC,EAAQ,IAAIJ,EAASG,CAAU,EAAGA,EAAW,MAAM,EAC5CL,EAAK,OAAOM,CAAO,CAC5B,CAGO,SAASC,EAAkBC,EAAyC,CACzE,IAAIC,EACJ,GAAI,CACFA,EAAUT,EAAK,OAAOQ,CAAO,CAC/B,MAAQ,CACN,MACF,CAEA,GAAIC,EAAQ,QAAUR,EAAiB,OAEvC,MAAME,EAAUM,EAAQ,SAAS,EAAG,CAACR,CAAe,EAC9CS,EAAiBD,EAAQ,SAAS,CAACR,CAAe,EAClDU,EAAmBT,EAASC,CAAO,EACzC,GACGO,EAAe,MAAM,CAACE,EAAMC,IAAUD,IAASD,EAAiBE,CAAK,CAAC,EAKzE,OAAOV,CACT",
6
+ "names": ["sha256", "bs58", "CHECKSUM_LENGTH", "checksum", "payload", "encodeTronAddress", "rawAddress", "encoded", "decodeTronAddress", "address", "decoded", "actualChecksum", "expectedChecksum", "byte", "index"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{decodeTronAddress as d,encodeTronAddress as t}from"./tronBase58Check";const c=Uint8Array.from([65,136,64,230,197,91,154,218,50,109,33,29,129,140,52,169,148,174,201,237,128]);describe("Tron base58check",()=>{it("round-trips a raw Tron address",()=>{const e=t(c);expect(d(e)).toStrictEqual(c)}),it("rejects an invalid checksum",()=>{const e=t(c),x=e.endsWith("1")?"2":"1";expect(d(`${e.slice(0,-1)}${x}`)).toBeUndefined()}),it("rejects malformed base58",()=>{expect(d("not-a-tron-address")).toBeUndefined()})});
2
+ //# sourceMappingURL=tronBase58Check.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/shared/utils/tronBase58Check.test.ts"],
4
+ "sourcesContent": ["import { decodeTronAddress, encodeTronAddress } from \"./tronBase58Check\";\n\nconst RAW_ADDRESS = Uint8Array.from([\n 0x41, 0x88, 0x40, 0xe6, 0xc5, 0x5b, 0x9a, 0xda, 0x32, 0x6d, 0x21, 0x1d, 0x81,\n 0x8c, 0x34, 0xa9, 0x94, 0xae, 0xc9, 0xed, 0x80,\n]);\n\ndescribe(\"Tron base58check\", () => {\n it(\"round-trips a raw Tron address\", () => {\n const encoded = encodeTronAddress(RAW_ADDRESS);\n\n expect(decodeTronAddress(encoded)).toStrictEqual(RAW_ADDRESS);\n });\n\n it(\"rejects an invalid checksum\", () => {\n const encoded = encodeTronAddress(RAW_ADDRESS);\n const replacement = encoded.endsWith(\"1\") ? \"2\" : \"1\";\n\n expect(\n decodeTronAddress(`${encoded.slice(0, -1)}${replacement}`),\n ).toBeUndefined();\n });\n\n it(\"rejects malformed base58\", () => {\n expect(decodeTronAddress(\"not-a-tron-address\")).toBeUndefined();\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,qBAAAA,EAAmB,qBAAAC,MAAyB,oBAErD,MAAMC,EAAc,WAAW,KAAK,CAClC,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IACxE,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAC5C,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,iCAAkC,IAAM,CACzC,MAAMC,EAAUF,EAAkBC,CAAW,EAE7C,OAAOF,EAAkBG,CAAO,CAAC,EAAE,cAAcD,CAAW,CAC9D,CAAC,EAED,GAAG,8BAA+B,IAAM,CACtC,MAAMC,EAAUF,EAAkBC,CAAW,EACvCE,EAAcD,EAAQ,SAAS,GAAG,EAAI,IAAM,IAElD,OACEH,EAAkB,GAAGG,EAAQ,MAAM,EAAG,EAAE,CAAC,GAAGC,CAAW,EAAE,CAC3D,EAAE,cAAc,CAClB,CAAC,EAED,GAAG,2BAA4B,IAAM,CACnC,OAAOJ,EAAkB,oBAAoB,CAAC,EAAE,cAAc,CAChE,CAAC,CACH,CAAC",
6
+ "names": ["decodeTronAddress", "encodeTronAddress", "RAW_ADDRESS", "encoded", "replacement"]
7
+ }
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "dependencies": {
3
+ "@ledgerhq/device-contacts-kit": "workspace:^",
3
4
  "@ledgerhq/signer-utils": "^1.3.0",
5
+ "@noble/hashes": "^1.8.0",
6
+ "bs58": "catalog:",
4
7
  "inversify": "catalog:",
5
8
  "purify-ts": "catalog:",
6
9
  "reflect-metadata": "catalog:",
7
10
  "xstate": "catalog:"
8
11
  },
9
12
  "devDependencies": {
13
+ "@ledgerhq/context-module": "workspace:^",
10
14
  "@ledgerhq/device-management-kit": "workspace:^",
11
15
  "@ledgerhq/eslint-config-dsdk": "workspace:^",
12
16
  "@ledgerhq/ldmk-tool": "workspace:^",
@@ -34,6 +38,7 @@
34
38
  "license": "Apache-2.0",
35
39
  "name": "@ledgerhq/device-signer-kit-tron",
36
40
  "peerDependencies": {
41
+ "@ledgerhq/context-module": "workspace:^",
37
42
  "@ledgerhq/device-management-kit": "workspace:^"
38
43
  },
39
44
  "private": false,
@@ -56,5 +61,5 @@
56
61
  "watch:builds": "pnpm ldmk-tool watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
57
62
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
58
63
  },
59
- "version": "0.2.0"
64
+ "version": "0.3.0"
60
65
  }
@@ -1,9 +1,11 @@
1
+ import { type ContextModule } from "@ledgerhq/context-module";
1
2
  import { type DeviceManagementKit, type DeviceSessionId } from "@ledgerhq/device-management-kit";
2
3
  import { type TronAddressBook } from "./model/TronAddressBook";
3
4
  import { DefaultSignerTrx } from "../internal/DefaultSignerTrx";
4
5
  type SignerTrxBuilderConstructorArgs = {
5
6
  dmk: DeviceManagementKit;
6
7
  sessionId: DeviceSessionId;
8
+ originToken?: string;
7
9
  };
8
10
  /**
9
11
  * Builder for the `SignerTrx` class.
@@ -17,8 +19,17 @@ type SignerTrxBuilderConstructorArgs = {
17
19
  export declare class SignerTrxBuilder {
18
20
  private readonly _dmk;
19
21
  private readonly _sessionId;
22
+ private readonly _originToken;
23
+ private _customContextModule;
20
24
  private _addressBook;
21
- constructor({ dmk, sessionId }: SignerTrxBuilderConstructorArgs);
25
+ constructor({ dmk, sessionId, originToken, }: SignerTrxBuilderConstructorArgs);
26
+ /**
27
+ * Override the default context module
28
+ *
29
+ * @param contextModule
30
+ * @returns this
31
+ */
32
+ withContextModule(contextModule: ContextModule): this;
22
33
  /**
23
34
  * Provide the Tron-compatible address book used to clear-sign contact names.
24
35
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SignerTrxBuilder.d.ts","sourceRoot":"","sources":["../../../src/api/SignerTrxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,KAAK,+BAA+B,GAAG;IACrC,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,YAAY,CAA8B;gBAEtC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,+BAA+B;IAK/D;;;;;;;;OAQG;IACH,eAAe,CAAC,WAAW,EAAE,eAAe;IAK5C;;;;OAIG;IAEI,KAAK;CAOb"}
1
+ {"version":3,"file":"SignerTrxBuilder.d.ts","sourceRoot":"","sources":["../../../src/api/SignerTrxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,KAAK,+BAA+B,GAAG;IACrC,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,YAAY,CAA8B;gBAEtC,EACV,GAAG,EACH,SAAS,EACT,WAAW,GACZ,EAAE,+BAA+B;IAMlC;;;;;OAKG;IACH,iBAAiB,CAAC,aAAa,EAAE,aAAa;IAK9C;;;;;;;;OAQG;IACH,eAAe,CAAC,WAAW,EAAE,eAAe;IAK5C;;;;OAIG;IAEI,KAAK;CAkBb"}
@@ -1,11 +1,35 @@
1
+ import { type ContextModule } from "@ledgerhq/context-module";
1
2
  import { type CommandErrorResult, type ExecuteDeviceActionReturnType, type OpenAppDAError, type OpenAppDARequiredInteraction, type UserInteractionRequired } from "@ledgerhq/device-management-kit";
3
+ import { type AppConfiguration } from "../model/AppConfiguration";
2
4
  import { type Signature } from "../model/Signature";
5
+ import { type TronAddressBook } from "../model/TronAddressBook";
3
6
  import { type TronAppErrorCodes } from "../../internal/app-binder/command/utils/tronApplicationErrors";
4
7
  export type SignTransactionDAOutput = Signature;
8
+ export type SignTransactionDAInput = {
9
+ readonly derivationPath: string;
10
+ readonly transaction: Uint8Array;
11
+ readonly contextModule: ContextModule;
12
+ readonly addressBook: TronAddressBook;
13
+ readonly skipOpenApp: boolean;
14
+ };
5
15
  export type SignTransactionDAError = OpenAppDAError | CommandErrorResult<TronAppErrorCodes>["error"];
6
- type SignTransactionDARequiredInteraction = OpenAppDARequiredInteraction | UserInteractionRequired.SignTransaction;
16
+ type SignTransactionDARequiredInteraction = OpenAppDARequiredInteraction | UserInteractionRequired.None | UserInteractionRequired.SignTransaction;
17
+ export declare enum SignTransactionDAStep {
18
+ OPEN_APP = "signer.trx.steps.openApp",
19
+ GET_APP_CONFIG = "signer.trx.steps.getAppConfig",
20
+ BUILD_CONTEXT = "signer.trx.steps.buildContext",
21
+ PROVIDE_CONTACT = "signer.trx.steps.provideContact",
22
+ SIGN_TRANSACTION = "signer.trx.steps.signTransaction"
23
+ }
7
24
  export type SignTransactionDAIntermediateValue = {
8
25
  requiredUserInteraction: SignTransactionDARequiredInteraction;
26
+ step: SignTransactionDAStep;
27
+ };
28
+ export type SignTransactionDAInternalState = {
29
+ readonly error: SignTransactionDAError | null;
30
+ readonly appConfig: AppConfiguration | null;
31
+ readonly tokenPayloads: Uint8Array[] | null;
32
+ readonly signature: Signature | null;
9
33
  };
10
34
  export type SignTransactionDAReturnType = ExecuteDeviceActionReturnType<SignTransactionDAOutput, SignTransactionDAError, SignTransactionDAIntermediateValue>;
11
35
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SignTransactionDeviceActionTypes.d.ts","sourceRoot":"","sources":["../../../../src/api/app-binder/SignTransactionDeviceActionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EAClC,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAElG,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnD,KAAK,oCAAoC,GACrC,4BAA4B,GAC5B,uBAAuB,CAAC,eAAe,CAAC;AAE5C,MAAM,MAAM,kCAAkC,GAAG;IAC/C,uBAAuB,EAAE,oCAAoC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,6BAA6B,CACrE,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,CACnC,CAAC"}
1
+ {"version":3,"file":"SignTransactionDeviceActionTypes.d.ts","sourceRoot":"","sources":["../../../../src/api/app-binder/SignTransactionDeviceActionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EAClC,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAElG,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnD,KAAK,oCAAoC,GACrC,4BAA4B,GAC5B,uBAAuB,CAAC,IAAI,GAC5B,uBAAuB,CAAC,eAAe,CAAC;AAE5C,oBAAY,qBAAqB;IAC/B,QAAQ,6BAA6B;IACrC,cAAc,kCAAkC;IAChD,aAAa,kCAAkC;IAC/C,eAAe,oCAAoC;IACnD,gBAAgB,qCAAqC;CACtD;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,uBAAuB,EAAE,oCAAoC,CAAC;IAC9D,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,6BAA6B,CACrE,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,CACnC,CAAC"}
@@ -10,8 +10,9 @@ export { type EcdhOptions } from "./model/EcdhOptions";
10
10
  export { type MessageOptions } from "./model/MessageOptions";
11
11
  export { type Signature } from "./model/Signature";
12
12
  export { type TransactionOptions } from "./model/TransactionOptions";
13
- export { type TronAddressBook, type TronContactGroup, type TronExternalAddress, type TronLedgerAccountContact, } from "./model/TronAddressBook";
13
+ export { EMPTY_TRON_ADDRESS_BOOK, type TronAddressBook, type TronContactGroup, type TronExternalAddress, type TronLedgerAccountContact, } from "./model/TronAddressBook";
14
14
  export { type SignerTrx } from "./SignerTrx";
15
15
  export { SignerTrxBuilder } from "./SignerTrxBuilder";
16
16
  export { type TronAppErrorCodes } from "../internal/app-binder/command/utils/tronApplicationErrors";
17
+ export { decodeTronAddress, encodeTronAddress, } from "../internal/shared/utils/tronBase58Check";
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC3C,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC3C,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,GACjC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC3C,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0DAA0D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC3C,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC3C,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,GACjC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC3C,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACL,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC"}
@@ -13,8 +13,8 @@
13
13
  * one for Ethereum.
14
14
  */
15
15
  export type TronAddressBook = {
16
- contactGroups: TronContactGroup[];
17
- ledgerAccounts: TronLedgerAccountContact[];
16
+ contactGroups: readonly TronContactGroup[];
17
+ ledgerAccounts: readonly TronLedgerAccountContact[];
18
18
  };
19
19
  /**
20
20
  * A named contact and the external addresses registered under it.
@@ -27,7 +27,7 @@ export type TronContactGroup = {
27
27
  contactName: string;
28
28
  groupHandle: Uint8Array;
29
29
  hmacProof: Uint8Array;
30
- externalAddresses: TronExternalAddress[];
30
+ externalAddresses: readonly TronExternalAddress[];
31
31
  };
32
32
  /**
33
33
  * An external address registered under a contact group.
@@ -50,4 +50,9 @@ export type TronLedgerAccountContact = {
50
50
  derivationPath: string;
51
51
  hmacProof: Uint8Array;
52
52
  };
53
+ /**
54
+ * The book bound when the host supplies none. Matches nothing, and is frozen
55
+ * because every signer in the process shares this one instance.
56
+ */
57
+ export declare const EMPTY_TRON_ADDRESS_BOOK: TronAddressBook;
53
58
  //# sourceMappingURL=TronAddressBook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TronAddressBook.d.ts","sourceRoot":"","sources":["../../../../src/api/model/TronAddressBook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,cAAc,EAAE,wBAAwB,EAAE,CAAC;CAC5C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,UAAU,CAAC;IACtB,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"TronAddressBook.d.ts","sourceRoot":"","sources":["../../../../src/api/model/TronAddressBook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,cAAc,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACrD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,UAAU,CAAC;IACtB,iBAAiB,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAGpC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type ContextModule } from "@ledgerhq/context-module";
1
2
  import { type DeviceManagementKit, type DeviceSessionId } from "@ledgerhq/device-management-kit";
2
3
  import { type GetAddressDAReturnType } from "../api/app-binder/GetAddressDeviceActionTypes";
3
4
  import { type GetAppConfigurationDAReturnType } from "../api/app-binder/GetAppConfigurationDeviceActionTypes";
@@ -14,11 +15,12 @@ import { type SignerTrx } from "../api/SignerTrx";
14
15
  type DefaultSignerTrxConstructorArgs = {
15
16
  dmk: DeviceManagementKit;
16
17
  sessionId: DeviceSessionId;
18
+ contextModule: ContextModule;
17
19
  addressBook?: TronAddressBook;
18
20
  };
19
21
  export declare class DefaultSignerTrx implements SignerTrx {
20
22
  private readonly _container;
21
- constructor({ dmk, sessionId, addressBook, }: DefaultSignerTrxConstructorArgs);
23
+ constructor({ dmk, sessionId, contextModule, addressBook, }: DefaultSignerTrxConstructorArgs);
22
24
  getAddress(derivationPath: string, options?: AddressOptions): GetAddressDAReturnType;
23
25
  signTransaction(derivationPath: string, transaction: Uint8Array, options?: TransactionOptions): SignTransactionDAReturnType;
24
26
  signTransactionHash(derivationPath: string, transactionHash: Uint8Array, options?: TransactionOptions): SignTransactionHashDAReturnType;
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSignerTrx.d.ts","sourceRoot":"","sources":["../../../src/internal/DefaultSignerTrx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAchD,KAAK,+BAA+B,GAAG;IACrC,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,EACV,GAAG,EACH,SAAS,EACT,WAAW,GACZ,EAAE,+BAA+B;IAIlC,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,sBAAsB;IAMzB,eAAe,CACb,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,2BAA2B;IAM9B,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,UAAU,EAC3B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,+BAA+B;IAQlC,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,+BAA+B;IAMlC,mBAAmB,IAAI,+BAA+B;IAQtD,aAAa,CACX,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,UAAU,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,yBAAyB;CAK7B"}
1
+ {"version":3,"file":"DefaultSignerTrx.d.ts","sourceRoot":"","sources":["../../../src/internal/DefaultSignerTrx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAchD,KAAK,+BAA+B,GAAG;IACrC,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,EACV,GAAG,EACH,SAAS,EACT,aAAa,EACb,WAAW,GACZ,EAAE,+BAA+B;IASlC,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,sBAAsB;IAMzB,eAAe,CACb,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,2BAA2B;IAM9B,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,UAAU,EAC3B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,+BAA+B;IAQlC,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,+BAA+B;IAMlC,mBAAmB,IAAI,+BAA+B;IAQtD,aAAa,CACX,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,UAAU,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,yBAAyB;CAK7B"}
@@ -1,3 +1,4 @@
1
+ import { type ContextModule } from "@ledgerhq/context-module";
1
2
  import { type DeviceManagementKit, type DeviceSessionId, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
3
  import { type GetAddressDAReturnType } from "../../api/app-binder/GetAddressDeviceActionTypes";
3
4
  import { type GetAppConfigurationDAReturnType } from "../../api/app-binder/GetAppConfigurationDeviceActionTypes";
@@ -5,11 +6,14 @@ import { type GetECDHSecretDAReturnType } from "../../api/app-binder/GetECDHSecr
5
6
  import { type SignPersonalMessageDAReturnType } from "../../api/app-binder/SignPersonalMessageDeviceActionTypes";
6
7
  import { type SignTransactionDAReturnType } from "../../api/app-binder/SignTransactionDeviceActionTypes";
7
8
  import { type SignTransactionHashDAReturnType } from "../../api/app-binder/SignTransactionHashDeviceActionTypes";
9
+ import { type TronAddressBook } from "../../api/model/TronAddressBook";
8
10
  export declare class TronAppBinder {
9
11
  private dmk;
10
12
  private sessionId;
11
13
  private dmkLoggerFactory;
12
- constructor(dmk: DeviceManagementKit, sessionId: DeviceSessionId, dmkLoggerFactory: (tag: string) => LoggerPublisherService);
14
+ private contextModule;
15
+ private addressBook;
16
+ constructor(dmk: DeviceManagementKit, sessionId: DeviceSessionId, dmkLoggerFactory: (tag: string) => LoggerPublisherService, contextModule: ContextModule, addressBook?: TronAddressBook);
13
17
  getAddress(args: {
14
18
  derivationPath: string;
15
19
  checkOnDevice: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TronAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/TronAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,sBAAsB,EAGvB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAU5G,qBACa,aAAa;IAEK,OAAO,CAAC,GAAG;IACL,OAAO,CAAC,SAAS;IAElD,OAAO,CAAC,gBAAgB;gBAHW,GAAG,EAAE,mBAAmB,EAClB,SAAS,EAAE,eAAe,EAE3D,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAGnE,UAAU,CAAC,IAAI,EAAE;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,sBAAsB;IAoB1B,eAAe,CAAC,IAAI,EAAE;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,2BAA2B;IAmB/B,aAAa,CAAC,IAAI,EAAE;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,yBAAyB;IAkB7B,mBAAmB,CAAC,IAAI,EAAE;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,UAAU,CAAC;QAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,+BAA+B;IAkBnC,mBAAmB,CAAC,IAAI,EAAE;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,UAAU,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,+BAA+B;IAmBnC,mBAAmB,IAAI,+BAA+B;CAcvD"}
1
+ {"version":3,"file":"TronAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/TronAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,sBAAsB,EAGvB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AAUpC,qBACa,aAAa;IAEK,OAAO,CAAC,GAAG;IACL,OAAO,CAAC,SAAS;IAElD,OAAO,CAAC,gBAAgB;IAExB,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,WAAW;gBAPgB,GAAG,EAAE,mBAAmB,EAClB,SAAS,EAAE,eAAe,EAE3D,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,EAEzD,aAAa,EAAE,aAAa,EAE5B,WAAW,GAAE,eAAyC;IAGhE,UAAU,CAAC,IAAI,EAAE;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,sBAAsB;IAoB1B,eAAe,CAAC,IAAI,EAAE;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,2BAA2B;IAgB/B,aAAa,CAAC,IAAI,EAAE;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,yBAAyB;IAkB7B,mBAAmB,CAAC,IAAI,EAAE;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,UAAU,CAAC;QAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,+BAA+B;IAkBnC,mBAAmB,CAAC,IAAI,EAAE;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,UAAU,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,+BAA+B;IAmBnC,mBAAmB,IAAI,+BAA+B;CAcvD"}
@@ -0,0 +1,5 @@
1
+ import { type AppConfig, type ApplicationResolver, type DeviceSessionState, type ResolvedApp } from "@ledgerhq/device-management-kit";
2
+ export declare class TronApplicationResolver implements ApplicationResolver {
3
+ resolve(deviceState: DeviceSessionState, _appConfig: AppConfig): ResolvedApp;
4
+ }
5
+ //# sourceMappingURL=TronApplicationResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TronApplicationResolver.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/TronApplicationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAEvB,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AAMzC,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,GAAG,WAAW;CAY7E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TronApplicationResolver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TronApplicationResolver.test.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/TronApplicationResolver.test.ts"],"names":[],"mappings":""}
@@ -25,7 +25,10 @@ export declare const SIGN_TRANSACTION_P1: {
25
25
  readonly FIRST: 0;
26
26
  readonly SUBSEQUENT: 128;
27
27
  readonly LAST: 144;
28
+ readonly TRC10_NAME: 160;
29
+ readonly LAST_TOKEN_FLAG: 8;
28
30
  };
31
+ export declare const MAX_TOKEN_FRAMES = 2;
29
32
  /**
30
33
  * P1 values for the SIGN_PERSONAL_MESSAGE instruction.
31
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,SAAS,CAAC;AAG/B,eAAO,MAAM,UAAU,MAAO,CAAC;AAG/B,eAAO,MAAM,GAAG;;;;;;;CAON,CAAC;AAGX,eAAO,MAAM,UAAU,MAAM,CAAC;AAG9B,eAAO,MAAM,OAAO,IAAO,CAAC;AAG5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAGpC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;CAStB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;CAK3B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,SAAS,CAAC;AAG/B,eAAO,MAAM,UAAU,MAAO,CAAC;AAG/B,eAAO,MAAM,GAAG;;;;;;;CAON,CAAC;AAGX,eAAO,MAAM,UAAU,MAAM,CAAC;AAG9B,eAAO,MAAM,OAAO,IAAO,CAAC;AAG5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAGpC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;CAatB,CAAC;AAIX,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;CAK3B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { type CommandResult, type DeviceActionStateMachine, type InternalApi, XStateDeviceAction } from "@ledgerhq/device-management-kit";
2
+ import { type SignTransactionDAError, type SignTransactionDAInput, type SignTransactionDAIntermediateValue, type SignTransactionDAInternalState, type SignTransactionDAOutput } from "../../../../api/app-binder/SignTransactionDeviceActionTypes";
3
+ import { type AppConfiguration } from "../../../../api/model/AppConfiguration";
4
+ import { type Signature } from "../../../../api/model/Signature";
5
+ import { type TronAppErrorCodes } from "../../../app-binder/command/utils/tronApplicationErrors";
6
+ export type MachineDependencies = {
7
+ readonly getAppConfig: () => Promise<CommandResult<AppConfiguration, TronAppErrorCodes>>;
8
+ readonly buildContext: (arg0: {
9
+ input: {
10
+ transaction: Uint8Array;
11
+ };
12
+ }) => Promise<Uint8Array[]>;
13
+ readonly provideContact: (arg0: {
14
+ input: {
15
+ transaction: Uint8Array;
16
+ appConfig: AppConfiguration | null;
17
+ };
18
+ }) => Promise<void>;
19
+ readonly signTransaction: (arg0: {
20
+ input: {
21
+ transaction: Uint8Array;
22
+ tokenPayloads: Uint8Array[];
23
+ };
24
+ }) => Promise<CommandResult<Signature, TronAppErrorCodes>>;
25
+ };
26
+ /**
27
+ * Building the context is a state of its own rather than part of the signing
28
+ * task so that `SignTransaction` is announced only once the device holds the
29
+ * transaction, and not while the descriptor is still being fetched.
30
+ */
31
+ export declare class SignTransactionDeviceAction extends XStateDeviceAction<SignTransactionDAOutput, SignTransactionDAInput, SignTransactionDAError, SignTransactionDAIntermediateValue, SignTransactionDAInternalState> {
32
+ makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<SignTransactionDAOutput, SignTransactionDAInput, SignTransactionDAError, SignTransactionDAIntermediateValue, SignTransactionDAInternalState>;
33
+ extractDependencies(internalApi: InternalApi): MachineDependencies;
34
+ }
35
+ //# sourceMappingURL=SignTransactionDeviceAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignTransactionDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAMhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAE7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAMlG,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAClC,aAAa,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CACnD,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE;QAC5B,KAAK,EAAE;YAAE,WAAW,EAAE,UAAU,CAAA;SAAE,CAAC;KACpC,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE;YAAE,WAAW,EAAE,UAAU,CAAC;YAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAA;SAAE,CAAC;KACxE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE;QAC/B,KAAK,EAAE;YAAE,WAAW,EAAE,UAAU,CAAC;YAAC,aAAa,EAAE,UAAU,EAAE,CAAA;SAAE,CAAC;KACjE,KAAK,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB,CACjE,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IAkOD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAgCnE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SignTransactionDeviceAction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignTransactionDeviceAction.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { type InternalApi } from "@ledgerhq/device-management-kit";
2
+ import { type Mocked } from "vitest";
3
+ export declare function makeDeviceActionInternalApiMock(): Mocked<InternalApi>;
4
+ //# sourceMappingURL=makeInternalApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeInternalApi.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/makeInternalApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,wBAAgB,+BAA+B,IAAI,MAAM,CAAC,WAAW,CAAC,CAkBrE"}
@@ -0,0 +1,15 @@
1
+ import { type DeviceAction, type DeviceActionIntermediateValue, type DeviceActionState, type DmkError, type InternalApi } from "@ledgerhq/device-management-kit";
2
+ /**
3
+ * Test that the states emitted by a device action match the expected states.
4
+ * @param deviceAction The device action to test.
5
+ * @param expectedStates The expected states.
6
+ * @param callbacks { onDone, onError } The callbacks to call when the test is done or an error occurs.
7
+ */
8
+ export declare function testDeviceActionStates<Output, Input, Error extends DmkError, IntermediateValue extends DeviceActionIntermediateValue>(deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>, expectedStates: Array<DeviceActionState<Output, Error, IntermediateValue>>, internalApi: InternalApi, { onDone, onError, }: {
9
+ onDone: () => void;
10
+ onError: (error: Error) => void;
11
+ }): {
12
+ observable: import("rxjs").Observable<DeviceActionState<Output, Error, IntermediateValue>>;
13
+ cancel: () => void;
14
+ };
15
+ //# sourceMappingURL=testDeviceActionStates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testDeviceActionStates.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EACN,KAAK,EACL,KAAK,SAAS,QAAQ,EACtB,iBAAiB,SAAS,6BAA6B,EAEvD,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,EACnE,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAC1E,WAAW,EAAE,WAAW,EACxB,EACE,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;;;EAwBF"}
@@ -9,11 +9,14 @@ export type TransactionFrame = {
9
9
  * The framing rules:
10
10
  * - the first frame starts with the encoded derivation path, then transaction
11
11
  * fields are packed onto frames without ever splitting a protobuf field,
12
+ * - TRC10 token-name frames, when present, are appended after the transaction
13
+ * frames and the device only signs on the last of them,
12
14
  * - each frame's P1 "start byte" encodes its position.
13
15
  *
14
16
  * @param encodedPath the derivation path bytes (length byte + BE32 elements)
15
17
  * @param rawTransaction the protobuf-serialized `raw_data` bytes
18
+ * @param tokenPayloads the TRC10 token-name descriptors to provide, if any
16
19
  * @throws if a single protobuf field is larger than {@link CHUNK_SIZE}
17
20
  */
18
- export declare function serializeTransaction(encodedPath: Uint8Array, rawTransaction: Uint8Array): TransactionFrame[];
21
+ export declare function serializeTransaction(encodedPath: Uint8Array, rawTransaction: Uint8Array, tokenPayloads?: Uint8Array[]): TransactionFrame[];
19
22
  //# sourceMappingURL=TransactionSerializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/services/TransactionSerializer.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B,CAAC;AASF;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,UAAU,EACvB,cAAc,EAAE,UAAU,GACzB,gBAAgB,EAAE,CAuCpB"}
1
+ {"version":3,"file":"TransactionSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/services/TransactionSerializer.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B,CAAC;AASF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,UAAU,EACvB,cAAc,EAAE,UAAU,EAC1B,aAAa,GAAE,UAAU,EAAO,GAC/B,gBAAgB,EAAE,CAwDpB"}
@@ -0,0 +1,17 @@
1
+ import { type ContextModule } from "@ledgerhq/context-module";
2
+ type GetTokenPayloadsTaskArgs = {
3
+ contextModule: ContextModule;
4
+ transaction: Uint8Array;
5
+ };
6
+ /**
7
+ * A descriptor the device cannot verify makes it abort the whole signature, so
8
+ * anything short of a complete, well-formed set is dropped: the device then
9
+ * reviews the transaction without the token name.
10
+ */
11
+ export declare class GetTokenPayloadsTask {
12
+ private readonly args;
13
+ constructor(args: GetTokenPayloadsTaskArgs);
14
+ run(): Promise<Uint8Array[]>;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=GetTokenPayloadsTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetTokenPayloadsTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/GetTokenPayloadsTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAKlC,KAAK,wBAAwB,GAAG;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,wBAAwB;IAErD,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAoBnC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GetTokenPayloadsTask.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetTokenPayloadsTask.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/GetTokenPayloadsTask.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { type InternalApi } from "@ledgerhq/device-management-kit";
2
+ import { type AppConfiguration } from "../../../api/model/AppConfiguration";
3
+ import { type TronAddressBook } from "../../../api/model/TronAddressBook";
4
+ type ProvideContactTaskArgs = {
5
+ readonly addressBook: TronAddressBook;
6
+ readonly transaction: Uint8Array;
7
+ readonly appConfig: AppConfiguration | null;
8
+ };
9
+ export declare class ProvideContactTask {
10
+ private readonly api;
11
+ private readonly args;
12
+ constructor(api: InternalApi, args: ProvideContactTaskArgs);
13
+ run(): Promise<void>;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=ProvideContactTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvideContactTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/ProvideContactTask.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,sBAAsB;IAGzC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ProvideContactTask.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvideContactTask.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/ProvideContactTask.test.ts"],"names":[],"mappings":""}
@@ -4,6 +4,7 @@ import { type TronAppErrorCodes } from "../../app-binder/command/utils/tronAppli
4
4
  type SignTransactionTaskArgs = {
5
5
  derivationPath: string;
6
6
  transaction: Uint8Array;
7
+ tokenPayloads: Uint8Array[];
7
8
  };
8
9
  export declare class SignTransactionTask {
9
10
  private api;
@@ -1 +1 @@
1
- {"version":3,"file":"SignTransactionTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SignTransactionTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,WAAW,EAGjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAMlG,KAAK,uBAAuB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,IAAI;gBADJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,uBAAuB;IAGjC,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;CAkDlE"}
1
+ {"version":3,"file":"SignTransactionTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SignTransactionTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,WAAW,EAGjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAMlG,KAAK,uBAAuB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC;IACxB,aAAa,EAAE,UAAU,EAAE,CAAC;CAC7B,CAAC;AAEF,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,IAAI;gBADJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,uBAAuB;IAGjC,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;CAmDlE"}
@@ -1,11 +1,13 @@
1
+ import { type ContextModule } from "@ledgerhq/context-module";
1
2
  import { type DeviceManagementKit, type DeviceSessionId } from "@ledgerhq/device-management-kit";
2
3
  import { Container } from "inversify";
3
4
  import { type TronAddressBook } from "../api/model/TronAddressBook";
4
5
  type MakeContainerProps = {
5
6
  dmk: DeviceManagementKit;
6
7
  sessionId: DeviceSessionId;
8
+ contextModule: ContextModule;
7
9
  addressBook?: TronAddressBook;
8
10
  };
9
- export declare const makeContainer: ({ dmk, sessionId, addressBook, }: MakeContainerProps) => Container;
11
+ export declare const makeContainer: ({ dmk, sessionId, contextModule, addressBook, }: MakeContainerProps) => Container;
10
12
  export {};
11
13
  //# sourceMappingURL=di.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/internal/di.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAErB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AASlE,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,kCAI3B,kBAAkB,cA+BpB,CAAC"}
1
+ {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/internal/di.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAErB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AASpC,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,iDAK3B,kBAAkB,cAkCpB,CAAC"}
@@ -3,5 +3,6 @@ export declare const externalTypes: {
3
3
  readonly SessionId: symbol;
4
4
  readonly DmkLoggerFactory: symbol;
5
5
  readonly AddressBook: symbol;
6
+ readonly ContextModule: symbol;
6
7
  };
7
8
  //# sourceMappingURL=externalTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"externalTypes.d.ts","sourceRoot":"","sources":["../../../src/internal/externalTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC"}
1
+ {"version":3,"file":"externalTypes.d.ts","sourceRoot":"","sources":["../../../src/internal/externalTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type DeviceSessionState } from "@ledgerhq/device-management-kit";
2
+ import { type AppConfiguration } from "../../../api/model/AppConfiguration";
3
+ import { type TronAddressBook } from "../../../api/model/TronAddressBook";
4
+ export type BuildExternalContactPayloadArgs = {
5
+ readonly addressBook: TronAddressBook;
6
+ readonly recipient: Uint8Array;
7
+ readonly deviceState: DeviceSessionState;
8
+ readonly appConfig: AppConfiguration;
9
+ };
10
+ export declare function buildExternalContactPayload({ addressBook, recipient, deviceState, appConfig, }: BuildExternalContactPayloadArgs): Uint8Array | undefined;
11
+ //# sourceMappingURL=buildExternalContactPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildExternalContactPayload.d.ts","sourceRoot":"","sources":["../../../../../src/internal/shared/utils/buildExternalContactPayload.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAMlE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;CACtC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,EAC1C,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,+BAA+B,GAAG,UAAU,GAAG,SAAS,CAyB1D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=buildExternalContactPayload.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildExternalContactPayload.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/shared/utils/buildExternalContactPayload.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function extractTransactionRecipient(rawTransaction: Uint8Array): Uint8Array | undefined;
2
+ //# sourceMappingURL=extractTransactionRecipient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractTransactionRecipient.d.ts","sourceRoot":"","sources":["../../../../../src/internal/shared/utils/extractTransactionRecipient.ts"],"names":[],"mappings":"AAgGA,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,UAAU,GACzB,UAAU,GAAG,SAAS,CAsBxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=extractTransactionRecipient.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractTransactionRecipient.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/shared/utils/extractTransactionRecipient.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare function encodeTronAddress(rawAddress: Uint8Array): string;
2
+ /** `undefined` when the address is malformed, a bad checksum included. */
3
+ export declare function decodeTronAddress(address: string): Uint8Array | undefined;
4
+ //# sourceMappingURL=tronBase58Check.d.ts.map