@ledgerhq/coin-canton 0.7.0-nightly.2 → 0.7.0-nightly.3

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 (102) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +17 -0
  3. package/lib/api/lastBlock.integ.test.js +0 -15
  4. package/lib/api/lastBlock.integ.test.js.map +1 -1
  5. package/lib/bridge/index.d.ts.map +1 -1
  6. package/lib/bridge/index.js +2 -5
  7. package/lib/bridge/index.js.map +1 -1
  8. package/lib/bridge/onboard.d.ts +11 -6
  9. package/lib/bridge/onboard.d.ts.map +1 -1
  10. package/lib/bridge/onboard.integ.test.js +49 -27
  11. package/lib/bridge/onboard.integ.test.js.map +1 -1
  12. package/lib/bridge/onboard.js +45 -152
  13. package/lib/bridge/onboard.js.map +1 -1
  14. package/lib/bridge/signOperation.d.ts.map +1 -1
  15. package/lib/bridge/signOperation.js +5 -5
  16. package/lib/bridge/signOperation.js.map +1 -1
  17. package/lib/bridge/sync.d.ts +3 -2
  18. package/lib/bridge/sync.d.ts.map +1 -1
  19. package/lib/bridge/sync.integ.test.js +31 -14
  20. package/lib/bridge/sync.integ.test.js.map +1 -1
  21. package/lib/bridge/sync.js +71 -57
  22. package/lib/bridge/sync.js.map +1 -1
  23. package/lib/common-logic/utils.js +2 -2
  24. package/lib/common-logic/utils.js.map +1 -1
  25. package/lib/common-logic/utils.test.js +21 -6
  26. package/lib/common-logic/utils.test.js.map +1 -1
  27. package/lib/config.d.ts +1 -1
  28. package/lib/config.d.ts.map +1 -1
  29. package/lib/network/gateway.d.ts +9 -9
  30. package/lib/network/gateway.d.ts.map +1 -1
  31. package/lib/network/gateway.integ.test.js +31 -17
  32. package/lib/network/gateway.integ.test.js.map +1 -1
  33. package/lib/network/gateway.js +33 -15
  34. package/lib/network/gateway.js.map +1 -1
  35. package/lib/types/bridge.d.ts +6 -16
  36. package/lib/types/bridge.d.ts.map +1 -1
  37. package/lib/types/onboard.d.ts +5 -5
  38. package/lib/types/onboard.d.ts.map +1 -1
  39. package/lib/types/onboard.js +10 -10
  40. package/lib/types/onboard.js.map +1 -1
  41. package/lib-es/api/lastBlock.integ.test.js +0 -15
  42. package/lib-es/api/lastBlock.integ.test.js.map +1 -1
  43. package/lib-es/bridge/index.d.ts.map +1 -1
  44. package/lib-es/bridge/index.js +3 -6
  45. package/lib-es/bridge/index.js.map +1 -1
  46. package/lib-es/bridge/onboard.d.ts +11 -6
  47. package/lib-es/bridge/onboard.d.ts.map +1 -1
  48. package/lib-es/bridge/onboard.integ.test.js +37 -15
  49. package/lib-es/bridge/onboard.integ.test.js.map +1 -1
  50. package/lib-es/bridge/onboard.js +44 -152
  51. package/lib-es/bridge/onboard.js.map +1 -1
  52. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  53. package/lib-es/bridge/signOperation.js +5 -5
  54. package/lib-es/bridge/signOperation.js.map +1 -1
  55. package/lib-es/bridge/sync.d.ts +3 -2
  56. package/lib-es/bridge/sync.d.ts.map +1 -1
  57. package/lib-es/bridge/sync.integ.test.js +26 -9
  58. package/lib-es/bridge/sync.integ.test.js.map +1 -1
  59. package/lib-es/bridge/sync.js +71 -56
  60. package/lib-es/bridge/sync.js.map +1 -1
  61. package/lib-es/common-logic/utils.js +2 -2
  62. package/lib-es/common-logic/utils.js.map +1 -1
  63. package/lib-es/common-logic/utils.test.js +21 -6
  64. package/lib-es/common-logic/utils.test.js.map +1 -1
  65. package/lib-es/config.d.ts +1 -1
  66. package/lib-es/config.d.ts.map +1 -1
  67. package/lib-es/network/gateway.d.ts +9 -9
  68. package/lib-es/network/gateway.d.ts.map +1 -1
  69. package/lib-es/network/gateway.integ.test.js +31 -17
  70. package/lib-es/network/gateway.integ.test.js.map +1 -1
  71. package/lib-es/network/gateway.js +33 -15
  72. package/lib-es/network/gateway.js.map +1 -1
  73. package/lib-es/types/bridge.d.ts +6 -16
  74. package/lib-es/types/bridge.d.ts.map +1 -1
  75. package/lib-es/types/onboard.d.ts +5 -5
  76. package/lib-es/types/onboard.d.ts.map +1 -1
  77. package/lib-es/types/onboard.js +9 -9
  78. package/lib-es/types/onboard.js.map +1 -1
  79. package/package.json +5 -4
  80. package/src/api/lastBlock.integ.test.ts +0 -18
  81. package/src/bridge/index.ts +3 -6
  82. package/src/bridge/onboard.integ.test.ts +44 -31
  83. package/src/bridge/onboard.ts +61 -209
  84. package/src/bridge/signOperation.ts +5 -6
  85. package/src/bridge/sync.integ.test.ts +30 -10
  86. package/src/bridge/sync.ts +87 -72
  87. package/src/common-logic/utils.test.ts +21 -6
  88. package/src/common-logic/utils.ts +2 -2
  89. package/src/config.ts +1 -1
  90. package/src/network/gateway.integ.test.ts +48 -21
  91. package/src/network/gateway.ts +49 -34
  92. package/src/types/bridge.ts +8 -19
  93. package/src/types/onboard.ts +5 -5
  94. package/lib/bridge/serialization.d.ts +0 -4
  95. package/lib/bridge/serialization.d.ts.map +0 -1
  96. package/lib/bridge/serialization.js +0 -31
  97. package/lib/bridge/serialization.js.map +0 -1
  98. package/lib-es/bridge/serialization.d.ts +0 -4
  99. package/lib-es/bridge/serialization.d.ts.map +0 -1
  100. package/lib-es/bridge/serialization.js +0 -27
  101. package/lib-es/bridge/serialization.js.map +0 -1
  102. package/src/bridge/serialization.ts +0 -36
@@ -2,7 +2,7 @@ import network from "@ledgerhq/live-network";
2
2
  import { getEnv } from "@ledgerhq/live-env";
3
3
  import coinConfig from "../config";
4
4
  const getGatewayUrl = (currency) => coinConfig.getCoinConfig(currency).gatewayUrl;
5
- const getNodeId = (currency) => coinConfig.getCoinConfig(currency).nodeId || "ledger-devnet-stg";
5
+ const getNodeId = (currency) => coinConfig.getCoinConfig(currency).nodeId || "ledger-live-devnet";
6
6
  const getNetworkType = (currency) => coinConfig.getCoinConfig(currency).networkType;
7
7
  const gatewayNetwork = (req) => {
8
8
  const API_KEY = getEnv("CANTON_API_KEY");
@@ -14,7 +14,7 @@ const gatewayNetwork = (req) => {
14
14
  },
15
15
  });
16
16
  };
17
- export async function prepareOnboarding(currency, pubKey, pubKeyType) {
17
+ export async function prepareOnboarding(currency, pubKey) {
18
18
  const gatewayUrl = getGatewayUrl(currency);
19
19
  const nodeId = getNodeId(currency);
20
20
  const fullUrl = `${gatewayUrl}/v1/node/${nodeId}/onboarding/prepare`;
@@ -23,22 +23,40 @@ export async function prepareOnboarding(currency, pubKey, pubKeyType) {
23
23
  url: fullUrl,
24
24
  data: {
25
25
  public_key: pubKey,
26
- public_key_type: pubKeyType,
26
+ public_key_type: "ed25519",
27
27
  },
28
28
  });
29
29
  return data;
30
30
  }
31
- export async function submitOnboarding(currency, prepareRequest, prepareResponse, signature) {
32
- const { data } = await gatewayNetwork({
33
- method: "POST",
34
- url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/onboarding/submit`,
35
- data: {
36
- prepare_request: prepareRequest,
37
- prepare_response: prepareResponse,
38
- signature,
39
- },
40
- });
41
- return data;
31
+ export async function submitOnboarding(currency, publicKey, prepareResponse, signature) {
32
+ try {
33
+ const { data } = await gatewayNetwork({
34
+ method: "POST",
35
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/onboarding/submit`,
36
+ data: {
37
+ prepare_request: {
38
+ public_key: publicKey,
39
+ public_key_type: "ed25519",
40
+ },
41
+ prepare_response: prepareResponse,
42
+ signature,
43
+ },
44
+ });
45
+ return data;
46
+ }
47
+ catch (e) {
48
+ if (e instanceof Error && "type" in e && e.type === "PARTY_ALREADY_EXISTS") {
49
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
50
+ const { partyId } = e;
51
+ return {
52
+ party: {
53
+ party_id: partyId,
54
+ public_key: publicKey,
55
+ },
56
+ };
57
+ }
58
+ throw e;
59
+ }
42
60
  }
43
61
  export async function submit(currency, partyId, serialized, signature) {
44
62
  const { data } = await gatewayNetwork({
@@ -96,7 +114,7 @@ export async function prepareTapRequest(currency, { partyId, amount = 1000000 })
96
114
  method: "POST",
97
115
  url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/prepare`,
98
116
  data: {
99
- amount: parseInt(amount.toString(), 10), // Convert to integer to avoid scientific notation
117
+ amount: amount.toString(),
100
118
  type: TransactionType.TAP_REQUEST,
101
119
  },
102
120
  });
@@ -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,11 +1,11 @@
1
1
  import type { BigNumber } from "bignumber.js";
2
2
  import type { Observable } from "rxjs";
3
3
  import type { Account, AccountRaw, CurrencyBridge, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
4
- import type { CantonOnboardProgress, CantonOnboardResult, CantonPreApprovalProgress, CantonPreApprovalResult } from "./onboard";
5
- import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
4
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
5
+ import type { CantonOnboardProgress, CantonOnboardResult, CantonAuthorizeProgress, CantonAuthorizeResult } from "./onboard";
6
6
  export interface CantonCurrencyBridge extends CurrencyBridge {
7
- onboardAccount: (currency: CryptoCurrency, deviceId: string, derivationPath: string) => Observable<CantonOnboardProgress | CantonOnboardResult>;
8
- authorizePreapproval: (currency: CryptoCurrency, deviceId: string, derivationPath: string, partyId: string) => Observable<CantonPreApprovalProgress | CantonPreApprovalResult>;
7
+ onboardAccount: (currency: CryptoCurrency, deviceId: string, creatableAccount: Account) => Observable<CantonOnboardProgress | CantonOnboardResult>;
8
+ authorizePreapproval: (currency: CryptoCurrency, deviceId: string, creatableAccount: Account, partyId: string) => Observable<CantonAuthorizeProgress | CantonAuthorizeResult>;
9
9
  }
10
10
  export type NetworkInfo = {
11
11
  family: "canton";
@@ -31,16 +31,6 @@ export type TransactionRaw = TransactionCommonRaw & {
31
31
  };
32
32
  export type TransactionStatus = TransactionStatusCommon;
33
33
  export type TransactionStatusRaw = TransactionStatusCommonRaw;
34
- export type CantonResources = {
35
- partyId: string;
36
- };
37
- export type CantonResourcesRaw = {
38
- partyId: string;
39
- };
40
- export type CantonAccount = Account & {
41
- cantonResources?: CantonResources;
42
- };
43
- export type CantonAccountRaw = AccountRaw & {
44
- cantonResources: CantonResourcesRaw;
45
- };
34
+ export type CantonAccount = Account;
35
+ export type CantonAccountRaw = AccountRaw;
46
36
  //# 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,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;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,CACd,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,KACnB,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,oBAAoB,EAAE,CACpB,QAAQ,EAAE,cAAc,EACxB,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;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,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
+ {"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,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,CACd,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,OAAO,KACtB,UAAU,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,oBAAoB,EAAE,CACpB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,OAAO,EACzB,OAAO,EAAE,MAAM,KACZ,UAAU,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,CAAC;CAClE;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;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;AACpC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC"}
@@ -7,7 +7,7 @@ export declare enum OnboardStatus {
7
7
  SUCCESS = 4,
8
8
  ERROR = 5
9
9
  }
10
- export declare enum PreApprovalStatus {
10
+ export declare enum AuthorizeStatus {
11
11
  INIT = 0,
12
12
  PREPARE = 1,
13
13
  SIGN = 2,
@@ -20,12 +20,12 @@ export type CantonOnboardProgress = {
20
20
  };
21
21
  export type CantonOnboardResult = {
22
22
  partyId: string;
23
- account: Partial<Account>;
23
+ account: Account;
24
24
  };
25
- export type CantonPreApprovalProgress = {
26
- status: PreApprovalStatus;
25
+ export type CantonAuthorizeProgress = {
26
+ status: AuthorizeStatus;
27
27
  };
28
- export type CantonPreApprovalResult = {
28
+ export type CantonAuthorizeResult = {
29
29
  isApproved: boolean;
30
30
  };
31
31
  /**
@@ -1 +1 @@
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
+ {"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,eAAe;IACzB,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;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,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"}
@@ -7,13 +7,13 @@ export var OnboardStatus;
7
7
  OnboardStatus[OnboardStatus["SUCCESS"] = 4] = "SUCCESS";
8
8
  OnboardStatus[OnboardStatus["ERROR"] = 5] = "ERROR";
9
9
  })(OnboardStatus || (OnboardStatus = {}));
10
- export var PreApprovalStatus;
11
- (function (PreApprovalStatus) {
12
- PreApprovalStatus[PreApprovalStatus["INIT"] = 0] = "INIT";
13
- PreApprovalStatus[PreApprovalStatus["PREPARE"] = 1] = "PREPARE";
14
- PreApprovalStatus[PreApprovalStatus["SIGN"] = 2] = "SIGN";
15
- PreApprovalStatus[PreApprovalStatus["SUBMIT"] = 3] = "SUBMIT";
16
- PreApprovalStatus[PreApprovalStatus["SUCCESS"] = 4] = "SUCCESS";
17
- PreApprovalStatus[PreApprovalStatus["ERROR"] = 5] = "ERROR";
18
- })(PreApprovalStatus || (PreApprovalStatus = {}));
10
+ export var AuthorizeStatus;
11
+ (function (AuthorizeStatus) {
12
+ AuthorizeStatus[AuthorizeStatus["INIT"] = 0] = "INIT";
13
+ AuthorizeStatus[AuthorizeStatus["PREPARE"] = 1] = "PREPARE";
14
+ AuthorizeStatus[AuthorizeStatus["SIGN"] = 2] = "SIGN";
15
+ AuthorizeStatus[AuthorizeStatus["SUBMIT"] = 3] = "SUBMIT";
16
+ AuthorizeStatus[AuthorizeStatus["SUCCESS"] = 4] = "SUCCESS";
17
+ AuthorizeStatus[AuthorizeStatus["ERROR"] = 5] = "ERROR";
18
+ })(AuthorizeStatus || (AuthorizeStatus = {}));
19
19
  //# sourceMappingURL=onboard.js.map
@@ -1 +1 @@
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
+ {"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,eAOX;AAPD,WAAY,eAAe;IACzB,qDAAI,CAAA;IACJ,2DAAO,CAAA;IACP,qDAAI,CAAA;IACJ,yDAAM,CAAA;IACN,2DAAO,CAAA;IACP,uDAAK,CAAA;AACP,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-canton",
3
- "version": "0.7.0-nightly.2",
3
+ "version": "0.7.0-nightly.3",
4
4
  "description": "Canton coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -101,12 +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.6.0-nightly.1",
105
- "@ledgerhq/cryptoassets": "^13.30.0-nightly.0",
104
+ "@ledgerhq/coin-framework": "^6.6.0-nightly.2",
105
+ "@ledgerhq/cryptoassets": "^13.30.0-nightly.1",
106
106
  "@ledgerhq/devices": "8.6.0",
107
107
  "@ledgerhq/errors": "^6.26.0-nightly.0",
108
108
  "@ledgerhq/live-env": "^2.17.0",
109
109
  "@ledgerhq/live-network": "^2.0.18",
110
+ "@ledgerhq/logs": "^6.13.0",
110
111
  "@ledgerhq/types-live": "^6.86.0-nightly.0"
111
112
  },
112
113
  "devDependencies": {
@@ -117,7 +118,7 @@
117
118
  "jest": "^29.7.0",
118
119
  "ts-jest": "^29.1.1",
119
120
  "typescript": "^5.4.5",
120
- "@ledgerhq/types-cryptoassets": "^7.28.0-nightly.0",
121
+ "@ledgerhq/types-cryptoassets": "^7.28.0-nightly.1",
121
122
  "@ledgerhq/disable-network-setup": "^0.0.0"
122
123
  },
123
124
  "scripts": {
@@ -1,26 +1,8 @@
1
1
  import { AlpacaApi } from "@ledgerhq/coin-framework/lib/api/types";
2
2
  import { createApi } from ".";
3
- import { CantonCoinConfig } from "../config";
4
3
 
5
4
  let api: AlpacaApi;
6
5
 
7
- describe.skip("localnet", () => {
8
- beforeAll(() => {
9
- api = createApi({
10
- nodeUrl: "http://localhost:2975/v2",
11
- nativeInstrumentId: "Amulet",
12
- networkType: "localnet",
13
- } satisfies Partial<CantonCoinConfig>);
14
- });
15
-
16
- describe("lastBlock", () => {
17
- it("should return ledger end", async () => {
18
- const lastBlock = await api.lastBlock();
19
- expect(lastBlock.height).toBeGreaterThan(0);
20
- });
21
- });
22
- });
23
-
24
6
  describe.skip("devnet", () => {
25
7
  beforeAll(() => {
26
8
  api = createApi({
@@ -18,10 +18,9 @@ import { estimateMaxSpendable } from "./estimateMaxSpendable";
18
18
  import { getTransactionStatus } from "./getTransactionStatus";
19
19
  import { prepareTransaction } from "./prepareTransaction";
20
20
  import { buildSignOperation } from "./signOperation";
21
- import { getAccountShape } from "./sync";
21
+ import { makeGetAccountShape } from "./sync";
22
22
  import { updateTransaction } from "./updateTransaction";
23
23
  import { buildOnboardAccount, buildAuthorizePreapproval } from "./onboard";
24
- import { assignFromAccountRaw, assignToAccountRaw } from "./serialization";
25
24
 
26
25
  export function createBridges(
27
26
  signerContext: SignerContext<CantonSigner>,
@@ -33,7 +32,7 @@ export function createBridges(
33
32
  const receive = makeAccountBridgeReceive(getAddressWrapper(getAddress));
34
33
 
35
34
  const scanAccounts = makeScanAccounts({
36
- getAccountShape: getAccountShape,
35
+ getAccountShape: makeGetAccountShape(signerContext),
37
36
  getAddressFn: getAddress,
38
37
  });
39
38
 
@@ -49,7 +48,7 @@ export function createBridges(
49
48
  };
50
49
 
51
50
  const signOperation = buildSignOperation(signerContext);
52
- const sync = makeSync({ getAccountShape });
51
+ const sync = makeSync({ getAccountShape: makeGetAccountShape(signerContext) });
53
52
  // we want one method per file
54
53
  const accountBridge: AccountBridge<Transaction> = {
55
54
  broadcast,
@@ -63,8 +62,6 @@ export function createBridges(
63
62
  sync,
64
63
  receive,
65
64
  signOperation,
66
- assignToAccountRaw,
67
- assignFromAccountRaw,
68
65
  getSerializedAddressParameters,
69
66
  };
70
67
 
@@ -1,23 +1,45 @@
1
+ import BigNumber from "bignumber.js";
1
2
  import { firstValueFrom, toArray } from "rxjs";
3
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
4
+ import { emptyHistoryCache } from "@ledgerhq/coin-framework/account/index";
2
5
  import { generateMockKeyPair, createMockSigner } from "../test/cantonTestUtils";
3
- import { buildOnboardAccount, isAccountOnboarded, buildAuthorizePreapproval } from "./onboard";
4
6
  import {
7
+ AuthorizeStatus,
5
8
  OnboardStatus,
6
- PreApprovalStatus,
9
+ CantonAuthorizeProgress,
10
+ CantonAuthorizeResult,
7
11
  CantonOnboardProgress,
8
12
  CantonOnboardResult,
9
- CantonPreApprovalProgress,
10
- CantonPreApprovalResult,
11
13
  } from "../types/onboard";
12
14
  import coinConfig from "../config";
13
- import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
15
+ import { buildOnboardAccount, isAccountOnboarded, buildAuthorizePreapproval } from "./onboard";
14
16
 
15
17
  describe("onboard (devnet)", () => {
16
18
  const mockDeviceId = "test-device-id";
17
- const mockDerivationPath = "44'/6767'/0'/0'/0'";
18
19
  const mockCurrency = {
19
20
  id: "canton_network",
20
21
  } as unknown as CryptoCurrency;
22
+ const mockAccount = {
23
+ type: "Account" as const,
24
+ id: "js:2:canton_network:canton_3f5c9d9a:canton",
25
+ seedIdentifier: "canton_3f5c9d9a",
26
+ derivationMode: "canton" as const,
27
+ index: 0,
28
+ freshAddress: "canton_3f5c9d9a",
29
+ freshAddressPath: "44'/6767'/0'/0'/0'",
30
+ used: false,
31
+ balance: BigNumber(10000),
32
+ spendableBalance: BigNumber(10000),
33
+ creationDate: new Date(),
34
+ blockHeight: 1,
35
+ currency: mockCurrency,
36
+ operationsCount: 0,
37
+ operations: [],
38
+ pendingOperations: [],
39
+ lastSyncDate: new Date(),
40
+ balanceHistoryCache: emptyHistoryCache,
41
+ swapHistory: [],
42
+ };
21
43
 
22
44
  let onboardedAccount: {
23
45
  keyPair: ReturnType<typeof generateMockKeyPair>;
@@ -58,7 +80,7 @@ describe("onboard (devnet)", () => {
58
80
 
59
81
  const onboardObservable = buildOnboardAccount(mockSignerContext);
60
82
  const onboardValues = await firstValueFrom(
61
- onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
83
+ onboardObservable(mockCurrency, mockDeviceId, mockAccount).pipe(toArray()),
62
84
  );
63
85
  const onboardResult = onboardValues.find(
64
86
  (value): value is CantonOnboardResult => "partyId" in value,
@@ -82,10 +104,10 @@ describe("onboard (devnet)", () => {
82
104
  // THEN
83
105
  expect(result).not.toBe(false);
84
106
  if (typeof result === "object") {
85
- expect(result.party_id).toBeDefined();
86
- expect(result.party_id).toBe(onboardResult!.partyId);
107
+ expect(result.partyId).toBeDefined();
108
+ expect(result.partyId).toBe(onboardResult.partyId);
87
109
  }
88
- }, 30000);
110
+ }, 40000);
89
111
 
90
112
  it("should return false for non-onboarded account with fresh keypair", async () => {
91
113
  // GIVEN
@@ -122,7 +144,7 @@ describe("onboard (devnet)", () => {
122
144
 
123
145
  // WHEN
124
146
  const allValues = await firstValueFrom(
125
- onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
147
+ onboardObservable(mockCurrency, mockDeviceId, mockAccount).pipe(toArray()),
126
148
  );
127
149
  const progressValues = allValues.filter(
128
150
  (value): value is CantonOnboardProgress => "status" in value && !("partyId" in value),
@@ -149,12 +171,12 @@ describe("onboard (devnet)", () => {
149
171
 
150
172
  it("should complete full onboarding flow with already onboarded account", async () => {
151
173
  // GIVEN
152
- const { keyPair, mockSignerContext, onboardResult: firstResult } = getOnboardedAccount();
174
+ const { mockSignerContext, onboardResult: firstResult } = getOnboardedAccount();
153
175
  const secondOnboardObservable = buildOnboardAccount(mockSignerContext);
154
176
 
155
177
  // WHEN
156
178
  const secondOnboardValues = await firstValueFrom(
157
- secondOnboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
179
+ secondOnboardObservable(mockCurrency, mockDeviceId, mockAccount).pipe(toArray()),
158
180
  );
159
181
  const secondResult = secondOnboardValues.find(
160
182
  (value): value is CantonOnboardResult => "partyId" in value,
@@ -175,27 +197,23 @@ describe("onboard (devnet)", () => {
175
197
 
176
198
  // WHEN
177
199
  const preapprovalValues = await firstValueFrom(
178
- preapprovalObservable(
179
- mockCurrency,
180
- mockDeviceId,
181
- mockDerivationPath,
182
- onboardResult.partyId,
183
- ).pipe(toArray()),
200
+ preapprovalObservable(mockCurrency, mockDeviceId, mockAccount, onboardResult.partyId).pipe(
201
+ toArray(),
202
+ ),
184
203
  );
185
204
 
186
205
  const progressValues = preapprovalValues.filter(
187
- (value): value is CantonPreApprovalProgress =>
188
- "status" in value && !("isApproved" in value),
206
+ (value): value is CantonAuthorizeProgress => "status" in value && !("isApproved" in value),
189
207
  );
190
208
  const resultValues = preapprovalValues.filter(
191
- (value): value is CantonPreApprovalResult => "isApproved" in value,
209
+ (value): value is CantonAuthorizeResult => "isApproved" in value,
192
210
  );
193
211
 
194
212
  // THEN
195
213
  // Check expected status progression
196
- expect(progressValues.some(p => p.status === PreApprovalStatus.PREPARE)).toBe(true);
197
- expect(progressValues.some(p => p.status === PreApprovalStatus.SIGN)).toBe(true);
198
- expect(progressValues.some(p => p.status === PreApprovalStatus.SUBMIT)).toBe(true);
214
+ expect(progressValues.some(p => p.status === AuthorizeStatus.PREPARE)).toBe(true);
215
+ expect(progressValues.some(p => p.status === AuthorizeStatus.SIGN)).toBe(true);
216
+ expect(progressValues.some(p => p.status === AuthorizeStatus.SUBMIT)).toBe(true);
199
217
 
200
218
  // Check final result (should be approved)
201
219
  expect(resultValues.length).toBeGreaterThan(0);
@@ -216,12 +234,7 @@ describe("onboard (devnet)", () => {
216
234
  // WHEN & THEN
217
235
  try {
218
236
  await firstValueFrom(
219
- preapprovalObservable(
220
- mockCurrency,
221
- mockDeviceId,
222
- mockDerivationPath,
223
- "invalid-party-id-123",
224
- ),
237
+ preapprovalObservable(mockCurrency, mockDeviceId, mockAccount, "invalid-party-id-123"),
225
238
  );
226
239
  expect(true).toBe(true);
227
240
  } catch (error) {