@ledgerhq/device-signer-kit-bitcoin 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/internal/DefaultSignerBtc.test.js +1 -1
- package/lib/cjs/internal/DefaultSignerBtc.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/BtcAppBinder.js +1 -1
- package/lib/cjs/internal/app-binder/BtcAppBinder.js.map +3 -3
- package/lib/cjs/internal/app-binder/BtcAppBinder.test.js +1 -1
- package/lib/cjs/internal/app-binder/BtcAppBinder.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/RegisterWalletTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/RegisterWalletTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/RegisterWalletTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/RegisterWalletTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SignMessageTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SignMessageTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js.map +3 -3
- package/lib/cjs/internal/di.js +1 -1
- package/lib/cjs/internal/di.js.map +3 -3
- package/lib/cjs/internal/externalTypes.js +1 -1
- package/lib/cjs/internal/externalTypes.js.map +2 -2
- package/lib/cjs/package.json +1 -1
- package/lib/esm/internal/DefaultSignerBtc.test.js +1 -1
- package/lib/esm/internal/DefaultSignerBtc.test.js.map +3 -3
- package/lib/esm/internal/app-binder/BtcAppBinder.js +1 -1
- package/lib/esm/internal/app-binder/BtcAppBinder.js.map +3 -3
- package/lib/esm/internal/app-binder/BtcAppBinder.test.js +1 -1
- package/lib/esm/internal/app-binder/BtcAppBinder.test.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/esm/internal/app-binder/task/RegisterWalletTask.js +1 -1
- package/lib/esm/internal/app-binder/task/RegisterWalletTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/RegisterWalletTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/RegisterWalletTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SignMessageTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SignMessageTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SignMessageTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SignMessageTask.test.js.map +3 -3
- package/lib/esm/internal/di.js +1 -1
- package/lib/esm/internal/di.js.map +3 -3
- package/lib/esm/internal/externalTypes.js +1 -1
- package/lib/esm/internal/externalTypes.js.map +2 -2
- package/lib/esm/package.json +1 -1
- package/lib/types/internal/app-binder/BtcAppBinder.d.ts +3 -2
- package/lib/types/internal/app-binder/BtcAppBinder.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts +0 -4
- package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts +0 -4
- package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +0 -4
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/RegisterWalletTask.d.ts +3 -1
- package/lib/types/internal/app-binder/task/RegisterWalletTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SignMessageTask.d.ts +3 -1
- package/lib/types/internal/app-binder/task/SignMessageTask.d.ts.map +1 -1
- package/lib/types/internal/di.d.ts.map +1 -1
- package/lib/types/internal/externalTypes.d.ts +1 -0
- package/lib/types/internal/externalTypes.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/app-binder/device-action/__test-utils__/makeInternalApi.ts"],
|
|
4
|
-
"sourcesContent": ["import { type InternalApi } from \"@ledgerhq/device-management-kit\";\nimport { type Mocked } from \"vitest\";\n\nconst sendApduMock = vi.fn();\nconst sendCommandMock = vi.fn();\nconst apiGetDeviceModelMock = vi.fn();\nconst apiGetDeviceSessionStateMock = vi.fn();\nconst apiGetDeviceSessionStateObservableMock = vi.fn();\nconst setDeviceSessionStateMock = vi.fn();\nconst getManagerApiServiceMock = vi.fn();\nconst getSecureChannelServiceMock = vi.fn();\nconst
|
|
5
|
-
"mappings": "AAGA,MAAMA,EAAe,GAAG,GAAG,EACrBC,EAAkB,GAAG,GAAG,EACxBC,EAAwB,GAAG,GAAG,EAC9BC,EAA+B,GAAG,GAAG,EACrCC,EAAyC,GAAG,GAAG,EAC/CC,EAA4B,GAAG,GAAG,EAClCC,EAA2B,GAAG,GAAG,EACjCC,EAA8B,GAAG,GAAG,EACpCC,
|
|
6
|
-
"names": ["sendApduMock", "sendCommandMock", "apiGetDeviceModelMock", "apiGetDeviceSessionStateMock", "apiGetDeviceSessionStateObservableMock", "setDeviceSessionStateMock", "getManagerApiServiceMock", "getSecureChannelServiceMock", "
|
|
4
|
+
"sourcesContent": ["import { type InternalApi } from \"@ledgerhq/device-management-kit\";\nimport { type Mocked } from \"vitest\";\n\nconst sendApduMock = vi.fn();\nconst sendCommandMock = vi.fn();\nconst apiGetDeviceModelMock = vi.fn();\nconst apiGetDeviceSessionStateMock = vi.fn();\nconst apiGetDeviceSessionStateObservableMock = vi.fn();\nconst setDeviceSessionStateMock = vi.fn();\nconst getManagerApiServiceMock = vi.fn();\nconst getSecureChannelServiceMock = vi.fn();\nconst loggerFactoryMock = vi.fn((_tag: string) => ({\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n}));\n\nexport function makeDeviceActionInternalApiMock(): Mocked<InternalApi> {\n return {\n sendApdu: sendApduMock,\n sendCommand: sendCommandMock,\n getDeviceModel: apiGetDeviceModelMock,\n getDeviceSessionState: apiGetDeviceSessionStateMock,\n getDeviceSessionStateObservable: apiGetDeviceSessionStateObservableMock,\n setDeviceSessionState: setDeviceSessionStateMock,\n getManagerApiService: getManagerApiServiceMock,\n getSecureChannelService: getSecureChannelServiceMock,\n loggerFactory: loggerFactoryMock,\n };\n}\n"],
|
|
5
|
+
"mappings": "AAGA,MAAMA,EAAe,GAAG,GAAG,EACrBC,EAAkB,GAAG,GAAG,EACxBC,EAAwB,GAAG,GAAG,EAC9BC,EAA+B,GAAG,GAAG,EACrCC,EAAyC,GAAG,GAAG,EAC/CC,EAA4B,GAAG,GAAG,EAClCC,EAA2B,GAAG,GAAG,EACjCC,EAA8B,GAAG,GAAG,EACpCC,EAAoB,GAAG,GAAIC,IAAkB,CACjD,MAAO,GAAG,GAAG,EACb,KAAM,GAAG,GAAG,EACZ,KAAM,GAAG,GAAG,EACZ,MAAO,GAAG,GAAG,EACb,YAAa,CAAC,CAChB,EAAE,EAEK,SAASC,GAAuD,CACrE,MAAO,CACL,SAAUV,EACV,YAAaC,EACb,eAAgBC,EAChB,sBAAuBC,EACvB,gCAAiCC,EACjC,sBAAuBC,EACvB,qBAAsBC,EACtB,wBAAyBC,EACzB,cAAeC,CACjB,CACF",
|
|
6
|
+
"names": ["sendApduMock", "sendCommandMock", "apiGetDeviceModelMock", "apiGetDeviceSessionStateMock", "apiGetDeviceSessionStateObservableMock", "setDeviceSessionStateMock", "getManagerApiServiceMock", "getSecureChannelServiceMock", "loggerFactoryMock", "_tag", "makeDeviceActionInternalApiMock"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CommandResultFactory as
|
|
1
|
+
import{CommandResultFactory as n,isSuccessCommandResult as g}from"@ledgerhq/device-management-kit";import{RegisteredWallet as c}from"../../../api/model/Wallet";import{RegisterWalletAddressCommand as p}from"../../app-binder/command/RegisterWalletAddressCommand";import{ContinueTask as u}from"../../app-binder/task/ContinueTask";import{DataStore as y}from"../../data-store/model/DataStore";import{BtcCommandUtils as W}from"../../utils/BtcCommandUtils";class v{constructor(e,a,l,i,o,m=(t,r)=>new u(t,r)){this._api=e;this._args=a;this._walletBuilder=l;this._walletSerializer=i;this._dataStoreService=o;this._continueTaskFactory=m;this._logger=this._args.loggerFactory("RegisterWalletTask")}_logger;async run(){const{walletPolicy:e}=this._args;this._logger.debug("[run] Starting RegisterWalletTask",{data:{walletName:e.name,descriptorTemplate:e.descriptorTemplate,keysCount:e.keys?.length??0}});const a=this._walletBuilder.fromWalletPolicy(e),l=new y;this._dataStoreService.merklizeWallet(l,a);const i=this._walletSerializer.serialize(a);this._logger.debug("[run] Sending RegisterWalletAddressCommand",{data:{walletName:e.name,serializedWalletLength:i?.length??0}});const o=await this._api.sendCommand(new p({walletPolicy:i})),t=await this._continueTaskFactory(this._api,l).run(o);if(g(t)){const r=W.getWalletRegistration(t);if(!g(r))return this._logger.error("[run] Wallet registration parsing failed",{data:{error:r.error}}),n({error:r.error});const{walletHmac:s}=r.data;return this._logger.debug("[run] RegisterWalletTask completed successfully",{data:{walletName:e.name,walletHmac:Array.from(s).map(d=>d.toString(16).padStart(2,"0")).join("")}}),n({data:new c(e.name,e.descriptorTemplate,e.keys,s)})}return this._logger.error("[run] RegisterWalletTask failed",{data:{error:t.error}}),t}}export{v as RegisterWalletTask};
|
|
2
2
|
//# sourceMappingURL=RegisterWalletTask.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/RegisterWalletTask.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { RegisteredWallet, type WalletPolicy } from \"@api/model/Wallet\";\nimport { RegisterWalletAddressCommand } from \"@internal/app-binder/command/RegisterWalletAddressCommand\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport type { DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { BtcCommandUtils } from \"@internal/utils/BtcCommandUtils\";\nimport { type Wallet as InternalWallet } from \"@internal/wallet/model/Wallet\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport type { WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nexport type RegisterWalletTaskArgs = {\n walletPolicy: WalletPolicy;\n};\n\nexport type RegisterWalletTaskResult = CommandResult<\n RegisteredWallet,\n BtcErrorCodes\n>;\n\nexport class RegisterWalletTask {\n constructor(\n private readonly _api: InternalApi,\n private readonly _args: RegisterWalletTaskArgs,\n private readonly _walletBuilder: WalletBuilder,\n private readonly _walletSerializer: WalletSerializer,\n private readonly _dataStoreService: DataStoreService,\n private readonly _continueTaskFactory = (\n api: InternalApi,\n dataStore: DataStore,\n ) => new ContinueTask(api, dataStore),\n ) {}\n\n async run(): Promise<RegisterWalletTaskResult> {\n const { walletPolicy } = this._args;\n\n const wallet: InternalWallet =\n this._walletBuilder.fromWalletPolicy(walletPolicy);\n\n const dataStore = new DataStore();\n this._dataStoreService.merklizeWallet(dataStore, wallet);\n\n const serializedWallet = this._walletSerializer.serialize(wallet);\n\n const registerCommandResult = await this._api.sendCommand(\n new RegisterWalletAddressCommand({\n walletPolicy: serializedWallet,\n }),\n );\n\n const continueTask = this._continueTaskFactory(this._api, dataStore);\n const result = await continueTask.run(registerCommandResult);\n\n if (isSuccessCommandResult(result)) {\n const registrationResult = BtcCommandUtils.getWalletRegistration(result);\n\n if (!isSuccessCommandResult(registrationResult)) {\n return CommandResultFactory({\n error: registrationResult.error,\n });\n }\n\n const { walletHmac } = registrationResult.data;\n\n return CommandResultFactory({\n data: new RegisteredWallet(\n walletPolicy.name,\n walletPolicy.descriptorTemplate,\n walletPolicy.keys,\n walletHmac,\n ),\n });\n }\n\n return result;\n }\n}\n"],
|
|
5
|
-
"mappings": "AAAA,OAEE,wBAAAA,EAEA,0BAAAC,
|
|
6
|
-
"names": ["CommandResultFactory", "isSuccessCommandResult", "RegisteredWallet", "RegisterWalletAddressCommand", "ContinueTask", "DataStore", "BtcCommandUtils", "RegisterWalletTask", "_api", "_args", "_walletBuilder", "_walletSerializer", "_dataStoreService", "_continueTaskFactory", "api", "dataStore", "walletPolicy", "wallet", "serializedWallet", "registerCommandResult", "result", "registrationResult", "walletHmac"]
|
|
4
|
+
"sourcesContent": ["import {\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n isSuccessCommandResult,\n type LoggerPublisherService,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { RegisteredWallet, type WalletPolicy } from \"@api/model/Wallet\";\nimport { RegisterWalletAddressCommand } from \"@internal/app-binder/command/RegisterWalletAddressCommand\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport type { DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { BtcCommandUtils } from \"@internal/utils/BtcCommandUtils\";\nimport { type Wallet as InternalWallet } from \"@internal/wallet/model/Wallet\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport type { WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nexport type RegisterWalletTaskArgs = {\n walletPolicy: WalletPolicy;\n loggerFactory: (tag: string) => LoggerPublisherService;\n};\n\nexport type RegisterWalletTaskResult = CommandResult<\n RegisteredWallet,\n BtcErrorCodes\n>;\n\nexport class RegisterWalletTask {\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n private readonly _api: InternalApi,\n private readonly _args: RegisterWalletTaskArgs,\n private readonly _walletBuilder: WalletBuilder,\n private readonly _walletSerializer: WalletSerializer,\n private readonly _dataStoreService: DataStoreService,\n private readonly _continueTaskFactory = (\n api: InternalApi,\n dataStore: DataStore,\n ) => new ContinueTask(api, dataStore),\n ) {\n this._logger = this._args.loggerFactory(\"RegisterWalletTask\");\n }\n\n async run(): Promise<RegisterWalletTaskResult> {\n const { walletPolicy } = this._args;\n\n this._logger.debug(\"[run] Starting RegisterWalletTask\", {\n data: {\n walletName: walletPolicy.name,\n descriptorTemplate: walletPolicy.descriptorTemplate,\n keysCount: walletPolicy.keys?.length ?? 0,\n },\n });\n\n const wallet: InternalWallet =\n this._walletBuilder.fromWalletPolicy(walletPolicy);\n\n const dataStore = new DataStore();\n this._dataStoreService.merklizeWallet(dataStore, wallet);\n\n const serializedWallet = this._walletSerializer.serialize(wallet);\n\n this._logger.debug(\"[run] Sending RegisterWalletAddressCommand\", {\n data: {\n walletName: walletPolicy.name,\n serializedWalletLength: serializedWallet?.length ?? 0,\n },\n });\n const registerCommandResult = await this._api.sendCommand(\n new RegisterWalletAddressCommand({\n walletPolicy: serializedWallet,\n }),\n );\n\n const continueTask = this._continueTaskFactory(this._api, dataStore);\n const result = await continueTask.run(registerCommandResult);\n\n if (isSuccessCommandResult(result)) {\n const registrationResult = BtcCommandUtils.getWalletRegistration(result);\n\n if (!isSuccessCommandResult(registrationResult)) {\n this._logger.error(\"[run] Wallet registration parsing failed\", {\n data: { error: registrationResult.error },\n });\n return CommandResultFactory({\n error: registrationResult.error,\n });\n }\n\n const { walletHmac } = registrationResult.data;\n\n this._logger.debug(\"[run] RegisterWalletTask completed successfully\", {\n data: {\n walletName: walletPolicy.name,\n walletHmac: Array.from(walletHmac)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\"),\n },\n });\n return CommandResultFactory({\n data: new RegisteredWallet(\n walletPolicy.name,\n walletPolicy.descriptorTemplate,\n walletPolicy.keys,\n walletHmac,\n ),\n });\n }\n\n this._logger.error(\"[run] RegisterWalletTask failed\", {\n data: { error: result.error },\n });\n return result;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,wBAAAA,EAEA,0BAAAC,MAEK,kCAEP,OAAS,oBAAAC,MAA2C,oBACpD,OAAS,gCAAAC,MAAoC,4DAE7C,OAAS,gBAAAC,MAAoB,yCAC7B,OAAS,aAAAC,MAAiB,uCAE1B,OAAS,mBAAAC,MAAuB,kCAezB,MAAMC,CAAmB,CAG9B,YACmBC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAuB,CACtCC,EACAC,IACG,IAAIX,EAAaU,EAAKC,CAAS,EACpC,CATiB,UAAAP,EACA,WAAAC,EACA,oBAAAC,EACA,uBAAAC,EACA,uBAAAC,EACA,0BAAAC,EAKjB,KAAK,QAAU,KAAK,MAAM,cAAc,oBAAoB,CAC9D,CAdiB,QAgBjB,MAAM,KAAyC,CAC7C,KAAM,CAAE,aAAAG,CAAa,EAAI,KAAK,MAE9B,KAAK,QAAQ,MAAM,oCAAqC,CACtD,KAAM,CACJ,WAAYA,EAAa,KACzB,mBAAoBA,EAAa,mBACjC,UAAWA,EAAa,MAAM,QAAU,CAC1C,CACF,CAAC,EAED,MAAMC,EACJ,KAAK,eAAe,iBAAiBD,CAAY,EAE7CD,EAAY,IAAIV,EACtB,KAAK,kBAAkB,eAAeU,EAAWE,CAAM,EAEvD,MAAMC,EAAmB,KAAK,kBAAkB,UAAUD,CAAM,EAEhE,KAAK,QAAQ,MAAM,6CAA8C,CAC/D,KAAM,CACJ,WAAYD,EAAa,KACzB,uBAAwBE,GAAkB,QAAU,CACtD,CACF,CAAC,EACD,MAAMC,EAAwB,MAAM,KAAK,KAAK,YAC5C,IAAIhB,EAA6B,CAC/B,aAAce,CAChB,CAAC,CACH,EAGME,EAAS,MADM,KAAK,qBAAqB,KAAK,KAAML,CAAS,EACjC,IAAII,CAAqB,EAE3D,GAAIlB,EAAuBmB,CAAM,EAAG,CAClC,MAAMC,EAAqBf,EAAgB,sBAAsBc,CAAM,EAEvE,GAAI,CAACnB,EAAuBoB,CAAkB,EAC5C,YAAK,QAAQ,MAAM,2CAA4C,CAC7D,KAAM,CAAE,MAAOA,EAAmB,KAAM,CAC1C,CAAC,EACMrB,EAAqB,CAC1B,MAAOqB,EAAmB,KAC5B,CAAC,EAGH,KAAM,CAAE,WAAAC,CAAW,EAAID,EAAmB,KAE1C,YAAK,QAAQ,MAAM,kDAAmD,CACpE,KAAM,CACJ,WAAYL,EAAa,KACzB,WAAY,MAAM,KAAKM,CAAU,EAC9B,IAAKC,GAAMA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAC1C,KAAK,EAAE,CACZ,CACF,CAAC,EACMvB,EAAqB,CAC1B,KAAM,IAAIE,EACRc,EAAa,KACbA,EAAa,mBACbA,EAAa,KACbM,CACF,CACF,CAAC,CACH,CAEA,YAAK,QAAQ,MAAM,kCAAmC,CACpD,KAAM,CAAE,MAAOF,EAAO,KAAM,CAC9B,CAAC,EACMA,CACT,CACF",
|
|
6
|
+
"names": ["CommandResultFactory", "isSuccessCommandResult", "RegisteredWallet", "RegisterWalletAddressCommand", "ContinueTask", "DataStore", "BtcCommandUtils", "RegisterWalletTask", "_api", "_args", "_walletBuilder", "_walletSerializer", "_dataStoreService", "_continueTaskFactory", "api", "dataStore", "walletPolicy", "wallet", "serializedWallet", "registerCommandResult", "result", "registrationResult", "walletHmac", "b"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduResponse as
|
|
1
|
+
import{ApduResponse as m,CommandResultFactory as c,InvalidStatusWordError as p,isSuccessCommandResult as y}from"@ledgerhq/device-management-kit";import{RegisteredWallet as f,WalletPolicy as g}from"../../../api/model/Wallet";import{DataStore as A}from"../../data-store/model/DataStore";import{RegisterWalletTask as u}from"./RegisterWalletTask";const e=new g("My Multisig","wsh(sortedmulti(2,@0/**,@1/**))",["[f5acc2fd/48'/1'/0'/2']tpubDFAqEGNyad35aBCKUAXbQGDjdVhNueno5ZZVEn3sQbW5ci457gLR7HyTmHBg93oourBssgUxuWz1jX5uhc1qaqFo9VsybY1J5FuedLfm4dK","tpubDE7NQymr4AFtcJXi9TaWZtrhAdy8QyKmT4U6b9qYByAxCzoyMJ8zw5d8xVLVpbTRAEqP8pVUxjLE2vDt1rSFjaiS8DSz1QcNZ8D1qxUMx1g"]),W=Uint8Array.from([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]),k=Uint8Array.from([33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]),w=new Uint8Array([...W,...k]),v=Uint8Array.from([1,2,3,4]),R={debug:vi.fn(),info:vi.fn(),warn:vi.fn(),error:vi.fn(),subscribers:[]},d=a=>R;describe("RegisterWalletTask",()=>{const a={sendCommand:vi.fn()},x={name:e.name,descriptorTemplate:e.descriptorTemplate,keys:e.keys,hmac:new Uint8Array(32).fill(0),keysTree:{getRoot:vi.fn()},descriptorBuffer:new Uint8Array},s={fromWalletPolicy:vi.fn().mockReturnValue(x)},i={serialize:vi.fn().mockReturnValue(v)},l={merklizeWallet:vi.fn()};afterEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should successfully register a wallet and return RegisteredWallet with hmac",async()=>{const n={walletPolicy:e,loggerFactory:d},r=c({data:new m({statusCode:new Uint8Array([144,0]),data:w})}),o=()=>({run:vi.fn().mockReturnValue(r)}),t=await new u(a,n,s,i,l,o).run();expect(s.fromWalletPolicy).toHaveBeenCalledWith(e),expect(l.merklizeWallet).toHaveBeenCalledWith(expect.any(A),x),expect(i.serialize).toHaveBeenCalledWith(x),expect(y(t)).toBe(!0),y(t)&&(expect(t.data).toBeInstanceOf(f),expect(t.data).toEqual(new f(e.name,e.descriptorTemplate,e.keys,k)))}),it("should return an error if the RegisterWalletAddressCommand fails",async()=>{const n={walletPolicy:e,loggerFactory:d},r=c({error:new p("Registration failed")}),o=()=>({run:vi.fn().mockReturnValue(r)}),t=await new u(a,n,s,i,l,o).run();expect(t).toStrictEqual(c({error:new p("Registration failed")}))}),it("should call sendCommand with the serialized wallet policy",async()=>{const n={walletPolicy:e,loggerFactory:d},r=c({data:new m({statusCode:new Uint8Array([144,0]),data:w})}),o=()=>({run:vi.fn().mockReturnValue(r)});await new u(a,n,s,i,l,o).run(),expect(a.sendCommand).toHaveBeenCalledWith(expect.objectContaining({name:"registerWalletAddress"}))})})});
|
|
2
2
|
//# sourceMappingURL=RegisterWalletTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/RegisterWalletTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { RegisteredWallet, WalletPolicy } from \"@api/model/Wallet\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { RegisterWalletTask } from \"./RegisterWalletTask\";\n\nconst WALLET_POLICY = new WalletPolicy(\n \"My Multisig\",\n \"wsh(sortedmulti(2,@0/**,@1/**))\",\n [\n \"[f5acc2fd/48'/1'/0'/2']tpubDFAqEGNyad35aBCKUAXbQGDjdVhNueno5ZZVEn3sQbW5ci457gLR7HyTmHBg93oourBssgUxuWz1jX5uhc1qaqFo9VsybY1J5FuedLfm4dK\",\n \"tpubDE7NQymr4AFtcJXi9TaWZtrhAdy8QyKmT4U6b9qYByAxCzoyMJ8zw5d8xVLVpbTRAEqP8pVUxjLE2vDt1rSFjaiS8DSz1QcNZ8D1qxUMx1g\",\n ],\n);\n\nconst WALLET_ID = Uint8Array.from([\n 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,\n 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,\n 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,\n]);\n\nconst WALLET_HMAC = Uint8Array.from([\n 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,\n 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,\n 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,\n]);\n\n// Combined response data: walletId (32 bytes) + walletHmac (32 bytes)\nconst APDU_RESPONSE_DATA = new Uint8Array([...WALLET_ID, ...WALLET_HMAC]);\n\nconst SERIALIZED_WALLET = Uint8Array.from([0x01, 0x02, 0x03, 0x04]);\n\ndescribe(\"RegisterWalletTask\", () => {\n const apiMock = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n const mockInternalWallet = {\n name: WALLET_POLICY.name,\n descriptorTemplate: WALLET_POLICY.descriptorTemplate,\n keys: WALLET_POLICY.keys,\n hmac: new Uint8Array(32).fill(0),\n keysTree: { getRoot: vi.fn() },\n descriptorBuffer: new Uint8Array(),\n } as unknown as Wallet;\n\n const walletBuilderMock = {\n fromWalletPolicy: vi.fn().mockReturnValue(mockInternalWallet),\n } as unknown as WalletBuilder;\n\n const walletSerializerMock = {\n serialize: vi.fn().mockReturnValue(SERIALIZED_WALLET),\n } as unknown as WalletSerializer;\n\n const dataStoreServiceMock = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should successfully register a wallet and return RegisteredWallet with hmac\", async () => {\n // GIVEN\n const args = {\n walletPolicy: WALLET_POLICY,\n };\n\n const successResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: APDU_RESPONSE_DATA,\n }),\n });\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(successResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new RegisterWalletTask(\n apiMock,\n args,\n walletBuilderMock,\n walletSerializerMock,\n dataStoreServiceMock,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(walletBuilderMock.fromWalletPolicy).toHaveBeenCalledWith(\n WALLET_POLICY,\n );\n expect(dataStoreServiceMock.merklizeWallet).toHaveBeenCalledWith(\n expect.any(DataStore),\n mockInternalWallet,\n );\n expect(walletSerializerMock.serialize).toHaveBeenCalledWith(\n mockInternalWallet,\n );\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toBeInstanceOf(RegisteredWallet);\n expect(result.data).toEqual(\n new RegisteredWallet(\n WALLET_POLICY.name,\n WALLET_POLICY.descriptorTemplate,\n WALLET_POLICY.keys,\n WALLET_HMAC,\n ),\n );\n }\n });\n\n it(\"should return an error if the RegisterWalletAddressCommand fails\", async () => {\n // GIVEN\n const args = {\n walletPolicy: WALLET_POLICY,\n };\n\n const resultError = CommandResultFactory<ApduResponse, void>({\n error: new InvalidStatusWordError(\"Registration failed\"),\n });\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(resultError),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new RegisterWalletTask(\n apiMock,\n args,\n walletBuilderMock,\n walletSerializerMock,\n dataStoreServiceMock,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Registration failed\"),\n }),\n );\n });\n\n it(\"should call sendCommand with the serialized wallet policy\", async () => {\n // GIVEN\n const args = {\n walletPolicy: WALLET_POLICY,\n };\n\n const successResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: APDU_RESPONSE_DATA,\n }),\n });\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(successResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n await new RegisterWalletTask(\n apiMock,\n args,\n walletBuilderMock,\n walletSerializerMock,\n dataStoreServiceMock,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(apiMock.sendCommand).toHaveBeenCalledWith(\n expect.objectContaining({\n name: \"registerWalletAddress\",\n }),\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,gBAAAA,EACA,wBAAAC,EAEA,0BAAAC,EACA,0BAAAC,MACK,kCAEP,OAAS,oBAAAC,EAAkB,gBAAAC,MAAoB,oBAE/C,OAAS,aAAAC,MAAiB,uCAM1B,OAAS,sBAAAC,MAA0B,uBAEnC,MAAMC,EAAgB,IAAIH,EACxB,cACA,kCACA,CACE,yIACA,iHACF,CACF,EAEMI,EAAY,WAAW,KAAK,CAChC,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,GAAM,EAChC,CAAC,EAEKC,EAAc,WAAW,KAAK,CAClC,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,GAAM,EAChC,CAAC,EAGKC,EAAqB,IAAI,WAAW,CAAC,GAAGF,EAAW,GAAGC,CAAW,CAAC,EAElEE,EAAoB,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,
|
|
6
|
-
"names": ["ApduResponse", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "RegisteredWallet", "WalletPolicy", "DataStore", "RegisterWalletTask", "WALLET_POLICY", "WALLET_ID", "WALLET_HMAC", "APDU_RESPONSE_DATA", "SERIALIZED_WALLET", "apiMock", "mockInternalWallet", "walletBuilderMock", "walletSerializerMock", "dataStoreServiceMock", "args", "successResult", "continueTaskFactory", "result", "resultError"]
|
|
4
|
+
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { RegisteredWallet, WalletPolicy } from \"@api/model/Wallet\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { RegisterWalletTask } from \"./RegisterWalletTask\";\n\nconst WALLET_POLICY = new WalletPolicy(\n \"My Multisig\",\n \"wsh(sortedmulti(2,@0/**,@1/**))\",\n [\n \"[f5acc2fd/48'/1'/0'/2']tpubDFAqEGNyad35aBCKUAXbQGDjdVhNueno5ZZVEn3sQbW5ci457gLR7HyTmHBg93oourBssgUxuWz1jX5uhc1qaqFo9VsybY1J5FuedLfm4dK\",\n \"tpubDE7NQymr4AFtcJXi9TaWZtrhAdy8QyKmT4U6b9qYByAxCzoyMJ8zw5d8xVLVpbTRAEqP8pVUxjLE2vDt1rSFjaiS8DSz1QcNZ8D1qxUMx1g\",\n ],\n);\n\nconst WALLET_ID = Uint8Array.from([\n 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,\n 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,\n 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,\n]);\n\nconst WALLET_HMAC = Uint8Array.from([\n 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,\n 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,\n 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,\n]);\n\n// Combined response data: walletId (32 bytes) + walletHmac (32 bytes)\nconst APDU_RESPONSE_DATA = new Uint8Array([...WALLET_ID, ...WALLET_HMAC]);\n\nconst SERIALIZED_WALLET = Uint8Array.from([0x01, 0x02, 0x03, 0x04]);\n\nconst mockLogger = {\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n};\nconst mockLoggerFactory = (_tag: string) => mockLogger;\n\ndescribe(\"RegisterWalletTask\", () => {\n const apiMock = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n const mockInternalWallet = {\n name: WALLET_POLICY.name,\n descriptorTemplate: WALLET_POLICY.descriptorTemplate,\n keys: WALLET_POLICY.keys,\n hmac: new Uint8Array(32).fill(0),\n keysTree: { getRoot: vi.fn() },\n descriptorBuffer: new Uint8Array(),\n } as unknown as Wallet;\n\n const walletBuilderMock = {\n fromWalletPolicy: vi.fn().mockReturnValue(mockInternalWallet),\n } as unknown as WalletBuilder;\n\n const walletSerializerMock = {\n serialize: vi.fn().mockReturnValue(SERIALIZED_WALLET),\n } as unknown as WalletSerializer;\n\n const dataStoreServiceMock = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should successfully register a wallet and return RegisteredWallet with hmac\", async () => {\n // GIVEN\n const args = {\n walletPolicy: WALLET_POLICY,\n loggerFactory: mockLoggerFactory,\n };\n\n const successResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: APDU_RESPONSE_DATA,\n }),\n });\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(successResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new RegisterWalletTask(\n apiMock,\n args,\n walletBuilderMock,\n walletSerializerMock,\n dataStoreServiceMock,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(walletBuilderMock.fromWalletPolicy).toHaveBeenCalledWith(\n WALLET_POLICY,\n );\n expect(dataStoreServiceMock.merklizeWallet).toHaveBeenCalledWith(\n expect.any(DataStore),\n mockInternalWallet,\n );\n expect(walletSerializerMock.serialize).toHaveBeenCalledWith(\n mockInternalWallet,\n );\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toBeInstanceOf(RegisteredWallet);\n expect(result.data).toEqual(\n new RegisteredWallet(\n WALLET_POLICY.name,\n WALLET_POLICY.descriptorTemplate,\n WALLET_POLICY.keys,\n WALLET_HMAC,\n ),\n );\n }\n });\n\n it(\"should return an error if the RegisterWalletAddressCommand fails\", async () => {\n // GIVEN\n const args = {\n walletPolicy: WALLET_POLICY,\n loggerFactory: mockLoggerFactory,\n };\n\n const resultError = CommandResultFactory<ApduResponse, void>({\n error: new InvalidStatusWordError(\"Registration failed\"),\n });\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(resultError),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new RegisterWalletTask(\n apiMock,\n args,\n walletBuilderMock,\n walletSerializerMock,\n dataStoreServiceMock,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Registration failed\"),\n }),\n );\n });\n\n it(\"should call sendCommand with the serialized wallet policy\", async () => {\n // GIVEN\n const args = {\n walletPolicy: WALLET_POLICY,\n loggerFactory: mockLoggerFactory,\n };\n\n const successResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: APDU_RESPONSE_DATA,\n }),\n });\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(successResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n await new RegisterWalletTask(\n apiMock,\n args,\n walletBuilderMock,\n walletSerializerMock,\n dataStoreServiceMock,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(apiMock.sendCommand).toHaveBeenCalledWith(\n expect.objectContaining({\n name: \"registerWalletAddress\",\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ApduResponse", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "RegisteredWallet", "WalletPolicy", "DataStore", "RegisterWalletTask", "WALLET_POLICY", "WALLET_ID", "WALLET_HMAC", "APDU_RESPONSE_DATA", "SERIALIZED_WALLET", "mockLogger", "mockLoggerFactory", "_tag", "apiMock", "mockInternalWallet", "walletBuilderMock", "walletSerializerMock", "dataStoreServiceMock", "args", "successResult", "continueTaskFactory", "result", "resultError"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isSuccessCommandResult as g}from"@ledgerhq/device-management-kit";import{SignMessageCommand as
|
|
1
|
+
import{isSuccessCommandResult as g}from"@ledgerhq/device-management-kit";import{SignMessageCommand as l}from"../../app-binder/command/SignMessageCommand";import{CHUNK_SIZE as m}from"../../app-binder/command/utils/constants";import{ContinueTask as S}from"../../app-binder/task/ContinueTask";import{DataStore as u}from"../../data-store/model/DataStore";import{BtcCommandUtils as c}from"../../utils/BtcCommandUtils";class C{constructor(a,o,i,s=(r,t)=>new S(r,t)){this._api=a;this._args=o;this._dataStoreService=i;this._continueTaskFactory=s;this._logger=this._args.loggerFactory("SendSignMessageTask")}_logger;async run(){const{derivationPath:a,message:o}=this._args;this._logger.debug("[run] Starting SendSignMessageTask",{data:{derivationPath:a,message:o}});const i=new u,s=new TextEncoder().encode(o),r=[];for(let e=0;e<s.length;e+=m)r.push(s.subarray(e,e+m));const t=this._dataStoreService.merklizeChunks(i,r);this._logger.debug("[run] Sending SignMessageCommand",{data:{derivationPath:a,chunksCount:r.length,merkleRoot:t?Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join(""):null}});const d=await this._api.sendCommand(new l({derivationPath:a,messageLength:s.length,messageMerkleRoot:t})),n=await this._continueTaskFactory(this._api,i).run(d);if(g(n)){const e=c.getSignature(n);return g(e)&&this._logger.debug("[run] SendSignMessageTask completed successfully",{data:{signature:e.data}}),e}return this._logger.error("[run] SendSignMessageTask failed",{data:{error:n.error}}),n}}export{C as SendSignMessageTask};
|
|
2
2
|
//# sourceMappingURL=SignMessageTask.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SignMessageTask.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type CommandResult,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport { SignMessageCommand } from \"@internal/app-binder/command/SignMessageCommand\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { CHUNK_SIZE } from \"@internal/app-binder/command/utils/constants\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { BtcCommandUtils } from \"@internal/utils/BtcCommandUtils\";\n\nexport type SendSignMessageTaskArgs = {\n derivationPath: string;\n message: string;\n};\n\nexport class SendSignMessageTask {\n constructor(\n private readonly _api: InternalApi,\n private readonly _args: SendSignMessageTaskArgs,\n private readonly _dataStoreService: DataStoreService,\n private readonly _continueTaskFactory = (\n api: InternalApi,\n dataStore: DataStore,\n ) => new ContinueTask(api, dataStore),\n ) {}\n\n async run(): Promise<CommandResult<Signature, BtcErrorCodes>> {\n const { derivationPath, message } = this._args;\n\n const dataStore = new DataStore();\n\n const messageBuffer = new TextEncoder().encode(message);\n const chunks: Uint8Array[] = [];\n for (let i = 0; i < messageBuffer.length; i += CHUNK_SIZE) {\n chunks.push(messageBuffer.subarray(i, i + CHUNK_SIZE));\n }\n\n const merkleRoot = this._dataStoreService.merklizeChunks(dataStore, chunks);\n\n const signMessageFirstCommandResponse = await this._api.sendCommand(\n new SignMessageCommand({\n derivationPath,\n messageLength: messageBuffer.length,\n messageMerkleRoot: merkleRoot,\n }),\n );\n const response = await this._continueTaskFactory(this._api, dataStore).run(\n signMessageFirstCommandResponse,\n );\n if (isSuccessCommandResult(response)) {\n
|
|
5
|
-
"mappings": "AAAA,OAGE,0BAAAA,
|
|
6
|
-
"names": ["isSuccessCommandResult", "SignMessageCommand", "CHUNK_SIZE", "ContinueTask", "DataStore", "BtcCommandUtils", "SendSignMessageTask", "_api", "_args", "_dataStoreService", "_continueTaskFactory", "api", "dataStore", "derivationPath", "message", "messageBuffer", "chunks", "i", "merkleRoot", "signMessageFirstCommandResponse", "response"]
|
|
4
|
+
"sourcesContent": ["import {\n type CommandResult,\n type InternalApi,\n isSuccessCommandResult,\n type LoggerPublisherService,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport { SignMessageCommand } from \"@internal/app-binder/command/SignMessageCommand\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { CHUNK_SIZE } from \"@internal/app-binder/command/utils/constants\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { BtcCommandUtils } from \"@internal/utils/BtcCommandUtils\";\n\nexport type SendSignMessageTaskArgs = {\n derivationPath: string;\n message: string;\n loggerFactory: (tag: string) => LoggerPublisherService;\n};\n\nexport class SendSignMessageTask {\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n private readonly _api: InternalApi,\n private readonly _args: SendSignMessageTaskArgs,\n private readonly _dataStoreService: DataStoreService,\n private readonly _continueTaskFactory = (\n api: InternalApi,\n dataStore: DataStore,\n ) => new ContinueTask(api, dataStore),\n ) {\n this._logger = this._args.loggerFactory(\"SendSignMessageTask\");\n }\n\n async run(): Promise<CommandResult<Signature, BtcErrorCodes>> {\n const { derivationPath, message } = this._args;\n\n this._logger.debug(\"[run] Starting SendSignMessageTask\", {\n data: { derivationPath, message },\n });\n\n const dataStore = new DataStore();\n\n const messageBuffer = new TextEncoder().encode(message);\n const chunks: Uint8Array[] = [];\n for (let i = 0; i < messageBuffer.length; i += CHUNK_SIZE) {\n chunks.push(messageBuffer.subarray(i, i + CHUNK_SIZE));\n }\n\n const merkleRoot = this._dataStoreService.merklizeChunks(dataStore, chunks);\n\n this._logger.debug(\"[run] Sending SignMessageCommand\", {\n data: {\n derivationPath,\n chunksCount: chunks.length,\n merkleRoot: merkleRoot\n ? Array.from(merkleRoot)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\")\n : null,\n },\n });\n const signMessageFirstCommandResponse = await this._api.sendCommand(\n new SignMessageCommand({\n derivationPath,\n messageLength: messageBuffer.length,\n messageMerkleRoot: merkleRoot,\n }),\n );\n const response = await this._continueTaskFactory(this._api, dataStore).run(\n signMessageFirstCommandResponse,\n );\n if (isSuccessCommandResult(response)) {\n const signatureResult = BtcCommandUtils.getSignature(response);\n if (isSuccessCommandResult(signatureResult)) {\n this._logger.debug(\"[run] SendSignMessageTask completed successfully\", {\n data: { signature: signatureResult.data },\n });\n }\n return signatureResult;\n }\n this._logger.error(\"[run] SendSignMessageTask failed\", {\n data: { error: response.error },\n });\n return response;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAGE,0BAAAA,MAEK,kCAGP,OAAS,sBAAAC,MAA0B,kDAEnC,OAAS,cAAAC,MAAkB,+CAC3B,OAAS,gBAAAC,MAAoB,yCAC7B,OAAS,aAAAC,MAAiB,uCAE1B,OAAS,mBAAAC,MAAuB,kCAQzB,MAAMC,CAAoB,CAG/B,YACmBC,EACAC,EACAC,EACAC,EAAuB,CACtCC,EACAC,IACG,IAAIT,EAAaQ,EAAKC,CAAS,EACpC,CAPiB,UAAAL,EACA,WAAAC,EACA,uBAAAC,EACA,0BAAAC,EAKjB,KAAK,QAAU,KAAK,MAAM,cAAc,qBAAqB,CAC/D,CAZiB,QAcjB,MAAM,KAAwD,CAC5D,KAAM,CAAE,eAAAG,EAAgB,QAAAC,CAAQ,EAAI,KAAK,MAEzC,KAAK,QAAQ,MAAM,qCAAsC,CACvD,KAAM,CAAE,eAAAD,EAAgB,QAAAC,CAAQ,CAClC,CAAC,EAED,MAAMF,EAAY,IAAIR,EAEhBW,EAAgB,IAAI,YAAY,EAAE,OAAOD,CAAO,EAChDE,EAAuB,CAAC,EAC9B,QAASC,EAAI,EAAGA,EAAIF,EAAc,OAAQE,GAAKf,EAC7Cc,EAAO,KAAKD,EAAc,SAASE,EAAGA,EAAIf,CAAU,CAAC,EAGvD,MAAMgB,EAAa,KAAK,kBAAkB,eAAeN,EAAWI,CAAM,EAE1E,KAAK,QAAQ,MAAM,mCAAoC,CACrD,KAAM,CACJ,eAAAH,EACA,YAAaG,EAAO,OACpB,WAAYE,EACR,MAAM,KAAKA,CAAU,EAClB,IAAKC,GAAMA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAC1C,KAAK,EAAE,EACV,IACN,CACF,CAAC,EACD,MAAMC,EAAkC,MAAM,KAAK,KAAK,YACtD,IAAInB,EAAmB,CACrB,eAAAY,EACA,cAAeE,EAAc,OAC7B,kBAAmBG,CACrB,CAAC,CACH,EACMG,EAAW,MAAM,KAAK,qBAAqB,KAAK,KAAMT,CAAS,EAAE,IACrEQ,CACF,EACA,GAAIpB,EAAuBqB,CAAQ,EAAG,CACpC,MAAMC,EAAkBjB,EAAgB,aAAagB,CAAQ,EAC7D,OAAIrB,EAAuBsB,CAAe,GACxC,KAAK,QAAQ,MAAM,mDAAoD,CACrE,KAAM,CAAE,UAAWA,EAAgB,IAAK,CAC1C,CAAC,EAEIA,CACT,CACA,YAAK,QAAQ,MAAM,mCAAoC,CACrD,KAAM,CAAE,MAAOD,EAAS,KAAM,CAChC,CAAC,EACMA,CACT,CACF",
|
|
6
|
+
"names": ["isSuccessCommandResult", "SignMessageCommand", "CHUNK_SIZE", "ContinueTask", "DataStore", "BtcCommandUtils", "SendSignMessageTask", "_api", "_args", "_dataStoreService", "_continueTaskFactory", "api", "dataStore", "derivationPath", "message", "messageBuffer", "chunks", "i", "merkleRoot", "b", "signMessageFirstCommandResponse", "response", "signatureResult"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduResponse as
|
|
1
|
+
import{ApduResponse as g,CommandResultFactory as r,InvalidStatusWordError as f}from"@ledgerhq/device-management-kit";import{CHUNK_SIZE as k,SHA256_SIZE as v}from"../../app-binder/command/utils/constants";import{DataStore as l}from"../../data-store/model/DataStore";import{SendSignMessageTask as c}from"./SignMessageTask";const d="a".repeat(k),y="a".repeat(k*2),i="44'/0'/0'/0/0",x=new Uint8Array(v).fill(1),m={v:27,r:"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e",s:"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce"},p=new Uint8Array([27,151,164,202,143,105,70,51,89,38,1,245,162,62,11,204,85,60,157,10,144,211,163,66,45,87,85,8,169,40,152,185,110,105,80,208,46,116,233,193,2,193,100,162,37,83,48,130,202,189,216,144,239,196,99,246,127,96,206,254,140,63,135,207,206]),A={debug:vi.fn(),info:vi.fn(),warn:vi.fn(),error:vi.fn(),subscribers:[]},u=o=>A;describe("SignMessageTask",()=>{const o=r({data:new g({statusCode:new Uint8Array([144,0]),data:p})}),s={sendCommand:vi.fn()};afterEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should correctly chunk a message that fits in 1 chunk",async()=>{const a={derivationPath:i,message:d,loggerFactory:u},e={merklizeChunks:vi.fn().mockReturnValue(x)},n=()=>({run:vi.fn().mockReturnValue(o)}),t=await new c(s,a,e,n).run();expect(e.merklizeChunks).toHaveBeenCalledWith(expect.any(l),[Uint8Array.from(new Array(64).fill(97))]),expect(t).toStrictEqual(r({data:m}))}),it("should correctly chunk a message that fits in 2 chunks",async()=>{const a={derivationPath:i,message:y,loggerFactory:u},e={merklizeChunks:vi.fn().mockReturnValue(x)},n=()=>({run:vi.fn().mockReturnValue(o)}),t=await new c(s,a,e,n).run();expect(e.merklizeChunks).toHaveBeenCalledWith(expect.any(l),[Uint8Array.from(new Array(64).fill(97)),Uint8Array.from(new Array(64).fill(97))]),expect(t).toStrictEqual(r({data:m}))}),it("should return an error if the initial SignMessageCommand fails",async()=>{const a={derivationPath:i,message:d,loggerFactory:u},e=r({error:new f("error")}),n={merklizeChunks:vi.fn().mockReturnValue(x)},t=()=>({run:vi.fn().mockReturnValue(e)}),S=await new c(s,a,n,t).run();expect(S).toStrictEqual(r({error:new f("error")}))})})});
|
|
2
2
|
//# sourceMappingURL=SignMessageTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SignMessageTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n CHUNK_SIZE,\n SHA256_SIZE,\n} from \"@internal/app-binder/command/utils/constants\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\n\nimport { SendSignMessageTask } from \"./SignMessageTask\";\n\nconst EXACT_ONE_CHUNK_MESSAGE = \"a\".repeat(CHUNK_SIZE);\nconst EXACT_TWO_CHUNKS_MESSAGE = \"a\".repeat(CHUNK_SIZE * 2);\nconst DERIVATION_PATH = \"44'/0'/0'/0/0\";\nconst MERKLE_ROOT = new Uint8Array(SHA256_SIZE).fill(0x01);\n\nconst SIGNATURE: Signature = {\n v: 27,\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n};\n\nconst SIGNATURE_APDU = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\ndescribe(\"SignMessageTask\", () => {\n const signatureResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGNATURE_APDU,\n }),\n });\n const apiMock = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should correctly chunk a message that fits in 1 chunk\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [Uint8Array.from(new Array(64).fill(0x61))],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should correctly chunk a message that fits in 2 chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_TWO_CHUNKS_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [\n Uint8Array.from(new Array(64).fill(0x61)),\n Uint8Array.from(new Array(64).fill(0x61)),\n ],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should return an error if the initial SignMessageCommand fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const resultError = CommandResultFactory<Signature, void>({\n error: new InvalidStatusWordError(\"error\"),\n });\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(resultError),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"error\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,gBAAAA,EACA,wBAAAC,EAEA,0BAAAC,MACK,kCAGP,OACE,cAAAC,EACA,eAAAC,MACK,+CAEP,OAAS,aAAAC,MAAiB,uCAG1B,OAAS,uBAAAC,MAA2B,oBAEpC,MAAMC,EAA0B,IAAI,OAAOJ,CAAU,EAC/CK,EAA2B,IAAI,OAAOL,EAAa,CAAC,EACpDM,EAAkB,gBAClBC,EAAc,IAAI,WAAWN,CAAW,EAAE,KAAK,CAAI,EAEnDO,EAAuB,CAC3B,EAAG,GACH,EAAG,qEACH,EAAG,oEACL,EAEMC,EAAiB,IAAI,WAAW,CACpC,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IACxE,GAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GACxE,GAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IACxE,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAC1E,CAAC,
|
|
6
|
-
"names": ["ApduResponse", "CommandResultFactory", "InvalidStatusWordError", "CHUNK_SIZE", "SHA256_SIZE", "DataStore", "SendSignMessageTask", "EXACT_ONE_CHUNK_MESSAGE", "EXACT_TWO_CHUNKS_MESSAGE", "DERIVATION_PATH", "MERKLE_ROOT", "SIGNATURE", "SIGNATURE_APDU", "signatureResult", "apiMock", "args", "dataStoreService", "continueTaskFactory", "result", "resultError"]
|
|
4
|
+
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n CHUNK_SIZE,\n SHA256_SIZE,\n} from \"@internal/app-binder/command/utils/constants\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\n\nimport { SendSignMessageTask } from \"./SignMessageTask\";\n\nconst EXACT_ONE_CHUNK_MESSAGE = \"a\".repeat(CHUNK_SIZE);\nconst EXACT_TWO_CHUNKS_MESSAGE = \"a\".repeat(CHUNK_SIZE * 2);\nconst DERIVATION_PATH = \"44'/0'/0'/0/0\";\nconst MERKLE_ROOT = new Uint8Array(SHA256_SIZE).fill(0x01);\n\nconst SIGNATURE: Signature = {\n v: 27,\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n};\n\nconst SIGNATURE_APDU = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\nconst mockLogger = {\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n};\nconst mockLoggerFactory = (_tag: string) => mockLogger;\n\ndescribe(\"SignMessageTask\", () => {\n const signatureResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGNATURE_APDU,\n }),\n });\n const apiMock = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should correctly chunk a message that fits in 1 chunk\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n loggerFactory: mockLoggerFactory,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [Uint8Array.from(new Array(64).fill(0x61))],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should correctly chunk a message that fits in 2 chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_TWO_CHUNKS_MESSAGE,\n loggerFactory: mockLoggerFactory,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [\n Uint8Array.from(new Array(64).fill(0x61)),\n Uint8Array.from(new Array(64).fill(0x61)),\n ],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should return an error if the initial SignMessageCommand fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n loggerFactory: mockLoggerFactory,\n };\n\n const resultError = CommandResultFactory<Signature, void>({\n error: new InvalidStatusWordError(\"error\"),\n });\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(resultError),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"error\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,gBAAAA,EACA,wBAAAC,EAEA,0BAAAC,MACK,kCAGP,OACE,cAAAC,EACA,eAAAC,MACK,+CAEP,OAAS,aAAAC,MAAiB,uCAG1B,OAAS,uBAAAC,MAA2B,oBAEpC,MAAMC,EAA0B,IAAI,OAAOJ,CAAU,EAC/CK,EAA2B,IAAI,OAAOL,EAAa,CAAC,EACpDM,EAAkB,gBAClBC,EAAc,IAAI,WAAWN,CAAW,EAAE,KAAK,CAAI,EAEnDO,EAAuB,CAC3B,EAAG,GACH,EAAG,qEACH,EAAG,oEACL,EAEMC,EAAiB,IAAI,WAAW,CACpC,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IACxE,GAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GACxE,GAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IACxE,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAC1E,CAAC,EAEKC,EAAa,CACjB,MAAO,GAAG,GAAG,EACb,KAAM,GAAG,GAAG,EACZ,KAAM,GAAG,GAAG,EACZ,MAAO,GAAG,GAAG,EACb,YAAa,CAAC,CAChB,EACMC,EAAqBC,GAAiBF,EAE5C,SAAS,kBAAmB,IAAM,CAChC,MAAMG,EAAkBf,EAAyC,CAC/D,KAAM,IAAID,EAAa,CACrB,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAMY,CACR,CAAC,CACH,CAAC,EACKK,EAAU,CACd,YAAa,GAAG,GAAG,CACrB,EAEA,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,MAAO,IAAM,CACpB,GAAG,wDAAyD,SAAY,CAEtE,MAAMC,EAAO,CACX,eAAgBT,EAChB,QAASF,EACT,cAAeO,CACjB,EAEMK,EAAmB,CACvB,eAAgB,GAAG,GAAG,EAAE,gBAAgBT,CAAW,CACrD,EAEMU,EAAsB,KACzB,CACC,IAAK,GAAG,GAAG,EAAE,gBAAgBJ,CAAe,CAC9C,GAGIK,EAAS,MAAM,IAAIf,EACvBW,EACAC,EACAC,EACAC,CACF,EAAE,IAAI,EAGN,OAAOD,EAAiB,cAAc,EAAE,qBACtC,OAAO,IAAId,CAAS,EACpB,CAAC,WAAW,KAAK,IAAI,MAAM,EAAE,EAAE,KAAK,EAAI,CAAC,CAAC,CAC5C,EACA,OAAOgB,CAAM,EAAE,cAAcpB,EAAqB,CAAE,KAAMU,CAAU,CAAC,CAAC,CACxE,CAAC,EAED,GAAG,yDAA0D,SAAY,CAEvE,MAAMO,EAAO,CACX,eAAgBT,EAChB,QAASD,EACT,cAAeM,CACjB,EAEMK,EAAmB,CACvB,eAAgB,GAAG,GAAG,EAAE,gBAAgBT,CAAW,CACrD,EAEMU,EAAsB,KACzB,CACC,IAAK,GAAG,GAAG,EAAE,gBAAgBJ,CAAe,CAC9C,GAGIK,EAAS,MAAM,IAAIf,EACvBW,EACAC,EACAC,EACAC,CACF,EAAE,IAAI,EAGN,OAAOD,EAAiB,cAAc,EAAE,qBACtC,OAAO,IAAId,CAAS,EACpB,CACE,WAAW,KAAK,IAAI,MAAM,EAAE,EAAE,KAAK,EAAI,CAAC,EACxC,WAAW,KAAK,IAAI,MAAM,EAAE,EAAE,KAAK,EAAI,CAAC,CAC1C,CACF,EACA,OAAOgB,CAAM,EAAE,cAAcpB,EAAqB,CAAE,KAAMU,CAAU,CAAC,CAAC,CACxE,CAAC,EAED,GAAG,iEAAkE,SAAY,CAE/E,MAAMO,EAAO,CACX,eAAgBT,EAChB,QAASF,EACT,cAAeO,CACjB,EAEMQ,EAAcrB,EAAsC,CACxD,MAAO,IAAIC,EAAuB,OAAO,CAC3C,CAAC,EACKiB,EAAmB,CACvB,eAAgB,GAAG,GAAG,EAAE,gBAAgBT,CAAW,CACrD,EAEMU,EAAsB,KACzB,CACC,IAAK,GAAG,GAAG,EAAE,gBAAgBE,CAAW,CAC1C,GAGID,EAAS,MAAM,IAAIf,EACvBW,EACAC,EACAC,EACAC,CACF,EAAE,IAAI,EAGN,OAAOC,CAAM,EAAE,cACbpB,EAAqB,CACnB,MAAO,IAAIC,EAAuB,OAAO,CAC3C,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["ApduResponse", "CommandResultFactory", "InvalidStatusWordError", "CHUNK_SIZE", "SHA256_SIZE", "DataStore", "SendSignMessageTask", "EXACT_ONE_CHUNK_MESSAGE", "EXACT_TWO_CHUNKS_MESSAGE", "DERIVATION_PATH", "MERKLE_ROOT", "SIGNATURE", "SIGNATURE_APDU", "mockLogger", "mockLoggerFactory", "_tag", "signatureResult", "apiMock", "args", "dataStoreService", "continueTaskFactory", "result", "resultError"]
|
|
7
7
|
}
|
package/lib/esm/internal/di.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Container as
|
|
1
|
+
import{Container as i}from"inversify";import{dataStoreModuleFactory as a}from"./data-store/di/dataStoreModule";import{externalTypes as o}from"./externalTypes";import{merkleTreeModuleFactory as s}from"./merkle-tree/di/merkleTreeModule";import{psbtModuleFactory as m}from"./psbt/di/psbtModule";import{useCasesModuleFactory as c}from"./use-cases/di/useCasesModule";import{walletModuleFactory as p}from"./wallet/di/walletModule";import{appBinderModuleFactory as d}from"./app-binder/di/appBinderModule";const C=({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()(["SignerBtc",n])),e.loadSync(d(),c(),p(),m(),a(),s()),e};export{C as makeContainer};
|
|
2
2
|
//# sourceMappingURL=di.js.map
|
|
@@ -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} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"@internal/data-store/di/dataStoreModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { merkleTreeModuleFactory } from \"@internal/merkle-tree/di/merkleTreeModule\";\nimport { psbtModuleFactory } from \"@internal/psbt/di/psbtModule\";\nimport { useCasesModuleFactory } from \"@internal/use-cases/di/useCasesModule\";\nimport { walletModuleFactory } from \"@internal/wallet/di/walletModule\";\n\nimport { appBinderModuleFactory } from \"./app-binder/di/appBinderModule\";\n\ntype MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\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.loadSync(\n appBinderModuleFactory(),\n useCasesModuleFactory(),\n walletModuleFactory(),\n psbtModuleFactory(),\n dataStoreModuleFactory(),\n merkleTreeModuleFactory(),\n );\n\n return container;\n};\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Container", "dataStoreModuleFactory", "externalTypes", "merkleTreeModuleFactory", "psbtModuleFactory", "useCasesModuleFactory", "walletModuleFactory", "appBinderModuleFactory", "makeContainer", "dmk", "sessionId", "container"]
|
|
4
|
+
"sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n type LoggerPublisherService,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"@internal/data-store/di/dataStoreModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { merkleTreeModuleFactory } from \"@internal/merkle-tree/di/merkleTreeModule\";\nimport { psbtModuleFactory } from \"@internal/psbt/di/psbtModule\";\nimport { useCasesModuleFactory } from \"@internal/use-cases/di/useCasesModule\";\nimport { walletModuleFactory } from \"@internal/wallet/di/walletModule\";\n\nimport { appBinderModuleFactory } from \"./app-binder/di/appBinderModule\";\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()([\"SignerBtc\", tag]),\n );\n\n container.loadSync(\n appBinderModuleFactory(),\n useCasesModuleFactory(),\n walletModuleFactory(),\n psbtModuleFactory(),\n dataStoreModuleFactory(),\n merkleTreeModuleFactory(),\n );\n\n return container;\n};\n"],
|
|
5
|
+
"mappings": "AAKA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,0BAAAC,MAA8B,0CACvC,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,qBAAAC,MAAyB,+BAClC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,uBAAAC,MAA2B,mCAEpC,OAAS,0BAAAC,MAA8B,kCAOhC,MAAMC,EAAgB,CAAC,CAAE,IAAAC,EAAK,UAAAC,CAAU,IAA0B,CACvE,MAAMC,EAAY,IAAIX,EAEtB,OAAAW,EAAU,KAA0BT,EAAc,GAAG,EAAE,gBAAgBO,CAAG,EAC1EE,EACG,KAAsBT,EAAc,SAAS,EAC7C,gBAAgBQ,CAAS,EAE5BC,EACG,KAECT,EAAc,gBAAgB,EAC/B,gBAAiBU,GAChBH,EAAI,iBAAiB,EAAE,CAAC,YAAaG,CAAG,CAAC,CAC3C,EAEFD,EAAU,SACRJ,EAAuB,EACvBF,EAAsB,EACtBC,EAAoB,EACpBF,EAAkB,EAClBH,EAAuB,EACvBE,EAAwB,CAC1B,EAEOQ,CACT",
|
|
6
|
+
"names": ["Container", "dataStoreModuleFactory", "externalTypes", "merkleTreeModuleFactory", "psbtModuleFactory", "useCasesModuleFactory", "walletModuleFactory", "appBinderModuleFactory", "makeContainer", "dmk", "sessionId", "container", "tag"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const o={Dmk:Symbol.for("Dmk"),SessionId:Symbol.for("SessionId")};export{o as externalTypes};
|
|
1
|
+
const o={Dmk:Symbol.for("Dmk"),SessionId:Symbol.for("SessionId"),DmkLoggerFactory:Symbol.for("DmkLoggerFactory")};export{o as externalTypes};
|
|
2
2
|
//# sourceMappingURL=externalTypes.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/internal/externalTypes.ts"],
|
|
4
|
-
"sourcesContent": ["export const externalTypes = {\n Dmk: Symbol.for(\"Dmk\"),\n SessionId: Symbol.for(\"SessionId\"),\n};\n"],
|
|
5
|
-
"mappings": "AAAO,MAAMA,EAAgB,CAC3B,IAAK,OAAO,IAAI,KAAK,EACrB,UAAW,OAAO,IAAI,WAAW,
|
|
4
|
+
"sourcesContent": ["export const externalTypes = {\n Dmk: Symbol.for(\"Dmk\"),\n SessionId: Symbol.for(\"SessionId\"),\n DmkLoggerFactory: Symbol.for(\"DmkLoggerFactory\"),\n};\n"],
|
|
5
|
+
"mappings": "AAAO,MAAMA,EAAgB,CAC3B,IAAK,OAAO,IAAI,KAAK,EACrB,UAAW,OAAO,IAAI,WAAW,EACjC,iBAAkB,OAAO,IAAI,kBAAkB,CACjD",
|
|
6
6
|
"names": ["externalTypes"]
|
|
7
7
|
}
|
package/lib/esm/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DeviceManagementKit, type DeviceSessionId } from "@ledgerhq/device-management-kit";
|
|
1
|
+
import { DeviceManagementKit, type DeviceSessionId, LoggerPublisherService } from "@ledgerhq/device-management-kit";
|
|
2
2
|
import { GetExtendedPublicKeyDAInput, GetExtendedPublicKeyDAReturnType } from "../../api/app-binder/GetExtendedPublicKeyDeviceActionTypes";
|
|
3
3
|
import { GetMasterFingerprintDAInput, GetMasterFingerprintDAReturnType } from "../../api/app-binder/GetMasterFingerprintDeviceActionTypes";
|
|
4
4
|
import { RegisterWalletDAInput, RegisterWalletDAReturnType } from "../../api/app-binder/RegisterWalletDeviceActionTypes";
|
|
@@ -21,7 +21,8 @@ export declare class BtcAppBinder {
|
|
|
21
21
|
private readonly _dataStoreService;
|
|
22
22
|
private readonly _psbtMapper;
|
|
23
23
|
private readonly _valueParser;
|
|
24
|
-
|
|
24
|
+
private readonly _dmkLoggerFactory;
|
|
25
|
+
constructor(_dmk: DeviceManagementKit, _sessionId: DeviceSessionId, _walletBuilder: WalletBuilder, _walletSerializer: WalletSerializer, _dataStoreService: DataStoreService, _psbtMapper: PsbtMapper, _valueParser: ValueParser, _dmkLoggerFactory: (tag: string) => LoggerPublisherService);
|
|
25
26
|
getExtendedPublicKey(args: GetExtendedPublicKeyDAInput): GetExtendedPublicKeyDAReturnType;
|
|
26
27
|
getMasterFingerprint(args: GetMasterFingerprintDAInput): GetMasterFingerprintDAReturnType;
|
|
27
28
|
signMessage(args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/BtcAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"BtcAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/BtcAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,KAAK,eAAe,EACpB,sBAAsB,EAGvB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQ3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAIlF,qBACa,YAAY;IAGrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAdjB,IAAI,EAAE,mBAAmB,EAEzB,UAAU,EAAE,eAAe,EAE3B,cAAc,EAAE,aAAa,EAE7B,iBAAiB,EAAE,gBAAgB,EAEnC,iBAAiB,EAAE,gBAAgB,EAEnC,WAAW,EAAE,UAAU,EAEvB,YAAY,EAAE,WAAW,EAEzB,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAG7E,oBAAoB,CAClB,IAAI,EAAE,2BAA2B,GAChC,gCAAgC;IAiBnC,oBAAoB,CAClB,IAAI,EAAE,2BAA2B,GAChC,gCAAgC;IAenC,WAAW,CAAC,IAAI,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,uBAAuB;IAwB3B,QAAQ,CAAC,IAAI,EAAE;QACb,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,oBAAoB;IAmBxB,gBAAgB,CAAC,IAAI,EAAE;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,4BAA4B;IAmBhC,eAAe,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,2BAA2B;IAmB/B,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,0BAA0B;CAwBxE"}
|
|
@@ -28,10 +28,6 @@ export type GetWalletAddressMachineDependencies = {
|
|
|
28
28
|
};
|
|
29
29
|
export type ExtractGetWalletAddressMachineDependencies = (internalApi: InternalApi) => GetWalletAddressMachineDependencies;
|
|
30
30
|
export declare class GetWalletAddressDeviceAction extends XStateDeviceAction<GetWalletAddressDAOutput, GetWalletAddressDAInput, GetWalletAddressDAError, GetWalletAddressDAIntermediateValue, GetWalletAddressDAInternalState> {
|
|
31
|
-
constructor(args: {
|
|
32
|
-
input: GetWalletAddressDAInput;
|
|
33
|
-
inspect?: boolean;
|
|
34
|
-
});
|
|
35
31
|
makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<GetWalletAddressDAOutput, GetWalletAddressDAInput, GetWalletAddressDAError, GetWalletAddressDAIntermediateValue, GetWalletAddressDAInternalState>;
|
|
36
32
|
extractDependencies(internalApi: InternalApi): GetWalletAddressMachineDependencies;
|
|
37
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetWalletAddressDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAMhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mCAAmC,EACxC,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAGzF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,KAAK,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC;YAClB,aAAa,EAAE,aAAa,CAAC;SAC9B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE;QAChC,KAAK,EAAE;YACL,aAAa,EAAE,OAAO,CAAC;YACvB,MAAM,EAAE,OAAO,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC;YACrB,MAAM,EAAE,cAAc,CAAC;YACvB,aAAa,EAAE,aAAa,CAAC;YAC7B,gBAAgB,EAAE,gBAAgB,CAAC;YACnC,gBAAgB,EAAE,gBAAgB,CAAC;SACpC,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,CACvD,WAAW,EAAE,WAAW,KACrB,mCAAmC,CAAC;AAEzC,qBAAa,4BAA6B,SAAQ,kBAAkB,CAClE,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mCAAmC,EACnC,+BAA+B,CAChC;
|
|
1
|
+
{"version":3,"file":"GetWalletAddressDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAMhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mCAAmC,EACxC,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAGzF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,KAAK,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC;YAClB,aAAa,EAAE,aAAa,CAAC;SAC9B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE;QAChC,KAAK,EAAE;YACL,aAAa,EAAE,OAAO,CAAC;YACvB,MAAM,EAAE,OAAO,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC;YACrB,MAAM,EAAE,cAAc,CAAC;YACvB,aAAa,EAAE,aAAa,CAAC;YAC7B,gBAAgB,EAAE,gBAAgB,CAAC;YACnC,gBAAgB,EAAE,gBAAgB,CAAC;SACpC,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,CACvD,WAAW,EAAE,WAAW,KACrB,mCAAmC,CAAC;AAEzC,qBAAa,4BAA6B,SAAQ,kBAAkB,CAClE,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mCAAmC,EACnC,+BAA+B,CAChC;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mCAAmC,EACnC,+BAA+B,CAChC;IAwND,mBAAmB,CACjB,WAAW,EAAE,WAAW,GACvB,mCAAmC;CAkDvC"}
|
|
@@ -37,10 +37,6 @@ export type MachineDependencies = {
|
|
|
37
37
|
};
|
|
38
38
|
export type ExtractMachineDependencies = (internalApi: InternalApi) => MachineDependencies;
|
|
39
39
|
export declare class SignPsbtDeviceAction extends XStateDeviceAction<SignPsbtDAOutput, SignPsbtDAInput, SignPsbtDAError, SignPsbtDAIntermediateValue, SignPsbtDAInternalState> {
|
|
40
|
-
constructor(args: {
|
|
41
|
-
input: SignPsbtDAInput;
|
|
42
|
-
inspect?: boolean;
|
|
43
|
-
});
|
|
44
40
|
makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<SignPsbtDAOutput, SignPsbtDAInput, SignPsbtDAError, SignPsbtDAIntermediateValue, SignPsbtDAInternalState>;
|
|
45
41
|
extractDependencies(internalApi: InternalApi): MachineDependencies;
|
|
46
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignPsbtDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAMhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,yCAAyC,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,KAAK,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC;YAClB,aAAa,EAAE,aAAa,CAAC;SAC9B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE;YACL,IAAI,EAAE,OAAO,CAAC;YACd,MAAM,EAAE,cAAc,CAAC;YACvB,gBAAgB,EAAE,gBAAgB,CAAC;YACnC,UAAU,EAAE,UAAU,CAAC;SACxB,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE;YACL,MAAM,EAAE,cAAc,CAAC;YACvB,eAAe,EAAE,mBAAmB,CAAC;YACrC,gBAAgB,EAAE,gBAAgB,CAAC;YACnC,WAAW,EAAE,WAAW,CAAC;SAC1B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,CACvC,WAAW,EAAE,WAAW,KACrB,mBAAmB,CAAC;AAEzB,qBAAa,oBAAqB,SAAQ,kBAAkB,CAC1D,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,CACxB;
|
|
1
|
+
{"version":3,"file":"SignPsbtDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAMhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,yCAAyC,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,KAAK,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC;YAClB,aAAa,EAAE,aAAa,CAAC;SAC9B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE;YACL,IAAI,EAAE,OAAO,CAAC;YACd,MAAM,EAAE,cAAc,CAAC;YACvB,gBAAgB,EAAE,gBAAgB,CAAC;YACnC,UAAU,EAAE,UAAU,CAAC;SACxB,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE;YACL,MAAM,EAAE,cAAc,CAAC;YACvB,eAAe,EAAE,mBAAmB,CAAC;YACrC,gBAAgB,EAAE,gBAAgB,CAAC;YACnC,WAAW,EAAE,WAAW,CAAC;SAC1B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,CACvC,WAAW,EAAE,WAAW,KACrB,mBAAmB,CAAC;AAEzB,qBAAa,oBAAqB,SAAQ,kBAAkB,CAC1D,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,CACxB;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,CACxB;IA4PD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAuDnE"}
|
package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts
CHANGED
|
@@ -24,10 +24,6 @@ export type MachineDependencies = {
|
|
|
24
24
|
};
|
|
25
25
|
export type ExtractMachineDependencies = (internalApi: InternalApi) => MachineDependencies;
|
|
26
26
|
export declare class SignTransactionDeviceAction extends XStateDeviceAction<SignTransactionDAOutput, SignTransactionDAInput, SignTransactionDAError, SignTransactionDAIntermediateValue, SignTransactionDAInternalState> {
|
|
27
|
-
constructor(args: {
|
|
28
|
-
input: SignTransactionDAInput;
|
|
29
|
-
inspect?: boolean;
|
|
30
|
-
});
|
|
31
27
|
makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<SignTransactionDAOutput, SignTransactionDAInput, SignTransactionDAError, SignTransactionDAIntermediateValue, SignTransactionDAInternalState>;
|
|
32
28
|
extractDependencies(): MachineDependencies;
|
|
33
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignTransactionDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,UAAU,EACf,KAAK,WAAW,EAKhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAIzF,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;QAC1B,KAAK,EAAE;YACL,IAAI,EAAE,OAAO,CAAC;YACd,UAAU,EAAE,aAAa,EAAE,CAAC;YAC5B,UAAU,EAAE,UAAU,CAAC;YACvB,WAAW,EAAE,WAAW,CAAC;SAC1B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAClC,KAAK,EAAE;YAAE,IAAI,EAAE,YAAY,CAAC;YAAC,WAAW,EAAE,WAAW,CAAA;SAAE,CAAC;KACzD,KAAK,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,CACvC,WAAW,EAAE,WAAW,KACrB,mBAAmB,CAAC;AAEzB,qBAAa,2BAA4B,SAAQ,kBAAkB,CACjE,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;
|
|
1
|
+
{"version":3,"file":"SignTransactionDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,UAAU,EACf,KAAK,WAAW,EAKhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAIzF,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;QAC1B,KAAK,EAAE;YACL,IAAI,EAAE,OAAO,CAAC;YACd,UAAU,EAAE,aAAa,EAAE,CAAC;YAC5B,UAAU,EAAE,UAAU,CAAC;YACvB,WAAW,EAAE,WAAW,CAAC;SAC1B,CAAC;KACH,KAAK,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAClC,KAAK,EAAE;YAAE,IAAI,EAAE,YAAY,CAAC;YAAC,WAAW,EAAE,WAAW,CAAA;SAAE,CAAC;KACzD,KAAK,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,CACvC,WAAW,EAAE,WAAW,KACrB,mBAAmB,CAAC;AAEzB,qBAAa,2BAA4B,SAAQ,kBAAkB,CACjE,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,8BAA8B,CAC/B;IAoMD,mBAAmB,IAAI,mBAAmB;CAiC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeInternalApi.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/makeInternalApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"makeInternalApi.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/makeInternalApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkBrC,wBAAgB,+BAA+B,IAAI,MAAM,CAAC,WAAW,CAAC,CAYrE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CommandResult, type InternalApi } from "@ledgerhq/device-management-kit";
|
|
1
|
+
import { type CommandResult, type InternalApi, type LoggerPublisherService } from "@ledgerhq/device-management-kit";
|
|
2
2
|
import { RegisteredWallet, type WalletPolicy } from "../../../api/model/Wallet";
|
|
3
3
|
import { type BtcErrorCodes } from "../../app-binder/command/utils/bitcoinAppErrors";
|
|
4
4
|
import { ContinueTask } from "../../app-binder/task/ContinueTask";
|
|
@@ -8,6 +8,7 @@ import type { WalletBuilder } from "../../wallet/service/WalletBuilder";
|
|
|
8
8
|
import type { WalletSerializer } from "../../wallet/service/WalletSerializer";
|
|
9
9
|
export type RegisterWalletTaskArgs = {
|
|
10
10
|
walletPolicy: WalletPolicy;
|
|
11
|
+
loggerFactory: (tag: string) => LoggerPublisherService;
|
|
11
12
|
};
|
|
12
13
|
export type RegisterWalletTaskResult = CommandResult<RegisteredWallet, BtcErrorCodes>;
|
|
13
14
|
export declare class RegisterWalletTask {
|
|
@@ -17,6 +18,7 @@ export declare class RegisterWalletTask {
|
|
|
17
18
|
private readonly _walletSerializer;
|
|
18
19
|
private readonly _dataStoreService;
|
|
19
20
|
private readonly _continueTaskFactory;
|
|
21
|
+
private readonly _logger;
|
|
20
22
|
constructor(_api: InternalApi, _args: RegisterWalletTaskArgs, _walletBuilder: WalletBuilder, _walletSerializer: WalletSerializer, _dataStoreService: DataStoreService, _continueTaskFactory?: (api: InternalApi, dataStore: DataStore) => ContinueTask);
|
|
21
23
|
run(): Promise<RegisterWalletTaskResult>;
|
|
22
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterWalletTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/RegisterWalletTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"RegisterWalletTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/RegisterWalletTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,WAAW,EAEhB,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAClD,gBAAgB,EAChB,aAAa,CACd,CAAC;AAEF,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IARvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAG9B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,sBAAsB,EAC7B,cAAc,EAAE,aAAa,EAC7B,iBAAiB,EAAE,gBAAgB,EACnC,iBAAiB,EAAE,gBAAgB,EACnC,oBAAoB,IACnC,KAAK,WAAW,EAChB,WAAW,SAAS,iBACe;IAKjC,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;CAuE/C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CommandResult, type InternalApi } from "@ledgerhq/device-management-kit";
|
|
1
|
+
import { type CommandResult, type InternalApi, type LoggerPublisherService } from "@ledgerhq/device-management-kit";
|
|
2
2
|
import { type Signature } from "../../../api/model/Signature";
|
|
3
3
|
import { type BtcErrorCodes } from "../../app-binder/command/utils/bitcoinAppErrors";
|
|
4
4
|
import { ContinueTask } from "../../app-binder/task/ContinueTask";
|
|
@@ -7,12 +7,14 @@ import { type DataStoreService } from "../../data-store/service/DataStoreService
|
|
|
7
7
|
export type SendSignMessageTaskArgs = {
|
|
8
8
|
derivationPath: string;
|
|
9
9
|
message: string;
|
|
10
|
+
loggerFactory: (tag: string) => LoggerPublisherService;
|
|
10
11
|
};
|
|
11
12
|
export declare class SendSignMessageTask {
|
|
12
13
|
private readonly _api;
|
|
13
14
|
private readonly _args;
|
|
14
15
|
private readonly _dataStoreService;
|
|
15
16
|
private readonly _continueTaskFactory;
|
|
17
|
+
private readonly _logger;
|
|
16
18
|
constructor(_api: InternalApi, _args: SendSignMessageTaskArgs, _dataStoreService: DataStoreService, _continueTaskFactory?: (api: InternalApi, dataStore: DataStore) => ContinueTask);
|
|
17
19
|
run(): Promise<CommandResult<Signature, BtcErrorCodes>>;
|
|
18
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignMessageTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SignMessageTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"SignMessageTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SignMessageTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAEhB,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGtF,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;CACxD,CAAC;AAEF,qBAAa,mBAAmB;IAI5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IANvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAG9B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,uBAAuB,EAC9B,iBAAiB,EAAE,gBAAgB,EACnC,oBAAoB,IACnC,KAAK,WAAW,EAChB,WAAW,SAAS,iBACe;IAKjC,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;CAoD9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/internal/di.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/internal/di.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAErB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAWtC,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,oBAAoB,kBAAkB,cA0BnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"externalTypes.d.ts","sourceRoot":"","sources":["../../../src/internal/externalTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"externalTypes.d.ts","sourceRoot":"","sources":["../../../src/internal/externalTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;CAIzB,CAAC"}
|