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

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 (168) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +12 -0
  3. package/lib/api/getBalance.integ.test.js +1 -1
  4. package/lib/api/getBalance.integ.test.js.map +1 -1
  5. package/lib/api/index.d.ts.map +1 -1
  6. package/lib/api/index.js +20 -28
  7. package/lib/api/index.js.map +1 -1
  8. package/lib/api/lastBlock.integ.test.js +1 -1
  9. package/lib/api/lastBlock.integ.test.js.map +1 -1
  10. package/lib/api/listOperations.integ.test.js +1 -1
  11. package/lib/api/listOperations.integ.test.js.map +1 -1
  12. package/lib/bridge/broadcast.d.ts.map +1 -1
  13. package/lib/bridge/broadcast.js +2 -2
  14. package/lib/bridge/broadcast.js.map +1 -1
  15. package/lib/bridge/broadcast.test.js +9 -0
  16. package/lib/bridge/broadcast.test.js.map +1 -1
  17. package/lib/bridge/createTransaction.js +1 -1
  18. package/lib/bridge/createTransaction.js.map +1 -1
  19. package/lib/bridge/getTransactionStatus.js +1 -1
  20. package/lib/bridge/getTransactionStatus.js.map +1 -1
  21. package/lib/bridge/onboard.d.ts +4 -3
  22. package/lib/bridge/onboard.d.ts.map +1 -1
  23. package/lib/bridge/onboard.integ.test.js +11 -8
  24. package/lib/bridge/onboard.integ.test.js.map +1 -1
  25. package/lib/bridge/onboard.js +24 -16
  26. package/lib/bridge/onboard.js.map +1 -1
  27. package/lib/bridge/prepareTransaction.js +1 -1
  28. package/lib/bridge/prepareTransaction.js.map +1 -1
  29. package/lib/bridge/signOperation.d.ts.map +1 -1
  30. package/lib/bridge/signOperation.js +10 -5
  31. package/lib/bridge/signOperation.js.map +1 -1
  32. package/lib/bridge/sync.d.ts.map +1 -1
  33. package/lib/bridge/sync.js +17 -12
  34. package/lib/bridge/sync.js.map +1 -1
  35. package/lib/common-logic/account/getBalance.d.ts +2 -1
  36. package/lib/common-logic/account/getBalance.d.ts.map +1 -1
  37. package/lib/common-logic/account/getBalance.js +7 -7
  38. package/lib/common-logic/account/getBalance.js.map +1 -1
  39. package/lib/common-logic/account/getBalance.unit.test.js +6 -3
  40. package/lib/common-logic/account/getBalance.unit.test.js.map +1 -1
  41. package/lib/common-logic/history/lastBlock.d.ts +2 -1
  42. package/lib/common-logic/history/lastBlock.d.ts.map +1 -1
  43. package/lib/common-logic/history/lastBlock.js +3 -3
  44. package/lib/common-logic/history/lastBlock.js.map +1 -1
  45. package/lib/common-logic/history/lastBlock.test.js +5 -2
  46. package/lib/common-logic/history/lastBlock.test.js.map +1 -1
  47. package/lib/common-logic/history/listOperations.d.ts +2 -1
  48. package/lib/common-logic/history/listOperations.d.ts.map +1 -1
  49. package/lib/common-logic/history/listOperations.js +2 -2
  50. package/lib/common-logic/history/listOperations.js.map +1 -1
  51. package/lib/common-logic/transaction/broadcast.d.ts +2 -1
  52. package/lib/common-logic/transaction/broadcast.d.ts.map +1 -1
  53. package/lib/common-logic/transaction/broadcast.js +4 -4
  54. package/lib/common-logic/transaction/broadcast.js.map +1 -1
  55. package/lib/common-logic/transaction/broadcast.test.js +6 -3
  56. package/lib/common-logic/transaction/broadcast.test.js.map +1 -1
  57. package/lib/common-logic/transaction/craftTransaction.d.ts +3 -1
  58. package/lib/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  59. package/lib/common-logic/transaction/craftTransaction.js +8 -4
  60. package/lib/common-logic/transaction/craftTransaction.js.map +1 -1
  61. package/lib/common-logic/transaction/estimateFees.d.ts +2 -1
  62. package/lib/common-logic/transaction/estimateFees.d.ts.map +1 -1
  63. package/lib/common-logic/transaction/estimateFees.js +3 -4
  64. package/lib/common-logic/transaction/estimateFees.js.map +1 -1
  65. package/lib/network/gateway.d.ts +24 -14
  66. package/lib/network/gateway.d.ts.map +1 -1
  67. package/lib/network/gateway.integ.test.js +17 -14
  68. package/lib/network/gateway.integ.test.js.map +1 -1
  69. package/lib/network/gateway.js +33 -33
  70. package/lib/network/gateway.js.map +1 -1
  71. package/lib/types/bridge.d.ts +5 -2
  72. package/lib/types/bridge.d.ts.map +1 -1
  73. package/lib-es/api/getBalance.integ.test.js +1 -1
  74. package/lib-es/api/getBalance.integ.test.js.map +1 -1
  75. package/lib-es/api/index.d.ts.map +1 -1
  76. package/lib-es/api/index.js +19 -27
  77. package/lib-es/api/index.js.map +1 -1
  78. package/lib-es/api/lastBlock.integ.test.js +1 -1
  79. package/lib-es/api/lastBlock.integ.test.js.map +1 -1
  80. package/lib-es/api/listOperations.integ.test.js +1 -1
  81. package/lib-es/api/listOperations.integ.test.js.map +1 -1
  82. package/lib-es/bridge/broadcast.d.ts.map +1 -1
  83. package/lib-es/bridge/broadcast.js +2 -2
  84. package/lib-es/bridge/broadcast.js.map +1 -1
  85. package/lib-es/bridge/broadcast.test.js +9 -0
  86. package/lib-es/bridge/broadcast.test.js.map +1 -1
  87. package/lib-es/bridge/createTransaction.js +1 -1
  88. package/lib-es/bridge/createTransaction.js.map +1 -1
  89. package/lib-es/bridge/getTransactionStatus.js +1 -1
  90. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  91. package/lib-es/bridge/onboard.d.ts +4 -3
  92. package/lib-es/bridge/onboard.d.ts.map +1 -1
  93. package/lib-es/bridge/onboard.integ.test.js +11 -8
  94. package/lib-es/bridge/onboard.integ.test.js.map +1 -1
  95. package/lib-es/bridge/onboard.js +24 -16
  96. package/lib-es/bridge/onboard.js.map +1 -1
  97. package/lib-es/bridge/prepareTransaction.js +1 -1
  98. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  99. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  100. package/lib-es/bridge/signOperation.js +10 -5
  101. package/lib-es/bridge/signOperation.js.map +1 -1
  102. package/lib-es/bridge/sync.d.ts.map +1 -1
  103. package/lib-es/bridge/sync.js +17 -12
  104. package/lib-es/bridge/sync.js.map +1 -1
  105. package/lib-es/common-logic/account/getBalance.d.ts +2 -1
  106. package/lib-es/common-logic/account/getBalance.d.ts.map +1 -1
  107. package/lib-es/common-logic/account/getBalance.js +7 -7
  108. package/lib-es/common-logic/account/getBalance.js.map +1 -1
  109. package/lib-es/common-logic/account/getBalance.unit.test.js +6 -3
  110. package/lib-es/common-logic/account/getBalance.unit.test.js.map +1 -1
  111. package/lib-es/common-logic/history/lastBlock.d.ts +2 -1
  112. package/lib-es/common-logic/history/lastBlock.d.ts.map +1 -1
  113. package/lib-es/common-logic/history/lastBlock.js +3 -3
  114. package/lib-es/common-logic/history/lastBlock.js.map +1 -1
  115. package/lib-es/common-logic/history/lastBlock.test.js +5 -2
  116. package/lib-es/common-logic/history/lastBlock.test.js.map +1 -1
  117. package/lib-es/common-logic/history/listOperations.d.ts +2 -1
  118. package/lib-es/common-logic/history/listOperations.d.ts.map +1 -1
  119. package/lib-es/common-logic/history/listOperations.js +2 -2
  120. package/lib-es/common-logic/history/listOperations.js.map +1 -1
  121. package/lib-es/common-logic/transaction/broadcast.d.ts +2 -1
  122. package/lib-es/common-logic/transaction/broadcast.d.ts.map +1 -1
  123. package/lib-es/common-logic/transaction/broadcast.js +4 -4
  124. package/lib-es/common-logic/transaction/broadcast.js.map +1 -1
  125. package/lib-es/common-logic/transaction/broadcast.test.js +6 -3
  126. package/lib-es/common-logic/transaction/broadcast.test.js.map +1 -1
  127. package/lib-es/common-logic/transaction/craftTransaction.d.ts +3 -1
  128. package/lib-es/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  129. package/lib-es/common-logic/transaction/craftTransaction.js +9 -5
  130. package/lib-es/common-logic/transaction/craftTransaction.js.map +1 -1
  131. package/lib-es/common-logic/transaction/estimateFees.d.ts +2 -1
  132. package/lib-es/common-logic/transaction/estimateFees.d.ts.map +1 -1
  133. package/lib-es/common-logic/transaction/estimateFees.js +3 -4
  134. package/lib-es/common-logic/transaction/estimateFees.js.map +1 -1
  135. package/lib-es/network/gateway.d.ts +24 -14
  136. package/lib-es/network/gateway.d.ts.map +1 -1
  137. package/lib-es/network/gateway.integ.test.js +17 -14
  138. package/lib-es/network/gateway.integ.test.js.map +1 -1
  139. package/lib-es/network/gateway.js +33 -33
  140. package/lib-es/network/gateway.js.map +1 -1
  141. package/lib-es/types/bridge.d.ts +5 -2
  142. package/lib-es/types/bridge.d.ts.map +1 -1
  143. package/package.json +3 -3
  144. package/src/api/getBalance.integ.test.ts +1 -1
  145. package/src/api/index.ts +22 -51
  146. package/src/api/lastBlock.integ.test.ts +1 -1
  147. package/src/api/listOperations.integ.test.ts +1 -1
  148. package/src/bridge/broadcast.test.ts +11 -0
  149. package/src/bridge/broadcast.ts +5 -2
  150. package/src/bridge/createTransaction.ts +1 -1
  151. package/src/bridge/getTransactionStatus.ts +1 -1
  152. package/src/bridge/onboard.integ.test.ts +22 -10
  153. package/src/bridge/onboard.ts +32 -13
  154. package/src/bridge/prepareTransaction.ts +1 -1
  155. package/src/bridge/signOperation.ts +20 -7
  156. package/src/bridge/sync.ts +17 -14
  157. package/src/common-logic/account/getBalance.ts +12 -7
  158. package/src/common-logic/account/getBalance.unit.test.ts +8 -3
  159. package/src/common-logic/history/lastBlock.test.ts +7 -2
  160. package/src/common-logic/history/lastBlock.ts +5 -3
  161. package/src/common-logic/history/listOperations.ts +3 -2
  162. package/src/common-logic/transaction/broadcast.test.ts +8 -3
  163. package/src/common-logic/transaction/broadcast.ts +6 -3
  164. package/src/common-logic/transaction/craftTransaction.ts +22 -5
  165. package/src/common-logic/transaction/estimateFees.ts +4 -4
  166. package/src/network/gateway.integ.test.ts +29 -11
  167. package/src/network/gateway.ts +66 -35
  168. package/src/types/bridge.ts +5 -0
@@ -1,9 +1,9 @@
1
1
  import network from "@ledgerhq/live-network";
2
2
  import { getEnv } from "@ledgerhq/live-env";
3
3
  import coinConfig from "../config";
4
- const getGatewayUrl = () => coinConfig.getCoinConfig().gatewayUrl;
5
- const getNodeId = () => coinConfig.getCoinConfig().nodeId || "ledger-devnet-stg";
6
- const getNetworkType = () => coinConfig.getCoinConfig().networkType;
4
+ const getGatewayUrl = (currency) => coinConfig.getCoinConfig(currency).gatewayUrl;
5
+ const getNodeId = (currency) => coinConfig.getCoinConfig(currency).nodeId || "ledger-devnet-stg";
6
+ const getNetworkType = (currency) => coinConfig.getCoinConfig(currency).networkType;
7
7
  const gatewayNetwork = (req) => {
8
8
  const API_KEY = getEnv("CANTON_API_KEY");
9
9
  return network({
@@ -14,9 +14,9 @@ const gatewayNetwork = (req) => {
14
14
  },
15
15
  });
16
16
  };
17
- export async function prepareOnboarding(pubKey, pubKeyType) {
18
- const gatewayUrl = getGatewayUrl();
19
- const nodeId = getNodeId();
17
+ export async function prepareOnboarding(currency, pubKey, pubKeyType) {
18
+ const gatewayUrl = getGatewayUrl(currency);
19
+ const nodeId = getNodeId(currency);
20
20
  const fullUrl = `${gatewayUrl}/v1/node/${nodeId}/onboarding/prepare`;
21
21
  const { data } = await gatewayNetwork({
22
22
  method: "POST",
@@ -28,10 +28,10 @@ export async function prepareOnboarding(pubKey, pubKeyType) {
28
28
  });
29
29
  return data;
30
30
  }
31
- export async function submitOnboarding(prepareRequest, prepareResponse, signature) {
31
+ export async function submitOnboarding(currency, prepareRequest, prepareResponse, signature) {
32
32
  const { data } = await gatewayNetwork({
33
33
  method: "POST",
34
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/onboarding/submit`,
34
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/onboarding/submit`,
35
35
  data: {
36
36
  prepare_request: prepareRequest,
37
37
  prepare_response: prepareResponse,
@@ -40,10 +40,10 @@ export async function submitOnboarding(prepareRequest, prepareResponse, signatur
40
40
  });
41
41
  return data;
42
42
  }
43
- export async function submit(partyId, serialized, signature) {
43
+ export async function submit(currency, partyId, serialized, signature) {
44
44
  const { data } = await gatewayNetwork({
45
45
  method: "POST",
46
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/submit`,
46
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/submit`,
47
47
  data: {
48
48
  serialized,
49
49
  signature,
@@ -51,30 +51,30 @@ export async function submit(partyId, serialized, signature) {
51
51
  });
52
52
  return data;
53
53
  }
54
- export async function getBalance(partyId) {
54
+ export async function getBalance(currency, partyId) {
55
55
  const { data } = await gatewayNetwork({
56
56
  method: "GET",
57
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/balance`,
57
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/balance`,
58
58
  });
59
59
  return data;
60
60
  }
61
- export async function getPartyById(partyId) {
62
- return await getParty(partyId, "party-id");
61
+ export async function getPartyById(currency, partyId) {
62
+ return await getParty(currency, partyId, "party-id");
63
63
  }
64
- export async function getPartyByPubKey(pubKey) {
65
- return await getParty(pubKey, "public-key");
64
+ export async function getPartyByPubKey(currency, pubKey) {
65
+ return await getParty(currency, pubKey, "public-key");
66
66
  }
67
- async function getParty(identifier, by) {
67
+ async function getParty(currency, identifier, by) {
68
68
  const { data } = await gatewayNetwork({
69
69
  method: "GET",
70
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${identifier}?by=${by}`,
70
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${identifier}?by=${by}`,
71
71
  });
72
72
  return data;
73
73
  }
74
- export async function getOperations(partyId, options) {
74
+ export async function getOperations(currency, partyId, options) {
75
75
  const { data } = await gatewayNetwork({
76
76
  method: "GET",
77
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/operations`,
77
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/operations`,
78
78
  params: options,
79
79
  });
80
80
  return data;
@@ -84,8 +84,8 @@ var TransactionType;
84
84
  TransactionType["TAP_REQUEST"] = "tap-request";
85
85
  TransactionType["TRANSFER_PRE_APPROVAL_PROPOSAL"] = "transfer-pre-approval-proposal";
86
86
  })(TransactionType || (TransactionType = {}));
87
- export async function prepareTapRequest({ partyId, amount = 1000000, }) {
88
- if (getNetworkType() === "mainnet") {
87
+ export async function prepareTapRequest(currency, { partyId, amount = 1000000 }) {
88
+ if (getNetworkType(currency) === "mainnet") {
89
89
  return {
90
90
  serialized: "",
91
91
  json: null,
@@ -94,7 +94,7 @@ export async function prepareTapRequest({ partyId, amount = 1000000, }) {
94
94
  }
95
95
  const { data } = await gatewayNetwork({
96
96
  method: "POST",
97
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
97
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/prepare`,
98
98
  data: {
99
99
  amount: parseInt(amount.toString(), 10), // Convert to integer to avoid scientific notation
100
100
  type: TransactionType.TAP_REQUEST,
@@ -102,10 +102,10 @@ export async function prepareTapRequest({ partyId, amount = 1000000, }) {
102
102
  });
103
103
  return data;
104
104
  }
105
- export async function submitTapRequest({ partyId, serialized, signature, }) {
105
+ export async function submitTapRequest(currency, { partyId, serialized, signature }) {
106
106
  const { data } = await gatewayNetwork({
107
107
  method: "POST",
108
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/submit`,
108
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/submit`,
109
109
  data: {
110
110
  serialized,
111
111
  signature,
@@ -113,25 +113,25 @@ export async function submitTapRequest({ partyId, serialized, signature, }) {
113
113
  });
114
114
  return data;
115
115
  }
116
- export async function prepareTransferRequest(partyId, params) {
116
+ export async function prepareTransferRequest(currency, partyId, params) {
117
117
  const { data } = await gatewayNetwork({
118
118
  method: "POST",
119
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
119
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/prepare`,
120
120
  data: params,
121
121
  });
122
122
  return data;
123
123
  }
124
- export async function getLedgerEnd() {
124
+ export async function getLedgerEnd(currency) {
125
125
  const { data } = await gatewayNetwork({
126
126
  method: "GET",
127
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/ledger-end`,
127
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/ledger-end`,
128
128
  });
129
129
  return data;
130
130
  }
131
- export async function preparePreApprovalTransaction(partyId) {
131
+ export async function preparePreApprovalTransaction(currency, partyId) {
132
132
  const { data } = await gatewayNetwork({
133
133
  method: "POST",
134
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/prepare`,
134
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/prepare`,
135
135
  data: {
136
136
  type: TransactionType.TRANSFER_PRE_APPROVAL_PROPOSAL,
137
137
  receiver: partyId,
@@ -139,10 +139,10 @@ export async function preparePreApprovalTransaction(partyId) {
139
139
  });
140
140
  return data;
141
141
  }
142
- export async function submitPreApprovalTransaction(partyId, { serialized }, signature) {
142
+ export async function submitPreApprovalTransaction(currency, partyId, { serialized }, signature) {
143
143
  const { data } = await gatewayNetwork({
144
144
  method: "POST",
145
- url: `${getGatewayUrl()}/v1/node/${getNodeId()}/party/${partyId}/transaction/submit`,
145
+ url: `${getGatewayUrl(currency)}/v1/node/${getNodeId(currency)}/party/${partyId}/transaction/submit`,
146
146
  data: {
147
147
  serialized,
148
148
  signature,
@@ -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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"}
@@ -2,9 +2,10 @@ 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
4
  import type { CantonOnboardProgress, CantonOnboardResult, CantonPreApprovalProgress, CantonPreApprovalResult } from "./onboard";
5
+ import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
5
6
  export interface CantonCurrencyBridge extends CurrencyBridge {
6
- onboardAccount: (deviceId: string, derivationPath: string) => Observable<CantonOnboardProgress | CantonOnboardResult>;
7
- authorizePreapproval: (deviceId: string, derivationPath: string, partyId: string) => Observable<CantonPreApprovalProgress | CantonPreApprovalResult>;
7
+ onboardAccount: (currency: CryptoCurrency, deviceId: string, derivationPath: string) => Observable<CantonOnboardProgress | CantonOnboardResult>;
8
+ authorizePreapproval: (currency: CryptoCurrency, deviceId: string, derivationPath: string, partyId: string) => Observable<CantonPreApprovalProgress | CantonPreApprovalResult>;
8
9
  }
9
10
  export type NetworkInfo = {
10
11
  family: "canton";
@@ -19,10 +20,12 @@ export type NetworkInfoRaw = {
19
20
  export type Transaction = TransactionCommon & {
20
21
  family: "canton";
21
22
  fee: BigNumber | null | undefined;
23
+ memo?: string;
22
24
  };
23
25
  export type TransactionRaw = TransactionCommonRaw & {
24
26
  family: "canton";
25
27
  fee: string | null | undefined;
28
+ memo?: string;
26
29
  };
27
30
  export type TransactionStatus = TransactionStatusCommon;
28
31
  export type TransactionStatusRaw = TransactionStatusCommonRaw;
@@ -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;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
+ {"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;CACf,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;CACf,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-canton",
3
- "version": "0.5.0-nightly.4",
3
+ "version": "0.5.0-nightly.5",
4
4
  "description": "Canton coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -101,8 +101,8 @@
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.4",
105
- "@ledgerhq/cryptoassets": "^13.28.0-nightly.2",
104
+ "@ledgerhq/coin-framework": "^6.4.0-nightly.5",
105
+ "@ledgerhq/cryptoassets": "^13.28.0-nightly.3",
106
106
  "@ledgerhq/devices": "8.5.1",
107
107
  "@ledgerhq/errors": "^6.25.0",
108
108
  "@ledgerhq/live-env": "^2.16.0-nightly.1",
@@ -3,7 +3,7 @@ import { createApi } from ".";
3
3
 
4
4
  let api: AlpacaApi;
5
5
 
6
- describe("devnet", () => {
6
+ describe.skip("devnet", () => {
7
7
  beforeAll(() => {
8
8
  api = createApi({
9
9
  nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
package/src/api/index.ts CHANGED
@@ -8,31 +8,36 @@ import {
8
8
  Reward,
9
9
  Stake,
10
10
  TransactionIntent,
11
- CraftedTransaction,
11
+ Operation,
12
+ Balance,
13
+ Pagination,
12
14
  } from "@ledgerhq/coin-framework/api/index";
13
15
  import coinConfig, { type CantonConfig } from "../config";
14
- import {
15
- broadcast,
16
- combine,
17
- craftTransaction,
18
- estimateFees,
19
- getBalance,
20
- lastBlock,
21
- listOperations,
22
- } from "../common-logic";
23
- import BigNumber from "bignumber.js";
16
+ import { combine } from "../common-logic/transaction/combine";
24
17
 
25
18
  export function createApi(config: CantonConfig): AlpacaApi {
26
19
  coinConfig.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
27
20
 
28
21
  return {
29
- broadcast,
22
+ broadcast: (_tx: string): Promise<string> => {
23
+ throw new Error("broadcast is not supported");
24
+ },
30
25
  combine,
31
- craftTransaction: craft(config.nativeInstrumentId ?? ""),
32
- estimateFees: estimate(config.nativeInstrumentId ?? ""),
33
- getBalance,
34
- lastBlock,
35
- listOperations,
26
+ craftTransaction(_transactionIntent: TransactionIntent, _customFees?: FeeEstimation) {
27
+ throw new Error("craftTransaction is not supported");
28
+ },
29
+ estimateFees(_transactionIntent: TransactionIntent): Promise<FeeEstimation> {
30
+ throw new Error("estimateFees is not supported");
31
+ },
32
+ getBalance(_address: string): Promise<Balance[]> {
33
+ throw new Error("getBalance is not supported");
34
+ },
35
+ lastBlock(): Promise<BlockInfo> {
36
+ throw new Error("listOperations is not supported");
37
+ },
38
+ listOperations(_address: string, _pagination: Pagination): Promise<[Operation[], string]> {
39
+ throw new Error("listOperations is not supported");
40
+ },
36
41
  getBlock(_height): Promise<Block> {
37
42
  throw new Error("getBlock is not supported");
38
43
  },
@@ -47,37 +52,3 @@ export function createApi(config: CantonConfig): AlpacaApi {
47
52
  },
48
53
  };
49
54
  }
50
-
51
- const craft =
52
- (tokenId: string) =>
53
- async (transactionIntent: TransactionIntent): Promise<CraftedTransaction> => {
54
- const tx = await craftTransaction(
55
- { address: transactionIntent.sender },
56
- {
57
- recipient: transactionIntent.recipient,
58
- amount: new BigNumber(transactionIntent.amount.toString()),
59
- tokenId,
60
- expireInSeconds: 24 * 60 * 60,
61
- },
62
- );
63
-
64
- return { transaction: tx.serializedTransaction };
65
- };
66
-
67
- const estimate =
68
- (tokenId: string) =>
69
- async (transactionIntent: TransactionIntent): Promise<FeeEstimation> => {
70
- const { serializedTransaction } = await craftTransaction(
71
- { address: transactionIntent.sender },
72
- {
73
- recipient: transactionIntent.recipient,
74
- amount: new BigNumber(transactionIntent.amount.toString()),
75
- tokenId,
76
- expireInSeconds: 24 * 60 * 60,
77
- },
78
- );
79
-
80
- const value = await estimateFees(serializedTransaction);
81
-
82
- return { value };
83
- };
@@ -20,7 +20,7 @@ describe.skip("localnet", () => {
20
20
  });
21
21
  });
22
22
 
23
- describe("devnet", () => {
23
+ describe.skip("devnet", () => {
24
24
  beforeAll(() => {
25
25
  api = createApi({
26
26
  nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
@@ -3,7 +3,7 @@ import { createApi } from ".";
3
3
 
4
4
  let api: AlpacaApi;
5
5
 
6
- describe("devnet", () => {
6
+ describe.skip("devnet", () => {
7
7
  beforeAll(() => {
8
8
  api = createApi({
9
9
  nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
@@ -4,6 +4,11 @@ jest.mock("@ledgerhq/coin-framework/operation");
4
4
  jest.mock("../common-logic");
5
5
  import { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
6
6
  import { broadcast as broadcastLogic } from "../common-logic";
7
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
8
+
9
+ const mockCurrency = {
10
+ id: "canton_network",
11
+ } as unknown as CryptoCurrency;
7
12
 
8
13
  describe("broadcast", () => {
9
14
  let patchOperationSpy: jest.SpyInstance;
@@ -16,6 +21,9 @@ describe("broadcast", () => {
16
21
 
17
22
  it("should broadcast", () => {
18
23
  broadcast({
24
+ account: {
25
+ currency: mockCurrency,
26
+ },
19
27
  signedOperation: {
20
28
  signature: undefined,
21
29
  operation: undefined,
@@ -26,6 +34,9 @@ describe("broadcast", () => {
26
34
 
27
35
  it("should patch operation with hash", () => {
28
36
  broadcast({
37
+ account: {
38
+ currency: mockCurrency,
39
+ },
29
40
  signedOperation: {
30
41
  signature: undefined,
31
42
  operation: undefined,
@@ -3,8 +3,11 @@ import { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
3
3
  import { broadcast as broadcastLogic } from "../common-logic";
4
4
  import { Transaction } from "../types";
5
5
 
6
- export const broadcast: AccountBridge<Transaction>["broadcast"] = async ({ signedOperation }) => {
6
+ export const broadcast: AccountBridge<Transaction>["broadcast"] = async ({
7
+ account,
8
+ signedOperation,
9
+ }) => {
7
10
  const { operation, signature } = signedOperation;
8
- const hash = await broadcastLogic(signature);
11
+ const hash = await broadcastLogic(account.currency, signature);
9
12
  return patchOperationWithHash(operation, hash);
10
13
  };
@@ -8,7 +8,7 @@ export const createTransaction: AccountBridge<Transaction>["createTransaction"]
8
8
  amount: new BigNumber(0),
9
9
  recipient: "",
10
10
  fee: null,
11
- memo: undefined,
11
+ memo: "",
12
12
  networkInfo: null,
13
13
  feeCustomUnit: null,
14
14
  });
@@ -25,7 +25,7 @@ export const getTransactionStatus: AccountBridge<
25
25
  const warnings: Record<string, Error> = {};
26
26
 
27
27
  // reserveAmount is the minimum amount of currency that an account must hold in order to stay activated
28
- const reserveAmount = new BigNumber(coinConfig.getCoinConfig().minReserve || 0);
28
+ const reserveAmount = new BigNumber(coinConfig.getCoinConfig(account.currency).minReserve || 0);
29
29
  const estimatedFees = new BigNumber(transaction.fee || 0);
30
30
  const totalSpent = new BigNumber(transaction.amount).plus(estimatedFees);
31
31
  const amount = new BigNumber(transaction.amount);
@@ -10,10 +10,14 @@ import {
10
10
  CantonPreApprovalResult,
11
11
  } from "../types/onboard";
12
12
  import coinConfig from "../config";
13
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
13
14
 
14
15
  describe("onboard (devnet)", () => {
15
16
  const mockDeviceId = "test-device-id";
16
17
  const mockDerivationPath = "44'/6767'/0'/0'/0'";
18
+ const mockCurrency = {
19
+ id: "canton_network",
20
+ } as unknown as CryptoCurrency;
17
21
 
18
22
  let onboardedAccount: {
19
23
  keyPair: ReturnType<typeof generateMockKeyPair>;
@@ -53,7 +57,7 @@ describe("onboard (devnet)", () => {
53
57
 
54
58
  const onboardObservable = buildOnboardAccount(mockSignerContext);
55
59
  const onboardValues = await firstValueFrom(
56
- onboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
60
+ onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
57
61
  );
58
62
  const onboardResult = onboardValues.find(
59
63
  (value): value is CantonOnboardResult => "partyId" in value,
@@ -72,7 +76,7 @@ describe("onboard (devnet)", () => {
72
76
  };
73
77
 
74
78
  // WHEN
75
- const result = await isAccountOnboarded(keyPair.publicKeyHex);
79
+ const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
76
80
 
77
81
  // THEN
78
82
  expect(result).not.toBe(false);
@@ -87,7 +91,7 @@ describe("onboard (devnet)", () => {
87
91
  const keyPair = generateMockKeyPair();
88
92
 
89
93
  // WHEN
90
- const result = await isAccountOnboarded(keyPair.publicKeyHex);
94
+ const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
91
95
 
92
96
  // THEN
93
97
  expect(result).toEqual({ isOnboarded: false });
@@ -98,7 +102,7 @@ describe("onboard (devnet)", () => {
98
102
  const keyPair = generateMockKeyPair();
99
103
 
100
104
  // WHEN
101
- const result = await isAccountOnboarded(keyPair.publicKeyHex);
105
+ const result = await isAccountOnboarded(mockCurrency, keyPair.publicKeyHex);
102
106
 
103
107
  // THEN
104
108
  expect(result).toEqual({ isOnboarded: false });
@@ -117,7 +121,7 @@ describe("onboard (devnet)", () => {
117
121
 
118
122
  // WHEN
119
123
  const allValues = await firstValueFrom(
120
- onboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
124
+ onboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
121
125
  );
122
126
  const progressValues = allValues.filter(
123
127
  (value): value is CantonOnboardProgress => "status" in value && !("partyId" in value),
@@ -149,7 +153,7 @@ describe("onboard (devnet)", () => {
149
153
 
150
154
  // WHEN
151
155
  const secondOnboardValues = await firstValueFrom(
152
- secondOnboardObservable(mockDeviceId, mockDerivationPath).pipe(toArray()),
156
+ secondOnboardObservable(mockCurrency, mockDeviceId, mockDerivationPath).pipe(toArray()),
153
157
  );
154
158
  const secondResult = secondOnboardValues.find(
155
159
  (value): value is CantonOnboardResult => "partyId" in value,
@@ -170,9 +174,12 @@ describe("onboard (devnet)", () => {
170
174
 
171
175
  // WHEN
172
176
  const preapprovalValues = await firstValueFrom(
173
- preapprovalObservable(mockDeviceId, mockDerivationPath, onboardResult.partyId).pipe(
174
- toArray(),
175
- ),
177
+ preapprovalObservable(
178
+ mockCurrency,
179
+ mockDeviceId,
180
+ mockDerivationPath,
181
+ onboardResult.partyId,
182
+ ).pipe(toArray()),
176
183
  );
177
184
 
178
185
  const progressValues = preapprovalValues.filter(
@@ -208,7 +215,12 @@ describe("onboard (devnet)", () => {
208
215
  // WHEN & THEN
209
216
  try {
210
217
  await firstValueFrom(
211
- preapprovalObservable(mockDeviceId, mockDerivationPath, "invalid-party-id-123"),
218
+ preapprovalObservable(
219
+ mockCurrency,
220
+ mockDeviceId,
221
+ mockDerivationPath,
222
+ "invalid-party-id-123",
223
+ ),
212
224
  );
213
225
  expect(true).toBe(true);
214
226
  } catch (error) {