@ledgerhq/device-signer-kit-tron 0.0.0-develop-20260811001235 → 0.0.0-develop-20260813001639

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 (89) hide show
  1. package/README.md +45 -0
  2. package/lib/cjs/api/SignerTrx.js +1 -1
  3. package/lib/cjs/api/SignerTrx.js.map +1 -1
  4. package/lib/cjs/api/app-binder/GetECDHSecretDeviceActionTypes.js +2 -0
  5. package/lib/cjs/api/app-binder/GetECDHSecretDeviceActionTypes.js.map +7 -0
  6. package/lib/cjs/api/index.js +1 -1
  7. package/lib/cjs/api/index.js.map +2 -2
  8. package/lib/cjs/api/model/EcdhOptions.js +2 -0
  9. package/lib/cjs/api/model/EcdhOptions.js.map +7 -0
  10. package/lib/cjs/internal/DefaultSignerTrx.js +1 -1
  11. package/lib/cjs/internal/DefaultSignerTrx.js.map +3 -3
  12. package/lib/cjs/internal/app-binder/TronAppBinder.js +1 -1
  13. package/lib/cjs/internal/app-binder/TronAppBinder.js.map +3 -3
  14. package/lib/cjs/internal/app-binder/TronAppBinder.test.js +1 -1
  15. package/lib/cjs/internal/app-binder/TronAppBinder.test.js.map +3 -3
  16. package/lib/cjs/internal/app-binder/command/GetECDHSecretCommand.js +2 -0
  17. package/lib/cjs/internal/app-binder/command/GetECDHSecretCommand.js.map +7 -0
  18. package/lib/cjs/internal/app-binder/command/GetECDHSecretCommand.test.js +2 -0
  19. package/lib/cjs/internal/app-binder/command/GetECDHSecretCommand.test.js.map +7 -0
  20. package/lib/cjs/internal/app-binder/constants.js +1 -1
  21. package/lib/cjs/internal/app-binder/constants.js.map +3 -3
  22. package/lib/cjs/internal/di.js +1 -1
  23. package/lib/cjs/internal/di.js.map +3 -3
  24. package/lib/cjs/internal/use-cases/ecdh/GetECDHSecretUseCase.js +2 -0
  25. package/lib/cjs/internal/use-cases/ecdh/GetECDHSecretUseCase.js.map +7 -0
  26. package/lib/cjs/internal/use-cases/ecdh/GetECDHSecretUseCase.test.js +2 -0
  27. package/lib/cjs/internal/use-cases/ecdh/GetECDHSecretUseCase.test.js.map +7 -0
  28. package/lib/cjs/internal/use-cases/ecdh/di/ecdhModule.js +2 -0
  29. package/lib/cjs/internal/use-cases/ecdh/di/ecdhModule.js.map +7 -0
  30. package/lib/cjs/internal/use-cases/ecdh/di/ecdhTypes.js +2 -0
  31. package/lib/cjs/internal/use-cases/ecdh/di/ecdhTypes.js.map +7 -0
  32. package/lib/cjs/package.json +1 -1
  33. package/lib/esm/api/app-binder/GetECDHSecretDeviceActionTypes.js +1 -0
  34. package/lib/esm/api/app-binder/GetECDHSecretDeviceActionTypes.js.map +7 -0
  35. package/lib/esm/api/index.js.map +2 -2
  36. package/lib/esm/api/model/EcdhOptions.js +1 -0
  37. package/lib/esm/api/model/EcdhOptions.js.map +7 -0
  38. package/lib/esm/internal/DefaultSignerTrx.js +1 -1
  39. package/lib/esm/internal/DefaultSignerTrx.js.map +3 -3
  40. package/lib/esm/internal/app-binder/TronAppBinder.js +1 -1
  41. package/lib/esm/internal/app-binder/TronAppBinder.js.map +3 -3
  42. package/lib/esm/internal/app-binder/TronAppBinder.test.js +1 -1
  43. package/lib/esm/internal/app-binder/TronAppBinder.test.js.map +3 -3
  44. package/lib/esm/internal/app-binder/command/GetECDHSecretCommand.js +2 -0
  45. package/lib/esm/internal/app-binder/command/GetECDHSecretCommand.js.map +7 -0
  46. package/lib/esm/internal/app-binder/command/GetECDHSecretCommand.test.js +2 -0
  47. package/lib/esm/internal/app-binder/command/GetECDHSecretCommand.test.js.map +7 -0
  48. package/lib/esm/internal/app-binder/constants.js +1 -1
  49. package/lib/esm/internal/app-binder/constants.js.map +3 -3
  50. package/lib/esm/internal/di.js +1 -1
  51. package/lib/esm/internal/di.js.map +3 -3
  52. package/lib/esm/internal/use-cases/ecdh/GetECDHSecretUseCase.js +2 -0
  53. package/lib/esm/internal/use-cases/ecdh/GetECDHSecretUseCase.js.map +7 -0
  54. package/lib/esm/internal/use-cases/ecdh/GetECDHSecretUseCase.test.js +2 -0
  55. package/lib/esm/internal/use-cases/ecdh/GetECDHSecretUseCase.test.js.map +7 -0
  56. package/lib/esm/internal/use-cases/ecdh/di/ecdhModule.js +2 -0
  57. package/lib/esm/internal/use-cases/ecdh/di/ecdhModule.js.map +7 -0
  58. package/lib/esm/internal/use-cases/ecdh/di/ecdhTypes.js +2 -0
  59. package/lib/esm/internal/use-cases/ecdh/di/ecdhTypes.js.map +7 -0
  60. package/lib/esm/package.json +1 -1
  61. package/lib/types/api/SignerTrx.d.ts +3 -0
  62. package/lib/types/api/SignerTrx.d.ts.map +1 -1
  63. package/lib/types/api/app-binder/GetECDHSecretDeviceActionTypes.d.ts +10 -0
  64. package/lib/types/api/app-binder/GetECDHSecretDeviceActionTypes.d.ts.map +1 -0
  65. package/lib/types/api/index.d.ts +2 -0
  66. package/lib/types/api/index.d.ts.map +1 -1
  67. package/lib/types/api/model/EcdhOptions.d.ts +4 -0
  68. package/lib/types/api/model/EcdhOptions.d.ts.map +1 -0
  69. package/lib/types/internal/DefaultSignerTrx.d.ts +3 -0
  70. package/lib/types/internal/DefaultSignerTrx.d.ts.map +1 -1
  71. package/lib/types/internal/app-binder/TronAppBinder.d.ts +6 -0
  72. package/lib/types/internal/app-binder/TronAppBinder.d.ts.map +1 -1
  73. package/lib/types/internal/app-binder/command/GetECDHSecretCommand.d.ts +22 -0
  74. package/lib/types/internal/app-binder/command/GetECDHSecretCommand.d.ts.map +1 -0
  75. package/lib/types/internal/app-binder/command/GetECDHSecretCommand.test.d.ts +2 -0
  76. package/lib/types/internal/app-binder/command/GetECDHSecretCommand.test.d.ts.map +1 -0
  77. package/lib/types/internal/app-binder/constants.d.ts +1 -0
  78. package/lib/types/internal/app-binder/constants.d.ts.map +1 -1
  79. package/lib/types/internal/di.d.ts.map +1 -1
  80. package/lib/types/internal/use-cases/ecdh/GetECDHSecretUseCase.d.ts +9 -0
  81. package/lib/types/internal/use-cases/ecdh/GetECDHSecretUseCase.d.ts.map +1 -0
  82. package/lib/types/internal/use-cases/ecdh/GetECDHSecretUseCase.test.d.ts +2 -0
  83. package/lib/types/internal/use-cases/ecdh/GetECDHSecretUseCase.test.d.ts.map +1 -0
  84. package/lib/types/internal/use-cases/ecdh/di/ecdhModule.d.ts +3 -0
  85. package/lib/types/internal/use-cases/ecdh/di/ecdhModule.d.ts.map +1 -0
  86. package/lib/types/internal/use-cases/ecdh/di/ecdhTypes.d.ts +4 -0
  87. package/lib/types/internal/use-cases/ecdh/di/ecdhTypes.d.ts.map +1 -0
  88. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  89. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/di.ts"],
4
- "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n type LoggerPublisherService,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { appBindingModuleFactory } from \"@internal/app-binder/di/appBinderModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { addressModuleFactory } from \"@internal/use-cases/address/di/addressModule\";\nimport { appConfigurationModuleFactory } from \"@internal/use-cases/app-configuration/di/appConfigurationModule\";\nimport { messageModuleFactory } from \"@internal/use-cases/message/di/messageModule\";\nimport { transactionModuleFactory } from \"@internal/use-cases/transaction/di/transactionModule\";\n\ntype MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\n\nexport const makeContainer = ({ dmk, sessionId }: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container\n .bind<\n (tag: string) => LoggerPublisherService\n >(externalTypes.DmkLoggerFactory)\n .toConstantValue((tag: string) =>\n dmk.getLoggerFactory()([\"SignerTron\", tag]),\n );\n\n container.loadSync(\n appBindingModuleFactory(),\n addressModuleFactory(),\n transactionModuleFactory(),\n messageModuleFactory(),\n appConfigurationModuleFactory(),\n );\n\n return container;\n};\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAKA,IAAAI,EAA0B,qBAE1BC,EAAwC,mDACxCC,EAA8B,mCAC9BC,EAAqC,wDACrCC,EAA8C,2EAC9CC,EAAqC,wDACrCC,EAAyC,gEAOlC,MAAMR,EAAgB,CAAC,CAAE,IAAAS,EAAK,UAAAC,CAAU,IAA0B,CACvE,MAAMC,EAAY,IAAI,YAEtB,OAAAA,EAAU,KAA0B,gBAAc,GAAG,EAAE,gBAAgBF,CAAG,EAC1EE,EACG,KAAsB,gBAAc,SAAS,EAC7C,gBAAgBD,CAAS,EAE5BC,EACG,KAEC,gBAAc,gBAAgB,EAC/B,gBAAiBC,GAChBH,EAAI,iBAAiB,EAAE,CAAC,aAAcG,CAAG,CAAC,CAC5C,EAEFD,EAAU,YACR,2BAAwB,KACxB,wBAAqB,KACrB,4BAAyB,KACzB,wBAAqB,KACrB,iCAA8B,CAChC,EAEOA,CACT",
6
- "names": ["di_exports", "__export", "makeContainer", "__toCommonJS", "import_inversify", "import_appBinderModule", "import_externalTypes", "import_addressModule", "import_appConfigurationModule", "import_messageModule", "import_transactionModule", "dmk", "sessionId", "container", "tag"]
4
+ "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n type LoggerPublisherService,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { appBindingModuleFactory } from \"@internal/app-binder/di/appBinderModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { addressModuleFactory } from \"@internal/use-cases/address/di/addressModule\";\nimport { appConfigurationModuleFactory } from \"@internal/use-cases/app-configuration/di/appConfigurationModule\";\nimport { ecdhModuleFactory } from \"@internal/use-cases/ecdh/di/ecdhModule\";\nimport { messageModuleFactory } from \"@internal/use-cases/message/di/messageModule\";\nimport { transactionModuleFactory } from \"@internal/use-cases/transaction/di/transactionModule\";\n\ntype MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\n\nexport const makeContainer = ({ dmk, sessionId }: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container\n .bind<\n (tag: string) => LoggerPublisherService\n >(externalTypes.DmkLoggerFactory)\n .toConstantValue((tag: string) =>\n dmk.getLoggerFactory()([\"SignerTron\", tag]),\n );\n\n container.loadSync(\n appBindingModuleFactory(),\n addressModuleFactory(),\n transactionModuleFactory(),\n messageModuleFactory(),\n appConfigurationModuleFactory(),\n ecdhModuleFactory(),\n );\n\n return container;\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAKA,IAAAI,EAA0B,qBAE1BC,EAAwC,mDACxCC,EAA8B,mCAC9BC,EAAqC,wDACrCC,EAA8C,2EAC9CC,EAAkC,kDAClCC,EAAqC,wDACrCC,EAAyC,gEAOlC,MAAMT,EAAgB,CAAC,CAAE,IAAAU,EAAK,UAAAC,CAAU,IAA0B,CACvE,MAAMC,EAAY,IAAI,YAEtB,OAAAA,EAAU,KAA0B,gBAAc,GAAG,EAAE,gBAAgBF,CAAG,EAC1EE,EACG,KAAsB,gBAAc,SAAS,EAC7C,gBAAgBD,CAAS,EAE5BC,EACG,KAEC,gBAAc,gBAAgB,EAC/B,gBAAiBC,GAChBH,EAAI,iBAAiB,EAAE,CAAC,aAAcG,CAAG,CAAC,CAC5C,EAEFD,EAAU,YACR,2BAAwB,KACxB,wBAAqB,KACrB,4BAAyB,KACzB,wBAAqB,KACrB,iCAA8B,KAC9B,qBAAkB,CACpB,EAEOA,CACT",
6
+ "names": ["di_exports", "__export", "makeContainer", "__toCommonJS", "import_inversify", "import_appBinderModule", "import_externalTypes", "import_addressModule", "import_appConfigurationModule", "import_ecdhModule", "import_messageModule", "import_transactionModule", "dmk", "sessionId", "container", "tag"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var s=(r,p)=>{for(var n in p)o(r,n,{get:p[n],enumerable:!0})},u=(r,p,n,t)=>{if(p&&typeof p=="object"||typeof p=="function")for(let i of T(p))!f.call(r,i)&&i!==n&&o(r,i,{get:()=>p[i],enumerable:!(t=c(p,i))||t.enumerable});return r};var h=r=>u(o({},"__esModule",{value:!0}),r),B=(r,p,n,t)=>{for(var i=t>1?void 0:t?c(p,n):p,m=r.length-1,A;m>=0;m--)(A=r[m])&&(i=(t?A(p,n,i):A(i))||i);return t&&i&&o(p,n,i),i},y=(r,p)=>(n,t)=>p(n,t,r);var O={};s(O,{GetECDHSecretUseCase:()=>e});module.exports=h(O);var d=require("inversify"),a=require("../../app-binder/di/appBinderTypes");let e=class{_appBinder;constructor(p){this._appBinder=p}execute(p,n,t){return this._appBinder.getECDHSecret({derivationPath:p,publicKey:n,skipOpenApp:t?.skipOpenApp})}};e=B([(0,d.injectable)(),y(0,(0,d.inject)(a.appBinderTypes.AppBinding))],e);0&&(module.exports={GetECDHSecretUseCase});
2
+ //# sourceMappingURL=GetECDHSecretUseCase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/use-cases/ecdh/GetECDHSecretUseCase.ts"],
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { type GetECDHSecretDAReturnType } from \"@api/app-binder/GetECDHSecretDeviceActionTypes\";\nimport { type EcdhOptions } from \"@api/model/EcdhOptions\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { TronAppBinder } from \"@internal/app-binder/TronAppBinder\";\n\n@injectable()\nexport class GetECDHSecretUseCase {\n private readonly _appBinder: TronAppBinder;\n\n constructor(@inject(appBinderTypes.AppBinding) appBinder: TronAppBinder) {\n this._appBinder = appBinder;\n }\n\n execute(\n derivationPath: string,\n publicKey: Uint8Array,\n options?: EcdhOptions,\n ): GetECDHSecretDAReturnType {\n return this._appBinder.getECDHSecret({\n derivationPath,\n publicKey,\n skipOpenApp: options?.skipOpenApp,\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAInCC,EAA+B,kDAIxB,IAAMC,EAAN,KAA2B,CACf,WAEjB,YAA+CC,EAA0B,CACvE,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACAC,EAC2B,CAC3B,OAAO,KAAK,WAAW,cAAc,CACnC,eAAAF,EACA,UAAAC,EACA,YAAaC,GAAS,WACxB,CAAC,CACH,CACF,EAlBaJ,EAANK,EAAA,IADN,cAAW,EAIGC,EAAA,eAAO,iBAAe,UAAU,IAHlCN",
6
+ "names": ["GetECDHSecretUseCase_exports", "__export", "GetECDHSecretUseCase", "__toCommonJS", "import_inversify", "import_appBinderTypes", "GetECDHSecretUseCase", "appBinder", "derivationPath", "publicKey", "options", "__decorateClass", "__decorateParam"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=require("./GetECDHSecretUseCase");describe("GetECDHSecretUseCase",()=>{const e="44'/195'/0'/0/0",t=new Uint8Array(65).fill(4),o={observable:"observable",cancel:()=>{}},n=vi.fn().mockReturnValue(o),c={getECDHSecret:n};let r;beforeEach(()=>{vi.clearAllMocks(),r=new s.GetECDHSecretUseCase(c)}),it("should forward the public key and options to the app binder",()=>{const p=r.execute(e,t,{skipOpenApp:!0});expect(p).toEqual(o),expect(n).toHaveBeenCalledWith({derivationPath:e,publicKey:t,skipOpenApp:!0})}),it("should work without options",()=>{const p=r.execute(e,t);expect(p).toEqual(o),expect(n).toHaveBeenCalledWith({derivationPath:e,publicKey:t,skipOpenApp:void 0})})});
2
+ //# sourceMappingURL=GetECDHSecretUseCase.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/use-cases/ecdh/GetECDHSecretUseCase.test.ts"],
4
+ "sourcesContent": ["import { type TronAppBinder } from \"@internal/app-binder/TronAppBinder\";\n\nimport { GetECDHSecretUseCase } from \"./GetECDHSecretUseCase\";\n\ndescribe(\"GetECDHSecretUseCase\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const publicKey = new Uint8Array(65).fill(0x04);\n const returnedValue = { observable: \"observable\", cancel: () => {} };\n const getECDHSecretMock = vi.fn().mockReturnValue(returnedValue);\n const appBinderMock = {\n getECDHSecret: getECDHSecretMock,\n } as unknown as TronAppBinder;\n let useCase: GetECDHSecretUseCase;\n\n beforeEach(() => {\n vi.clearAllMocks();\n useCase = new GetECDHSecretUseCase(appBinderMock);\n });\n\n it(\"should forward the public key and options to the app binder\", () => {\n // WHEN\n const result = useCase.execute(derivationPath, publicKey, {\n skipOpenApp: true,\n });\n\n // THEN\n expect(result).toEqual(returnedValue);\n expect(getECDHSecretMock).toHaveBeenCalledWith({\n derivationPath,\n publicKey,\n skipOpenApp: true,\n });\n });\n\n it(\"should work without options\", () => {\n // WHEN\n const result = useCase.execute(derivationPath, publicKey);\n\n // THEN\n expect(result).toEqual(returnedValue);\n expect(getECDHSecretMock).toHaveBeenCalledWith({\n derivationPath,\n publicKey,\n skipOpenApp: undefined,\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAqC,kCAErC,SAAS,uBAAwB,IAAM,CACrC,MAAMC,EAAiB,kBACjBC,EAAY,IAAI,WAAW,EAAE,EAAE,KAAK,CAAI,EACxCC,EAAgB,CAAE,WAAY,aAAc,OAAQ,IAAM,CAAC,CAAE,EAC7DC,EAAoB,GAAG,GAAG,EAAE,gBAAgBD,CAAa,EACzDE,EAAgB,CACpB,cAAeD,CACjB,EACA,IAAIE,EAEJ,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAU,IAAI,uBAAqBD,CAAa,CAClD,CAAC,EAED,GAAG,8DAA+D,IAAM,CAEtE,MAAME,EAASD,EAAQ,QAAQL,EAAgBC,EAAW,CACxD,YAAa,EACf,CAAC,EAGD,OAAOK,CAAM,EAAE,QAAQJ,CAAa,EACpC,OAAOC,CAAiB,EAAE,qBAAqB,CAC7C,eAAAH,EACA,UAAAC,EACA,YAAa,EACf,CAAC,CACH,CAAC,EAED,GAAG,8BAA+B,IAAM,CAEtC,MAAMK,EAASD,EAAQ,QAAQL,EAAgBC,CAAS,EAGxD,OAAOK,CAAM,EAAE,QAAQJ,CAAa,EACpC,OAAOC,CAAiB,EAAE,qBAAqB,CAC7C,eAAAH,EACA,UAAAC,EACA,YAAa,MACf,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_GetECDHSecretUseCase", "derivationPath", "publicKey", "returnedValue", "getECDHSecretMock", "appBinderMock", "useCase", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var c=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var n=(e,o)=>{for(var r in o)c(e,r,{get:o[r],enumerable:!0})},f=(e,o,r,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of d(o))!i.call(e,t)&&t!==r&&c(e,t,{get:()=>o[t],enumerable:!(m=a(o,t))||m.enumerable});return e};var h=e=>f(c({},"__esModule",{value:!0}),e);var u={};n(u,{ecdhModuleFactory:()=>l});module.exports=h(u);var s=require("inversify"),p=require("../../../use-cases/ecdh/di/ecdhTypes"),C=require("../../../use-cases/ecdh/GetECDHSecretUseCase");const l=()=>new s.ContainerModule(({bind:e})=>{e(p.ecdhTypes.GetECDHSecretUseCase).to(C.GetECDHSecretUseCase)});0&&(module.exports={ecdhModuleFactory});
2
+ //# sourceMappingURL=ecdhModule.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/use-cases/ecdh/di/ecdhModule.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { ecdhTypes } from \"@internal/use-cases/ecdh/di/ecdhTypes\";\nimport { GetECDHSecretUseCase } from \"@internal/use-cases/ecdh/GetECDHSecretUseCase\";\n\nexport const ecdhModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(ecdhTypes.GetECDHSecretUseCase).to(GetECDHSecretUseCase);\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA0B,iDAC1BC,EAAqC,yDAE9B,MAAMJ,EAAoB,IAC/B,IAAI,kBAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAK,YAAU,oBAAoB,EAAE,GAAG,sBAAoB,CAC9D,CAAC",
6
+ "names": ["ecdhModule_exports", "__export", "ecdhModuleFactory", "__toCommonJS", "import_inversify", "import_ecdhTypes", "import_GetECDHSecretUseCase", "bind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var n=(s,e)=>{for(var c in e)o(s,c,{get:e[c],enumerable:!0})},p=(s,e,c,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of a(e))!S.call(s,t)&&t!==c&&o(s,t,{get:()=>e[t],enumerable:!(r=C(e,t))||r.enumerable});return s};var y=s=>p(o({},"__esModule",{value:!0}),s);var E={};n(E,{ecdhTypes:()=>D});module.exports=y(E);const D={GetECDHSecretUseCase:Symbol.for("GetECDHSecretUseCase")};0&&(module.exports={ecdhTypes});
2
+ //# sourceMappingURL=ecdhTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/use-cases/ecdh/di/ecdhTypes.ts"],
4
+ "sourcesContent": ["export const ecdhTypes = {\n GetECDHSecretUseCase: Symbol.for(\"GetECDHSecretUseCase\"),\n} as const;\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,eAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAY,CACvB,qBAAsB,OAAO,IAAI,sBAAsB,CACzD",
6
+ "names": ["ecdhTypes_exports", "__export", "ecdhTypes", "__toCommonJS"]
7
+ }
@@ -56,5 +56,5 @@
56
56
  "watch:builds": "pnpm ldmk-tool watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
57
57
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
58
58
  },
59
- "version": "0.0.0-develop-20260811001235"
59
+ "version": "0.0.0-develop-20260813001639"
60
60
  }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=GetECDHSecretDeviceActionTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/api/index.ts"],
4
- "sourcesContent": ["export {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n type GetAddressDAReturnType,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nexport {\n type GetAppConfigurationDAError,\n type GetAppConfigurationDAIntermediateValue,\n type GetAppConfigurationDAOutput,\n type GetAppConfigurationDAReturnType,\n} from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nexport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n type SignPersonalMessageDAReturnType,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nexport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n type SignTransactionDAReturnType,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nexport {\n type SignTransactionHashDAError,\n type SignTransactionHashDAIntermediateValue,\n type SignTransactionHashDAOutput,\n type SignTransactionHashDAReturnType,\n} from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nexport { type AddressOptions } from \"@api/model/AddressOptions\";\nexport { type AppConfiguration } from \"@api/model/AppConfiguration\";\nexport { type MessageOptions } from \"@api/model/MessageOptions\";\nexport { type Signature } from \"@api/model/Signature\";\nexport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nexport { type SignerTrx } from \"@api/SignerTrx\";\nexport { SignerTrxBuilder } from \"@api/SignerTrxBuilder\";\nexport { type TronAppErrorCodes } from \"@internal/app-binder/command/utils/tronApplicationErrors\";\n"],
5
- "mappings": "AAoCA,OAAS,oBAAAA,MAAwB",
4
+ "sourcesContent": ["export {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n type GetAddressDAReturnType,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nexport {\n type GetAppConfigurationDAError,\n type GetAppConfigurationDAIntermediateValue,\n type GetAppConfigurationDAOutput,\n type GetAppConfigurationDAReturnType,\n} from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nexport {\n type GetECDHSecretDAError,\n type GetECDHSecretDAIntermediateValue,\n type GetECDHSecretDAOutput,\n type GetECDHSecretDAReturnType,\n} from \"@api/app-binder/GetECDHSecretDeviceActionTypes\";\nexport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n type SignPersonalMessageDAReturnType,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nexport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n type SignTransactionDAReturnType,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nexport {\n type SignTransactionHashDAError,\n type SignTransactionHashDAIntermediateValue,\n type SignTransactionHashDAOutput,\n type SignTransactionHashDAReturnType,\n} from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nexport { type AddressOptions } from \"@api/model/AddressOptions\";\nexport { type AppConfiguration } from \"@api/model/AppConfiguration\";\nexport { type EcdhOptions } from \"@api/model/EcdhOptions\";\nexport { type MessageOptions } from \"@api/model/MessageOptions\";\nexport { type Signature } from \"@api/model/Signature\";\nexport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nexport { type SignerTrx } from \"@api/SignerTrx\";\nexport { SignerTrxBuilder } from \"@api/SignerTrxBuilder\";\nexport { type TronAppErrorCodes } from \"@internal/app-binder/command/utils/tronApplicationErrors\";\n"],
5
+ "mappings": "AA2CA,OAAS,oBAAAA,MAAwB",
6
6
  "names": ["SignerTrxBuilder"]
7
7
  }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=EcdhOptions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,2 +1,2 @@
1
- import{makeContainer as s}from"./di";import{addressTypes as i}from"./use-cases/address/di/addressTypes";import{appConfigurationTypes as o}from"./use-cases/app-configuration/di/appConfigurationTypes";import{messageTypes as a}from"./use-cases/message/di/messageTypes";import{transactionTypes as n}from"./use-cases/transaction/di/transactionTypes";class u{_container;constructor({dmk:e,sessionId:t}){this._container=s({dmk:e,sessionId:t})}getAddress(e,t){return this._container.get(i.GetAddressUseCase).execute(e,t)}signTransaction(e,t,r){return this._container.get(n.SignTransactionUseCase).execute(e,t,r)}signTransactionHash(e,t,r){return this._container.get(n.SignTransactionHashUseCase).execute(e,t,r)}signPersonalMessage(e,t,r){return this._container.get(a.SignPersonalMessageUseCase).execute(e,t,r)}getAppConfiguration(){return this._container.get(o.GetAppConfigurationUseCase).execute()}}export{u as DefaultSignerTrx};
1
+ import{makeContainer as s}from"./di";import{addressTypes as i}from"./use-cases/address/di/addressTypes";import{appConfigurationTypes as o}from"./use-cases/app-configuration/di/appConfigurationTypes";import{ecdhTypes as a}from"./use-cases/ecdh/di/ecdhTypes";import{messageTypes as p}from"./use-cases/message/di/messageTypes";import{transactionTypes as n}from"./use-cases/transaction/di/transactionTypes";class f{_container;constructor({dmk:e,sessionId:t}){this._container=s({dmk:e,sessionId:t})}getAddress(e,t){return this._container.get(i.GetAddressUseCase).execute(e,t)}signTransaction(e,t,r){return this._container.get(n.SignTransactionUseCase).execute(e,t,r)}signTransactionHash(e,t,r){return this._container.get(n.SignTransactionHashUseCase).execute(e,t,r)}signPersonalMessage(e,t,r){return this._container.get(p.SignPersonalMessageUseCase).execute(e,t,r)}getAppConfiguration(){return this._container.get(o.GetAppConfigurationUseCase).execute()}getECDHSecret(e,t,r){return this._container.get(a.GetECDHSecretUseCase).execute(e,t,r)}}export{f as DefaultSignerTrx};
2
2
  //# sourceMappingURL=DefaultSignerTrx.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/DefaultSignerTrx.ts"],
4
- "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type GetAppConfigurationDAReturnType } from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTransactionHashDAReturnType } from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type MessageOptions } from \"@api/model/MessageOptions\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type SignerTrx } from \"@api/SignerTrx\";\nimport { makeContainer } from \"@internal/di\";\nimport { addressTypes } from \"@internal/use-cases/address/di/addressTypes\";\nimport { type GetAddressUseCase } from \"@internal/use-cases/address/GetAddressUseCase\";\nimport { appConfigurationTypes } from \"@internal/use-cases/app-configuration/di/appConfigurationTypes\";\nimport { type GetAppConfigurationUseCase } from \"@internal/use-cases/app-configuration/GetAppConfigurationUseCase\";\nimport { messageTypes } from \"@internal/use-cases/message/di/messageTypes\";\nimport { type SignPersonalMessageUseCase } from \"@internal/use-cases/message/SignPersonalMessageUseCase\";\nimport { transactionTypes } from \"@internal/use-cases/transaction/di/transactionTypes\";\nimport { type SignTransactionHashUseCase } from \"@internal/use-cases/transaction/SignTransactionHashUseCase\";\nimport { type SignTransactionUseCase } from \"@internal/use-cases/transaction/SignTransactionUseCase\";\n\ntype DefaultSignerTrxConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\n\nexport class DefaultSignerTrx implements SignerTrx {\n private readonly _container: Container;\n\n constructor({ dmk, sessionId }: DefaultSignerTrxConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId });\n }\n\n getAddress(\n derivationPath: string,\n options?: AddressOptions,\n ): GetAddressDAReturnType {\n return this._container\n .get<GetAddressUseCase>(addressTypes.GetAddressUseCase)\n .execute(derivationPath, options);\n }\n\n signTransaction(\n derivationPath: string,\n transaction: Uint8Array,\n options?: TransactionOptions,\n ): SignTransactionDAReturnType {\n return this._container\n .get<SignTransactionUseCase>(transactionTypes.SignTransactionUseCase)\n .execute(derivationPath, transaction, options);\n }\n\n signTransactionHash(\n derivationPath: string,\n transactionHash: Uint8Array,\n options?: TransactionOptions,\n ): SignTransactionHashDAReturnType {\n return this._container\n .get<SignTransactionHashUseCase>(\n transactionTypes.SignTransactionHashUseCase,\n )\n .execute(derivationPath, transactionHash, options);\n }\n\n signPersonalMessage(\n derivationPath: string,\n message: string | Uint8Array,\n options?: MessageOptions,\n ): SignPersonalMessageDAReturnType {\n return this._container\n .get<SignPersonalMessageUseCase>(messageTypes.SignPersonalMessageUseCase)\n .execute(derivationPath, message, options);\n }\n\n getAppConfiguration(): GetAppConfigurationDAReturnType {\n return this._container\n .get<GetAppConfigurationUseCase>(\n appConfigurationTypes.GetAppConfigurationUseCase,\n )\n .execute();\n }\n}\n"],
5
- "mappings": "AAeA,OAAS,iBAAAA,MAAqB,eAC9B,OAAS,gBAAAC,MAAoB,8CAE7B,OAAS,yBAAAC,MAA6B,iEAEtC,OAAS,gBAAAC,MAAoB,8CAE7B,OAAS,oBAAAC,MAAwB,sDAS1B,MAAMC,CAAsC,CAChC,WAEjB,YAAY,CAAE,IAAAC,EAAK,UAAAC,CAAU,EAAoC,CAC/D,KAAK,WAAaP,EAAc,CAAE,IAAAM,EAAK,UAAAC,CAAU,CAAC,CACpD,CAEA,WACEC,EACAC,EACwB,CACxB,OAAO,KAAK,WACT,IAAuBR,EAAa,iBAAiB,EACrD,QAAQO,EAAgBC,CAAO,CACpC,CAEA,gBACED,EACAE,EACAD,EAC6B,CAC7B,OAAO,KAAK,WACT,IAA4BL,EAAiB,sBAAsB,EACnE,QAAQI,EAAgBE,EAAaD,CAAO,CACjD,CAEA,oBACED,EACAG,EACAF,EACiC,CACjC,OAAO,KAAK,WACT,IACCL,EAAiB,0BACnB,EACC,QAAQI,EAAgBG,EAAiBF,CAAO,CACrD,CAEA,oBACED,EACAI,EACAH,EACiC,CACjC,OAAO,KAAK,WACT,IAAgCN,EAAa,0BAA0B,EACvE,QAAQK,EAAgBI,EAASH,CAAO,CAC7C,CAEA,qBAAuD,CACrD,OAAO,KAAK,WACT,IACCP,EAAsB,0BACxB,EACC,QAAQ,CACb,CACF",
6
- "names": ["makeContainer", "addressTypes", "appConfigurationTypes", "messageTypes", "transactionTypes", "DefaultSignerTrx", "dmk", "sessionId", "derivationPath", "options", "transaction", "transactionHash", "message"]
4
+ "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type GetAppConfigurationDAReturnType } from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nimport { type GetECDHSecretDAReturnType } from \"@api/app-binder/GetECDHSecretDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTransactionHashDAReturnType } from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type EcdhOptions } from \"@api/model/EcdhOptions\";\nimport { type MessageOptions } from \"@api/model/MessageOptions\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type SignerTrx } from \"@api/SignerTrx\";\nimport { makeContainer } from \"@internal/di\";\nimport { addressTypes } from \"@internal/use-cases/address/di/addressTypes\";\nimport { type GetAddressUseCase } from \"@internal/use-cases/address/GetAddressUseCase\";\nimport { appConfigurationTypes } from \"@internal/use-cases/app-configuration/di/appConfigurationTypes\";\nimport { type GetAppConfigurationUseCase } from \"@internal/use-cases/app-configuration/GetAppConfigurationUseCase\";\nimport { ecdhTypes } from \"@internal/use-cases/ecdh/di/ecdhTypes\";\nimport { type GetECDHSecretUseCase } from \"@internal/use-cases/ecdh/GetECDHSecretUseCase\";\nimport { messageTypes } from \"@internal/use-cases/message/di/messageTypes\";\nimport { type SignPersonalMessageUseCase } from \"@internal/use-cases/message/SignPersonalMessageUseCase\";\nimport { transactionTypes } from \"@internal/use-cases/transaction/di/transactionTypes\";\nimport { type SignTransactionHashUseCase } from \"@internal/use-cases/transaction/SignTransactionHashUseCase\";\nimport { type SignTransactionUseCase } from \"@internal/use-cases/transaction/SignTransactionUseCase\";\n\ntype DefaultSignerTrxConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\n\nexport class DefaultSignerTrx implements SignerTrx {\n private readonly _container: Container;\n\n constructor({ dmk, sessionId }: DefaultSignerTrxConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId });\n }\n\n getAddress(\n derivationPath: string,\n options?: AddressOptions,\n ): GetAddressDAReturnType {\n return this._container\n .get<GetAddressUseCase>(addressTypes.GetAddressUseCase)\n .execute(derivationPath, options);\n }\n\n signTransaction(\n derivationPath: string,\n transaction: Uint8Array,\n options?: TransactionOptions,\n ): SignTransactionDAReturnType {\n return this._container\n .get<SignTransactionUseCase>(transactionTypes.SignTransactionUseCase)\n .execute(derivationPath, transaction, options);\n }\n\n signTransactionHash(\n derivationPath: string,\n transactionHash: Uint8Array,\n options?: TransactionOptions,\n ): SignTransactionHashDAReturnType {\n return this._container\n .get<SignTransactionHashUseCase>(\n transactionTypes.SignTransactionHashUseCase,\n )\n .execute(derivationPath, transactionHash, options);\n }\n\n signPersonalMessage(\n derivationPath: string,\n message: string | Uint8Array,\n options?: MessageOptions,\n ): SignPersonalMessageDAReturnType {\n return this._container\n .get<SignPersonalMessageUseCase>(messageTypes.SignPersonalMessageUseCase)\n .execute(derivationPath, message, options);\n }\n\n getAppConfiguration(): GetAppConfigurationDAReturnType {\n return this._container\n .get<GetAppConfigurationUseCase>(\n appConfigurationTypes.GetAppConfigurationUseCase,\n )\n .execute();\n }\n\n getECDHSecret(\n derivationPath: string,\n publicKey: Uint8Array,\n options?: EcdhOptions,\n ): GetECDHSecretDAReturnType {\n return this._container\n .get<GetECDHSecretUseCase>(ecdhTypes.GetECDHSecretUseCase)\n .execute(derivationPath, publicKey, options);\n }\n}\n"],
5
+ "mappings": "AAiBA,OAAS,iBAAAA,MAAqB,eAC9B,OAAS,gBAAAC,MAAoB,8CAE7B,OAAS,yBAAAC,MAA6B,iEAEtC,OAAS,aAAAC,MAAiB,wCAE1B,OAAS,gBAAAC,MAAoB,8CAE7B,OAAS,oBAAAC,MAAwB,sDAS1B,MAAMC,CAAsC,CAChC,WAEjB,YAAY,CAAE,IAAAC,EAAK,UAAAC,CAAU,EAAoC,CAC/D,KAAK,WAAaR,EAAc,CAAE,IAAAO,EAAK,UAAAC,CAAU,CAAC,CACpD,CAEA,WACEC,EACAC,EACwB,CACxB,OAAO,KAAK,WACT,IAAuBT,EAAa,iBAAiB,EACrD,QAAQQ,EAAgBC,CAAO,CACpC,CAEA,gBACED,EACAE,EACAD,EAC6B,CAC7B,OAAO,KAAK,WACT,IAA4BL,EAAiB,sBAAsB,EACnE,QAAQI,EAAgBE,EAAaD,CAAO,CACjD,CAEA,oBACED,EACAG,EACAF,EACiC,CACjC,OAAO,KAAK,WACT,IACCL,EAAiB,0BACnB,EACC,QAAQI,EAAgBG,EAAiBF,CAAO,CACrD,CAEA,oBACED,EACAI,EACAH,EACiC,CACjC,OAAO,KAAK,WACT,IAAgCN,EAAa,0BAA0B,EACvE,QAAQK,EAAgBI,EAASH,CAAO,CAC7C,CAEA,qBAAuD,CACrD,OAAO,KAAK,WACT,IACCR,EAAsB,0BACxB,EACC,QAAQ,CACb,CAEA,cACEO,EACAK,EACAJ,EAC2B,CAC3B,OAAO,KAAK,WACT,IAA0BP,EAAU,oBAAoB,EACxD,QAAQM,EAAgBK,EAAWJ,CAAO,CAC/C,CACF",
6
+ "names": ["makeContainer", "addressTypes", "appConfigurationTypes", "ecdhTypes", "messageTypes", "transactionTypes", "DefaultSignerTrx", "dmk", "sessionId", "derivationPath", "options", "transaction", "transactionHash", "message", "publicKey"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var k=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var h=(o,e,n,i)=>{for(var t=i>1?void 0:i?v(e,n):e,c=o.length-1,m;c>=0;c--)(m=o[c])&&(t=(i?m(e,n,t):m(t))||t);return i&&t&&k(e,n,t),t},a=(o,e)=>(n,i)=>e(n,i,o);import{CallTaskInAppDeviceAction as u,SendCommandInAppDeviceAction as d,UserInteractionRequired as s}from"@ledgerhq/device-management-kit";import{inject as g,injectable as y}from"inversify";import{GetAddressCommand as l}from"../app-binder/command/GetAddressCommand";import{GetAppConfigurationCommand as D}from"../app-binder/command/GetAppConfigurationCommand";import{SignTransactionHashCommand as T}from"../app-binder/command/SignTransactionHashCommand";import{APP_NAME as r}from"../app-binder/constants";import{SignPersonalMessageTask as f}from"../app-binder/task/SignPersonalMessageTask";import{SignTransactionTask as I}from"../app-binder/task/SignTransactionTask";import{externalTypes as A}from"../externalTypes";let p=class{constructor(e,n,i){this.dmk=e;this.sessionId=n;this.dmkLoggerFactory=i}getAddress(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new d({input:{command:new l({derivationPath:e.derivationPath,checkOnDevice:e.checkOnDevice}),appName:r,requiredUserInteraction:e.checkOnDevice?s.VerifyAddress:s.None,skipOpenApp:e.skipOpenApp},logger:this.dmkLoggerFactory("GetAddressCommand")})})}signTransaction(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new u({input:{task:async n=>new I(n,{derivationPath:e.derivationPath,transaction:e.transaction}).run(),appName:r,requiredUserInteraction:s.SignTransaction,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory("SignTransactionTask")})})}signTransactionHash(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new d({input:{command:new T({derivationPath:e.derivationPath,transactionHash:e.transactionHash}),appName:r,requiredUserInteraction:s.SignTransaction,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory("SignTransactionHashCommand")})})}signPersonalMessage(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new u({input:{task:async n=>new f(n,{derivationPath:e.derivationPath,message:e.message}).run(),appName:r,requiredUserInteraction:s.SignPersonalMessage,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory("SignPersonalMessageTask")})})}getAppConfiguration(){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new d({input:{command:new D,appName:r,requiredUserInteraction:s.None,skipOpenApp:!1},logger:this.dmkLoggerFactory("GetAppConfigurationCommand")})})}};p=h([y(),a(0,g(A.Dmk)),a(1,g(A.SessionId)),a(2,g(A.DmkLoggerFactory))],p);export{p as TronAppBinder};
1
+ var k=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var u=(s,e,n,i)=>{for(var t=i>1?void 0:i?v(e,n):e,m=s.length-1,d;m>=0;m--)(d=s[m])&&(t=(i?d(e,n,t):d(t))||t);return i&&t&&k(e,n,t),t},a=(s,e)=>(n,i)=>e(n,i,s);import{CallTaskInAppDeviceAction as h,SendCommandInAppDeviceAction as p,UserInteractionRequired as r}from"@ledgerhq/device-management-kit";import{inject as g,injectable as y}from"inversify";import{GetAddressCommand as D}from"../app-binder/command/GetAddressCommand";import{GetAppConfigurationCommand as l}from"../app-binder/command/GetAppConfigurationCommand";import{GetECDHSecretCommand as T}from"../app-binder/command/GetECDHSecretCommand";import{SignTransactionHashCommand as f}from"../app-binder/command/SignTransactionHashCommand";import{APP_NAME as o}from"../app-binder/constants";import{SignPersonalMessageTask as S}from"../app-binder/task/SignPersonalMessageTask";import{SignTransactionTask as I}from"../app-binder/task/SignTransactionTask";import{externalTypes as A}from"../externalTypes";let c=class{constructor(e,n,i){this.dmk=e;this.sessionId=n;this.dmkLoggerFactory=i}getAddress(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new p({input:{command:new D({derivationPath:e.derivationPath,checkOnDevice:e.checkOnDevice}),appName:o,requiredUserInteraction:e.checkOnDevice?r.VerifyAddress:r.None,skipOpenApp:e.skipOpenApp},logger:this.dmkLoggerFactory("GetAddressCommand")})})}signTransaction(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new h({input:{task:async n=>new I(n,{derivationPath:e.derivationPath,transaction:e.transaction}).run(),appName:o,requiredUserInteraction:r.SignTransaction,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory("SignTransactionTask")})})}getECDHSecret(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new p({input:{command:new T({derivationPath:e.derivationPath,publicKey:e.publicKey}),appName:o,requiredUserInteraction:r.SignTransaction,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory("GetECDHSecretCommand")})})}signTransactionHash(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new p({input:{command:new f({derivationPath:e.derivationPath,transactionHash:e.transactionHash}),appName:o,requiredUserInteraction:r.SignTransaction,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory("SignTransactionHashCommand")})})}signPersonalMessage(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new h({input:{task:async n=>new S(n,{derivationPath:e.derivationPath,message:e.message}).run(),appName:o,requiredUserInteraction:r.SignPersonalMessage,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory("SignPersonalMessageTask")})})}getAppConfiguration(){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new p({input:{command:new l,appName:o,requiredUserInteraction:r.None,skipOpenApp:!1},logger:this.dmkLoggerFactory("GetAppConfigurationCommand")})})}};c=u([y(),a(0,g(A.Dmk)),a(1,g(A.SessionId)),a(2,g(A.DmkLoggerFactory))],c);export{c as TronAppBinder};
2
2
  //# sourceMappingURL=TronAppBinder.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/TronAppBinder.ts"],
4
- "sourcesContent": ["import {\n CallTaskInAppDeviceAction,\n type DeviceManagementKit,\n type DeviceSessionId,\n LoggerPublisherService,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type GetAppConfigurationDAReturnType } from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTransactionHashDAReturnType } from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nimport { GetAddressCommand } from \"@internal/app-binder/command/GetAddressCommand\";\nimport { GetAppConfigurationCommand } from \"@internal/app-binder/command/GetAppConfigurationCommand\";\nimport { SignTransactionHashCommand } from \"@internal/app-binder/command/SignTransactionHashCommand\";\nimport { APP_NAME } from \"@internal/app-binder/constants\";\nimport { SignPersonalMessageTask } from \"@internal/app-binder/task/SignPersonalMessageTask\";\nimport { SignTransactionTask } from \"@internal/app-binder/task/SignTransactionTask\";\nimport { externalTypes } from \"@internal/externalTypes\";\n\n@injectable()\nexport class TronAppBinder {\n constructor(\n @inject(externalTypes.Dmk) private dmk: DeviceManagementKit,\n @inject(externalTypes.SessionId) private sessionId: DeviceSessionId,\n @inject(externalTypes.DmkLoggerFactory)\n private dmkLoggerFactory: (tag: string) => LoggerPublisherService,\n ) {}\n\n getAddress(args: {\n derivationPath: string;\n checkOnDevice: boolean;\n skipOpenApp: boolean;\n }): GetAddressDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand({\n derivationPath: args.derivationPath,\n checkOnDevice: args.checkOnDevice,\n }),\n appName: APP_NAME,\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this.dmkLoggerFactory(\"GetAddressCommand\"),\n }),\n });\n }\n\n signTransaction(args: {\n derivationPath: string;\n transaction: Uint8Array;\n skipOpenApp?: boolean;\n }): SignTransactionDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SignTransactionTask(internalApi, {\n derivationPath: args.derivationPath,\n transaction: args.transaction,\n }).run(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n skipOpenApp: args.skipOpenApp ?? false,\n },\n logger: this.dmkLoggerFactory(\"SignTransactionTask\"),\n }),\n });\n }\n\n signTransactionHash(args: {\n derivationPath: string;\n transactionHash: Uint8Array;\n skipOpenApp?: boolean;\n }): SignTransactionHashDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new SignTransactionHashCommand({\n derivationPath: args.derivationPath,\n transactionHash: args.transactionHash,\n }),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n skipOpenApp: args.skipOpenApp ?? false,\n },\n logger: this.dmkLoggerFactory(\"SignTransactionHashCommand\"),\n }),\n });\n }\n\n signPersonalMessage(args: {\n derivationPath: string;\n message: Uint8Array;\n skipOpenApp?: boolean;\n }): SignPersonalMessageDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SignPersonalMessageTask(internalApi, {\n derivationPath: args.derivationPath,\n message: args.message,\n }).run(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.SignPersonalMessage,\n skipOpenApp: args.skipOpenApp ?? false,\n },\n logger: this.dmkLoggerFactory(\"SignPersonalMessageTask\"),\n }),\n });\n }\n\n getAppConfiguration(): GetAppConfigurationDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAppConfigurationCommand(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n logger: this.dmkLoggerFactory(\"GetAppConfigurationCommand\"),\n }),\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OACE,6BAAAA,EAIA,gCAAAC,EACA,2BAAAC,MACK,kCACP,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAOnC,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,8BAAAC,MAAkC,0DAC3C,OAAS,8BAAAC,MAAkC,0DAC3C,OAAS,YAAAC,MAAgB,iCACzB,OAAS,2BAAAC,MAA+B,oDACxC,OAAS,uBAAAC,MAA2B,gDACpC,OAAS,iBAAAC,MAAqB,0BAGvB,IAAMC,EAAN,KAAoB,CACzB,YACqCC,EACMC,EAEjCC,EACR,CAJmC,SAAAF,EACM,eAAAC,EAEjC,sBAAAC,CACP,CAEH,WAAWC,EAIgB,CACzB,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIC,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAIC,EAAkB,CAC7B,eAAgBF,EAAK,eACrB,cAAeA,EAAK,aACtB,CAAC,EACD,QAASG,EACT,wBAAyBH,EAAK,cAC1BI,EAAwB,cACxBA,EAAwB,KAC5B,YAAaJ,EAAK,WACpB,EACA,OAAQ,KAAK,iBAAiB,mBAAmB,CACnD,CAAC,CACH,CAAC,CACH,CAEA,gBAAgBA,EAIgB,CAC9B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIK,EAA0B,CAC1C,MAAO,CACL,KAAM,MAAOC,GACX,IAAIC,EAAoBD,EAAa,CACnC,eAAgBN,EAAK,eACrB,YAAaA,EAAK,WACpB,CAAC,EAAE,IAAI,EACT,QAASG,EACT,wBAAyBC,EAAwB,gBACjD,YAAaJ,EAAK,aAAe,EACnC,EACA,OAAQ,KAAK,iBAAiB,qBAAqB,CACrD,CAAC,CACH,CAAC,CACH,CAEA,oBAAoBA,EAIgB,CAClC,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIC,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAIO,EAA2B,CACtC,eAAgBR,EAAK,eACrB,gBAAiBA,EAAK,eACxB,CAAC,EACD,QAASG,EACT,wBAAyBC,EAAwB,gBACjD,YAAaJ,EAAK,aAAe,EACnC,EACA,OAAQ,KAAK,iBAAiB,4BAA4B,CAC5D,CAAC,CACH,CAAC,CACH,CAEA,oBAAoBA,EAIgB,CAClC,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIK,EAA0B,CAC1C,MAAO,CACL,KAAM,MAAOC,GACX,IAAIG,EAAwBH,EAAa,CACvC,eAAgBN,EAAK,eACrB,QAASA,EAAK,OAChB,CAAC,EAAE,IAAI,EACT,QAASG,EACT,wBAAyBC,EAAwB,oBACjD,YAAaJ,EAAK,aAAe,EACnC,EACA,OAAQ,KAAK,iBAAiB,yBAAyB,CACzD,CAAC,CACH,CAAC,CACH,CAEA,qBAAuD,CACrD,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIC,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAIS,EACb,QAASP,EACT,wBAAyBC,EAAwB,KACjD,YAAa,EACf,EACA,OAAQ,KAAK,iBAAiB,4BAA4B,CAC5D,CAAC,CACH,CAAC,CACH,CACF,EAlHaR,EAANe,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAc,GAAG,GACxBF,EAAA,EAAAC,EAAOC,EAAc,SAAS,GAC9BF,EAAA,EAAAC,EAAOC,EAAc,gBAAgB,IAJ7BnB",
6
- "names": ["CallTaskInAppDeviceAction", "SendCommandInAppDeviceAction", "UserInteractionRequired", "inject", "injectable", "GetAddressCommand", "GetAppConfigurationCommand", "SignTransactionHashCommand", "APP_NAME", "SignPersonalMessageTask", "SignTransactionTask", "externalTypes", "TronAppBinder", "dmk", "sessionId", "dmkLoggerFactory", "args", "SendCommandInAppDeviceAction", "GetAddressCommand", "APP_NAME", "UserInteractionRequired", "CallTaskInAppDeviceAction", "internalApi", "SignTransactionTask", "SignTransactionHashCommand", "SignPersonalMessageTask", "GetAppConfigurationCommand", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes"]
4
+ "sourcesContent": ["import {\n CallTaskInAppDeviceAction,\n type DeviceManagementKit,\n type DeviceSessionId,\n LoggerPublisherService,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type GetAppConfigurationDAReturnType } from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nimport { type GetECDHSecretDAReturnType } from \"@api/app-binder/GetECDHSecretDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTransactionHashDAReturnType } from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nimport { GetAddressCommand } from \"@internal/app-binder/command/GetAddressCommand\";\nimport { GetAppConfigurationCommand } from \"@internal/app-binder/command/GetAppConfigurationCommand\";\nimport { GetECDHSecretCommand } from \"@internal/app-binder/command/GetECDHSecretCommand\";\nimport { SignTransactionHashCommand } from \"@internal/app-binder/command/SignTransactionHashCommand\";\nimport { APP_NAME } from \"@internal/app-binder/constants\";\nimport { SignPersonalMessageTask } from \"@internal/app-binder/task/SignPersonalMessageTask\";\nimport { SignTransactionTask } from \"@internal/app-binder/task/SignTransactionTask\";\nimport { externalTypes } from \"@internal/externalTypes\";\n\n@injectable()\nexport class TronAppBinder {\n constructor(\n @inject(externalTypes.Dmk) private dmk: DeviceManagementKit,\n @inject(externalTypes.SessionId) private sessionId: DeviceSessionId,\n @inject(externalTypes.DmkLoggerFactory)\n private dmkLoggerFactory: (tag: string) => LoggerPublisherService,\n ) {}\n\n getAddress(args: {\n derivationPath: string;\n checkOnDevice: boolean;\n skipOpenApp: boolean;\n }): GetAddressDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand({\n derivationPath: args.derivationPath,\n checkOnDevice: args.checkOnDevice,\n }),\n appName: APP_NAME,\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this.dmkLoggerFactory(\"GetAddressCommand\"),\n }),\n });\n }\n\n signTransaction(args: {\n derivationPath: string;\n transaction: Uint8Array;\n skipOpenApp?: boolean;\n }): SignTransactionDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SignTransactionTask(internalApi, {\n derivationPath: args.derivationPath,\n transaction: args.transaction,\n }).run(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n skipOpenApp: args.skipOpenApp ?? false,\n },\n logger: this.dmkLoggerFactory(\"SignTransactionTask\"),\n }),\n });\n }\n\n getECDHSecret(args: {\n derivationPath: string;\n publicKey: Uint8Array;\n skipOpenApp?: boolean;\n }): GetECDHSecretDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetECDHSecretCommand({\n derivationPath: args.derivationPath,\n publicKey: args.publicKey,\n }),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n skipOpenApp: args.skipOpenApp ?? false,\n },\n logger: this.dmkLoggerFactory(\"GetECDHSecretCommand\"),\n }),\n });\n }\n\n signTransactionHash(args: {\n derivationPath: string;\n transactionHash: Uint8Array;\n skipOpenApp?: boolean;\n }): SignTransactionHashDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new SignTransactionHashCommand({\n derivationPath: args.derivationPath,\n transactionHash: args.transactionHash,\n }),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n skipOpenApp: args.skipOpenApp ?? false,\n },\n logger: this.dmkLoggerFactory(\"SignTransactionHashCommand\"),\n }),\n });\n }\n\n signPersonalMessage(args: {\n derivationPath: string;\n message: Uint8Array;\n skipOpenApp?: boolean;\n }): SignPersonalMessageDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SignPersonalMessageTask(internalApi, {\n derivationPath: args.derivationPath,\n message: args.message,\n }).run(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.SignPersonalMessage,\n skipOpenApp: args.skipOpenApp ?? false,\n },\n logger: this.dmkLoggerFactory(\"SignPersonalMessageTask\"),\n }),\n });\n }\n\n getAppConfiguration(): GetAppConfigurationDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAppConfigurationCommand(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n logger: this.dmkLoggerFactory(\"GetAppConfigurationCommand\"),\n }),\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["CallTaskInAppDeviceAction", "SendCommandInAppDeviceAction", "UserInteractionRequired", "inject", "injectable", "GetAddressCommand", "GetAppConfigurationCommand", "GetECDHSecretCommand", "SignTransactionHashCommand", "APP_NAME", "SignPersonalMessageTask", "SignTransactionTask", "externalTypes", "TronAppBinder", "dmk", "sessionId", "dmkLoggerFactory", "args", "SendCommandInAppDeviceAction", "GetAddressCommand", "APP_NAME", "UserInteractionRequired", "CallTaskInAppDeviceAction", "internalApi", "SignTransactionTask", "GetECDHSecretCommand", "SignTransactionHashCommand", "SignPersonalMessageTask", "GetAppConfigurationCommand", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CallTaskInAppDeviceAction as b,DeviceActionStatus as d,SendCommandInAppDeviceAction as v,UserInteractionRequired as l}from"@ledgerhq/device-management-kit";import{from as D}from"rxjs";import{GetAddressCommand as h}from"../app-binder/command/GetAddressCommand";import{GetAppConfigurationCommand as x}from"../app-binder/command/GetAppConfigurationCommand";import{SignTransactionHashCommand as f}from"../app-binder/command/SignTransactionHashCommand";import{APP_NAME as g}from"../app-binder/constants";import{TronAppBinder as a}from"./TronAppBinder";describe("TronAppBinder",()=>{const e={sendCommand:vi.fn(),executeDeviceAction:vi.fn()},m={debug:vi.fn()},o=vi.fn().mockReturnValue(m);beforeEach(()=>{vi.clearAllMocks()}),it("should be defined",()=>{const t=new a({},{},o);expect(t).toBeDefined()}),describe("getAddress",()=>{it("should return the address",()=>new Promise((t,i)=>{const r={publicKey:"0401020304",address:"TWdnWBzFdBP1b8sqZ5RcFDbkV3sBmnxsYu"};vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:D([{status:d.Completed,output:r}]),cancel:vi.fn()});const n=new a(e,"sessionId",o),{observable:s}=n.getAddress({derivationPath:"44'/195'/0'/0/0",checkOnDevice:!1,skipOpenApp:!1}),p=[];s.subscribe({next:c=>p.push(c),error:i,complete:()=>{try{expect(p).toEqual([{status:d.Completed,output:r}]),t()}catch(c){i(c)}}})})),describe("calls executeDeviceAction with the correct params",()=>{const t="44'/195'/0'/0/0";it("requires no user interaction when checkOnDevice is false",()=>{new a(e,"sessionId",o).getAddress({derivationPath:t,checkOnDevice:!1,skipOpenApp:!1}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new v({input:{command:new h({derivationPath:t,checkOnDevice:!1}),appName:g,requiredUserInteraction:l.None,skipOpenApp:!1},logger:m})}))}),it("requires VerifyAddress interaction when checkOnDevice is true",()=>{new a(e,"sessionId",o).getAddress({derivationPath:t,checkOnDevice:!0,skipOpenApp:!0}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new v({input:{command:new h({derivationPath:t,checkOnDevice:!0}),appName:g,requiredUserInteraction:l.VerifyAddress,skipOpenApp:!0},logger:m})}))})})}),describe("signTransaction",()=>{const t="44'/195'/0'/0/0",i=Uint8Array.from([10,1,0]);it("should return the signature",()=>new Promise((r,n)=>{const s=new Uint8Array(65).fill(171);vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:D([{status:d.Completed,output:s}]),cancel:vi.fn()});const p=new a(e,"sessionId",o),{observable:c}=p.signTransaction({derivationPath:t,transaction:i}),A=[];c.subscribe({next:u=>A.push(u),error:n,complete:()=>{try{expect(A).toEqual([{status:d.Completed,output:s}]),r()}catch(u){n(u)}}})})),describe("calls executeDeviceAction with the correct params",()=>{const r=()=>{const n=vi.mocked(e.executeDeviceAction).mock.calls[0][0];return expect(n.sessionId).toBe("sessionId"),expect(n.deviceAction).toBeInstanceOf(b),n.deviceAction};it("requires the SignTransaction interaction",()=>{new a(e,"sessionId",o).signTransaction({derivationPath:t,transaction:i,skipOpenApp:!0});const s=r();expect(s.input.appName).toBe(g),expect(s.input.requiredUserInteraction).toBe(l.SignTransaction),expect(s.input.skipOpenApp).toBe(!0)}),it("defaults skipOpenApp to false",()=>{new a(e,"sessionId",o).signTransaction({derivationPath:t,transaction:i}),expect(r().input.skipOpenApp).toBe(!1)})})}),describe("signTransactionHash",()=>{const t="44'/195'/0'/0/0",i=new Uint8Array(32).fill(37);it("should return the signature",()=>new Promise((r,n)=>{const s=new Uint8Array(65).fill(171);vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:D([{status:d.Completed,output:s}]),cancel:vi.fn()});const p=new a(e,"sessionId",o),{observable:c}=p.signTransactionHash({derivationPath:t,transactionHash:i}),A=[];c.subscribe({next:u=>A.push(u),error:n,complete:()=>{try{expect(A).toEqual([{status:d.Completed,output:s}]),r()}catch(u){n(u)}}})})),describe("calls executeDeviceAction with the correct params",()=>{it("requires the SignTransaction interaction",()=>{new a(e,"sessionId",o).signTransactionHash({derivationPath:t,transactionHash:i,skipOpenApp:!0}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new v({input:{command:new f({derivationPath:t,transactionHash:i}),appName:g,requiredUserInteraction:l.SignTransaction,skipOpenApp:!0},logger:m})}))}),it("defaults skipOpenApp to false",()=>{new a(e,"sessionId",o).signTransactionHash({derivationPath:t,transactionHash:i}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({deviceAction:new v({input:{command:new f({derivationPath:t,transactionHash:i}),appName:g,requiredUserInteraction:l.SignTransaction,skipOpenApp:!1},logger:m})}))})})}),describe("signPersonalMessage",()=>{const t="44'/195'/0'/0/0",i=Uint8Array.from([104,101,108,108,111]);it("should return the signature",()=>new Promise((r,n)=>{const s=new Uint8Array(65).fill(171);vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:D([{status:d.Completed,output:s}]),cancel:vi.fn()});const p=new a(e,"sessionId",o),{observable:c}=p.signPersonalMessage({derivationPath:t,message:i}),A=[];c.subscribe({next:u=>A.push(u),error:n,complete:()=>{try{expect(A).toEqual([{status:d.Completed,output:s}]),r()}catch(u){n(u)}}})})),describe("calls executeDeviceAction with the correct params",()=>{const r=()=>{const n=vi.mocked(e.executeDeviceAction).mock.calls[0][0];return expect(n.sessionId).toBe("sessionId"),expect(n.deviceAction).toBeInstanceOf(b),n.deviceAction};it("requires the SignPersonalMessage interaction",()=>{new a(e,"sessionId",o).signPersonalMessage({derivationPath:t,message:i,skipOpenApp:!0});const s=r();expect(s.input.appName).toBe(g),expect(s.input.requiredUserInteraction).toBe(l.SignPersonalMessage),expect(s.input.skipOpenApp).toBe(!0)}),it("defaults skipOpenApp to false",()=>{new a(e,"sessionId",o).signPersonalMessage({derivationPath:t,message:i}),expect(r().input.skipOpenApp).toBe(!1)})})}),describe("getAppConfiguration",()=>{it("should return the app configuration",()=>new Promise((t,i)=>{const r={version:"0.5.0",versionN:500,allowData:!0,allowContract:!0,truncateAddress:!0,signByHash:!0};vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:D([{status:d.Completed,output:r}]),cancel:vi.fn()});const n=new a(e,"sessionId",o),{observable:s}=n.getAppConfiguration(),p=[];s.subscribe({next:c=>p.push(c),error:i,complete:()=>{try{expect(p).toEqual([{status:d.Completed,output:r}]),t()}catch(c){i(c)}}})})),it("should call executeDeviceAction with the correct params",()=>{new a(e,"sessionId",o).getAppConfiguration(),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new v({input:{command:new x,appName:g,requiredUserInteraction:l.None,skipOpenApp:!1},logger:m})}))})})});
1
+ import{CallTaskInAppDeviceAction as b,DeviceActionStatus as d,SendCommandInAppDeviceAction as D,UserInteractionRequired as l}from"@ledgerhq/device-management-kit";import{from as v}from"rxjs";import{GetAddressCommand as h}from"../app-binder/command/GetAddressCommand";import{GetAppConfigurationCommand as f}from"../app-binder/command/GetAppConfigurationCommand";import{GetECDHSecretCommand as S}from"../app-binder/command/GetECDHSecretCommand";import{SignTransactionHashCommand as x}from"../app-binder/command/SignTransactionHashCommand";import{APP_NAME as g}from"../app-binder/constants";import{TronAppBinder as a}from"./TronAppBinder";describe("TronAppBinder",()=>{const e={sendCommand:vi.fn(),executeDeviceAction:vi.fn()},m={debug:vi.fn()},o=vi.fn().mockReturnValue(m);beforeEach(()=>{vi.clearAllMocks()}),it("should be defined",()=>{const t=new a({},{},o);expect(t).toBeDefined()}),describe("getAddress",()=>{it("should return the address",()=>new Promise((t,n)=>{const s={publicKey:"0401020304",address:"TWdnWBzFdBP1b8sqZ5RcFDbkV3sBmnxsYu"};vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:v([{status:d.Completed,output:s}]),cancel:vi.fn()});const i=new a(e,"sessionId",o),{observable:r}=i.getAddress({derivationPath:"44'/195'/0'/0/0",checkOnDevice:!1,skipOpenApp:!1}),u=[];r.subscribe({next:c=>u.push(c),error:n,complete:()=>{try{expect(u).toEqual([{status:d.Completed,output:s}]),t()}catch(c){n(c)}}})})),describe("calls executeDeviceAction with the correct params",()=>{const t="44'/195'/0'/0/0";it("requires no user interaction when checkOnDevice is false",()=>{new a(e,"sessionId",o).getAddress({derivationPath:t,checkOnDevice:!1,skipOpenApp:!1}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new D({input:{command:new h({derivationPath:t,checkOnDevice:!1}),appName:g,requiredUserInteraction:l.None,skipOpenApp:!1},logger:m})}))}),it("requires VerifyAddress interaction when checkOnDevice is true",()=>{new a(e,"sessionId",o).getAddress({derivationPath:t,checkOnDevice:!0,skipOpenApp:!0}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new D({input:{command:new h({derivationPath:t,checkOnDevice:!0}),appName:g,requiredUserInteraction:l.VerifyAddress,skipOpenApp:!0},logger:m})}))})})}),describe("signTransaction",()=>{const t="44'/195'/0'/0/0",n=Uint8Array.from([10,1,0]);it("should return the signature",()=>new Promise((s,i)=>{const r=new Uint8Array(65).fill(171);vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:v([{status:d.Completed,output:r}]),cancel:vi.fn()});const u=new a(e,"sessionId",o),{observable:c}=u.signTransaction({derivationPath:t,transaction:n}),A=[];c.subscribe({next:p=>A.push(p),error:i,complete:()=>{try{expect(A).toEqual([{status:d.Completed,output:r}]),s()}catch(p){i(p)}}})})),describe("calls executeDeviceAction with the correct params",()=>{const s=()=>{const i=vi.mocked(e.executeDeviceAction).mock.calls[0][0];return expect(i.sessionId).toBe("sessionId"),expect(i.deviceAction).toBeInstanceOf(b),i.deviceAction};it("requires the SignTransaction interaction",()=>{new a(e,"sessionId",o).signTransaction({derivationPath:t,transaction:n,skipOpenApp:!0});const r=s();expect(r.input.appName).toBe(g),expect(r.input.requiredUserInteraction).toBe(l.SignTransaction),expect(r.input.skipOpenApp).toBe(!0)}),it("defaults skipOpenApp to false",()=>{new a(e,"sessionId",o).signTransaction({derivationPath:t,transaction:n}),expect(s().input.skipOpenApp).toBe(!1)})})}),describe("signTransactionHash",()=>{const t="44'/195'/0'/0/0",n=new Uint8Array(32).fill(37);it("should return the signature",()=>new Promise((s,i)=>{const r=new Uint8Array(65).fill(171);vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:v([{status:d.Completed,output:r}]),cancel:vi.fn()});const u=new a(e,"sessionId",o),{observable:c}=u.signTransactionHash({derivationPath:t,transactionHash:n}),A=[];c.subscribe({next:p=>A.push(p),error:i,complete:()=>{try{expect(A).toEqual([{status:d.Completed,output:r}]),s()}catch(p){i(p)}}})})),describe("calls executeDeviceAction with the correct params",()=>{it("requires the SignTransaction interaction",()=>{new a(e,"sessionId",o).signTransactionHash({derivationPath:t,transactionHash:n,skipOpenApp:!0}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new D({input:{command:new x({derivationPath:t,transactionHash:n}),appName:g,requiredUserInteraction:l.SignTransaction,skipOpenApp:!0},logger:m})}))}),it("defaults skipOpenApp to false",()=>{new a(e,"sessionId",o).signTransactionHash({derivationPath:t,transactionHash:n}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({deviceAction:new D({input:{command:new x({derivationPath:t,transactionHash:n}),appName:g,requiredUserInteraction:l.SignTransaction,skipOpenApp:!1},logger:m})}))})})}),describe("signPersonalMessage",()=>{const t="44'/195'/0'/0/0",n=Uint8Array.from([104,101,108,108,111]);it("should return the signature",()=>new Promise((s,i)=>{const r=new Uint8Array(65).fill(171);vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:v([{status:d.Completed,output:r}]),cancel:vi.fn()});const u=new a(e,"sessionId",o),{observable:c}=u.signPersonalMessage({derivationPath:t,message:n}),A=[];c.subscribe({next:p=>A.push(p),error:i,complete:()=>{try{expect(A).toEqual([{status:d.Completed,output:r}]),s()}catch(p){i(p)}}})})),describe("calls executeDeviceAction with the correct params",()=>{const s=()=>{const i=vi.mocked(e.executeDeviceAction).mock.calls[0][0];return expect(i.sessionId).toBe("sessionId"),expect(i.deviceAction).toBeInstanceOf(b),i.deviceAction};it("requires the SignPersonalMessage interaction",()=>{new a(e,"sessionId",o).signPersonalMessage({derivationPath:t,message:n,skipOpenApp:!0});const r=s();expect(r.input.appName).toBe(g),expect(r.input.requiredUserInteraction).toBe(l.SignPersonalMessage),expect(r.input.skipOpenApp).toBe(!0)}),it("defaults skipOpenApp to false",()=>{new a(e,"sessionId",o).signPersonalMessage({derivationPath:t,message:n}),expect(s().input.skipOpenApp).toBe(!1)})})}),describe("getAppConfiguration",()=>{it("should return the app configuration",()=>new Promise((t,n)=>{const s={version:"0.5.0",versionN:500,allowData:!0,allowContract:!0,truncateAddress:!0,signByHash:!0};vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:v([{status:d.Completed,output:s}]),cancel:vi.fn()});const i=new a(e,"sessionId",o),{observable:r}=i.getAppConfiguration(),u=[];r.subscribe({next:c=>u.push(c),error:n,complete:()=>{try{expect(u).toEqual([{status:d.Completed,output:s}]),t()}catch(c){n(c)}}})})),it("should call executeDeviceAction with the correct params",()=>{new a(e,"sessionId",o).getAppConfiguration(),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new D({input:{command:new f,appName:g,requiredUserInteraction:l.None,skipOpenApp:!1},logger:m})}))})}),describe("getECDHSecret",()=>{const t="44'/195'/0'/0/0",n=new Uint8Array(65).fill(4);it("should return the shared secret",()=>new Promise((s,i)=>{const r=new Uint8Array(65).fill(205);vi.spyOn(e,"executeDeviceAction").mockReturnValue({observable:v([{status:d.Completed,output:r}]),cancel:vi.fn()});const u=new a(e,"sessionId",o),{observable:c}=u.getECDHSecret({derivationPath:t,publicKey:n}),A=[];c.subscribe({next:p=>A.push(p),error:i,complete:()=>{try{expect(A).toEqual([{status:d.Completed,output:r}]),s()}catch(p){i(p)}}})})),describe("calls executeDeviceAction with the correct params",()=>{it("requires the SignTransaction interaction",()=>{new a(e,"sessionId",o).getECDHSecret({derivationPath:t,publicKey:n,skipOpenApp:!0}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({sessionId:"sessionId",deviceAction:new D({input:{command:new S({derivationPath:t,publicKey:n}),appName:g,requiredUserInteraction:l.SignTransaction,skipOpenApp:!0},logger:m})}))}),it("defaults skipOpenApp to false",()=>{new a(e,"sessionId",o).getECDHSecret({derivationPath:t,publicKey:n}),expect(e.executeDeviceAction).toHaveBeenCalledWith(expect.objectContaining({deviceAction:new D({input:{command:new S({derivationPath:t,publicKey:n}),appName:g,requiredUserInteraction:l.SignTransaction,skipOpenApp:!1},logger:m})}))})})})});
2
2
  //# sourceMappingURL=TronAppBinder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/TronAppBinder.test.ts"],
4
- "sourcesContent": ["import {\n CallTaskInAppDeviceAction,\n type DeviceActionState,\n DeviceActionStatus,\n type DeviceManagementKit,\n type DeviceSessionId,\n type LoggerPublisherService,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { from } from \"rxjs\";\n\nimport {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport {\n type GetAppConfigurationDAError,\n type GetAppConfigurationDAIntermediateValue,\n type GetAppConfigurationDAOutput,\n} from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nimport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport {\n type SignTransactionHashDAError,\n type SignTransactionHashDAIntermediateValue,\n type SignTransactionHashDAOutput,\n} from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nimport { GetAddressCommand } from \"@internal/app-binder/command/GetAddressCommand\";\nimport { GetAppConfigurationCommand } from \"@internal/app-binder/command/GetAppConfigurationCommand\";\nimport { SignTransactionHashCommand } from \"@internal/app-binder/command/SignTransactionHashCommand\";\nimport { type TronAppCommandError } from \"@internal/app-binder/command/utils/tronApplicationErrors\";\nimport { APP_NAME } from \"@internal/app-binder/constants\";\n\nimport { TronAppBinder } from \"./TronAppBinder\";\n\ndescribe(\"TronAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: vi.fn(),\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n\n const loggerMock = {\n debug: vi.fn(),\n } as unknown as LoggerPublisherService;\n const loggerFactoryMock = vi.fn().mockReturnValue(loggerMock);\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should be defined\", () => {\n const binder = new TronAppBinder(\n {} as DeviceManagementKit,\n {} as DeviceSessionId,\n loggerFactoryMock,\n );\n expect(binder).toBeDefined();\n });\n\n describe(\"getAddress\", () => {\n it(\"should return the address\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: GetAddressDAOutput = {\n publicKey: \"0401020304\",\n address: \"TWdnWBzFdBP1b8sqZ5RcFDbkV3sBmnxsYu\",\n };\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.getAddress({\n derivationPath: \"44'/195'/0'/0/0\",\n checkOnDevice: false,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n\n it(\"requires no user interaction when checkOnDevice is false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getAddress({\n derivationPath,\n checkOnDevice: false,\n skipOpenApp: false,\n });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand({\n derivationPath,\n checkOnDevice: false,\n }),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n\n it(\"requires VerifyAddress interaction when checkOnDevice is true\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getAddress({\n derivationPath,\n checkOnDevice: true,\n skipOpenApp: true,\n });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand({\n derivationPath,\n checkOnDevice: true,\n }),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: true,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n });\n });\n\n describe(\"signTransaction\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const transaction = Uint8Array.from([0x0a, 0x01, 0x00]);\n\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: SignTransactionDAOutput = new Uint8Array(65).fill(0xab);\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.signTransaction({\n derivationPath,\n transaction,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n // The task closure breaks reference equality, so the device action is\n // asserted field by field instead of with toHaveBeenCalledWith.\n const executedDeviceAction = () => {\n const args = vi.mocked(mockedDmk.executeDeviceAction).mock\n .calls[0]![0]!;\n expect(args.sessionId).toBe(\"sessionId\");\n expect(args.deviceAction).toBeInstanceOf(CallTaskInAppDeviceAction);\n return args.deviceAction as CallTaskInAppDeviceAction<\n SignTransactionDAOutput,\n TronAppCommandError,\n UserInteractionRequired.SignTransaction\n >;\n };\n\n it(\"requires the SignTransaction interaction\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransaction({\n derivationPath,\n transaction,\n skipOpenApp: true,\n });\n\n // THEN\n const deviceAction = executedDeviceAction();\n expect(deviceAction.input.appName).toBe(APP_NAME);\n expect(deviceAction.input.requiredUserInteraction).toBe(\n UserInteractionRequired.SignTransaction,\n );\n expect(deviceAction.input.skipOpenApp).toBe(true);\n });\n\n it(\"defaults skipOpenApp to false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransaction({ derivationPath, transaction });\n\n // THEN\n expect(executedDeviceAction().input.skipOpenApp).toBe(false);\n });\n });\n });\n\n describe(\"signTransactionHash\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const transactionHash = new Uint8Array(32).fill(0x25);\n\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: SignTransactionHashDAOutput = new Uint8Array(65).fill(\n 0xab,\n );\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n SignTransactionHashDAOutput,\n SignTransactionHashDAError,\n SignTransactionHashDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.signTransactionHash({\n derivationPath,\n transactionHash,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionHashDAOutput,\n SignTransactionHashDAError,\n SignTransactionHashDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n it(\"requires the SignTransaction interaction\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransactionHash({\n derivationPath,\n transactionHash,\n skipOpenApp: true,\n });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new SignTransactionHashCommand({\n derivationPath,\n transactionHash,\n }),\n appName: APP_NAME,\n requiredUserInteraction:\n UserInteractionRequired.SignTransaction,\n skipOpenApp: true,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n\n it(\"defaults skipOpenApp to false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransactionHash({ derivationPath, transactionHash });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new SignTransactionHashCommand({\n derivationPath,\n transactionHash,\n }),\n appName: APP_NAME,\n requiredUserInteraction:\n UserInteractionRequired.SignTransaction,\n skipOpenApp: false,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n });\n });\n\n describe(\"signPersonalMessage\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const message = Uint8Array.from([0x68, 0x65, 0x6c, 0x6c, 0x6f]);\n\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: SignPersonalMessageDAOutput = new Uint8Array(65).fill(\n 0xab,\n );\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.signPersonalMessage({\n derivationPath,\n message,\n });\n\n // THEN\n const states: DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n // The task closure breaks reference equality, so the device action is\n // asserted field by field instead of with toHaveBeenCalledWith.\n const executedDeviceAction = () => {\n const args = vi.mocked(mockedDmk.executeDeviceAction).mock\n .calls[0]![0]!;\n expect(args.sessionId).toBe(\"sessionId\");\n expect(args.deviceAction).toBeInstanceOf(CallTaskInAppDeviceAction);\n return args.deviceAction as CallTaskInAppDeviceAction<\n SignPersonalMessageDAOutput,\n TronAppCommandError,\n UserInteractionRequired.SignPersonalMessage\n >;\n };\n\n it(\"requires the SignPersonalMessage interaction\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signPersonalMessage({\n derivationPath,\n message,\n skipOpenApp: true,\n });\n\n // THEN\n const deviceAction = executedDeviceAction();\n expect(deviceAction.input.appName).toBe(APP_NAME);\n expect(deviceAction.input.requiredUserInteraction).toBe(\n UserInteractionRequired.SignPersonalMessage,\n );\n expect(deviceAction.input.skipOpenApp).toBe(true);\n });\n\n it(\"defaults skipOpenApp to false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signPersonalMessage({ derivationPath, message });\n\n // THEN\n expect(executedDeviceAction().input.skipOpenApp).toBe(false);\n });\n });\n });\n\n describe(\"getAppConfiguration\", () => {\n it(\"should return the app configuration\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: GetAppConfigurationDAOutput = {\n version: \"0.5.0\",\n versionN: 500,\n allowData: true,\n allowContract: true,\n truncateAddress: true,\n signByHash: true,\n };\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n GetAppConfigurationDAOutput,\n GetAppConfigurationDAError,\n GetAppConfigurationDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.getAppConfiguration();\n\n // THEN\n const states: DeviceActionState<\n GetAppConfigurationDAOutput,\n GetAppConfigurationDAError,\n GetAppConfigurationDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n it(\"should call executeDeviceAction with the correct params\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getAppConfiguration();\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAppConfigurationCommand(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["CallTaskInAppDeviceAction", "DeviceActionStatus", "SendCommandInAppDeviceAction", "UserInteractionRequired", "from", "GetAddressCommand", "GetAppConfigurationCommand", "SignTransactionHashCommand", "APP_NAME", "TronAppBinder", "mockedDmk", "loggerMock", "loggerFactoryMock", "binder", "resolve", "reject", "output", "observable", "states", "state", "err", "derivationPath", "transaction", "executedDeviceAction", "args", "deviceAction", "transactionHash", "message"]
4
+ "sourcesContent": ["import {\n CallTaskInAppDeviceAction,\n type DeviceActionState,\n DeviceActionStatus,\n type DeviceManagementKit,\n type DeviceSessionId,\n type LoggerPublisherService,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { from } from \"rxjs\";\n\nimport {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport {\n type GetAppConfigurationDAError,\n type GetAppConfigurationDAIntermediateValue,\n type GetAppConfigurationDAOutput,\n} from \"@api/app-binder/GetAppConfigurationDeviceActionTypes\";\nimport {\n type GetECDHSecretDAError,\n type GetECDHSecretDAIntermediateValue,\n type GetECDHSecretDAOutput,\n} from \"@api/app-binder/GetECDHSecretDeviceActionTypes\";\nimport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport {\n type SignTransactionHashDAError,\n type SignTransactionHashDAIntermediateValue,\n type SignTransactionHashDAOutput,\n} from \"@api/app-binder/SignTransactionHashDeviceActionTypes\";\nimport { GetAddressCommand } from \"@internal/app-binder/command/GetAddressCommand\";\nimport { GetAppConfigurationCommand } from \"@internal/app-binder/command/GetAppConfigurationCommand\";\nimport { GetECDHSecretCommand } from \"@internal/app-binder/command/GetECDHSecretCommand\";\nimport { SignTransactionHashCommand } from \"@internal/app-binder/command/SignTransactionHashCommand\";\nimport { type TronAppCommandError } from \"@internal/app-binder/command/utils/tronApplicationErrors\";\nimport { APP_NAME } from \"@internal/app-binder/constants\";\n\nimport { TronAppBinder } from \"./TronAppBinder\";\n\ndescribe(\"TronAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: vi.fn(),\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n\n const loggerMock = {\n debug: vi.fn(),\n } as unknown as LoggerPublisherService;\n const loggerFactoryMock = vi.fn().mockReturnValue(loggerMock);\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should be defined\", () => {\n const binder = new TronAppBinder(\n {} as DeviceManagementKit,\n {} as DeviceSessionId,\n loggerFactoryMock,\n );\n expect(binder).toBeDefined();\n });\n\n describe(\"getAddress\", () => {\n it(\"should return the address\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: GetAddressDAOutput = {\n publicKey: \"0401020304\",\n address: \"TWdnWBzFdBP1b8sqZ5RcFDbkV3sBmnxsYu\",\n };\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.getAddress({\n derivationPath: \"44'/195'/0'/0/0\",\n checkOnDevice: false,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n\n it(\"requires no user interaction when checkOnDevice is false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getAddress({\n derivationPath,\n checkOnDevice: false,\n skipOpenApp: false,\n });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand({\n derivationPath,\n checkOnDevice: false,\n }),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n\n it(\"requires VerifyAddress interaction when checkOnDevice is true\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getAddress({\n derivationPath,\n checkOnDevice: true,\n skipOpenApp: true,\n });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand({\n derivationPath,\n checkOnDevice: true,\n }),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: true,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n });\n });\n\n describe(\"signTransaction\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const transaction = Uint8Array.from([0x0a, 0x01, 0x00]);\n\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: SignTransactionDAOutput = new Uint8Array(65).fill(0xab);\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.signTransaction({\n derivationPath,\n transaction,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n // The task closure breaks reference equality, so the device action is\n // asserted field by field instead of with toHaveBeenCalledWith.\n const executedDeviceAction = () => {\n const args = vi.mocked(mockedDmk.executeDeviceAction).mock\n .calls[0]![0]!;\n expect(args.sessionId).toBe(\"sessionId\");\n expect(args.deviceAction).toBeInstanceOf(CallTaskInAppDeviceAction);\n return args.deviceAction as CallTaskInAppDeviceAction<\n SignTransactionDAOutput,\n TronAppCommandError,\n UserInteractionRequired.SignTransaction\n >;\n };\n\n it(\"requires the SignTransaction interaction\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransaction({\n derivationPath,\n transaction,\n skipOpenApp: true,\n });\n\n // THEN\n const deviceAction = executedDeviceAction();\n expect(deviceAction.input.appName).toBe(APP_NAME);\n expect(deviceAction.input.requiredUserInteraction).toBe(\n UserInteractionRequired.SignTransaction,\n );\n expect(deviceAction.input.skipOpenApp).toBe(true);\n });\n\n it(\"defaults skipOpenApp to false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransaction({ derivationPath, transaction });\n\n // THEN\n expect(executedDeviceAction().input.skipOpenApp).toBe(false);\n });\n });\n });\n\n describe(\"signTransactionHash\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const transactionHash = new Uint8Array(32).fill(0x25);\n\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: SignTransactionHashDAOutput = new Uint8Array(65).fill(\n 0xab,\n );\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n SignTransactionHashDAOutput,\n SignTransactionHashDAError,\n SignTransactionHashDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.signTransactionHash({\n derivationPath,\n transactionHash,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionHashDAOutput,\n SignTransactionHashDAError,\n SignTransactionHashDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n it(\"requires the SignTransaction interaction\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransactionHash({\n derivationPath,\n transactionHash,\n skipOpenApp: true,\n });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new SignTransactionHashCommand({\n derivationPath,\n transactionHash,\n }),\n appName: APP_NAME,\n requiredUserInteraction:\n UserInteractionRequired.SignTransaction,\n skipOpenApp: true,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n\n it(\"defaults skipOpenApp to false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signTransactionHash({ derivationPath, transactionHash });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new SignTransactionHashCommand({\n derivationPath,\n transactionHash,\n }),\n appName: APP_NAME,\n requiredUserInteraction:\n UserInteractionRequired.SignTransaction,\n skipOpenApp: false,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n });\n });\n\n describe(\"signPersonalMessage\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const message = Uint8Array.from([0x68, 0x65, 0x6c, 0x6c, 0x6f]);\n\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: SignPersonalMessageDAOutput = new Uint8Array(65).fill(\n 0xab,\n );\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.signPersonalMessage({\n derivationPath,\n message,\n });\n\n // THEN\n const states: DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n // The task closure breaks reference equality, so the device action is\n // asserted field by field instead of with toHaveBeenCalledWith.\n const executedDeviceAction = () => {\n const args = vi.mocked(mockedDmk.executeDeviceAction).mock\n .calls[0]![0]!;\n expect(args.sessionId).toBe(\"sessionId\");\n expect(args.deviceAction).toBeInstanceOf(CallTaskInAppDeviceAction);\n return args.deviceAction as CallTaskInAppDeviceAction<\n SignPersonalMessageDAOutput,\n TronAppCommandError,\n UserInteractionRequired.SignPersonalMessage\n >;\n };\n\n it(\"requires the SignPersonalMessage interaction\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signPersonalMessage({\n derivationPath,\n message,\n skipOpenApp: true,\n });\n\n // THEN\n const deviceAction = executedDeviceAction();\n expect(deviceAction.input.appName).toBe(APP_NAME);\n expect(deviceAction.input.requiredUserInteraction).toBe(\n UserInteractionRequired.SignPersonalMessage,\n );\n expect(deviceAction.input.skipOpenApp).toBe(true);\n });\n\n it(\"defaults skipOpenApp to false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.signPersonalMessage({ derivationPath, message });\n\n // THEN\n expect(executedDeviceAction().input.skipOpenApp).toBe(false);\n });\n });\n });\n\n describe(\"getAppConfiguration\", () => {\n it(\"should return the app configuration\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: GetAppConfigurationDAOutput = {\n version: \"0.5.0\",\n versionN: 500,\n allowData: true,\n allowContract: true,\n truncateAddress: true,\n signByHash: true,\n };\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n GetAppConfigurationDAOutput,\n GetAppConfigurationDAError,\n GetAppConfigurationDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.getAppConfiguration();\n\n // THEN\n const states: DeviceActionState<\n GetAppConfigurationDAOutput,\n GetAppConfigurationDAError,\n GetAppConfigurationDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n it(\"should call executeDeviceAction with the correct params\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getAppConfiguration();\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAppConfigurationCommand(),\n appName: APP_NAME,\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n });\n\n describe(\"getECDHSecret\", () => {\n const derivationPath = \"44'/195'/0'/0/0\";\n const publicKey = new Uint8Array(65).fill(0x04);\n\n it(\"should return the shared secret\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const output: GetECDHSecretDAOutput = new Uint8Array(65).fill(0xcd);\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output,\n } as DeviceActionState<\n GetECDHSecretDAOutput,\n GetECDHSecretDAError,\n GetECDHSecretDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n const { observable } = binder.getECDHSecret({\n derivationPath,\n publicKey,\n });\n\n // THEN\n const states: DeviceActionState<\n GetECDHSecretDAOutput,\n GetECDHSecretDAError,\n GetECDHSecretDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => states.push(state),\n error: reject,\n complete: () => {\n try {\n expect(states).toEqual([\n { status: DeviceActionStatus.Completed, output },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls executeDeviceAction with the correct params\", () => {\n it(\"requires the SignTransaction interaction\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getECDHSecret({ derivationPath, publicKey, skipOpenApp: true });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetECDHSecretCommand({\n derivationPath,\n publicKey,\n }),\n appName: APP_NAME,\n requiredUserInteraction:\n UserInteractionRequired.SignTransaction,\n skipOpenApp: true,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n\n it(\"defaults skipOpenApp to false\", () => {\n // WHEN\n const binder = new TronAppBinder(\n mockedDmk,\n \"sessionId\",\n loggerFactoryMock,\n );\n binder.getECDHSecret({ derivationPath, publicKey });\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith(\n expect.objectContaining({\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetECDHSecretCommand({\n derivationPath,\n publicKey,\n }),\n appName: APP_NAME,\n requiredUserInteraction:\n UserInteractionRequired.SignTransaction,\n skipOpenApp: false,\n },\n logger: loggerMock,\n }),\n }),\n );\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["CallTaskInAppDeviceAction", "DeviceActionStatus", "SendCommandInAppDeviceAction", "UserInteractionRequired", "from", "GetAddressCommand", "GetAppConfigurationCommand", "GetECDHSecretCommand", "SignTransactionHashCommand", "APP_NAME", "TronAppBinder", "mockedDmk", "loggerMock", "loggerFactoryMock", "binder", "resolve", "reject", "output", "observable", "states", "state", "err", "derivationPath", "transaction", "executedDeviceAction", "args", "deviceAction", "transactionHash", "message", "publicKey"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{ApduBuilder as o,ApduParser as a,CommandResultFactory as t,InvalidResponseFormatError as n}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as s}from"@ledgerhq/signer-utils";import{Maybe as m}from"purify-ts";import{ECDH_SECRET_LENGTH as p,INS as d,LEDGER_CLA as C}from"../../app-binder/constants";import{encodeDerivationPath as i}from"./utils/encodeDerivationPath";import{TRON_APP_ERRORS as E,TronAppCommandErrorFactory as c}from"./utils/tronApplicationErrors";class S{name="GetECDHSecret";_args;errorHelper=new s(E,c);constructor(r){this._args=r}get args(){return this._args}getApdu(){return new o({cla:C,ins:d.ECDH_SECRET,p1:0,p2:1}).addBufferToData(i(this._args.derivationPath)).addBufferToData(this._args.publicKey).build()}parseResponse(r){return m.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const e=new a(r).extractFieldByLength(p);return e===void 0?t({error:new n("ECDH shared secret is missing")}):t({data:e})})}}export{S as GetECDHSecretCommand};
2
+ //# sourceMappingURL=GetECDHSecretCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetECDHSecretCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidResponseFormatError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ECDH_SECRET_LENGTH,\n INS,\n LEDGER_CLA,\n} from \"@internal/app-binder/constants\";\n\nimport { encodeDerivationPath } from \"./utils/encodeDerivationPath\";\nimport {\n TRON_APP_ERRORS,\n TronAppCommandErrorFactory,\n type TronAppErrorCodes,\n} from \"./utils/tronApplicationErrors\";\n\nexport type GetECDHSecretCommandArgs = {\n readonly derivationPath: string;\n // The peer's uncompressed secp256k1 public key (65 bytes, 0x04 || X || Y).\n readonly publicKey: Uint8Array;\n};\n\n// The ECDH shared point (0x04 || X || Y), 65 bytes.\nexport type GetECDHSecretCommandResponse = Uint8Array;\n\n/**\n * Computes an ECDH shared secret between the device key (derived from the\n * BIP32 path) and a peer public key (ECDH_SECRET instruction), in a single\n * APDU. The operation is shown on the device for user approval.\n */\nexport class GetECDHSecretCommand\n implements\n Command<\n GetECDHSecretCommandResponse,\n GetECDHSecretCommandArgs,\n TronAppErrorCodes\n >\n{\n readonly name = \"GetECDHSecret\";\n\n private readonly _args: GetECDHSecretCommandArgs;\n\n private readonly errorHelper = new CommandErrorHelper<\n GetECDHSecretCommandResponse,\n TronAppErrorCodes\n >(TRON_APP_ERRORS, TronAppCommandErrorFactory);\n\n constructor(args: GetECDHSecretCommandArgs) {\n this._args = args;\n }\n\n get args(): GetECDHSecretCommandArgs {\n return this._args;\n }\n\n getApdu(): Apdu {\n return new ApduBuilder({\n cla: LEDGER_CLA,\n ins: INS.ECDH_SECRET,\n p1: 0x00,\n p2: 0x01,\n })\n .addBufferToData(encodeDerivationPath(this._args.derivationPath))\n .addBufferToData(this._args.publicKey)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetECDHSecretCommandResponse, TronAppErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n\n const secret = parser.extractFieldByLength(ECDH_SECRET_LENGTH);\n if (secret === undefined) {\n return CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"ECDH shared secret is missing\",\n ),\n });\n }\n\n return CommandResultFactory({ data: secret });\n });\n }\n}\n"],
5
+ "mappings": "AAAA,OAEE,eAAAA,EACA,cAAAC,EAIA,wBAAAC,EACA,8BAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,sBAAAC,EACA,OAAAC,EACA,cAAAC,MACK,iCAEP,OAAS,wBAAAC,MAA4B,+BACrC,OACE,mBAAAC,EACA,8BAAAC,MAEK,gCAgBA,MAAMC,CAOb,CACW,KAAO,gBAEC,MAEA,YAAc,IAAIR,EAGjCM,EAAiBC,CAA0B,EAE7C,YAAYE,EAAgC,CAC1C,KAAK,MAAQA,CACf,CAEA,IAAI,MAAiC,CACnC,OAAO,KAAK,KACd,CAEA,SAAgB,CACd,OAAO,IAAIb,EAAY,CACrB,IAAKQ,EACL,IAAKD,EAAI,YACT,GAAI,EACJ,GAAI,CACN,CAAC,EACE,gBAAgBE,EAAqB,KAAK,MAAM,cAAc,CAAC,EAC/D,gBAAgB,KAAK,MAAM,SAAS,EACpC,MAAM,CACX,CAEA,cACEK,EACgE,CAChE,OAAOT,EAAM,aACX,KAAK,YAAY,SAASS,CAAY,CACxC,EAAE,cAAc,IAAM,CAGpB,MAAMC,EAFS,IAAId,EAAWa,CAAY,EAEpB,qBAAqBR,CAAkB,EAC7D,OAAIS,IAAW,OACNb,EAAqB,CAC1B,MAAO,IAAIC,EACT,+BACF,CACF,CAAC,EAGID,EAAqB,CAAE,KAAMa,CAAO,CAAC,CAC9C,CAAC,CACH,CACF",
6
+ "names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "InvalidResponseFormatError", "CommandErrorHelper", "Maybe", "ECDH_SECRET_LENGTH", "INS", "LEDGER_CLA", "encodeDerivationPath", "TRON_APP_ERRORS", "TronAppCommandErrorFactory", "GetECDHSecretCommand", "args", "apduResponse", "secret"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{ApduResponse as o,bufferToHexaString as p,hexaStringToBuffer as a,isSuccessCommandResult as r}from"@ledgerhq/device-management-kit";import{GetECDHSecretCommand as i}from"./GetECDHSecretCommand";const m="44'/195'/0'/0/0",u="058000002c800000c3800000000000000000000000",n="04ff21f8e64d3a3c0198edfbb7afdc79be959432e92e2f8a1984bb436a414b8edcec0345aad0c1bf7da04fd036dd7f9f617e30669224283d950fab9dd84831dc83",d=a("04"+"cd".repeat(64));describe("GetECDHSecretCommand",()=>{const t=new i({derivationPath:m,publicKey:a(n)});describe("name",()=>{it("should be 'GetECDHSecret'",()=>{expect(t.name).toBe("GetECDHSecret")})}),describe("getApdu",()=>{it("should build the APDU with CLA=0xe0, INS=0x0a, P1=0, P2=1 and the path + peer pubkey as data",()=>{expect(p(t.getApdu().getRawApdu(),!1)).toBe("e00a000156"+u+n)})}),describe("parseResponse",()=>{it("should return the 65-byte shared secret",()=>{const s=new o({statusCode:Uint8Array.of(144,0),data:d}),e=t.parseResponse(s);expect(r(e)).toBe(!0),expect(r(e)&&e.data).toEqual(d)}),it("should return an error when the shared secret is missing",()=>{const s=new o({statusCode:Uint8Array.of(144,0),data:a("04"+"cd".repeat(63))}),e=t.parseResponse(s);if(expect(r(e)).toBe(!1),!r(e)){const c=e.error;expect(c.originalError.message).toBe("ECDH shared secret is missing")}}),it("should return a TronAppCommandError on a device error status",()=>{const s=new o({statusCode:Uint8Array.of(105,133),data:new Uint8Array}),e=t.parseResponse(s);expect(r(e)).toBe(!1),expect(!r(e)&&e.error.errorCode).toBe("6985")})})});
2
+ //# sourceMappingURL=GetECDHSecretCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetECDHSecretCommand.test.ts"],
4
+ "sourcesContent": ["import {\n ApduResponse,\n bufferToHexaString,\n hexaStringToBuffer,\n type InvalidResponseFormatError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type TronAppCommandError } from \"./utils/tronApplicationErrors\";\nimport { GetECDHSecretCommand } from \"./GetECDHSecretCommand\";\n\nconst PATH = \"44'/195'/0'/0/0\";\n// Encoded \"44'/195'/0'/0/0\": length byte (05) + 5 BE32 path elements.\nconst PATH_HEX = \"058000002c800000c3800000000000000000000000\";\n// The hw-app-trx getECDHPairKey doc vector: uncompressed secp256k1 pubkey.\nconst PUBKEY_HEX =\n \"04ff21f8e64d3a3c0198edfbb7afdc79be959432e92e2f8a1984bb436a414b8edcec0345aad0c1bf7da04fd036dd7f9f617e30669224283d950fab9dd84831dc83\";\n\n// The ECDH shared point (0x04 || X || Y), 65 bytes.\nconst SECRET = hexaStringToBuffer(\"04\" + \"cd\".repeat(64))!;\n\ndescribe(\"GetECDHSecretCommand\", () => {\n const command = new GetECDHSecretCommand({\n derivationPath: PATH,\n publicKey: hexaStringToBuffer(PUBKEY_HEX)!,\n });\n\n describe(\"name\", () => {\n it(\"should be 'GetECDHSecret'\", () => {\n expect(command.name).toBe(\"GetECDHSecret\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should build the APDU with CLA=0xe0, INS=0x0a, P1=0, P2=1 and the path + peer pubkey as data\", () => {\n // 0x56 = 86 bytes of data: 21-byte encoded path + 65-byte pubkey.\n expect(bufferToHexaString(command.getApdu().getRawApdu(), false)).toBe(\n \"e00a000156\" + PATH_HEX + PUBKEY_HEX,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return the 65-byte shared secret\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.of(0x90, 0x00),\n data: SECRET,\n });\n\n const result = command.parseResponse(response);\n\n expect(isSuccessCommandResult(result)).toBe(true);\n expect(isSuccessCommandResult(result) && result.data).toEqual(SECRET);\n });\n\n it(\"should return an error when the shared secret is missing\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.of(0x90, 0x00),\n data: hexaStringToBuffer(\"04\" + \"cd\".repeat(63))!,\n });\n\n const result = command.parseResponse(response);\n\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n const err = result.error as InvalidResponseFormatError;\n expect((err.originalError as { message: string }).message).toBe(\n \"ECDH shared secret is missing\",\n );\n }\n });\n\n it(\"should return a TronAppCommandError on a device error status\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.of(0x69, 0x85),\n data: new Uint8Array(),\n });\n\n const result = command.parseResponse(response);\n\n expect(isSuccessCommandResult(result)).toBe(false);\n expect(\n !isSuccessCommandResult(result) &&\n (result.error as TronAppCommandError).errorCode,\n ).toBe(\"6985\");\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,gBAAAA,EACA,sBAAAC,EACA,sBAAAC,EAEA,0BAAAC,MACK,kCAGP,OAAS,wBAAAC,MAA4B,yBAErC,MAAMC,EAAO,kBAEPC,EAAW,6CAEXC,EACJ,qIAGIC,EAASN,EAAmB,KAAO,KAAK,OAAO,EAAE,CAAC,EAExD,SAAS,uBAAwB,IAAM,CACrC,MAAMO,EAAU,IAAIL,EAAqB,CACvC,eAAgBC,EAChB,UAAWH,EAAmBK,CAAU,CAC1C,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,4BAA6B,IAAM,CACpC,OAAOE,EAAQ,IAAI,EAAE,KAAK,eAAe,CAC3C,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,+FAAgG,IAAM,CAEvG,OAAOR,EAAmBQ,EAAQ,QAAQ,EAAE,WAAW,EAAG,EAAK,CAAC,EAAE,KAChE,aAAeH,EAAWC,CAC5B,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0CAA2C,IAAM,CAClD,MAAMG,EAAW,IAAIV,EAAa,CAChC,WAAY,WAAW,GAAG,IAAM,CAAI,EACpC,KAAMQ,CACR,CAAC,EAEKG,EAASF,EAAQ,cAAcC,CAAQ,EAE7C,OAAOP,EAAuBQ,CAAM,CAAC,EAAE,KAAK,EAAI,EAChD,OAAOR,EAAuBQ,CAAM,GAAKA,EAAO,IAAI,EAAE,QAAQH,CAAM,CACtE,CAAC,EAED,GAAG,2DAA4D,IAAM,CACnE,MAAME,EAAW,IAAIV,EAAa,CAChC,WAAY,WAAW,GAAG,IAAM,CAAI,EACpC,KAAME,EAAmB,KAAO,KAAK,OAAO,EAAE,CAAC,CACjD,CAAC,EAEKS,EAASF,EAAQ,cAAcC,CAAQ,EAG7C,GADA,OAAOP,EAAuBQ,CAAM,CAAC,EAAE,KAAK,EAAK,EAC7C,CAACR,EAAuBQ,CAAM,EAAG,CACnC,MAAMC,EAAMD,EAAO,MACnB,OAAQC,EAAI,cAAsC,OAAO,EAAE,KACzD,+BACF,CACF,CACF,CAAC,EAED,GAAG,+DAAgE,IAAM,CACvE,MAAMF,EAAW,IAAIV,EAAa,CAChC,WAAY,WAAW,GAAG,IAAM,GAAI,EACpC,KAAM,IAAI,UACZ,CAAC,EAEKW,EAASF,EAAQ,cAAcC,CAAQ,EAE7C,OAAOP,EAAuBQ,CAAM,CAAC,EAAE,KAAK,EAAK,EACjD,OACE,CAACR,EAAuBQ,CAAM,GAC3BA,EAAO,MAA8B,SAC1C,EAAE,KAAK,MAAM,CACf,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["ApduResponse", "bufferToHexaString", "hexaStringToBuffer", "isSuccessCommandResult", "GetECDHSecretCommand", "PATH", "PATH_HEX", "PUBKEY_HEX", "SECRET", "command", "response", "result", "err"]
7
+ }
@@ -1,2 +1,2 @@
1
- const S="Tron",N=224,E={GET_ADDRESS:2,SIGN_TRANSACTION:4,SIGN_TRANSACTION_HASH:5,GET_APP_CONFIGURATION:6,SIGN_PERSONAL_MESSAGE:8,ECDH_SECRET:10},x=250,o=0,t=65,_=32,A={SINGLE:16,FIRST:0,SUBSEQUENT:128,LAST:144},T={FIRST:0,SUBSEQUENT:128};export{S as APP_NAME,_ as CHAIN_CODE_LENGTH,x as CHUNK_SIZE,E as INS,N as LEDGER_CLA,o as P2_NONE,t as SIGNATURE_LENGTH,T as SIGN_PERSONAL_MESSAGE_P1,A as SIGN_TRANSACTION_P1};
1
+ const E="Tron",S=224,N={GET_ADDRESS:2,SIGN_TRANSACTION:4,SIGN_TRANSACTION_HASH:5,GET_APP_CONFIGURATION:6,SIGN_PERSONAL_MESSAGE:8,ECDH_SECRET:10},o=250,x=0,t=65,_=32,T=65,A={SINGLE:16,FIRST:0,SUBSEQUENT:128,LAST:144},I={FIRST:0,SUBSEQUENT:128};export{E as APP_NAME,_ as CHAIN_CODE_LENGTH,o as CHUNK_SIZE,T as ECDH_SECRET_LENGTH,N as INS,S as LEDGER_CLA,x as P2_NONE,t as SIGNATURE_LENGTH,I as SIGN_PERSONAL_MESSAGE_P1,A as SIGN_TRANSACTION_P1};
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/constants.ts"],
4
- "sourcesContent": ["export const APP_NAME = \"Tron\";\n\n// Tron application APDU class byte.\nexport const LEDGER_CLA = 0xe0;\n\n// Tron application instruction bytes\nexport const INS = {\n GET_ADDRESS: 0x02,\n SIGN_TRANSACTION: 0x04,\n SIGN_TRANSACTION_HASH: 0x05,\n GET_APP_CONFIGURATION: 0x06,\n SIGN_PERSONAL_MESSAGE: 0x08,\n ECDH_SECRET: 0x0a,\n} as const;\n\n// Maximum APDU payload chunk size used by the Tron application.\nexport const CHUNK_SIZE = 250;\n\n// Common P2 value for the Tron application commands.\nexport const P2_NONE = 0x00;\n\n// Length of a Tron signature (r[32] + s[32] + v[1]).\nexport const SIGNATURE_LENGTH = 65;\n\n// Length of a chain code returned by the GetAddress command.\nexport const CHAIN_CODE_LENGTH = 32;\n\n/**\n * P1 \"start byte\" values for the SIGN_TRANSACTION instruction.\n *\n * The Tron app frames a transaction across several APDUs and encodes the frame\n * position in P1. The multi-frame chunking is orchestrated by\n * `SignTransactionTask`.\n */\nexport const SIGN_TRANSACTION_P1 = {\n // First and only frame (transaction fits in a single APDU).\n SINGLE: 0x10,\n // First frame, more frames to follow.\n FIRST: 0x00,\n // Continuation frame.\n SUBSEQUENT: 0x80,\n // Last continuation frame.\n LAST: 0x90,\n} as const;\n\n/**\n * P1 values for the SIGN_PERSONAL_MESSAGE instruction.\n */\nexport const SIGN_PERSONAL_MESSAGE_P1 = {\n // First frame.\n FIRST: 0x00,\n // Continuation frame.\n SUBSEQUENT: 0x80,\n} as const;\n"],
5
- "mappings": "AAAO,MAAMA,EAAW,OAGXC,EAAa,IAGbC,EAAM,CACjB,YAAa,EACb,iBAAkB,EAClB,sBAAuB,EACvB,sBAAuB,EACvB,sBAAuB,EACvB,YAAa,EACf,EAGaC,EAAa,IAGbC,EAAU,EAGVC,EAAmB,GAGnBC,EAAoB,GASpBC,EAAsB,CAEjC,OAAQ,GAER,MAAO,EAEP,WAAY,IAEZ,KAAM,GACR,EAKaC,EAA2B,CAEtC,MAAO,EAEP,WAAY,GACd",
6
- "names": ["APP_NAME", "LEDGER_CLA", "INS", "CHUNK_SIZE", "P2_NONE", "SIGNATURE_LENGTH", "CHAIN_CODE_LENGTH", "SIGN_TRANSACTION_P1", "SIGN_PERSONAL_MESSAGE_P1"]
4
+ "sourcesContent": ["export const APP_NAME = \"Tron\";\n\n// Tron application APDU class byte.\nexport const LEDGER_CLA = 0xe0;\n\n// Tron application instruction bytes\nexport const INS = {\n GET_ADDRESS: 0x02,\n SIGN_TRANSACTION: 0x04,\n SIGN_TRANSACTION_HASH: 0x05,\n GET_APP_CONFIGURATION: 0x06,\n SIGN_PERSONAL_MESSAGE: 0x08,\n ECDH_SECRET: 0x0a,\n} as const;\n\n// Maximum APDU payload chunk size used by the Tron application.\nexport const CHUNK_SIZE = 250;\n\n// Common P2 value for the Tron application commands.\nexport const P2_NONE = 0x00;\n\n// Length of a Tron signature (r[32] + s[32] + v[1]).\nexport const SIGNATURE_LENGTH = 65;\n\n// Length of a chain code returned by the GetAddress command.\nexport const CHAIN_CODE_LENGTH = 32;\n\n// Length of the ECDH shared point (0x04 || X || Y) returned by ECDH_SECRET.\nexport const ECDH_SECRET_LENGTH = 65;\n\n/**\n * P1 \"start byte\" values for the SIGN_TRANSACTION instruction.\n *\n * The Tron app frames a transaction across several APDUs and encodes the frame\n * position in P1. The multi-frame chunking is orchestrated by\n * `SignTransactionTask`.\n */\nexport const SIGN_TRANSACTION_P1 = {\n // First and only frame (transaction fits in a single APDU).\n SINGLE: 0x10,\n // First frame, more frames to follow.\n FIRST: 0x00,\n // Continuation frame.\n SUBSEQUENT: 0x80,\n // Last continuation frame.\n LAST: 0x90,\n} as const;\n\n/**\n * P1 values for the SIGN_PERSONAL_MESSAGE instruction.\n */\nexport const SIGN_PERSONAL_MESSAGE_P1 = {\n // First frame.\n FIRST: 0x00,\n // Continuation frame.\n SUBSEQUENT: 0x80,\n} as const;\n"],
5
+ "mappings": "AAAO,MAAMA,EAAW,OAGXC,EAAa,IAGbC,EAAM,CACjB,YAAa,EACb,iBAAkB,EAClB,sBAAuB,EACvB,sBAAuB,EACvB,sBAAuB,EACvB,YAAa,EACf,EAGaC,EAAa,IAGbC,EAAU,EAGVC,EAAmB,GAGnBC,EAAoB,GAGpBC,EAAqB,GASrBC,EAAsB,CAEjC,OAAQ,GAER,MAAO,EAEP,WAAY,IAEZ,KAAM,GACR,EAKaC,EAA2B,CAEtC,MAAO,EAEP,WAAY,GACd",
6
+ "names": ["APP_NAME", "LEDGER_CLA", "INS", "CHUNK_SIZE", "P2_NONE", "SIGNATURE_LENGTH", "CHAIN_CODE_LENGTH", "ECDH_SECRET_LENGTH", "SIGN_TRANSACTION_P1", "SIGN_PERSONAL_MESSAGE_P1"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as i}from"inversify";import{appBindingModuleFactory as a}from"./app-binder/di/appBinderModule";import{externalTypes as o}from"./externalTypes";import{addressModuleFactory as s}from"./use-cases/address/di/addressModule";import{appConfigurationModuleFactory as m}from"./use-cases/app-configuration/di/appConfigurationModule";import{messageModuleFactory as c}from"./use-cases/message/di/messageModule";import{transactionModuleFactory as p}from"./use-cases/transaction/di/transactionModule";const v=({dmk:t,sessionId:r})=>{const e=new i;return e.bind(o.Dmk).toConstantValue(t),e.bind(o.SessionId).toConstantValue(r),e.bind(o.DmkLoggerFactory).toConstantValue(n=>t.getLoggerFactory()(["SignerTron",n])),e.loadSync(a(),s(),p(),c(),m()),e};export{v as makeContainer};
1
+ import{Container as i}from"inversify";import{appBindingModuleFactory as a}from"./app-binder/di/appBinderModule";import{externalTypes as o}from"./externalTypes";import{addressModuleFactory as s}from"./use-cases/address/di/addressModule";import{appConfigurationModuleFactory as m}from"./use-cases/app-configuration/di/appConfigurationModule";import{ecdhModuleFactory as c}from"./use-cases/ecdh/di/ecdhModule";import{messageModuleFactory as p}from"./use-cases/message/di/messageModule";import{transactionModuleFactory as d}from"./use-cases/transaction/di/transactionModule";const D=({dmk:t,sessionId:r})=>{const e=new i;return e.bind(o.Dmk).toConstantValue(t),e.bind(o.SessionId).toConstantValue(r),e.bind(o.DmkLoggerFactory).toConstantValue(n=>t.getLoggerFactory()(["SignerTron",n])),e.loadSync(a(),s(),d(),p(),m(),c()),e};export{D as makeContainer};
2
2
  //# sourceMappingURL=di.js.map