@ledgerhq/coin-canton 0.5.0-nightly.3 → 0.5.0-nightly.4

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 (104) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +12 -0
  3. package/lib/api/getBalance.integ.test.js +7 -3
  4. package/lib/api/getBalance.integ.test.js.map +1 -1
  5. package/lib/bridge/index.d.ts.map +1 -1
  6. package/lib/bridge/index.js +3 -0
  7. package/lib/bridge/index.js.map +1 -1
  8. package/lib/bridge/onboard.d.ts +4 -3
  9. package/lib/bridge/onboard.d.ts.map +1 -1
  10. package/lib/bridge/onboard.integ.test.js +2 -2
  11. package/lib/bridge/onboard.integ.test.js.map +1 -1
  12. package/lib/bridge/onboard.js +95 -35
  13. package/lib/bridge/onboard.js.map +1 -1
  14. package/lib/bridge/serialization.d.ts +4 -0
  15. package/lib/bridge/serialization.d.ts.map +1 -0
  16. package/lib/bridge/serialization.js +31 -0
  17. package/lib/bridge/serialization.js.map +1 -0
  18. package/lib/bridge/sync.d.ts +2 -1
  19. package/lib/bridge/sync.d.ts.map +1 -1
  20. package/lib/bridge/sync.integ.test.js +2 -2
  21. package/lib/bridge/sync.integ.test.js.map +1 -1
  22. package/lib/bridge/sync.js +20 -12
  23. package/lib/bridge/sync.js.map +1 -1
  24. package/lib/common-logic/transaction/estimateFees.d.ts.map +1 -1
  25. package/lib/common-logic/transaction/estimateFees.js +6 -1
  26. package/lib/common-logic/transaction/estimateFees.js.map +1 -1
  27. package/lib/config.d.ts +1 -0
  28. package/lib/config.d.ts.map +1 -1
  29. package/lib/config.js.map +1 -1
  30. package/lib/network/gateway.d.ts +5 -13
  31. package/lib/network/gateway.d.ts.map +1 -1
  32. package/lib/network/gateway.integ.test.js +2 -1
  33. package/lib/network/gateway.integ.test.js.map +1 -1
  34. package/lib/network/gateway.js +11 -4
  35. package/lib/network/gateway.js.map +1 -1
  36. package/lib/signer/getAddress.d.ts.map +1 -1
  37. package/lib/signer/getAddress.js +2 -2
  38. package/lib/signer/getAddress.js.map +1 -1
  39. package/lib/types/bridge.d.ts +13 -1
  40. package/lib/types/bridge.d.ts.map +1 -1
  41. package/lib/types/onboard.d.ts +2 -0
  42. package/lib/types/onboard.d.ts.map +1 -1
  43. package/lib/types/onboard.js.map +1 -1
  44. package/lib/types/signer.d.ts +2 -1
  45. package/lib/types/signer.d.ts.map +1 -1
  46. package/lib-es/api/getBalance.integ.test.js +7 -3
  47. package/lib-es/api/getBalance.integ.test.js.map +1 -1
  48. package/lib-es/bridge/index.d.ts.map +1 -1
  49. package/lib-es/bridge/index.js +3 -0
  50. package/lib-es/bridge/index.js.map +1 -1
  51. package/lib-es/bridge/onboard.d.ts +4 -3
  52. package/lib-es/bridge/onboard.d.ts.map +1 -1
  53. package/lib-es/bridge/onboard.integ.test.js +2 -2
  54. package/lib-es/bridge/onboard.integ.test.js.map +1 -1
  55. package/lib-es/bridge/onboard.js +92 -35
  56. package/lib-es/bridge/onboard.js.map +1 -1
  57. package/lib-es/bridge/serialization.d.ts +4 -0
  58. package/lib-es/bridge/serialization.d.ts.map +1 -0
  59. package/lib-es/bridge/serialization.js +27 -0
  60. package/lib-es/bridge/serialization.js.map +1 -0
  61. package/lib-es/bridge/sync.d.ts +2 -1
  62. package/lib-es/bridge/sync.d.ts.map +1 -1
  63. package/lib-es/bridge/sync.integ.test.js +2 -2
  64. package/lib-es/bridge/sync.integ.test.js.map +1 -1
  65. package/lib-es/bridge/sync.js +21 -13
  66. package/lib-es/bridge/sync.js.map +1 -1
  67. package/lib-es/common-logic/transaction/estimateFees.d.ts.map +1 -1
  68. package/lib-es/common-logic/transaction/estimateFees.js +3 -1
  69. package/lib-es/common-logic/transaction/estimateFees.js.map +1 -1
  70. package/lib-es/config.d.ts +1 -0
  71. package/lib-es/config.d.ts.map +1 -1
  72. package/lib-es/config.js.map +1 -1
  73. package/lib-es/network/gateway.d.ts +5 -13
  74. package/lib-es/network/gateway.d.ts.map +1 -1
  75. package/lib-es/network/gateway.integ.test.js +2 -1
  76. package/lib-es/network/gateway.integ.test.js.map +1 -1
  77. package/lib-es/network/gateway.js +11 -4
  78. package/lib-es/network/gateway.js.map +1 -1
  79. package/lib-es/signer/getAddress.d.ts.map +1 -1
  80. package/lib-es/signer/getAddress.js +2 -2
  81. package/lib-es/signer/getAddress.js.map +1 -1
  82. package/lib-es/types/bridge.d.ts +13 -1
  83. package/lib-es/types/bridge.d.ts.map +1 -1
  84. package/lib-es/types/onboard.d.ts +2 -0
  85. package/lib-es/types/onboard.d.ts.map +1 -1
  86. package/lib-es/types/onboard.js.map +1 -1
  87. package/lib-es/types/signer.d.ts +2 -1
  88. package/lib-es/types/signer.d.ts.map +1 -1
  89. package/package.json +3 -3
  90. package/src/api/getBalance.integ.test.ts +7 -3
  91. package/src/bridge/index.ts +3 -0
  92. package/src/bridge/onboard.integ.test.ts +2 -2
  93. package/src/bridge/onboard.ts +120 -47
  94. package/src/bridge/serialization.ts +36 -0
  95. package/src/bridge/sync.integ.test.ts +2 -2
  96. package/src/bridge/sync.ts +27 -19
  97. package/src/common-logic/transaction/estimateFees.ts +5 -1
  98. package/src/config.ts +1 -0
  99. package/src/network/gateway.integ.test.ts +2 -1
  100. package/src/network/gateway.ts +17 -23
  101. package/src/signer/getAddress.ts +6 -4
  102. package/src/types/bridge.ts +16 -0
  103. package/src/types/onboard.ts +3 -0
  104. package/src/types/signer.ts +2 -1
@@ -3,6 +3,7 @@ import { getEnv } from "@ledgerhq/live-env";
3
3
  import coinConfig from "../config";
4
4
  const getGatewayUrl = () => coinConfig.getCoinConfig().gatewayUrl;
5
5
  const getNodeId = () => coinConfig.getCoinConfig().nodeId || "ledger-devnet-stg";
6
+ const getNetworkType = () => coinConfig.getCoinConfig().networkType;
6
7
  const gatewayNetwork = (req) => {
7
8
  const API_KEY = getEnv("CANTON_API_KEY");
8
9
  return network({
@@ -53,8 +54,7 @@ export async function submit(partyId, serialized, signature) {
53
54
  export async function getBalance(partyId) {
54
55
  const { data } = await gatewayNetwork({
55
56
  method: "GET",
56
- // TODO: we need better solution ?
57
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId.replace(/_/g, ":")}/balance`,
57
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/balance`,
58
58
  });
59
59
  return data;
60
60
  }
@@ -74,7 +74,7 @@ async function getParty(identifier, by) {
74
74
  export async function getOperations(partyId, options) {
75
75
  const { data } = await gatewayNetwork({
76
76
  method: "GET",
77
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId.replace(/_/g, ":")}/operations`,
77
+ url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/operations`,
78
78
  params: options,
79
79
  });
80
80
  return data;
@@ -85,6 +85,13 @@ var TransactionType;
85
85
  TransactionType["TRANSFER_PRE_APPROVAL_PROPOSAL"] = "transfer-pre-approval-proposal";
86
86
  })(TransactionType || (TransactionType = {}));
87
87
  export async function prepareTapRequest({ partyId, amount = 1000000, }) {
88
+ if (getNetworkType() === "mainnet") {
89
+ return {
90
+ serialized: "",
91
+ json: null,
92
+ hash: "",
93
+ };
94
+ }
88
95
  const { data } = await gatewayNetwork({
89
96
  method: "POST",
90
97
  url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
@@ -107,7 +114,7 @@ export async function submitTapRequest({ partyId, serialized, signature, }) {
107
114
  return data;
108
115
  }
109
116
  export async function prepareTransferRequest(partyId, params) {
110
- const { data } = await network({
117
+ const { data } = await gatewayNetwork({
111
118
  method: "POST",
112
119
  url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
113
120
  data: params,
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,QAAA,MAAM,UAAU,GAAI,eAAe,aAAa,CAAC,YAAY,CAAC,KAAG,YAUhE,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAiB,MAAM,UAAU,CAAC;AAEvD,QAAA,MAAM,UAAU,GAAI,eAAe,aAAa,CAAC,YAAY,CAAC,KAAG,YAYhE,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  const getAddress = (signerContext) => {
2
- return async (deviceId, { path }) => {
3
- const { address, publicKey } = await signerContext(deviceId, signer => signer.getAddress(path));
2
+ return async (deviceId, { path, verify }) => {
3
+ const { address, publicKey } = await signerContext(deviceId, signer => signer.getAddress(path, verify));
4
4
  return {
5
5
  path,
6
6
  address,
@@ -1 +1 @@
1
- {"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG,CAAC,aAA0C,EAAgB,EAAE;IAC9E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAqB,EAAE,EAAE;QAC7D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhG,OAAO;YACL,IAAI;YACJ,OAAO;YACP,SAAS;SACV,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG,CAAC,aAA0C,EAAgB,EAAE;IAC9E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACpE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAChC,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,OAAO;YACP,SAAS;SACc,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { BigNumber } from "bignumber.js";
2
2
  import type { Observable } from "rxjs";
3
- import type { CurrencyBridge, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
3
+ import type { Account, AccountRaw, CurrencyBridge, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
4
4
  import type { CantonOnboardProgress, CantonOnboardResult, CantonPreApprovalProgress, CantonPreApprovalResult } from "./onboard";
5
5
  export interface CantonCurrencyBridge extends CurrencyBridge {
6
6
  onboardAccount: (deviceId: string, derivationPath: string) => Observable<CantonOnboardProgress | CantonOnboardResult>;
@@ -26,4 +26,16 @@ export type TransactionRaw = TransactionCommonRaw & {
26
26
  };
27
27
  export type TransactionStatus = TransactionStatusCommon;
28
28
  export type TransactionStatusRaw = TransactionStatusCommonRaw;
29
+ export type CantonResources = {
30
+ partyId: string;
31
+ };
32
+ export type CantonResourcesRaw = {
33
+ partyId: string;
34
+ };
35
+ export type CantonAccount = Account & {
36
+ cantonResources?: CantonResources;
37
+ };
38
+ export type CantonAccountRaw = AccountRaw & {
39
+ cantonResources: CantonResourcesRaw;
40
+ };
29
41
  //# sourceMappingURL=bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,KACnB,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,oBAAoB,EAAE,CACpB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,KACZ,UAAU,CAAC,yBAAyB,GAAG,uBAAuB,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,KACnB,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,oBAAoB,EAAE,CACpB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,KACZ,UAAU,CAAC,yBAAyB,GAAG,uBAAuB,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,eAAe,EAAE,kBAAkB,CAAC;CACrC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Account } from "@ledgerhq/types-live";
1
2
  export declare enum OnboardStatus {
2
3
  INIT = 0,
3
4
  PREPARE = 1,
@@ -19,6 +20,7 @@ export type CantonOnboardProgress = {
19
20
  };
20
21
  export type CantonOnboardResult = {
21
22
  partyId: string;
23
+ account: Partial<Account>;
22
24
  };
23
25
  export type CantonPreApprovalProgress = {
24
26
  status: PreApprovalStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AAEH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gCAAgC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,KAAK,IAAA;CACN;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AAEH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gCAAgC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,iDAAI,CAAA;IACJ,uDAAO,CAAA;IACP,iDAAI,CAAA;IACJ,qDAAM,CAAA;IACN,uDAAO,CAAA;IACP,mDAAK,CAAA;AACP,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,yDAAI,CAAA;IACJ,+DAAO,CAAA;IACP,yDAAI,CAAA;IACJ,6DAAM,CAAA;IACN,+DAAO,CAAA;IACP,2DAAK,CAAA;AACP,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B"}
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/types/onboard.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,iDAAI,CAAA;IACJ,uDAAO,CAAA;IACP,iDAAI,CAAA;IACJ,qDAAM,CAAA;IACN,uDAAO,CAAA;IACP,mDAAK,CAAA;AACP,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,yDAAI,CAAA;IACJ,+DAAO,CAAA;IACP,yDAAI,CAAA;IACJ,6DAAM,CAAA;IACN,+DAAO,CAAA;IACP,2DAAK,CAAA;AACP,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B"}
@@ -1,10 +1,11 @@
1
1
  export type CantonAddress = {
2
2
  publicKey: string;
3
3
  address: string;
4
+ path: string;
4
5
  };
5
6
  export type CantonSignature = string;
6
7
  export interface CantonSigner {
7
- getAddress(path: string): Promise<CantonAddress>;
8
+ getAddress(path: string, display?: boolean): Promise<CantonAddress>;
8
9
  signTransaction(path: string, rawTx: string): Promise<CantonSignature>;
9
10
  }
10
11
  //# sourceMappingURL=signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACxE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-canton",
3
- "version": "0.5.0-nightly.3",
3
+ "version": "0.5.0-nightly.4",
4
4
  "description": "Canton coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -101,13 +101,13 @@
101
101
  "bignumber.js": "^9.1.2",
102
102
  "invariant": "^2.2.4",
103
103
  "rxjs": "^7.8.1",
104
- "@ledgerhq/coin-framework": "^6.4.0-nightly.3",
104
+ "@ledgerhq/coin-framework": "^6.4.0-nightly.4",
105
105
  "@ledgerhq/cryptoassets": "^13.28.0-nightly.2",
106
106
  "@ledgerhq/devices": "8.5.1",
107
107
  "@ledgerhq/errors": "^6.25.0",
108
108
  "@ledgerhq/live-env": "^2.16.0-nightly.1",
109
109
  "@ledgerhq/live-network": "^2.0.17-nightly.1",
110
- "@ledgerhq/types-live": "^6.83.1-nightly.0"
110
+ "@ledgerhq/types-live": "^6.84.0-nightly.1"
111
111
  },
112
112
  "devDependencies": {
113
113
  "@types/invariant": "^2.2.37",
@@ -19,9 +19,13 @@ describe("devnet", () => {
19
19
  const balance = await api.getBalance(
20
20
  "party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1",
21
21
  );
22
- expect(balance.length).toBeGreaterThanOrEqual(1);
23
- const nativeBalance = balance.find(b => b.asset.type === "native");
24
- expect(nativeBalance?.value).toBeGreaterThanOrEqual(0);
22
+ expect(balance.length).toBeGreaterThanOrEqual(0);
23
+ if (balance.length > 0) {
24
+ const nativeBalance = balance.find(b => b.asset.type === "native");
25
+ if (nativeBalance) {
26
+ expect(nativeBalance.value).toBeGreaterThanOrEqual(BigInt(0));
27
+ }
28
+ }
25
29
  });
26
30
  });
27
31
  });
@@ -21,6 +21,7 @@ import { buildSignOperation } from "./signOperation";
21
21
  import { getAccountShape } from "./sync";
22
22
  import { updateTransaction } from "./updateTransaction";
23
23
  import { buildOnboardAccount, buildAuthorizePreapproval } from "./onboard";
24
+ import { assignFromAccountRaw, assignToAccountRaw } from "./serialization";
24
25
 
25
26
  export function createBridges(
26
27
  signerContext: SignerContext<CantonSigner>,
@@ -62,6 +63,8 @@ export function createBridges(
62
63
  sync,
63
64
  receive,
64
65
  signOperation,
66
+ assignToAccountRaw,
67
+ assignFromAccountRaw,
65
68
  getSerializedAddressParameters,
66
69
  };
67
70
 
@@ -90,7 +90,7 @@ describe("onboard (devnet)", () => {
90
90
  const result = await isAccountOnboarded(keyPair.publicKeyHex);
91
91
 
92
92
  // THEN
93
- expect(result).toBe(false);
93
+ expect(result).toEqual({ isOnboarded: false });
94
94
  }, 15000);
95
95
 
96
96
  it("should handle errors gracefully when checking non-existent party", async () => {
@@ -101,7 +101,7 @@ describe("onboard (devnet)", () => {
101
101
  const result = await isAccountOnboarded(keyPair.publicKeyHex);
102
102
 
103
103
  // THEN
104
- expect(result).toBe(false);
104
+ expect(result).toEqual({ isOnboarded: false });
105
105
  }, 15000);
106
106
  });
107
107
 
@@ -1,6 +1,11 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { SignerContext } from "@ledgerhq/coin-framework/signer";
3
- import { CantonSigner } from "../types/signer";
3
+ import { emptyHistoryCache } from "@ledgerhq/coin-framework/account/index";
4
+ import { getDerivationModesForCurrency } from "@ledgerhq/coin-framework/derivation";
5
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
6
+ import { getAccountShape } from "./sync";
7
+ import { CantonAccount, CantonSigner } from "../types";
8
+ import type { Account } from "@ledgerhq/types-live";
4
9
  import {
5
10
  prepareOnboarding,
6
11
  submitOnboarding,
@@ -19,8 +24,9 @@ import {
19
24
  CantonPreApprovalResult,
20
25
  PrepareTransactionResponse,
21
26
  } from "../types/onboard";
27
+ import resolver from "../signer";
22
28
 
23
- async function getKeypair(
29
+ async function _getKeypair(
24
30
  signerContext: SignerContext<CantonSigner>,
25
31
  deviceId: string,
26
32
  derivationPath: string,
@@ -31,20 +37,23 @@ async function getKeypair(
31
37
  });
32
38
  }
33
39
 
40
+ const currency = getCryptoCurrencyById("canton_network");
41
+ const derivationMode = getDerivationModesForCurrency(currency)[0];
42
+
34
43
  export const isAccountOnboarded = async (
35
44
  publicKey: string,
36
- ): Promise<false | { party_id: string }> => {
45
+ ): Promise<{ isOnboarded: boolean; party_id?: string }> => {
37
46
  try {
38
47
  const { party_id } = await getPartyByPubKey(publicKey);
39
48
 
40
49
  if (party_id) {
41
- return { party_id };
50
+ return { isOnboarded: true, party_id };
42
51
  } else {
43
- return false;
52
+ return { isOnboarded: false };
44
53
  }
45
54
  } catch (err) {
46
55
  log("[isAccountOnboarded] Error checking party status (likely not onboarded):", err);
47
- return false;
56
+ return { isOnboarded: false };
48
57
  }
49
58
  };
50
59
 
@@ -59,22 +68,29 @@ export const buildOnboardAccount =
59
68
  observer.next({
60
69
  status: OnboardStatus.INIT,
61
70
  });
62
- const keypair = await getKeypair(signerContext, deviceId, derivationPath);
71
+ const getAddress = resolver(signerContext);
72
+ const { address, publicKey } = await getAddress(deviceId, {
73
+ path: derivationPath,
74
+ currency,
75
+ derivationMode: derivationMode || "",
76
+ });
63
77
 
64
78
  observer.next({
65
79
  status: OnboardStatus.PREPARE,
66
80
  });
67
81
 
68
- const isOnboardedResult = await isAccountOnboarded(keypair.publicKey);
69
- if (isOnboardedResult && isOnboardedResult.party_id) {
82
+ const { party_id: partyId } = await isAccountOnboarded(publicKey);
83
+ if (partyId) {
84
+ const account = await createAccount({ address, derivationPath, partyId });
70
85
  observer.next({
71
- partyId: isOnboardedResult.party_id,
86
+ partyId,
87
+ account,
72
88
  });
73
89
  observer.complete();
74
90
  return;
75
91
  }
76
92
 
77
- const preparedTransaction = await prepareOnboarding(keypair.publicKey, "ed25519");
93
+ const preparedTransaction = await prepareOnboarding(publicKey, "ed25519");
78
94
 
79
95
  observer.next({
80
96
  status: OnboardStatus.SIGN,
@@ -89,26 +105,39 @@ export const buildOnboardAccount =
89
105
  });
90
106
 
91
107
  const result = await submitOnboarding(
92
- { public_key: keypair.publicKey, public_key_type: "ed25519" },
108
+ { public_key: publicKey, public_key_type: "ed25519" },
93
109
  preparedTransaction,
94
110
  signature,
95
- ).catch(err => {
111
+ ).catch(async err => {
96
112
  if (err.type === "PARTY_ALREADY_EXISTS") {
113
+ const account = await createAccount({
114
+ address,
115
+ derivationPath,
116
+ partyId: preparedTransaction.party_id,
117
+ });
97
118
  observer.next({
98
119
  partyId: preparedTransaction.party_id,
120
+ account,
99
121
  });
100
122
  return observer.complete();
101
123
  }
102
124
  throw err;
103
125
  });
104
126
 
105
- observer.next({
106
- status: OnboardStatus.SUCCESS,
107
- });
108
-
109
- observer.next({
110
- partyId: result?.party?.party_id || "unknown",
111
- });
127
+ if (result) {
128
+ observer.next({
129
+ status: OnboardStatus.SUCCESS,
130
+ });
131
+ const account = await createAccount({
132
+ address,
133
+ derivationPath,
134
+ partyId: result.party.party_id,
135
+ });
136
+ observer.next({
137
+ partyId: result.party.party_id,
138
+ account,
139
+ });
140
+ }
112
141
 
113
142
  observer.complete();
114
143
  }
@@ -164,38 +193,35 @@ export const buildAuthorizePreapproval =
164
193
  isApproved,
165
194
  });
166
195
 
167
- // TODO: remove after demo
168
196
  const handleTapRequest = async () => {
169
197
  try {
170
- observer.next({
171
- status: PreApprovalStatus.PREPARE,
172
- });
173
-
174
198
  const { serialized, hash } = await prepareTapRequest({
175
199
  partyId,
176
200
  });
177
201
 
178
- observer.next({
179
- status: PreApprovalStatus.SIGN,
180
- });
181
-
182
- const signature = await signerContext(deviceId, signer =>
183
- signer.signTransaction(derivationPath, hash),
184
- );
185
-
186
- observer.next({
187
- status: PreApprovalStatus.SUBMIT,
188
- });
189
-
190
- await submitTapRequest({
191
- partyId,
192
- serialized,
193
- signature,
194
- });
195
-
196
- observer.next({
197
- status: PreApprovalStatus.SUCCESS,
198
- });
202
+ if (serialized && hash) {
203
+ observer.next({
204
+ status: PreApprovalStatus.SIGN,
205
+ });
206
+
207
+ const signature = await signerContext(deviceId, signer =>
208
+ signer.signTransaction(derivationPath, hash),
209
+ );
210
+
211
+ observer.next({
212
+ status: PreApprovalStatus.SUBMIT,
213
+ });
214
+
215
+ await submitTapRequest({
216
+ partyId,
217
+ serialized,
218
+ signature,
219
+ });
220
+
221
+ observer.next({
222
+ status: PreApprovalStatus.SUCCESS,
223
+ });
224
+ }
199
225
  } catch (err) {
200
226
  // Tap request failure should not break the pre-approval flow
201
227
  }
@@ -214,7 +240,54 @@ export const buildAuthorizePreapproval =
214
240
  );
215
241
  });
216
242
 
217
- const log = (message: string, ...rest: any[]) => {
243
+ const createAccount = async ({
244
+ address,
245
+ partyId,
246
+ derivationPath,
247
+ index = 0,
248
+ }: {
249
+ address: string;
250
+ derivationPath: string;
251
+ partyId: string;
252
+ index?: number;
253
+ }): Promise<Partial<Account>> => {
254
+ const accountShape = await getAccountShape(
255
+ {
256
+ address,
257
+ currency,
258
+ derivationMode,
259
+ derivationPath,
260
+ index,
261
+ rest: {
262
+ cantonResources: {
263
+ partyId,
264
+ },
265
+ },
266
+ },
267
+ { paginationConfig: {} },
268
+ );
269
+
270
+ const account: Partial<CantonAccount> = {
271
+ ...accountShape,
272
+ type: "Account",
273
+ xpub: partyId.replace(/:/g, "_"),
274
+ index,
275
+ // operations: [],
276
+ currency,
277
+ derivationMode,
278
+ lastSyncDate: new Date(),
279
+ pendingOperations: [],
280
+ seedIdentifier: address,
281
+ balanceHistoryCache: emptyHistoryCache,
282
+ cantonResources: {
283
+ partyId,
284
+ },
285
+ };
286
+
287
+ return account;
288
+ };
289
+
290
+ const log = (message: string, ...rest: unknown[]) => {
218
291
  // eslint-disable-next-line no-console
219
292
  console.log(message, ...rest);
220
293
  };
@@ -0,0 +1,36 @@
1
+ import type { Account, AccountRaw } from "@ledgerhq/types-live";
2
+ import type {
3
+ CantonAccount,
4
+ CantonAccountRaw,
5
+ CantonResources,
6
+ CantonResourcesRaw,
7
+ } from "../types";
8
+
9
+ function toResourcesRaw(r: CantonResources): CantonResourcesRaw {
10
+ const { partyId } = r;
11
+ return {
12
+ partyId,
13
+ };
14
+ }
15
+ function fromResourcesRaw(r: CantonResourcesRaw): CantonResources {
16
+ const { partyId } = r;
17
+ return {
18
+ partyId,
19
+ };
20
+ }
21
+
22
+ export function assignToAccountRaw(account: Account, accountRaw: AccountRaw): void {
23
+ const cantonAccount = account as CantonAccount;
24
+ const cantonAccountRaw = accountRaw as CantonAccountRaw;
25
+ if (cantonAccount.cantonResources) {
26
+ cantonAccountRaw.cantonResources = toResourcesRaw(cantonAccount.cantonResources);
27
+ }
28
+ }
29
+
30
+ export function assignFromAccountRaw(accountRaw: AccountRaw, account: Account): void {
31
+ const cantonResourcesRaw = (accountRaw as CantonAccountRaw).cantonResources;
32
+ const cantonAccount = account as CantonAccount;
33
+ if (cantonResourcesRaw) {
34
+ cantonAccount.cantonResources = fromResourcesRaw(cantonResourcesRaw);
35
+ }
36
+ }
@@ -110,7 +110,7 @@ describe("sync (devnet)", () => {
110
110
 
111
111
  mockGetBalance.mockResolvedValue([
112
112
  {
113
- instrument_id: "canton_network",
113
+ instrument_id: "Amulet",
114
114
  amount: 1000000,
115
115
  locked: true,
116
116
  },
@@ -167,7 +167,7 @@ describe("sync (devnet)", () => {
167
167
  const result = await getAccountShape(ACCOUNT_SHAPE_INFO, { paginationConfig: {} });
168
168
 
169
169
  expect(result.operations).toBeDefined();
170
- expect(result.operationsCount).toBeGreaterThan(1);
170
+ expect(result.operationsCount).toBeGreaterThanOrEqual(1);
171
171
 
172
172
  expect(mockGetOperations).toHaveBeenCalledWith(TEST_ADDRESS, {
173
173
  cursor: 0,