@ledgerhq/device-signer-kit-bitcoin 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/lib/cjs/api/app-binder/GetWalletAddressDeviceActionTypes.js +1 -1
  2. package/lib/cjs/api/app-binder/GetWalletAddressDeviceActionTypes.js.map +3 -3
  3. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js +1 -1
  4. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js.map +3 -3
  5. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  6. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +3 -3
  7. package/lib/cjs/internal/app-binder/BtcAppBinder.js +1 -1
  8. package/lib/cjs/internal/app-binder/BtcAppBinder.js.map +2 -2
  9. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  10. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +3 -3
  11. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  12. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  13. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  14. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +3 -3
  15. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  16. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  17. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  18. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  19. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  20. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  21. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  22. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  23. package/lib/cjs/internal/app-binder/task/RegisterWalletTask.js +1 -1
  24. package/lib/cjs/internal/app-binder/task/RegisterWalletTask.js.map +2 -2
  25. package/lib/cjs/internal/app-binder/task/RegisterWalletTask.test.js +1 -1
  26. package/lib/cjs/internal/app-binder/task/RegisterWalletTask.test.js.map +3 -3
  27. package/lib/cjs/internal/app-binder/task/SignMessageTask.js +1 -1
  28. package/lib/cjs/internal/app-binder/task/SignMessageTask.js.map +2 -2
  29. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js +1 -1
  30. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js.map +3 -3
  31. package/lib/cjs/package.json +1 -1
  32. package/lib/esm/api/app-binder/GetWalletAddressDeviceActionTypes.js +1 -0
  33. package/lib/esm/api/app-binder/GetWalletAddressDeviceActionTypes.js.map +4 -4
  34. package/lib/esm/api/app-binder/SignPsbtDeviceActionTypes.js +1 -0
  35. package/lib/esm/api/app-binder/SignPsbtDeviceActionTypes.js.map +4 -4
  36. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -0
  37. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +4 -4
  38. package/lib/esm/internal/app-binder/BtcAppBinder.js +1 -1
  39. package/lib/esm/internal/app-binder/BtcAppBinder.js.map +2 -2
  40. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  41. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +3 -3
  42. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  43. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  44. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  45. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +3 -3
  46. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  47. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  48. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  49. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  50. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  51. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  52. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  53. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  54. package/lib/esm/internal/app-binder/task/RegisterWalletTask.js +1 -1
  55. package/lib/esm/internal/app-binder/task/RegisterWalletTask.js.map +2 -2
  56. package/lib/esm/internal/app-binder/task/RegisterWalletTask.test.js +1 -1
  57. package/lib/esm/internal/app-binder/task/RegisterWalletTask.test.js.map +3 -3
  58. package/lib/esm/internal/app-binder/task/SignMessageTask.js +1 -1
  59. package/lib/esm/internal/app-binder/task/SignMessageTask.js.map +2 -2
  60. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js +1 -1
  61. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js.map +3 -3
  62. package/lib/esm/package.json +1 -1
  63. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts +7 -0
  64. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts.map +1 -1
  65. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts +8 -0
  66. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts.map +1 -1
  67. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +7 -0
  68. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  69. package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts +1 -6
  70. package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts.map +1 -1
  71. package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts +1 -6
  72. package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts.map +1 -1
  73. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +1 -7
  74. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  75. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  76. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  77. package/package.json +7 -7
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var s=(t,e,d,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!n.call(t,r)&&r!==d&&a(t,r,{get:()=>e[r],enumerable:!(l=o(e,r))||l.enumerable});return t};var A=t=>s(a({},"__esModule",{value:!0}),t);var i={};module.exports=A(i);
1
+ "use strict";var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var A=(t,e)=>{for(var l in e)a(t,l,{get:e[l],enumerable:!0})},n=(t,e,l,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!o.call(t,r)&&r!==l&&a(t,r,{get:()=>e[r],enumerable:!(d=s(e,r))||d.enumerable});return t};var i=t=>n(a({},"__esModule",{value:!0}),t);var W={};A(W,{getWalletAddressDAStateSteps:()=>y});module.exports=i(W);const y=Object.freeze({OPEN_APP:"signer.btc.steps.openApp",PREPARE_WALLET_POLICY:"signer.btc.steps.prepareWalletPolicy",GET_WALLET_ADDRESS:"signer.btc.steps.getWalletAddress"});0&&(module.exports={getWalletAddressDAStateSteps});
2
2
  //# sourceMappingURL=GetWalletAddressDeviceActionTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/app-binder/GetWalletAddressDeviceActionTypes.ts"],
4
- "sourcesContent": ["import {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n type UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type WalletAddress } from \"@api/model/Wallet\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\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 GetWalletAddressDAOutput = WalletAddress;\n\nexport type GetWalletAddressDAInput = {\n readonly skipOpenApp: boolean;\n readonly checkOnDevice: boolean;\n readonly change: boolean;\n readonly addressIndex: number;\n readonly wallet: ApiWallet;\n readonly walletBuilder: WalletBuilder;\n readonly walletSerializer: WalletSerializer;\n readonly dataStoreService: DataStoreService;\n};\n\nexport type GetWalletAddressDAError =\n | OpenAppDAError\n | CommandErrorResult<BtcErrorCodes>[\"error\"];\n\ntype GetWalletAddressDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | UserInteractionRequired.VerifyAddress;\n\nexport type GetWalletAddressDAIntermediateValue = {\n requiredUserInteraction: GetWalletAddressDARequiredInteraction;\n};\n\nexport type GetWalletAddressDAState = DeviceActionState<\n GetWalletAddressDAOutput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue\n>;\n\nexport type GetWalletAddressDAInternalState = {\n readonly error: GetWalletAddressDAError | null;\n readonly wallet: InternalWallet | null;\n readonly walletAddress: WalletAddress | null;\n};\n\nexport type GetWalletAddressDAReturnType = ExecuteDeviceActionReturnType<\n GetWalletAddressDAOutput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue\n>;\n"],
5
- "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
- "names": ["GetWalletAddressDeviceActionTypes_exports", "__toCommonJS"]
4
+ "sourcesContent": ["import {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n type UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type WalletAddress } from \"@api/model/Wallet\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\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 GetWalletAddressDAOutput = WalletAddress;\n\nexport const getWalletAddressDAStateSteps = Object.freeze({\n OPEN_APP: \"signer.btc.steps.openApp\",\n PREPARE_WALLET_POLICY: \"signer.btc.steps.prepareWalletPolicy\",\n GET_WALLET_ADDRESS: \"signer.btc.steps.getWalletAddress\",\n} as const);\n\nexport type GetWalletAddressDAStateStep =\n (typeof getWalletAddressDAStateSteps)[keyof typeof getWalletAddressDAStateSteps];\n\nexport type GetWalletAddressDAInput = {\n readonly skipOpenApp: boolean;\n readonly checkOnDevice: boolean;\n readonly change: boolean;\n readonly addressIndex: number;\n readonly wallet: ApiWallet;\n readonly walletBuilder: WalletBuilder;\n readonly walletSerializer: WalletSerializer;\n readonly dataStoreService: DataStoreService;\n};\n\nexport type GetWalletAddressDAError =\n | OpenAppDAError\n | CommandErrorResult<BtcErrorCodes>[\"error\"];\n\ntype GetWalletAddressDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | UserInteractionRequired.VerifyAddress;\n\nexport type GetWalletAddressDAIntermediateValue = {\n requiredUserInteraction: GetWalletAddressDARequiredInteraction;\n step: GetWalletAddressDAStateStep;\n};\n\nexport type GetWalletAddressDAState = DeviceActionState<\n GetWalletAddressDAOutput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue\n>;\n\nexport type GetWalletAddressDAInternalState = {\n readonly error: GetWalletAddressDAError | null;\n readonly wallet: InternalWallet | null;\n readonly walletAddress: WalletAddress | null;\n};\n\nexport type GetWalletAddressDAReturnType = ExecuteDeviceActionReturnType<\n GetWalletAddressDAOutput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue\n>;\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GAmBO,MAAME,EAA+B,OAAO,OAAO,CACxD,SAAU,2BACV,sBAAuB,uCACvB,mBAAoB,mCACtB,CAAU",
6
+ "names": ["GetWalletAddressDeviceActionTypes_exports", "__export", "getWalletAddressDAStateSteps", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var s=(t,e,n,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of o(e))!l.call(t,r)&&r!==n&&i(t,r,{get:()=>e[r],enumerable:!(p=a(e,r))||p.enumerable});return t};var u=t=>s(i({},"__esModule",{value:!0}),t);var S={};module.exports=u(S);
1
+ "use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(e,t)=>{for(var p in t)i(e,p,{get:t[p],enumerable:!0})},S=(e,t,p,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of o(t))!a.call(e,r)&&r!==p&&i(e,r,{get:()=>t[r],enumerable:!(n=s(t,r))||n.enumerable});return e};var u=e=>S(i({},"__esModule",{value:!0}),e);var b={};l(b,{signPsbtDAStateSteps:()=>P});module.exports=u(b);const P=Object.freeze({OPEN_APP:"signer.btc.steps.openApp",PREPARE_WALLET_POLICY:"signer.btc.steps.prepareWalletPolicy",BUILD_PSBT:"signer.btc.steps.buildPsbt",SIGN_PSBT:"signer.btc.steps.signPsbt"});0&&(module.exports={signPsbtDAStateSteps});
2
2
  //# sourceMappingURL=SignPsbtDeviceActionTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/app-binder/SignPsbtDeviceActionTypes.ts"],
4
- "sourcesContent": ["import {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n type UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { type PsbtSignature } from \"@api/model/Signature\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { type BuildPsbtTaskResult } from \"@internal/app-binder/task/BuildPsbtTask\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\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 SignPsbtDAOutput = PsbtSignature[];\n\nexport type SignPsbtDAInput = {\n psbt: Psbt;\n wallet: ApiWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n psbtMapper: PsbtMapper;\n valueParser: ValueParser;\n skipOpenApp: boolean;\n};\n\nexport type SignPsbtDAError =\n | OpenAppDAError\n | CommandErrorResult<BtcErrorCodes>[\"error\"];\n\nexport type SignPsbtDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | UserInteractionRequired.SignTransaction;\n\nexport type SignPsbtDAIntermediateValue = {\n requiredUserInteraction: SignPsbtDARequiredInteraction;\n};\n\nexport type SignPsbtDAState = DeviceActionState<\n SignPsbtDAOutput,\n SignPsbtDAError,\n SignPsbtDAIntermediateValue\n>;\n\nexport type SignPsbtDAInternalState = {\n readonly error: SignPsbtDAError | null;\n readonly wallet: InternalWallet | null;\n readonly buildPsbtResult: BuildPsbtTaskResult | null;\n readonly signatures: PsbtSignature[] | null;\n};\n\nexport type SignPsbtDAReturnType = ExecuteDeviceActionReturnType<\n SignPsbtDAOutput,\n SignPsbtDAError,\n SignPsbtDAIntermediateValue\n>;\n"],
5
- "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
- "names": ["SignPsbtDeviceActionTypes_exports", "__toCommonJS"]
4
+ "sourcesContent": ["import {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n type UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { type PsbtSignature } from \"@api/model/Signature\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { type BuildPsbtTaskResult } from \"@internal/app-binder/task/BuildPsbtTask\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\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 SignPsbtDAOutput = PsbtSignature[];\n\nexport const signPsbtDAStateSteps = Object.freeze({\n OPEN_APP: \"signer.btc.steps.openApp\",\n PREPARE_WALLET_POLICY: \"signer.btc.steps.prepareWalletPolicy\",\n BUILD_PSBT: \"signer.btc.steps.buildPsbt\",\n SIGN_PSBT: \"signer.btc.steps.signPsbt\",\n} as const);\n\nexport type SignPsbtDAStateStep =\n (typeof signPsbtDAStateSteps)[keyof typeof signPsbtDAStateSteps];\n\nexport type SignPsbtDAInput = {\n psbt: Psbt;\n wallet: ApiWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n psbtMapper: PsbtMapper;\n valueParser: ValueParser;\n skipOpenApp: boolean;\n};\n\nexport type SignPsbtDAError =\n | OpenAppDAError\n | CommandErrorResult<BtcErrorCodes>[\"error\"];\n\nexport type SignPsbtDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | UserInteractionRequired.SignTransaction;\n\nexport type SignPsbtDAIntermediateValue = {\n requiredUserInteraction: SignPsbtDARequiredInteraction;\n step: SignPsbtDAStateStep;\n};\n\nexport type SignPsbtDAState = DeviceActionState<\n SignPsbtDAOutput,\n SignPsbtDAError,\n SignPsbtDAIntermediateValue\n>;\n\nexport type SignPsbtDAInternalState = {\n readonly error: SignPsbtDAError | null;\n readonly wallet: InternalWallet | null;\n readonly buildPsbtResult: BuildPsbtTaskResult | null;\n readonly signatures: PsbtSignature[] | null;\n};\n\nexport type SignPsbtDAReturnType = ExecuteDeviceActionReturnType<\n SignPsbtDAOutput,\n SignPsbtDAError,\n SignPsbtDAIntermediateValue\n>;\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAuBO,MAAME,EAAuB,OAAO,OAAO,CAChD,SAAU,2BACV,sBAAuB,uCACvB,WAAY,6BACZ,UAAW,2BACb,CAAU",
6
+ "names": ["SignPsbtDeviceActionTypes_exports", "__export", "signPsbtDAStateSteps", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var s=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!l.call(t,r)&&r!==i&&a(t,r,{get:()=>e[r],enumerable:!(n=o(e,r))||n.enumerable});return t};var c=t=>s(a({},"__esModule",{value:!0}),t);var u={};module.exports=c(u);
1
+ "use strict";var a=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var c=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},S=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!s.call(e,r)&&r!==n&&a(e,r,{get:()=>t[r],enumerable:!(i=o(t,r))||i.enumerable});return e};var l=e=>S(a({},"__esModule",{value:!0}),e);var u={};c(u,{signTransactionDAStateSteps:()=>A});module.exports=l(u);const A=Object.freeze({SIGN_PSBT:"signer.btc.steps.signPsbt",UPDATE_PSBT:"signer.btc.steps.updatePsbt",EXTRACT_TRANSACTION:"signer.btc.steps.extractTransaction"});0&&(module.exports={signTransactionDAStateSteps});
2
2
  //# sourceMappingURL=SignTransactionDeviceActionTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/app-binder/SignTransactionDeviceActionTypes.ts"],
4
- "sourcesContent": ["import {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type HexaString,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type SignPsbtDARequiredInteraction } from \"@api/app-binder/SignPsbtDeviceActionTypes\";\nimport { type Psbt as ApiPsbt } from \"@api/model/Psbt\";\nimport { type PsbtSignature } from \"@api/model/Signature\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nexport type SignTransactionDAOutput = HexaString;\n\nexport type SignTransactionDAInput = {\n psbt: ApiPsbt;\n wallet: ApiWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n psbtMapper: PsbtMapper;\n valueParser: ValueParser;\n skipOpenApp: boolean;\n};\n\nexport type SignTransactionDAError =\n | OpenAppDAError\n | CommandErrorResult<BtcErrorCodes>[\"error\"];\n\ntype SignTransactionDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | SignPsbtDARequiredInteraction;\n\nexport type SignTransactionDAIntermediateValue = {\n requiredUserInteraction: SignTransactionDARequiredInteraction;\n};\n\nexport type SignTransactionDAState = DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n>;\n\nexport type SignTransactionDAInternalState = {\n readonly error: SignTransactionDAError | null;\n readonly signatures: PsbtSignature[] | null;\n readonly signedPsbt: InternalPsbt | null;\n readonly transaction: HexaString | null;\n};\n\nexport type SignTransactionDAReturnType = ExecuteDeviceActionReturnType<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n>;\n"],
5
- "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
- "names": ["SignTransactionDeviceActionTypes_exports", "__toCommonJS"]
4
+ "sourcesContent": ["import {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type HexaString,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type SignPsbtDARequiredInteraction } from \"@api/app-binder/SignPsbtDeviceActionTypes\";\nimport { type Psbt as ApiPsbt } from \"@api/model/Psbt\";\nimport { type PsbtSignature } from \"@api/model/Signature\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nexport type SignTransactionDAOutput = HexaString;\n\nexport const signTransactionDAStateSteps = Object.freeze({\n SIGN_PSBT: \"signer.btc.steps.signPsbt\",\n UPDATE_PSBT: \"signer.btc.steps.updatePsbt\",\n EXTRACT_TRANSACTION: \"signer.btc.steps.extractTransaction\",\n} as const);\n\nexport type SignTransactionDAStateStep =\n (typeof signTransactionDAStateSteps)[keyof typeof signTransactionDAStateSteps];\n\nexport type SignTransactionDAInput = {\n psbt: ApiPsbt;\n wallet: ApiWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n psbtMapper: PsbtMapper;\n valueParser: ValueParser;\n skipOpenApp: boolean;\n};\n\nexport type SignTransactionDAError =\n | OpenAppDAError\n | CommandErrorResult<BtcErrorCodes>[\"error\"];\n\ntype SignTransactionDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | SignPsbtDARequiredInteraction;\n\nexport type SignTransactionDAIntermediateValue = {\n requiredUserInteraction: SignTransactionDARequiredInteraction;\n step: SignTransactionDAStateStep;\n};\n\nexport type SignTransactionDAState = DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n>;\n\nexport type SignTransactionDAInternalState = {\n readonly error: SignTransactionDAError | null;\n readonly signatures: PsbtSignature[] | null;\n readonly signedPsbt: InternalPsbt | null;\n readonly transaction: HexaString | null;\n};\n\nexport type SignTransactionDAReturnType = ExecuteDeviceActionReturnType<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n>;\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAuBO,MAAME,EAA8B,OAAO,OAAO,CACvD,UAAW,4BACX,YAAa,8BACb,oBAAqB,qCACvB,CAAU",
6
+ "names": ["SignTransactionDeviceActionTypes_exports", "__export", "signTransactionDAStateSteps", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)d(r,t,{get:e[t],enumerable:!0})},T=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of I(e))!P.call(r,i)&&i!==t&&d(r,i,{get:()=>e[i],enumerable:!(s=A(e,i))||s.enumerable});return r};var W=r=>T(d({},"__esModule",{value:!0}),r),v=(r,e,t,s)=>{for(var i=s>1?void 0:s?A(e,t):e,l=r.length-1,c;l>=0;l--)(c=r[l])&&(i=(s?c(e,t,i):c(i))||i);return s&&i&&d(e,t,i),i},o=(r,e)=>(t,s)=>e(t,s,r);var F={};f(F,{BtcAppBinder:()=>p});module.exports=W(F);var a=require("@ledgerhq/device-management-kit"),n=require("inversify"),y=require("../app-binder/command/GetExtendedPublicKeyCommand"),S=require("../app-binder/command/GetMasterFingerprintCommand"),h=require("../app-binder/device-action/SignPsbt/SignPsbtDeviceAction"),D=require("../app-binder/device-action/SignTransaction/SignTransactionDeviceAction"),k=require("../app-binder/task/RegisterWalletTask"),_=require("../app-binder/task/SignMessageTask"),b=require("../data-store/di/dataStoreTypes"),m=require("../externalTypes"),u=require("../psbt/di/psbtTypes"),g=require("../wallet/di/walletTypes"),w=require("./device-action/GetWalletAddress/GetWalletAddressDeviceAction");let p=class{constructor(e,t,s,i,l,c,M,O){this._dmk=e;this._sessionId=t;this._walletBuilder=s;this._walletSerializer=i;this._dataStoreService=l;this._psbtMapper=c;this._valueParser=M;this._dmkLoggerFactory=O}getExtendedPublicKey(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.SendCommandInAppDeviceAction({input:{command:new y.GetExtendedPublicKeyCommand(e),appName:"Bitcoin",requiredUserInteraction:e.checkOnDevice?a.UserInteractionRequired.VerifyAddress:a.UserInteractionRequired.None,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("SendCommandInAppDeviceAction")})})}getMasterFingerprint(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.SendCommandInAppDeviceAction({input:{command:new S.GetMasterFingerprintCommand,appName:"Bitcoin",requiredUserInteraction:a.UserInteractionRequired.None,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("SendCommandInAppDeviceAction")})})}signMessage(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.CallTaskInAppDeviceAction({input:{task:async t=>new _.SendSignMessageTask(t,{derivationPath:e.derivationPath,message:e.message,loggerFactory:this._dmkLoggerFactory},this._dataStoreService).run(),appName:"Bitcoin",requiredUserInteraction:a.UserInteractionRequired.SignPersonalMessage,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("CallTaskInAppDeviceAction")})})}signPsbt(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new h.SignPsbtDeviceAction({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser,skipOpenApp:e.skipOpenApp},loggerFactory:this._dmkLoggerFactory})})}getWalletAddress(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new w.GetWalletAddressDeviceAction({input:{wallet:e.wallet,skipOpenApp:e.skipOpenApp,checkOnDevice:e.checkOnDevice,change:e.change,addressIndex:e.addressIndex,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService},loggerFactory:this._dmkLoggerFactory})})}signTransaction(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new D.SignTransactionDeviceAction({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser,skipOpenApp:e.skipOpenApp},loggerFactory:this._dmkLoggerFactory})})}registerWallet(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.CallTaskInAppDeviceAction({input:{task:async t=>new k.RegisterWalletTask(t,{walletPolicy:e.wallet,loggerFactory:this._dmkLoggerFactory},this._walletBuilder,this._walletSerializer,this._dataStoreService).run(),appName:"Bitcoin",requiredUserInteraction:a.UserInteractionRequired.RegisterWallet,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("CallTaskInAppDeviceAction")})})}};p=v([(0,n.injectable)(),o(0,(0,n.inject)(m.externalTypes.Dmk)),o(1,(0,n.inject)(m.externalTypes.SessionId)),o(2,(0,n.inject)(g.walletTypes.WalletBuilder)),o(3,(0,n.inject)(g.walletTypes.WalletSerializer)),o(4,(0,n.inject)(b.dataStoreTypes.DataStoreService)),o(5,(0,n.inject)(u.psbtTypes.PsbtMapper)),o(6,(0,n.inject)(u.psbtTypes.ValueParser)),o(7,(0,n.inject)(m.externalTypes.DmkLoggerFactory))],p);0&&(module.exports={BtcAppBinder});
1
+ "use strict";var d=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)d(r,t,{get:e[t],enumerable:!0})},T=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of I(e))!P.call(r,i)&&i!==t&&d(r,i,{get:()=>e[i],enumerable:!(s=v(e,i))||s.enumerable});return r};var M=r=>T(d({},"__esModule",{value:!0}),r),A=(r,e,t,s)=>{for(var i=s>1?void 0:s?v(e,t):e,l=r.length-1,c;l>=0;l--)(c=r[l])&&(i=(s?c(e,t,i):c(i))||i);return s&&i&&d(e,t,i),i},o=(r,e)=>(t,s)=>e(t,s,r);var W={};f(W,{BtcAppBinder:()=>p});module.exports=M(W);var a=require("@ledgerhq/device-management-kit"),n=require("inversify"),y=require("../app-binder/command/GetExtendedPublicKeyCommand"),S=require("../app-binder/command/GetMasterFingerprintCommand"),h=require("../app-binder/device-action/SignPsbt/SignPsbtDeviceAction"),k=require("../app-binder/device-action/SignTransaction/SignTransactionDeviceAction"),_=require("../app-binder/task/RegisterWalletTask"),D=require("../app-binder/task/SignMessageTask"),b=require("../data-store/di/dataStoreTypes"),m=require("../externalTypes"),g=require("../psbt/di/psbtTypes"),u=require("../wallet/di/walletTypes"),w=require("./device-action/GetWalletAddress/GetWalletAddressDeviceAction");let p=class{constructor(e,t,s,i,l,c,F,O){this._dmk=e;this._sessionId=t;this._walletBuilder=s;this._walletSerializer=i;this._dataStoreService=l;this._psbtMapper=c;this._valueParser=F;this._dmkLoggerFactory=O}getExtendedPublicKey(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.SendCommandInAppDeviceAction({input:{command:new y.GetExtendedPublicKeyCommand(e),appName:"Bitcoin",requiredUserInteraction:e.checkOnDevice?a.UserInteractionRequired.VerifyAddress:a.UserInteractionRequired.None,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("GetExtendedPublicKeyCommand")})})}getMasterFingerprint(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.SendCommandInAppDeviceAction({input:{command:new S.GetMasterFingerprintCommand,appName:"Bitcoin",requiredUserInteraction:a.UserInteractionRequired.None,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("GetMasterFingerprintCommand")})})}signMessage(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.CallTaskInAppDeviceAction({input:{task:async t=>new D.SendSignMessageTask(t,{derivationPath:e.derivationPath,message:e.message,loggerFactory:this._dmkLoggerFactory},this._dataStoreService).run(),appName:"Bitcoin",requiredUserInteraction:a.UserInteractionRequired.SignPersonalMessage,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("SendSignMessageTask")})})}signPsbt(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new h.SignPsbtDeviceAction({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser,skipOpenApp:e.skipOpenApp},loggerFactory:this._dmkLoggerFactory})})}getWalletAddress(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new w.GetWalletAddressDeviceAction({input:{wallet:e.wallet,skipOpenApp:e.skipOpenApp,checkOnDevice:e.checkOnDevice,change:e.change,addressIndex:e.addressIndex,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService},loggerFactory:this._dmkLoggerFactory})})}signTransaction(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new k.SignTransactionDeviceAction({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser,skipOpenApp:e.skipOpenApp},loggerFactory:this._dmkLoggerFactory})})}registerWallet(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new a.CallTaskInAppDeviceAction({input:{task:async t=>new _.RegisterWalletTask(t,{walletPolicy:e.wallet,loggerFactory:this._dmkLoggerFactory},this._walletBuilder,this._walletSerializer,this._dataStoreService).run(),appName:"Bitcoin",requiredUserInteraction:a.UserInteractionRequired.RegisterWallet,skipOpenApp:e.skipOpenApp},logger:this._dmkLoggerFactory("RegisterWalletTask")})})}};p=A([(0,n.injectable)(),o(0,(0,n.inject)(m.externalTypes.Dmk)),o(1,(0,n.inject)(m.externalTypes.SessionId)),o(2,(0,n.inject)(u.walletTypes.WalletBuilder)),o(3,(0,n.inject)(u.walletTypes.WalletSerializer)),o(4,(0,n.inject)(b.dataStoreTypes.DataStoreService)),o(5,(0,n.inject)(g.psbtTypes.PsbtMapper)),o(6,(0,n.inject)(g.psbtTypes.ValueParser)),o(7,(0,n.inject)(m.externalTypes.DmkLoggerFactory))],p);0&&(module.exports={BtcAppBinder});
2
2
  //# sourceMappingURL=BtcAppBinder.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/BtcAppBinder.ts"],
4
- "sourcesContent": ["import {\n CallTaskInAppDeviceAction,\n DeviceManagementKit,\n type DeviceSessionId,\n LoggerPublisherService,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport {\n GetExtendedPublicKeyDAInput,\n GetExtendedPublicKeyDAReturnType,\n} from \"@api/app-binder/GetExtendedPublicKeyDeviceActionTypes\";\nimport {\n GetMasterFingerprintDAInput,\n GetMasterFingerprintDAReturnType,\n} from \"@api/app-binder/GetMasterFingerprintDeviceActionTypes\";\nimport {\n RegisterWalletDAInput,\n RegisterWalletDAReturnType,\n} from \"@api/app-binder/RegisterWalletDeviceActionTypes\";\nimport { SignMessageDAReturnType } from \"@api/app-binder/SignMessageDeviceActionTypes\";\nimport { SignPsbtDAReturnType } from \"@api/app-binder/SignPsbtDeviceActionTypes\";\nimport { SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { GetWalletAddressDAReturnType } from \"@api/index\";\nimport { Psbt } from \"@api/model/Psbt\";\nimport { Wallet } from \"@api/model/Wallet\";\nimport { GetExtendedPublicKeyCommand } from \"@internal/app-binder/command/GetExtendedPublicKeyCommand\";\nimport { GetMasterFingerprintCommand } from \"@internal/app-binder/command/GetMasterFingerprintCommand\";\nimport { SignPsbtDeviceAction } from \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\";\nimport { SignTransactionDeviceAction } from \"@internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction\";\nimport { RegisterWalletTask } from \"@internal/app-binder/task/RegisterWalletTask\";\nimport { SendSignMessageTask } from \"@internal/app-binder/task/SignMessageTask\";\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport type { DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport type { PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport type { ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { walletTypes } from \"@internal/wallet/di/walletTypes\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport type { WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { GetWalletAddressDeviceAction } from \"./device-action/GetWalletAddress/GetWalletAddressDeviceAction\";\n\n@injectable()\nexport class BtcAppBinder {\n constructor(\n @inject(externalTypes.Dmk)\n private readonly _dmk: DeviceManagementKit,\n @inject(externalTypes.SessionId)\n private readonly _sessionId: DeviceSessionId,\n @inject(walletTypes.WalletBuilder)\n private readonly _walletBuilder: WalletBuilder,\n @inject(walletTypes.WalletSerializer)\n private readonly _walletSerializer: WalletSerializer,\n @inject(dataStoreTypes.DataStoreService)\n private readonly _dataStoreService: DataStoreService,\n @inject(psbtTypes.PsbtMapper)\n private readonly _psbtMapper: PsbtMapper,\n @inject(psbtTypes.ValueParser)\n private readonly _valueParser: ValueParser,\n @inject(externalTypes.DmkLoggerFactory)\n private readonly _dmkLoggerFactory: (tag: string) => LoggerPublisherService,\n ) {}\n\n getExtendedPublicKey(\n args: GetExtendedPublicKeyDAInput,\n ): GetExtendedPublicKeyDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(args),\n appName: \"Bitcoin\",\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"SendCommandInAppDeviceAction\"),\n }),\n });\n }\n\n getMasterFingerprint(\n args: GetMasterFingerprintDAInput,\n ): GetMasterFingerprintDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetMasterFingerprintCommand(),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"SendCommandInAppDeviceAction\"),\n }),\n });\n }\n\n signMessage(args: {\n derivationPath: string;\n message: string;\n skipOpenApp: boolean;\n }): SignMessageDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SendSignMessageTask(\n internalApi,\n {\n derivationPath: args.derivationPath,\n message: args.message,\n loggerFactory: this._dmkLoggerFactory,\n },\n this._dataStoreService,\n ).run(),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.SignPersonalMessage,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"CallTaskInAppDeviceAction\"),\n }),\n });\n }\n\n signPsbt(args: {\n psbt: Psbt;\n wallet: Wallet;\n skipOpenApp: boolean;\n }): SignPsbtDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignPsbtDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n skipOpenApp: args.skipOpenApp,\n },\n loggerFactory: this._dmkLoggerFactory,\n }),\n });\n }\n\n getWalletAddress(args: {\n checkOnDevice: boolean;\n wallet: Wallet;\n change: boolean;\n addressIndex: number;\n skipOpenApp: boolean;\n }): GetWalletAddressDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new GetWalletAddressDeviceAction({\n input: {\n wallet: args.wallet,\n skipOpenApp: args.skipOpenApp,\n checkOnDevice: args.checkOnDevice,\n change: args.change,\n addressIndex: args.addressIndex,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n },\n loggerFactory: this._dmkLoggerFactory,\n }),\n });\n }\n\n signTransaction(args: {\n psbt: Psbt;\n wallet: Wallet;\n skipOpenApp: boolean;\n }): SignTransactionDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignTransactionDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n skipOpenApp: args.skipOpenApp,\n },\n loggerFactory: this._dmkLoggerFactory,\n }),\n });\n }\n\n registerWallet(args: RegisterWalletDAInput): RegisterWalletDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new RegisterWalletTask(\n internalApi,\n {\n walletPolicy: args.wallet,\n loggerFactory: this._dmkLoggerFactory,\n },\n this._walletBuilder,\n this._walletSerializer,\n this._dataStoreService,\n ).run(),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.RegisterWallet,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"CallTaskInAppDeviceAction\"),\n }),\n });\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n CallTaskInAppDeviceAction,\n DeviceManagementKit,\n type DeviceSessionId,\n LoggerPublisherService,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport {\n GetExtendedPublicKeyDAInput,\n GetExtendedPublicKeyDAReturnType,\n} from \"@api/app-binder/GetExtendedPublicKeyDeviceActionTypes\";\nimport {\n GetMasterFingerprintDAInput,\n GetMasterFingerprintDAReturnType,\n} from \"@api/app-binder/GetMasterFingerprintDeviceActionTypes\";\nimport {\n RegisterWalletDAInput,\n RegisterWalletDAReturnType,\n} from \"@api/app-binder/RegisterWalletDeviceActionTypes\";\nimport { SignMessageDAReturnType } from \"@api/app-binder/SignMessageDeviceActionTypes\";\nimport { SignPsbtDAReturnType } from \"@api/app-binder/SignPsbtDeviceActionTypes\";\nimport { SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { GetWalletAddressDAReturnType } from \"@api/index\";\nimport { Psbt } from \"@api/model/Psbt\";\nimport { Wallet } from \"@api/model/Wallet\";\nimport { GetExtendedPublicKeyCommand } from \"@internal/app-binder/command/GetExtendedPublicKeyCommand\";\nimport { GetMasterFingerprintCommand } from \"@internal/app-binder/command/GetMasterFingerprintCommand\";\nimport { SignPsbtDeviceAction } from \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\";\nimport { SignTransactionDeviceAction } from \"@internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction\";\nimport { RegisterWalletTask } from \"@internal/app-binder/task/RegisterWalletTask\";\nimport { SendSignMessageTask } from \"@internal/app-binder/task/SignMessageTask\";\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport type { DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport type { PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport type { ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { walletTypes } from \"@internal/wallet/di/walletTypes\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport type { WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { GetWalletAddressDeviceAction } from \"./device-action/GetWalletAddress/GetWalletAddressDeviceAction\";\n\n@injectable()\nexport class BtcAppBinder {\n constructor(\n @inject(externalTypes.Dmk)\n private readonly _dmk: DeviceManagementKit,\n @inject(externalTypes.SessionId)\n private readonly _sessionId: DeviceSessionId,\n @inject(walletTypes.WalletBuilder)\n private readonly _walletBuilder: WalletBuilder,\n @inject(walletTypes.WalletSerializer)\n private readonly _walletSerializer: WalletSerializer,\n @inject(dataStoreTypes.DataStoreService)\n private readonly _dataStoreService: DataStoreService,\n @inject(psbtTypes.PsbtMapper)\n private readonly _psbtMapper: PsbtMapper,\n @inject(psbtTypes.ValueParser)\n private readonly _valueParser: ValueParser,\n @inject(externalTypes.DmkLoggerFactory)\n private readonly _dmkLoggerFactory: (tag: string) => LoggerPublisherService,\n ) {}\n\n getExtendedPublicKey(\n args: GetExtendedPublicKeyDAInput,\n ): GetExtendedPublicKeyDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(args),\n appName: \"Bitcoin\",\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"GetExtendedPublicKeyCommand\"),\n }),\n });\n }\n\n getMasterFingerprint(\n args: GetMasterFingerprintDAInput,\n ): GetMasterFingerprintDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetMasterFingerprintCommand(),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"GetMasterFingerprintCommand\"),\n }),\n });\n }\n\n signMessage(args: {\n derivationPath: string;\n message: string;\n skipOpenApp: boolean;\n }): SignMessageDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SendSignMessageTask(\n internalApi,\n {\n derivationPath: args.derivationPath,\n message: args.message,\n loggerFactory: this._dmkLoggerFactory,\n },\n this._dataStoreService,\n ).run(),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.SignPersonalMessage,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"SendSignMessageTask\"),\n }),\n });\n }\n\n signPsbt(args: {\n psbt: Psbt;\n wallet: Wallet;\n skipOpenApp: boolean;\n }): SignPsbtDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignPsbtDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n skipOpenApp: args.skipOpenApp,\n },\n loggerFactory: this._dmkLoggerFactory,\n }),\n });\n }\n\n getWalletAddress(args: {\n checkOnDevice: boolean;\n wallet: Wallet;\n change: boolean;\n addressIndex: number;\n skipOpenApp: boolean;\n }): GetWalletAddressDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new GetWalletAddressDeviceAction({\n input: {\n wallet: args.wallet,\n skipOpenApp: args.skipOpenApp,\n checkOnDevice: args.checkOnDevice,\n change: args.change,\n addressIndex: args.addressIndex,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n },\n loggerFactory: this._dmkLoggerFactory,\n }),\n });\n }\n\n signTransaction(args: {\n psbt: Psbt;\n wallet: Wallet;\n skipOpenApp: boolean;\n }): SignTransactionDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignTransactionDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n skipOpenApp: args.skipOpenApp,\n },\n loggerFactory: this._dmkLoggerFactory,\n }),\n });\n }\n\n registerWallet(args: RegisterWalletDAInput): RegisterWalletDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new RegisterWalletTask(\n internalApi,\n {\n walletPolicy: args.wallet,\n loggerFactory: this._dmkLoggerFactory,\n },\n this._walletBuilder,\n this._walletSerializer,\n this._dataStoreService,\n ).run(),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.RegisterWallet,\n skipOpenApp: args.skipOpenApp,\n },\n logger: this._dmkLoggerFactory(\"RegisterWalletTask\"),\n }),\n });\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["BtcAppBinder_exports", "__export", "BtcAppBinder", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_GetExtendedPublicKeyCommand", "import_GetMasterFingerprintCommand", "import_SignPsbtDeviceAction", "import_SignTransactionDeviceAction", "import_RegisterWalletTask", "import_SignMessageTask", "import_dataStoreTypes", "import_externalTypes", "import_psbtTypes", "import_walletTypes", "import_GetWalletAddressDeviceAction", "BtcAppBinder", "_dmk", "_sessionId", "_walletBuilder", "_walletSerializer", "_dataStoreService", "_psbtMapper", "_valueParser", "_dmkLoggerFactory", "args", "internalApi", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var w=(n,t)=>{for(var i in t)p(n,i,{get:t[i],enumerable:!0})},I=(n,t,i,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of D(t))!g.call(n,e)&&e!==i&&p(n,e,{get:()=>t[e],enumerable:!(s=y(t,e))||s.enumerable});return n};var h=n=>I(p({},"__esModule",{value:!0}),n);var v={};w(v,{GetWalletAddressDeviceAction:()=>G});module.exports=h(v);var r=require("@ledgerhq/device-management-kit"),o=require("purify-ts"),a=require("xstate"),c=require("../../../app-binder/task/GetWalletAddressTask"),u=require("../../../app-binder/task/PrepareWalletPolicyTask");class G extends r.XStateDeviceAction{constructor(t){super({input:t.input,inspect:t.inspect,logger:t.loggerFactory("GetWalletAddressDeviceAction")})}makeStateMachine(t){const{getWalletAddress:i,prepareWalletPolicy:s}=this.extractDependencies(t);return(0,a.setup)({types:{input:{},context:{},output:{}},actors:{openAppStateMachine:new r.OpenAppDeviceAction({input:{appName:"Bitcoin"}}).makeStateMachine(t),prepareWalletPolicy:(0,a.fromPromise)(s),getWalletAddress:(0,a.fromPromise)(i)},guards:{noInternalError:({context:e})=>e._internalState.error===null,skipOpenApp:({context:e})=>e.input.skipOpenApp},actions:{assignErrorFromEvent:(0,a.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"GetWalletAddressDeviceAction",initial:"InitialState",context:({input:e})=>({input:e,intermediateValue:{requiredUserInteraction:r.UserInteractionRequired.None},_internalState:{error:null,wallet:null,walletAddress:null}}),states:{InitialState:{always:[{target:"PrepareWalletPolicy",guard:"skipOpenApp"},"OpenAppDeviceAction"]},OpenAppDeviceAction:{exit:(0,a.assign)({intermediateValue:{requiredUserInteraction:r.UserInteractionRequired.None}}),invoke:{id:"openAppStateMachine",input:{appName:"Bitcoin"},src:"openAppStateMachine",onSnapshot:{actions:(0,a.assign)({intermediateValue:e=>e.event.snapshot.context.intermediateValue})},onDone:{actions:(0,a.assign)({_internalState:e=>e.event.output.caseOf({Right:()=>e.context._internalState,Left:l=>({...e.context._internalState,error:l})})}),target:"CheckOpenAppDeviceActionResult"}}},CheckOpenAppDeviceActionResult:{always:[{target:"PrepareWalletPolicy",guard:"noInternalError"},"Error"]},PrepareWalletPolicy:{invoke:{id:"prepareWalletPolicy",src:"prepareWalletPolicy",input:({context:e})=>({wallet:e.input.wallet,walletBuilder:e.input.walletBuilder}),onDone:{target:"PrepareWalletPolicyResultCheck",actions:(0,a.assign)({_internalState:({event:e,context:l})=>(0,r.isSuccessCommandResult)(e.output)?{...l._internalState,wallet:e.output.data}:{...l._internalState,error:e.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},PrepareWalletPolicyResultCheck:{always:[{guard:"noInternalError",target:"GetWalletAddress"},{target:"Error"}]},GetWalletAddress:{entry:(0,a.assign)(({context:e})=>({intermediateValue:{requiredUserInteraction:e.input.checkOnDevice?r.UserInteractionRequired.VerifyAddress:r.UserInteractionRequired.None}})),exit:(0,a.assign)({intermediateValue:{requiredUserInteraction:r.UserInteractionRequired.None}}),invoke:{id:"getWalletAddress",src:"getWalletAddress",input:({context:e})=>({checkOnDevice:e.input.checkOnDevice,wallet:e._internalState.wallet,change:e.input.change,addressIndex:e.input.addressIndex,dataStoreService:e.input.dataStoreService,walletSerializer:e.input.walletSerializer,walletBuilder:e.input.walletBuilder}),onDone:{target:"GetWalletAddressResultCheck",actions:(0,a.assign)({_internalState:({event:e,context:l})=>(0,r.isSuccessCommandResult)(e.output)?{...l._internalState,walletAddress:e.output.data}:{...l._internalState,error:e.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GetWalletAddressResultCheck:{always:[{guard:"noInternalError",target:"Success"},{target:"Error"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:e})=>e._internalState.walletAddress?(0,o.Right)(e._internalState.walletAddress):(0,o.Left)(e._internalState.error||new r.UnknownDAError("No error in final state"))})}extractDependencies(t){return{getWalletAddress:async e=>{const{checkOnDevice:l,wallet:d,change:A,addressIndex:W,walletSerializer:S,dataStoreService:m}=e.input;return await new c.GetWalletAddressTask(t,{checkOnDevice:l,wallet:d,change:A,addressIndex:W},S,m).run()},prepareWalletPolicy:async e=>{const{input:{walletBuilder:l,wallet:d}}=e;return await new u.PrepareWalletPolicyTask(t,{wallet:d},l).run()}}}}0&&(module.exports={GetWalletAddressDeviceAction});
1
+ "use strict";var c=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var I=(n,r)=>{for(var i in r)c(n,i,{get:r[i],enumerable:!0})},g=(n,r,i,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of w(r))!E.call(n,e)&&e!==i&&c(n,e,{get:()=>r[e],enumerable:!(o=y(r,e))||o.enumerable});return n};var h=n=>g(c({},"__esModule",{value:!0}),n);var G={};I(G,{GetWalletAddressDeviceAction:()=>P});module.exports=h(G);var t=require("@ledgerhq/device-management-kit"),p=require("purify-ts"),a=require("xstate"),s=require("../../../../api/app-binder/GetWalletAddressDeviceActionTypes"),u=require("../../../app-binder/task/GetWalletAddressTask"),A=require("../../../app-binder/task/PrepareWalletPolicyTask");class P extends t.XStateDeviceAction{makeStateMachine(r){const{getWalletAddress:i,prepareWalletPolicy:o}=this.extractDependencies(r);return(0,a.setup)({types:{input:{},context:{},output:{}},actors:{openAppStateMachine:new t.OpenAppDeviceAction({input:{appName:"Bitcoin"}}).makeStateMachine(r),prepareWalletPolicy:(0,a.fromPromise)(o),getWalletAddress:(0,a.fromPromise)(i)},guards:{noInternalError:({context:e})=>e._internalState.error===null,skipOpenApp:({context:e})=>e.input.skipOpenApp},actions:{assignErrorFromEvent:(0,a.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"GetWalletAddressDeviceAction",initial:"InitialState",context:({input:e})=>({input:e,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:s.getWalletAddressDAStateSteps.OPEN_APP},_internalState:{error:null,wallet:null,walletAddress:null}}),states:{InitialState:{always:[{target:"PrepareWalletPolicy",guard:"skipOpenApp"},"OpenAppDeviceAction"]},OpenAppDeviceAction:{entry:(0,a.assign)({intermediateValue:()=>({requiredUserInteraction:t.UserInteractionRequired.None,step:s.getWalletAddressDAStateSteps.OPEN_APP})}),invoke:{id:"openAppStateMachine",input:{appName:"Bitcoin"},src:"openAppStateMachine",onSnapshot:{actions:(0,a.assign)({intermediateValue:({event:e})=>({...e.snapshot.context.intermediateValue,step:s.getWalletAddressDAStateSteps.OPEN_APP})})},onDone:{actions:(0,a.assign)({_internalState:({event:e,context:l})=>e.output.caseOf({Right:()=>l._internalState,Left:d=>({...l._internalState,error:d})})}),target:"CheckOpenAppDeviceActionResult"}}},CheckOpenAppDeviceActionResult:{always:[{target:"PrepareWalletPolicy",guard:"noInternalError"},"Error"]},PrepareWalletPolicy:{entry:(0,a.assign)({intermediateValue:()=>({requiredUserInteraction:t.UserInteractionRequired.None,step:s.getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY})}),invoke:{id:"prepareWalletPolicy",src:"prepareWalletPolicy",input:({context:e})=>({wallet:e.input.wallet,walletBuilder:e.input.walletBuilder}),onDone:{target:"PrepareWalletPolicyResultCheck",actions:(0,a.assign)({_internalState:({event:e,context:l})=>(0,t.isSuccessCommandResult)(e.output)?{...l._internalState,wallet:e.output.data}:{...l._internalState,error:e.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},PrepareWalletPolicyResultCheck:{always:[{guard:"noInternalError",target:"GetWalletAddress"},{target:"Error"}]},GetWalletAddress:{entry:(0,a.assign)(({context:e})=>({intermediateValue:{requiredUserInteraction:e.input.checkOnDevice?t.UserInteractionRequired.VerifyAddress:t.UserInteractionRequired.None,step:s.getWalletAddressDAStateSteps.GET_WALLET_ADDRESS}})),exit:(0,a.assign)({intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:s.getWalletAddressDAStateSteps.GET_WALLET_ADDRESS}}),invoke:{id:"getWalletAddress",src:"getWalletAddress",input:({context:e})=>({checkOnDevice:e.input.checkOnDevice,wallet:e._internalState.wallet,change:e.input.change,addressIndex:e.input.addressIndex,dataStoreService:e.input.dataStoreService,walletSerializer:e.input.walletSerializer,walletBuilder:e.input.walletBuilder}),onDone:{target:"GetWalletAddressResultCheck",actions:(0,a.assign)({_internalState:({event:e,context:l})=>(0,t.isSuccessCommandResult)(e.output)?{...l._internalState,walletAddress:e.output.data}:{...l._internalState,error:e.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GetWalletAddressResultCheck:{always:[{guard:"noInternalError",target:"Success"},{target:"Error"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:e})=>e._internalState.walletAddress?(0,p.Right)(e._internalState.walletAddress):(0,p.Left)(e._internalState.error||new t.UnknownDAError("No error in final state"))})}extractDependencies(r){return{getWalletAddress:async e=>{const{checkOnDevice:l,wallet:d,change:W,addressIndex:S,walletSerializer:m,dataStoreService:D}=e.input;return await new u.GetWalletAddressTask(r,{checkOnDevice:l,wallet:d,change:W,addressIndex:S},m,D).run()},prepareWalletPolicy:async e=>{const{input:{walletBuilder:l,wallet:d}}=e;return await new A.PrepareWalletPolicyTask(r,{wallet:d},l).run()}}}}0&&(module.exports={GetWalletAddressDeviceAction});
2
2
  //# sourceMappingURL=GetWalletAddressDeviceAction.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.ts"],
4
- "sourcesContent": ["import {\n type CommandResult,\n type DeviceActionStateMachine,\n type InternalApi,\n isSuccessCommandResult,\n type LoggerPublisherService,\n OpenAppDeviceAction,\n type StateMachineTypes,\n UnknownDAError,\n UserInteractionRequired,\n XStateDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport {\n type GetWalletAddressDAError,\n type GetWalletAddressDAInput,\n type GetWalletAddressDAIntermediateValue,\n type GetWalletAddressDAInternalState,\n type GetWalletAddressDAOutput,\n} from \"@api/app-binder/GetWalletAddressDeviceActionTypes\";\nimport { type WalletAddress } from \"@api/model/Wallet\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { GetWalletAddressTask } from \"@internal/app-binder/task/GetWalletAddressTask\";\nimport { PrepareWalletPolicyTask } from \"@internal/app-binder/task/PrepareWalletPolicyTask\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\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 GetWalletAddressMachineDependencies = {\n readonly prepareWalletPolicy: (arg0: {\n input: {\n wallet: ApiWallet;\n walletBuilder: WalletBuilder;\n };\n }) => Promise<CommandResult<InternalWallet, BtcErrorCodes>>;\n readonly getWalletAddress: (arg0: {\n input: {\n checkOnDevice: boolean;\n change: boolean;\n addressIndex: number;\n wallet: InternalWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n };\n }) => Promise<CommandResult<WalletAddress, BtcErrorCodes>>;\n};\n\nexport type ExtractGetWalletAddressMachineDependencies = (\n internalApi: InternalApi,\n) => GetWalletAddressMachineDependencies;\n\nexport class GetWalletAddressDeviceAction extends XStateDeviceAction<\n GetWalletAddressDAOutput,\n GetWalletAddressDAInput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue,\n GetWalletAddressDAInternalState\n> {\n constructor(args: {\n input: GetWalletAddressDAInput;\n inspect?: boolean;\n loggerFactory: (tag: string) => LoggerPublisherService;\n }) {\n super({\n input: args.input,\n inspect: args.inspect,\n logger: args.loggerFactory(\"GetWalletAddressDeviceAction\"),\n });\n }\n\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n GetWalletAddressDAOutput,\n GetWalletAddressDAInput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue,\n GetWalletAddressDAInternalState\n > {\n type types = StateMachineTypes<\n GetWalletAddressDAOutput,\n GetWalletAddressDAInput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue,\n GetWalletAddressDAInternalState\n >;\n\n const { getWalletAddress, prepareWalletPolicy } =\n this.extractDependencies(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n\n actors: {\n openAppStateMachine: new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n }).makeStateMachine(internalApi),\n prepareWalletPolicy: fromPromise(prepareWalletPolicy),\n getWalletAddress: fromPromise(getWalletAddress),\n },\n guards: {\n noInternalError: ({ context }) => context._internalState.error === null,\n skipOpenApp: ({ context }) => context.input.skipOpenApp,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: it should never happen, the error is not typed anymore here\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QGUCWUB2AFMAnWA9hgIYA2AsnLMTACJgBuqAxmAILMAuqRAdAPIAHMBjaDB9Jqw7ciAYghEwvVBgYEA1soLDR45J2Kcw5YswAWqsAG0ADAF1EoQQVipZGJyAAeiACwAzADsvACcABwAjKGRtuG2AGyRSX4ANCAAnoiRAEwArLy2uX6RQUGRpeHhfgC+NelomDj4RGSUsNR0jCzsXDwYvADC5mDMGkIiYhLd0n1EAEpwAK6knHJ2jkggLm4eXr4IoRG8eTlFOaWhQX45QaHpWQiRN4UBfu8JeaE3obY5OXUGuhsHhCCQKFQaGBJD0ZP0hiMxhM9NMpL0PItYCs1tZIptnK53P19ogjuETmdcpdrrd7pl-M8wnkgvkgvFbH48n4EkFASBGiCWuD2p1oTN0fCBc0wW1ITAFEoVGpNMo3E1Qa0IR0oRsvDsiUQSU88tVeOEktEEuE8m8cjcHqScicgokTXk8rZygFQgD6vzgdLNSKoTDZh5eFKNcK5WA5HhcARcLxBKQjAAzRMAW14asFMq1ot1W31ey2B0iJr8ZotoStNpu9vpCDtoTNHr8PoizyKvL9kaFsu1XTRcL4-fzwZgmOxw1GGnWDj1hNLoAOFwCBWC5u5RySEQdT1sra+OSt1wCAQuzICfPHQZjoYlY4DUcHounq1nY3WeKXu2JZaIOum5sgkO61tE4QHhWBS2HkCT-G8R5wc8N58hgBAQHAXh3tGQ5iiOcyeMWy4AauiAALQJAeVGFLY9EMYxDG9kC6oDgWIbiqOAzIlMj7cX+BrEeRCCNo8sS2CcRz-B6zIsnBaGsXm974fxREInOvHiGpGLLKsgkrj4iBnrwFwVgkCHfEeCQBNB3K8IEpxBO6ySep8in+mxE4Plx6m4W+UIGWRRlPJEVRmncOTmhyLI2QeUS8GFQRvPBXZRLWt4vuxk4EbCflZd5+EfpwX4aEFhqAU84RRYUpyXmBATJBeQTQZEARhKEG5Ne69GUplXkqaKOmSkszCsB05XCSFOSXgUyVshUdoJLYF7QYkvAXkUER3H45q1qE-XKXhQ2+eGACiuAJrgk1GjN+S8PNUTFMtq1Nrckl-O6wTct6KF5HUdRAA */\n id: \"GetWalletAddressDeviceAction\",\n initial: \"InitialState\",\n context: ({ input }) => {\n return {\n input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n wallet: null,\n walletAddress: null,\n },\n };\n },\n states: {\n InitialState: {\n always: [\n {\n target: \"PrepareWalletPolicy\",\n guard: \"skipOpenApp\",\n },\n \"OpenAppDeviceAction\",\n ],\n },\n OpenAppDeviceAction: {\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n invoke: {\n id: \"openAppStateMachine\",\n input: { appName: \"Bitcoin\" },\n src: \"openAppStateMachine\",\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<GetWalletAddressDAInternalState>(\n {\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n );\n },\n }),\n target: \"CheckOpenAppDeviceActionResult\",\n },\n },\n },\n CheckOpenAppDeviceActionResult: {\n always: [\n {\n target: \"PrepareWalletPolicy\",\n guard: \"noInternalError\",\n },\n \"Error\",\n ],\n },\n PrepareWalletPolicy: {\n invoke: {\n id: \"prepareWalletPolicy\",\n src: \"prepareWalletPolicy\",\n input: ({ context }) => ({\n wallet: context.input.wallet,\n walletBuilder: context.input.walletBuilder,\n }),\n onDone: {\n target: \"PrepareWalletPolicyResultCheck\",\n actions: assign({\n _internalState: ({ event, context }) => {\n if (isSuccessCommandResult(event.output)) {\n return {\n ...context._internalState,\n wallet: event.output.data,\n };\n }\n return {\n ...context._internalState,\n error: event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n PrepareWalletPolicyResultCheck: {\n always: [\n { guard: \"noInternalError\", target: \"GetWalletAddress\" },\n { target: \"Error\" },\n ],\n },\n GetWalletAddress: {\n entry: assign(({ context }) => ({\n intermediateValue: {\n requiredUserInteraction: context.input.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n },\n })),\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n invoke: {\n id: \"getWalletAddress\",\n src: \"getWalletAddress\",\n input: ({ context }) => ({\n checkOnDevice: context.input.checkOnDevice,\n wallet: context._internalState.wallet!,\n change: context.input.change,\n addressIndex: context.input.addressIndex,\n dataStoreService: context.input.dataStoreService,\n walletSerializer: context.input.walletSerializer,\n walletBuilder: context.input.walletBuilder,\n }),\n onDone: {\n target: \"GetWalletAddressResultCheck\",\n actions: assign({\n _internalState: ({ event, context }) => {\n if (isSuccessCommandResult(event.output)) {\n return {\n ...context._internalState,\n walletAddress: event.output.data,\n };\n }\n return {\n ...context._internalState,\n error: event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetWalletAddressResultCheck: {\n always: [\n { guard: \"noInternalError\", target: \"Success\" },\n { target: \"Error\" },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.walletAddress\n ? Right(context._internalState.walletAddress)\n : Left(\n context._internalState.error ||\n new UnknownDAError(\"No error in final state\"),\n ),\n });\n }\n\n extractDependencies(\n internalApi: InternalApi,\n ): GetWalletAddressMachineDependencies {\n const prepareWalletPolicy = async (arg0: {\n input: { wallet: ApiWallet; walletBuilder: WalletBuilder };\n }): Promise<CommandResult<InternalWallet, BtcErrorCodes>> => {\n const {\n input: { walletBuilder, wallet },\n } = arg0;\n return await new PrepareWalletPolicyTask(\n internalApi,\n { wallet },\n walletBuilder,\n ).run();\n };\n const getWalletAddress = async (arg0: {\n input: {\n checkOnDevice: boolean;\n change: boolean;\n addressIndex: number;\n wallet: InternalWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n };\n }): Promise<CommandResult<WalletAddress, BtcErrorCodes>> => {\n const {\n checkOnDevice,\n wallet,\n change,\n addressIndex,\n walletSerializer,\n dataStoreService,\n } = arg0.input;\n\n return await new GetWalletAddressTask(\n internalApi,\n {\n checkOnDevice,\n wallet,\n change,\n addressIndex,\n },\n walletSerializer,\n dataStoreService,\n ).run();\n };\n return {\n getWalletAddress,\n prepareWalletPolicy,\n };\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["GetWalletAddressDeviceAction_exports", "__export", "GetWalletAddressDeviceAction", "__toCommonJS", "import_device_management_kit", "import_purify_ts", "import_xstate", "import_GetWalletAddressTask", "import_PrepareWalletPolicyTask", "args", "internalApi", "getWalletAddress", "prepareWalletPolicy", "context", "_", "input", "error", "event", "arg0", "checkOnDevice", "wallet", "change", "addressIndex", "walletSerializer", "dataStoreService", "walletBuilder"]
4
+ "sourcesContent": ["import {\n type CommandResult,\n type DeviceActionStateMachine,\n type InternalApi,\n isSuccessCommandResult,\n OpenAppDeviceAction,\n type StateMachineTypes,\n UnknownDAError,\n UserInteractionRequired,\n XStateDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport {\n type GetWalletAddressDAError,\n type GetWalletAddressDAInput,\n type GetWalletAddressDAIntermediateValue,\n type GetWalletAddressDAInternalState,\n type GetWalletAddressDAOutput,\n getWalletAddressDAStateSteps,\n} from \"@api/app-binder/GetWalletAddressDeviceActionTypes\";\nimport { type WalletAddress } from \"@api/model/Wallet\";\nimport { type Wallet as ApiWallet } from \"@api/model/Wallet\";\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { GetWalletAddressTask } from \"@internal/app-binder/task/GetWalletAddressTask\";\nimport { PrepareWalletPolicyTask } from \"@internal/app-binder/task/PrepareWalletPolicyTask\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\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 GetWalletAddressMachineDependencies = {\n readonly prepareWalletPolicy: (arg0: {\n input: {\n wallet: ApiWallet;\n walletBuilder: WalletBuilder;\n };\n }) => Promise<CommandResult<InternalWallet, BtcErrorCodes>>;\n readonly getWalletAddress: (arg0: {\n input: {\n checkOnDevice: boolean;\n change: boolean;\n addressIndex: number;\n wallet: InternalWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n };\n }) => Promise<CommandResult<WalletAddress, BtcErrorCodes>>;\n};\n\nexport type ExtractGetWalletAddressMachineDependencies = (\n internalApi: InternalApi,\n) => GetWalletAddressMachineDependencies;\n\nexport class GetWalletAddressDeviceAction extends XStateDeviceAction<\n GetWalletAddressDAOutput,\n GetWalletAddressDAInput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue,\n GetWalletAddressDAInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n GetWalletAddressDAOutput,\n GetWalletAddressDAInput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue,\n GetWalletAddressDAInternalState\n > {\n type types = StateMachineTypes<\n GetWalletAddressDAOutput,\n GetWalletAddressDAInput,\n GetWalletAddressDAError,\n GetWalletAddressDAIntermediateValue,\n GetWalletAddressDAInternalState\n >;\n\n const { getWalletAddress, prepareWalletPolicy } =\n this.extractDependencies(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n\n actors: {\n openAppStateMachine: new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n }).makeStateMachine(internalApi),\n prepareWalletPolicy: fromPromise(prepareWalletPolicy),\n getWalletAddress: fromPromise(getWalletAddress),\n },\n guards: {\n noInternalError: ({ context }) => context._internalState.error === null,\n skipOpenApp: ({ context }) => context.input.skipOpenApp,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: it should never happen, the error is not typed anymore here\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QGUCWUB2AFMAnWA9hgIYA2AsnLMTACJgBuqAxmAILMAuqRAdAPIAHMBjaDB9Jqw7ciAYghEwvVBgYEA1soLDR45J2Kcw5YswAWqsAG0ADAF1EoQQVipZGJyAAeiACwAzADsvACcABwAjKGRtuG2AGyRSX4ANCAAnoiRAEwArLy2uX6RQUGRpeHhfgC+NelomDj4RGSUsNR0jCzsXDwYvADC5mDMGkIiYhLd0n1EAEpwAK6knHJ2jkggLm4eXr4IoRG8eTlFOaWhQX45QaHpWQiRN4UBfu8JeaE3obY5OXUGuhsHhCCQKFQaGBJD0ZP0hiMxhM9NMpL0PItYCs1tZIptnK53P19ogjuETmdcpdrrd7pl-M8wnkgvkgvFbH48n4EkFASBGiCWuD2p1oTN0fCBc0wW1ITAFEoVGpNMo3E1Qa0IR0oRsvDsiUQSU88tVeOEktEEuE8m8cjcHqScicgokTXk8rZygFQgD6vzgdLNSKoTDZh5eFKNcK5WA5HhcARcLxBKQjAAzRMAW14asFMq1ot1W31ey2B0iJr8ZotoStNpu9vpCDtoTNHr8PoizyKvL9kaFsu1XTRcL4-fzwZgmOxw1GGnWDj1hNLoAOFwCBWC5u5RySEQdT1sra+OSt1wCAQuzICfPHQZjoYlY4DUcHounq1nY3WeKXu2JZaIOum5sgkO61tE4QHhWBS2HkCT-G8R5wc8N58hgBAQHAXh3tGQ5iiOcyeMWy4AauiAALQJAeVGFLY9EMYxDG9kC6oDgWIbiqOAzIlMj7cX+BrEeRCCNo8sS2CcRz-B6zIsnBaGsXm974fxREInOvHiGpGLLKsgkrj4iBnrwFwVgkCHfEeCQBNB3K8IEpxBO6ySep8in+mxE4Plx6m4W+UIGWRRlPJEVRmncOTmhyLI2QeUS8GFQRvPBXZRLWt4vuxk4EbCflZd5+EfpwX4aEFhqAU84RRYUpyXmBATJBeQTQZEARhKEG5Ne69GUplXkqaKOmSkszCsB05XCSFOSXgUyVshUdoJLYF7QYkvAXkUER3H45q1qE-XKXhQ2+eGACiuAJrgk1GjN+S8PNUTFMtq1Nrckl-O6wTct6KF5HUdRAA */\n id: \"GetWalletAddressDeviceAction\",\n initial: \"InitialState\",\n context: ({ input }) => ({\n input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n _internalState: {\n error: null,\n wallet: null,\n walletAddress: null,\n },\n }),\n states: {\n InitialState: {\n always: [\n {\n target: \"PrepareWalletPolicy\",\n guard: \"skipOpenApp\",\n },\n \"OpenAppDeviceAction\",\n ],\n },\n OpenAppDeviceAction: {\n entry: assign({\n intermediateValue: () => ({\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n }),\n }),\n invoke: {\n id: \"openAppStateMachine\",\n input: { appName: \"Bitcoin\" },\n src: \"openAppStateMachine\",\n onSnapshot: {\n actions: assign({\n intermediateValue: ({ event }) => ({\n ...event.snapshot.context.intermediateValue,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: ({ event, context }) =>\n event.output.caseOf({\n Right: () => context._internalState,\n Left: (error) => ({\n ...context._internalState,\n error,\n }),\n }),\n }),\n target: \"CheckOpenAppDeviceActionResult\",\n },\n },\n },\n CheckOpenAppDeviceActionResult: {\n always: [\n {\n target: \"PrepareWalletPolicy\",\n guard: \"noInternalError\",\n },\n \"Error\",\n ],\n },\n\n PrepareWalletPolicy: {\n entry: assign({\n intermediateValue: () => ({\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY,\n }),\n }),\n invoke: {\n id: \"prepareWalletPolicy\",\n src: \"prepareWalletPolicy\",\n input: ({ context }) => ({\n wallet: context.input.wallet,\n walletBuilder: context.input.walletBuilder,\n }),\n onDone: {\n target: \"PrepareWalletPolicyResultCheck\",\n actions: assign({\n _internalState: ({ event, context }) => {\n if (isSuccessCommandResult(event.output)) {\n return {\n ...context._internalState,\n wallet: event.output.data,\n };\n }\n return {\n ...context._internalState,\n error: event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n PrepareWalletPolicyResultCheck: {\n always: [\n { guard: \"noInternalError\", target: \"GetWalletAddress\" },\n { target: \"Error\" },\n ],\n },\n GetWalletAddress: {\n entry: assign(({ context }) => ({\n intermediateValue: {\n requiredUserInteraction: context.input.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.GET_WALLET_ADDRESS,\n },\n })),\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.GET_WALLET_ADDRESS,\n },\n }),\n invoke: {\n id: \"getWalletAddress\",\n src: \"getWalletAddress\",\n input: ({ context }) => ({\n checkOnDevice: context.input.checkOnDevice,\n wallet: context._internalState.wallet!,\n change: context.input.change,\n addressIndex: context.input.addressIndex,\n dataStoreService: context.input.dataStoreService,\n walletSerializer: context.input.walletSerializer,\n walletBuilder: context.input.walletBuilder,\n }),\n onDone: {\n target: \"GetWalletAddressResultCheck\",\n actions: assign({\n _internalState: ({ event, context }) => {\n if (isSuccessCommandResult(event.output)) {\n return {\n ...context._internalState,\n walletAddress: event.output.data,\n };\n }\n return {\n ...context._internalState,\n error: event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetWalletAddressResultCheck: {\n always: [\n { guard: \"noInternalError\", target: \"Success\" },\n { target: \"Error\" },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.walletAddress\n ? Right(context._internalState.walletAddress)\n : Left(\n context._internalState.error ||\n new UnknownDAError(\"No error in final state\"),\n ),\n });\n }\n\n extractDependencies(\n internalApi: InternalApi,\n ): GetWalletAddressMachineDependencies {\n const prepareWalletPolicy = async (arg0: {\n input: { wallet: ApiWallet; walletBuilder: WalletBuilder };\n }): Promise<CommandResult<InternalWallet, BtcErrorCodes>> => {\n const {\n input: { walletBuilder, wallet },\n } = arg0;\n return await new PrepareWalletPolicyTask(\n internalApi,\n { wallet },\n walletBuilder,\n ).run();\n };\n const getWalletAddress = async (arg0: {\n input: {\n checkOnDevice: boolean;\n change: boolean;\n addressIndex: number;\n wallet: InternalWallet;\n walletBuilder: WalletBuilder;\n walletSerializer: WalletSerializer;\n dataStoreService: DataStoreService;\n };\n }): Promise<CommandResult<WalletAddress, BtcErrorCodes>> => {\n const {\n checkOnDevice,\n wallet,\n change,\n addressIndex,\n walletSerializer,\n dataStoreService,\n } = arg0.input;\n\n return await new GetWalletAddressTask(\n internalApi,\n {\n checkOnDevice,\n wallet,\n change,\n addressIndex,\n },\n walletSerializer,\n dataStoreService,\n ).run();\n };\n return {\n getWalletAddress,\n prepareWalletPolicy,\n };\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["GetWalletAddressDeviceAction_exports", "__export", "GetWalletAddressDeviceAction", "__toCommonJS", "import_device_management_kit", "import_purify_ts", "import_xstate", "import_GetWalletAddressDeviceActionTypes", "import_GetWalletAddressTask", "import_PrepareWalletPolicyTask", "internalApi", "getWalletAddress", "prepareWalletPolicy", "context", "_", "input", "event", "error", "arg0", "checkOnDevice", "wallet", "change", "addressIndex", "walletSerializer", "dataStoreService", "walletBuilder"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@ledgerhq/device-management-kit"),l=require("../../../app-binder/device-action/__test-utils__/makeInternalApi"),o=require("../../../app-binder/device-action/__test-utils__/setupOpenAppDAMock"),d=require("../../../app-binder/device-action/__test-utils__/testDeviceActionStates"),c=require("./GetWalletAddressDeviceAction");const p=()=>({debug:vi.fn(),info:vi.fn(),warn:vi.fn(),error:vi.fn(),subscribers:[]});vi.mock("@ledgerhq/device-management-kit",async i=>({...await i(),OpenAppDeviceAction:vi.fn(()=>({makeStateMachine:vi.fn()}))}));describe("GetWalletAddressDeviceAction",()=>{const i=vi.fn(),s=vi.fn();function u(){return{prepareWalletPolicy:i,getWalletAddress:s}}describe("Success case",()=>{it("should call external dependencies with the correct parameters",()=>new Promise((a,n)=>{(0,o.setupOpenAppDAMock)();const t=new c.GetWalletAddressDeviceAction({input:{wallet:"ApiWallet",walletBuilder:"WalletBuilder",walletSerializer:"WalletSerializer",dataStoreService:"DataStoreService",skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1},loggerFactory:p});vi.spyOn(t,"extractDependencies").mockReturnValue(u()),i.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"InternalWallet"})),s.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"WalletAddress"}));const r=[{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress},status:e.DeviceActionStatus.Pending},{output:"WalletAddress",status:e.DeviceActionStatus.Completed}];(0,d.testDeviceActionStates)(t,r,(0,l.makeDeviceActionInternalApiMock)(),{onDone:a,onError:n})})),it("should be successful while skipping OpenApp",()=>new Promise((a,n)=>{(0,o.setupOpenAppDAMock)();const t=new c.GetWalletAddressDeviceAction({input:{wallet:"ApiWallet",walletBuilder:"WalletBuilder",walletSerializer:"WalletSerializer",dataStoreService:"DataStoreService",skipOpenApp:!0,checkOnDevice:!0,change:!1,addressIndex:1},loggerFactory:p});vi.spyOn(t,"extractDependencies").mockReturnValue(u()),i.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"InternalWallet"})),s.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"WalletAddress"}));const r=[{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress},status:e.DeviceActionStatus.Pending},{output:"WalletAddress",status:e.DeviceActionStatus.Completed}];(0,d.testDeviceActionStates)(t,r,(0,l.makeDeviceActionInternalApiMock)(),{onDone:a,onError:n})}))}),describe("Error cases",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("Error if open app fails",()=>new Promise((a,n)=>{(0,o.setupOpenAppDAMock)(new e.UnknownDeviceExchangeError("Mocked error"));const t=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new e.UnknownDeviceExchangeError("Mocked error")}],r=new c.GetWalletAddressDeviceAction({input:{wallet:{},walletBuilder:{},walletSerializer:{},dataStoreService:{},skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1},loggerFactory:p});vi.spyOn(r,"extractDependencies").mockReturnValue(u()),(0,d.testDeviceActionStates)(r,t,(0,l.makeDeviceActionInternalApiMock)(),{onDone:a,onError:n}),expect(s).not.toHaveBeenCalled()})),it("Error if prepareWalletPolicy fails",()=>new Promise((a,n)=>{(0,o.setupOpenAppDAMock)();const t=new c.GetWalletAddressDeviceAction({input:{wallet:{},walletBuilder:{},walletSerializer:{},dataStoreService:{},skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1},loggerFactory:p});vi.spyOn(t,"extractDependencies").mockReturnValue(u()),i.mockResolvedValueOnce((0,e.CommandResultFactory)({error:new e.UnknownDeviceExchangeError("Mocked error")}));const r=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new e.UnknownDeviceExchangeError("Mocked error")}];(0,d.testDeviceActionStates)(t,r,(0,l.makeDeviceActionInternalApiMock)(),{onDone:a,onError:n}),expect(s).not.toHaveBeenCalled()})),it("Error if getWalletAddress fails",()=>new Promise((a,n)=>{(0,o.setupOpenAppDAMock)();const t=new c.GetWalletAddressDeviceAction({input:{wallet:{},walletBuilder:{},walletSerializer:{},dataStoreService:{},skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1},loggerFactory:p});vi.spyOn(t,"extractDependencies").mockReturnValue(u()),i.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"InternalWallet"})),s.mockResolvedValueOnce((0,e.CommandResultFactory)({error:new e.UnknownDeviceExchangeError("Mocked error")}));const r=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}},{status:e.DeviceActionStatus.Error,error:new e.UnknownDeviceExchangeError("Mocked error")}];(0,d.testDeviceActionStates)(t,r,(0,l.makeDeviceActionInternalApiMock)(),{onDone:a,onError:n})}))})});
1
+ "use strict";var e=require("@ledgerhq/device-management-kit"),t=require("../../../../api/app-binder/GetWalletAddressDeviceActionTypes"),o=require("../../../app-binder/device-action/__test-utils__/makeInternalApi"),d=require("../../../app-binder/device-action/__test-utils__/setupOpenAppDAMock"),c=require("../../../app-binder/device-action/__test-utils__/testDeviceActionStates"),u=require("./GetWalletAddressDeviceAction");vi.mock("@ledgerhq/device-management-kit",async s=>({...await s(),OpenAppDeviceAction:vi.fn(()=>({makeStateMachine:vi.fn()}))}));describe("GetWalletAddressDeviceAction",()=>{const s=vi.fn(),l=vi.fn();function p(){return{prepareWalletPolicy:s,getWalletAddress:l}}describe("Success case",()=>{it("should call external dependencies with the correct parameters",()=>new Promise((n,i)=>{(0,d.setupOpenAppDAMock)();const r=new u.GetWalletAddressDeviceAction({input:{wallet:"ApiWallet",walletBuilder:"WalletBuilder",walletSerializer:"WalletSerializer",dataStoreService:"DataStoreService",skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1}});vi.spyOn(r,"extractDependencies").mockReturnValue(p()),s.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"InternalWallet"})),l.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"WalletAddress"}));const a=[{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.OPEN_APP},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp,step:t.getWalletAddressDAStateSteps.OPEN_APP},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress,step:t.getWalletAddressDAStateSteps.GET_WALLET_ADDRESS},status:e.DeviceActionStatus.Pending},{output:"WalletAddress",status:e.DeviceActionStatus.Completed}];(0,c.testDeviceActionStates)(r,a,(0,o.makeDeviceActionInternalApiMock)(),{onDone:n,onError:i})})),it("should be successful while skipping OpenApp",()=>new Promise((n,i)=>{(0,d.setupOpenAppDAMock)();const r=new u.GetWalletAddressDeviceAction({input:{wallet:"ApiWallet",walletBuilder:"WalletBuilder",walletSerializer:"WalletSerializer",dataStoreService:"DataStoreService",skipOpenApp:!0,checkOnDevice:!0,change:!1,addressIndex:1}});vi.spyOn(r,"extractDependencies").mockReturnValue(p()),s.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"InternalWallet"})),l.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"WalletAddress"}));const a=[{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress,step:t.getWalletAddressDAStateSteps.GET_WALLET_ADDRESS},status:e.DeviceActionStatus.Pending},{output:"WalletAddress",status:e.DeviceActionStatus.Completed}];(0,c.testDeviceActionStates)(r,a,(0,o.makeDeviceActionInternalApiMock)(),{onDone:n,onError:i})}))}),describe("Error cases",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("Error if open app fails",()=>new Promise((n,i)=>{(0,d.setupOpenAppDAMock)(new e.UnknownDeviceExchangeError("Mocked error"));const r=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.OPEN_APP}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp,step:t.getWalletAddressDAStateSteps.OPEN_APP}},{status:e.DeviceActionStatus.Error,error:new e.UnknownDeviceExchangeError("Mocked error")}],a=new u.GetWalletAddressDeviceAction({input:{wallet:{},walletBuilder:{},walletSerializer:{},dataStoreService:{},skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1}});vi.spyOn(a,"extractDependencies").mockReturnValue(p()),(0,c.testDeviceActionStates)(a,r,(0,o.makeDeviceActionInternalApiMock)(),{onDone:n,onError:i}),expect(l).not.toHaveBeenCalled()})),it("Error if prepareWalletPolicy fails",()=>new Promise((n,i)=>{(0,d.setupOpenAppDAMock)();const r=new u.GetWalletAddressDeviceAction({input:{wallet:{},walletBuilder:{},walletSerializer:{},dataStoreService:{},skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1}});vi.spyOn(r,"extractDependencies").mockReturnValue(p()),s.mockResolvedValueOnce((0,e.CommandResultFactory)({error:new e.UnknownDeviceExchangeError("Mocked error")}));const a=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.OPEN_APP}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp,step:t.getWalletAddressDAStateSteps.OPEN_APP}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY}},{status:e.DeviceActionStatus.Error,error:new e.UnknownDeviceExchangeError("Mocked error")}];(0,c.testDeviceActionStates)(r,a,(0,o.makeDeviceActionInternalApiMock)(),{onDone:n,onError:i}),expect(l).not.toHaveBeenCalled()})),it("Error if getWalletAddress fails",()=>new Promise((n,i)=>{(0,d.setupOpenAppDAMock)();const r=new u.GetWalletAddressDeviceAction({input:{wallet:{},walletBuilder:{},walletSerializer:{},dataStoreService:{},skipOpenApp:!1,checkOnDevice:!0,change:!1,addressIndex:1}});vi.spyOn(r,"extractDependencies").mockReturnValue(p()),s.mockResolvedValueOnce((0,e.CommandResultFactory)({data:"InternalWallet"})),l.mockResolvedValueOnce((0,e.CommandResultFactory)({error:new e.UnknownDeviceExchangeError("Mocked error")}));const a=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.OPEN_APP}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp,step:t.getWalletAddressDAStateSteps.OPEN_APP}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None,step:t.getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress,step:t.getWalletAddressDAStateSteps.GET_WALLET_ADDRESS}},{status:e.DeviceActionStatus.Error,error:new e.UnknownDeviceExchangeError("Mocked error")}];(0,c.testDeviceActionStates)(r,a,(0,o.makeDeviceActionInternalApiMock)(),{onDone:n,onError:i})}))})});
2
2
  //# sourceMappingURL=GetWalletAddressDeviceAction.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.ts"],
4
- "sourcesContent": ["/* eslint @typescript-eslint/consistent-type-imports: off */\nimport {\n CommandResultFactory,\n DeviceActionStatus,\n UnknownDeviceExchangeError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type GetWalletAddressDAState } from \"@api/app-binder/GetWalletAddressDeviceActionTypes\";\nimport { type RegisteredWallet, type WalletAddress } from \"@api/model/Wallet\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\nimport { setupOpenAppDAMock } from \"@internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock\";\nimport { testDeviceActionStates } from \"@internal/app-binder/device-action/__test-utils__/testDeviceActionStates\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { GetWalletAddressDeviceAction } from \"./GetWalletAddressDeviceAction\";\n\nconst mockLoggerFactory = () => ({\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n});\n\nvi.mock(\"@ledgerhq/device-management-kit\", async (importOriginal) => {\n const original =\n await importOriginal<typeof import(\"@ledgerhq/device-management-kit\")>();\n return {\n ...original,\n OpenAppDeviceAction: vi.fn(() => ({\n makeStateMachine: vi.fn(),\n })),\n };\n});\n\ndescribe(\"GetWalletAddressDeviceAction\", () => {\n const prepareWalletPolicyMock = vi.fn();\n const getWalletAddressMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n prepareWalletPolicy: prepareWalletPolicyMock,\n getWalletAddress: getWalletAddressMock,\n };\n }\n\n describe(\"Success case\", () => {\n it(\"should call external dependencies with the correct parameters\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: \"ApiWallet\" as unknown as RegisteredWallet,\n walletBuilder: \"WalletBuilder\" as unknown as WalletBuilder,\n walletSerializer: \"WalletSerializer\" as unknown as WalletSerializer,\n dataStoreService: \"DataStoreService\" as unknown as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n loggerFactory: mockLoggerFactory,\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"InternalWallet\",\n }),\n );\n getWalletAddressMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"WalletAddress\",\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: \"WalletAddress\" as unknown as WalletAddress,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should be successful while skipping OpenApp\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: \"ApiWallet\" as unknown as RegisteredWallet,\n walletBuilder: \"WalletBuilder\" as unknown as WalletBuilder,\n walletSerializer: \"WalletSerializer\" as unknown as WalletSerializer,\n dataStoreService: \"DataStoreService\" as unknown as DataStoreService,\n skipOpenApp: true,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n loggerFactory: mockLoggerFactory,\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"InternalWallet\",\n }),\n );\n getWalletAddressMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"WalletAddress\",\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: \"WalletAddress\" as unknown as WalletAddress,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"Error cases\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Error if open app fails\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock(new UnknownDeviceExchangeError(\"Mocked error\"));\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n loggerFactory: mockLoggerFactory,\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n // then\n expect(getWalletAddressMock).not.toHaveBeenCalled();\n }));\n\n it(\"Error if prepareWalletPolicy fails\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n loggerFactory: mockLoggerFactory,\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n expect(getWalletAddressMock).not.toHaveBeenCalled();\n }));\n\n it(\"Error if getWalletAddress fails\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n loggerFactory: mockLoggerFactory,\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"InternalWallet\",\n }),\n );\n getWalletAddressMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_device_management_kit", "import_makeInternalApi", "import_setupOpenAppDAMock", "import_testDeviceActionStates", "import_GetWalletAddressDeviceAction", "mockLoggerFactory", "importOriginal", "prepareWalletPolicyMock", "getWalletAddressMock", "extractDependenciesMock", "resolve", "reject", "deviceAction", "expectedStates"]
4
+ "sourcesContent": ["/* eslint @typescript-eslint/consistent-type-imports: off */\nimport {\n CommandResultFactory,\n DeviceActionStatus,\n UnknownDeviceExchangeError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n type GetWalletAddressDAState,\n getWalletAddressDAStateSteps,\n} from \"@api/app-binder/GetWalletAddressDeviceActionTypes\";\nimport { type RegisteredWallet, type WalletAddress } from \"@api/model/Wallet\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\nimport { setupOpenAppDAMock } from \"@internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock\";\nimport { testDeviceActionStates } from \"@internal/app-binder/device-action/__test-utils__/testDeviceActionStates\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { GetWalletAddressDeviceAction } from \"./GetWalletAddressDeviceAction\";\n\nvi.mock(\"@ledgerhq/device-management-kit\", async (importOriginal) => {\n const original =\n await importOriginal<typeof import(\"@ledgerhq/device-management-kit\")>();\n return {\n ...original,\n OpenAppDeviceAction: vi.fn(() => ({\n makeStateMachine: vi.fn(),\n })),\n };\n});\n\ndescribe(\"GetWalletAddressDeviceAction\", () => {\n const prepareWalletPolicyMock = vi.fn();\n const getWalletAddressMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n prepareWalletPolicy: prepareWalletPolicyMock,\n getWalletAddress: getWalletAddressMock,\n };\n }\n\n describe(\"Success case\", () => {\n it(\"should call external dependencies with the correct parameters\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: \"ApiWallet\" as unknown as RegisteredWallet,\n walletBuilder: \"WalletBuilder\" as unknown as WalletBuilder,\n walletSerializer: \"WalletSerializer\" as unknown as WalletSerializer,\n dataStoreService: \"DataStoreService\" as unknown as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"InternalWallet\",\n }),\n );\n getWalletAddressMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"WalletAddress\",\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n step: getWalletAddressDAStateSteps.GET_WALLET_ADDRESS,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: \"WalletAddress\" as unknown as WalletAddress,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should be successful while skipping OpenApp\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: \"ApiWallet\" as unknown as RegisteredWallet,\n walletBuilder: \"WalletBuilder\" as unknown as WalletBuilder,\n walletSerializer: \"WalletSerializer\" as unknown as WalletSerializer,\n dataStoreService: \"DataStoreService\" as unknown as DataStoreService,\n skipOpenApp: true,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"InternalWallet\",\n }),\n );\n getWalletAddressMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"WalletAddress\",\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n step: getWalletAddressDAStateSteps.GET_WALLET_ADDRESS,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: \"WalletAddress\" as unknown as WalletAddress,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"Error cases\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Error if open app fails\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock(new UnknownDeviceExchangeError(\"Mocked error\"));\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n // then\n expect(getWalletAddressMock).not.toHaveBeenCalled();\n }));\n\n it(\"Error if prepareWalletPolicy fails\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n expect(getWalletAddressMock).not.toHaveBeenCalled();\n }));\n\n it(\"Error if getWalletAddress fails\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n setupOpenAppDAMock();\n\n const deviceAction = new GetWalletAddressDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n skipOpenApp: false,\n checkOnDevice: true,\n change: false,\n addressIndex: 1,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n prepareWalletPolicyMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"InternalWallet\",\n }),\n );\n getWalletAddressMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<GetWalletAddressDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n step: getWalletAddressDAStateSteps.OPEN_APP,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getWalletAddressDAStateSteps.PREPARE_WALLET_POLICY,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n step: getWalletAddressDAStateSteps.GET_WALLET_ADDRESS,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n // then\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_device_management_kit", "import_GetWalletAddressDeviceActionTypes", "import_makeInternalApi", "import_setupOpenAppDAMock", "import_testDeviceActionStates", "import_GetWalletAddressDeviceAction", "importOriginal", "prepareWalletPolicyMock", "getWalletAddressMock", "extractDependenciesMock", "resolve", "reject", "deviceAction", "expectedStates"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var b=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var D=(i,e)=>{for(var s in e)b(i,s,{get:e[s],enumerable:!0})},w=(i,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of y(e))!A.call(i,l)&&l!==s&&b(i,l,{get:()=>e[l],enumerable:!(o=m(e,l))||o.enumerable});return i};var E=i=>w(b({},"__esModule",{value:!0}),i);var v={};D(v,{SignPsbtDeviceAction:()=>I});module.exports=E(v);var n=require("@ledgerhq/device-management-kit"),u=require("purify-ts"),a=require("xstate"),S=require("../../../app-binder/task/BuildPsbtTask"),d=require("../../../app-binder/task/PrepareWalletPolicyTask"),g=require("../../../app-binder/task/SignPsbtTask");class I extends n.XStateDeviceAction{constructor(e){super({input:e.input,inspect:e.inspect,logger:e.loggerFactory("SignPsbtDeviceAction")})}makeStateMachine(e){const{signPsbt:s,prepareWalletPolicy:o,buildPsbt:l}=this.extractDependencies(e);return(0,a.setup)({types:{input:{},context:{},output:{}},actors:{openAppStateMachine:new n.OpenAppDeviceAction({input:{appName:"Bitcoin"}}).makeStateMachine(e),prepareWalletPolicy:(0,a.fromPromise)(o),buildPsbt:(0,a.fromPromise)(l),signPsbt:(0,a.fromPromise)(s)},guards:{noInternalError:({context:t})=>t._internalState.error===null,skipOpenApp:({context:t})=>t.input.skipOpenApp},actions:{assignErrorFromEvent:(0,a.assign)({_internalState:t=>({...t.context._internalState,error:t.event.error})})}}).createMachine({id:"SignPsbtDeviceAction",initial:"InitialState",context:({input:t})=>({input:t,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None},_internalState:{error:null,wallet:null,buildPsbtResult:null,signatures:null,signedPsbt:null}}),states:{InitialState:{always:[{target:"PrepareWalletPolicy",guard:"skipOpenApp"},"OpenAppDeviceAction"]},OpenAppDeviceAction:{exit:(0,a.assign)({intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}}),invoke:{id:"openAppStateMachine",input:{appName:"Bitcoin"},src:"openAppStateMachine",onSnapshot:{actions:(0,a.assign)({intermediateValue:t=>t.event.snapshot.context.intermediateValue})},onDone:{actions:(0,a.assign)({_internalState:t=>t.event.output.caseOf({Right:()=>t.context._internalState,Left:r=>({...t.context._internalState,error:r})})}),target:"CheckOpenAppDeviceActionResult"}}},CheckOpenAppDeviceActionResult:{always:[{target:"PrepareWalletPolicy",guard:"noInternalError"},"Error"]},PrepareWalletPolicy:{invoke:{id:"prepareWalletPolicy",src:"prepareWalletPolicy",input:({context:t})=>({wallet:t.input.wallet,walletBuilder:t.input.walletBuilder}),onDone:{target:"PrepareWalletPolicyResultCheck",actions:(0,a.assign)({_internalState:({event:t,context:r})=>(0,n.isSuccessCommandResult)(t.output)?{...r._internalState,wallet:t.output.data}:{...r._internalState,error:t.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},PrepareWalletPolicyResultCheck:{always:[{guard:"noInternalError",target:"BuildPsbt"},{target:"Error"}]},BuildPsbt:{invoke:{id:"buildPsbt",src:"buildPsbt",input:({context:t})=>({psbt:t.input.psbt,wallet:t._internalState.wallet,dataStoreService:t.input.dataStoreService,psbtMapper:t.input.psbtMapper}),onDone:{target:"BuildPsbtResultCheck",actions:(0,a.assign)({_internalState:({event:t,context:r})=>(0,n.isSuccessCommandResult)(t.output)?{...r._internalState,buildPsbtResult:t.output.data}:{...r._internalState,error:t.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},BuildPsbtResultCheck:{always:[{guard:"noInternalError",target:"SignPsbt"},{target:"Error"}]},SignPsbt:{entry:(0,a.assign)({intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.SignTransaction}}),exit:(0,a.assign)({intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}}),invoke:{id:"signPsbt",src:"signPsbt",input:({context:t})=>({walletSerializer:t.input.walletSerializer,valueParser:t.input.valueParser,buildPsbtResult:t._internalState.buildPsbtResult,wallet:t._internalState.wallet}),onDone:{target:"SignPsbtResultCheck",actions:(0,a.assign)({_internalState:({event:t,context:r})=>(0,n.isSuccessCommandResult)(t.output)?{...r._internalState,signatures:t.output.data}:{...r._internalState,error:t.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},SignPsbtResultCheck:{always:[{guard:"noInternalError",target:"Success"},{target:"Error"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:{_internalState:{signatures:t,error:r}}})=>t?(0,u.Right)(t):(0,u.Left)(r||new n.UnknownDAError("No error in final state"))})}extractDependencies(e){return{prepareWalletPolicy:async t=>{const{input:{walletBuilder:r,wallet:p}}=t;return await new d.PrepareWalletPolicyTask(e,{wallet:p},r).run()},buildPsbt:async t=>{const{input:{psbt:r,wallet:p,dataStoreService:c,psbtMapper:P}}=t;return new S.BuildPsbtTask({psbt:r,wallet:p},c,P).run()},signPsbt:async t=>{const{input:{wallet:r,buildPsbtResult:p,walletSerializer:c,valueParser:P}}=t;return await new g.SignPsbtTask(e,{wallet:r,...p},c,P).run()}}}}0&&(module.exports={SignPsbtDeviceAction});
1
+ "use strict";var b=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var E=(i,n)=>{for(var o in n)b(i,o,{get:n[o],enumerable:!0})},I=(i,n,o,p)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of A(n))!D.call(i,l)&&l!==o&&b(i,l,{get:()=>n[l],enumerable:!(p=y(n,l))||p.enumerable});return i};var w=i=>I(b({},"__esModule",{value:!0}),i);var v={};E(v,{SignPsbtDeviceAction:()=>R});module.exports=w(v);var a=require("@ledgerhq/device-management-kit"),c=require("purify-ts"),r=require("xstate"),s=require("../../../../api/app-binder/SignPsbtDeviceActionTypes"),d=require("../../../app-binder/task/BuildPsbtTask"),m=require("../../../app-binder/task/PrepareWalletPolicyTask"),g=require("../../../app-binder/task/SignPsbtTask");class R extends a.XStateDeviceAction{makeStateMachine(n){const{signPsbt:o,prepareWalletPolicy:p,buildPsbt:l}=this.extractDependencies(n);return(0,r.setup)({types:{input:{},context:{},output:{}},actors:{openAppStateMachine:new a.OpenAppDeviceAction({input:{appName:"Bitcoin"}}).makeStateMachine(n),prepareWalletPolicy:(0,r.fromPromise)(p),buildPsbt:(0,r.fromPromise)(l),signPsbt:(0,r.fromPromise)(o)},guards:{noInternalError:({context:t})=>t._internalState.error===null,skipOpenApp:({context:t})=>t.input.skipOpenApp},actions:{assignErrorFromEvent:(0,r.assign)({_internalState:t=>({...t.context._internalState,error:t.event.error})})}}).createMachine({id:"SignPsbtDeviceAction",initial:"InitialState",context:({input:t})=>({input:t,intermediateValue:{requiredUserInteraction:a.UserInteractionRequired.None,step:s.signPsbtDAStateSteps.OPEN_APP},_internalState:{error:null,wallet:null,buildPsbtResult:null,signatures:null,signedPsbt:null}}),states:{InitialState:{always:[{target:"PrepareWalletPolicy",guard:"skipOpenApp"},"OpenAppDeviceAction"]},OpenAppDeviceAction:{entry:(0,r.assign)({intermediateValue:()=>({requiredUserInteraction:a.UserInteractionRequired.None,step:s.signPsbtDAStateSteps.OPEN_APP})}),invoke:{id:"openAppStateMachine",input:{appName:"Bitcoin"},src:"openAppStateMachine",onSnapshot:{actions:(0,r.assign)({intermediateValue:({event:t})=>({...t.snapshot.context.intermediateValue,step:s.signPsbtDAStateSteps.OPEN_APP})})},onDone:{actions:(0,r.assign)({_internalState:t=>t.event.output.caseOf({Right:()=>t.context._internalState,Left:e=>({...t.context._internalState,error:e})})}),target:"CheckOpenAppDeviceActionResult"}}},CheckOpenAppDeviceActionResult:{always:[{target:"PrepareWalletPolicy",guard:"noInternalError"},"Error"]},PrepareWalletPolicy:{entry:(0,r.assign)({intermediateValue:()=>({requiredUserInteraction:a.UserInteractionRequired.None,step:s.signPsbtDAStateSteps.PREPARE_WALLET_POLICY})}),invoke:{id:"prepareWalletPolicy",src:"prepareWalletPolicy",input:({context:t})=>({wallet:t.input.wallet,walletBuilder:t.input.walletBuilder}),onDone:{target:"PrepareWalletPolicyResultCheck",actions:(0,r.assign)({_internalState:({event:t,context:e})=>(0,a.isSuccessCommandResult)(t.output)?{...e._internalState,wallet:t.output.data}:{...e._internalState,error:t.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},PrepareWalletPolicyResultCheck:{always:[{guard:"noInternalError",target:"BuildPsbt"},{target:"Error"}]},BuildPsbt:{entry:(0,r.assign)({intermediateValue:()=>({requiredUserInteraction:a.UserInteractionRequired.None,step:s.signPsbtDAStateSteps.BUILD_PSBT})}),invoke:{id:"buildPsbt",src:"buildPsbt",input:({context:t})=>({psbt:t.input.psbt,wallet:t._internalState.wallet,dataStoreService:t.input.dataStoreService,psbtMapper:t.input.psbtMapper}),onDone:{target:"BuildPsbtResultCheck",actions:(0,r.assign)({_internalState:({event:t,context:e})=>(0,a.isSuccessCommandResult)(t.output)?{...e._internalState,buildPsbtResult:t.output.data}:{...e._internalState,error:t.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},BuildPsbtResultCheck:{always:[{guard:"noInternalError",target:"SignPsbt"},{target:"Error"}]},SignPsbt:{entry:(0,r.assign)({intermediateValue:{requiredUserInteraction:a.UserInteractionRequired.SignTransaction,step:s.signPsbtDAStateSteps.SIGN_PSBT}}),exit:(0,r.assign)({intermediateValue:{requiredUserInteraction:a.UserInteractionRequired.None,step:s.signPsbtDAStateSteps.SIGN_PSBT}}),invoke:{id:"signPsbt",src:"signPsbt",input:({context:t})=>({walletSerializer:t.input.walletSerializer,valueParser:t.input.valueParser,buildPsbtResult:t._internalState.buildPsbtResult,wallet:t._internalState.wallet}),onDone:{target:"SignPsbtResultCheck",actions:(0,r.assign)({_internalState:({event:t,context:e})=>(0,a.isSuccessCommandResult)(t.output)?{...e._internalState,signatures:t.output.data}:{...e._internalState,error:t.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},SignPsbtResultCheck:{always:[{guard:"noInternalError",target:"Success"},{target:"Error"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:{_internalState:{signatures:t,error:e}}})=>t?(0,c.Right)(t):(0,c.Left)(e||new a.UnknownDAError("No error in final state"))})}extractDependencies(n){return{prepareWalletPolicy:async t=>{const{input:{walletBuilder:e,wallet:u}}=t;return await new m.PrepareWalletPolicyTask(n,{wallet:u},e).run()},buildPsbt:async t=>{const{input:{psbt:e,wallet:u,dataStoreService:P,psbtMapper:S}}=t;return new d.BuildPsbtTask({psbt:e,wallet:u},P,S).run()},signPsbt:async t=>{const{input:{wallet:e,buildPsbtResult:u,walletSerializer:P,valueParser:S}}=t;return await new g.SignPsbtTask(n,{wallet:e,...u},P,S).run()}}}}0&&(module.exports={SignPsbtDeviceAction});
2
2
  //# sourceMappingURL=SignPsbtDeviceAction.js.map