@ledgerhq/coin-canton 0.12.0-nightly.20251210120335 → 0.12.0-nightly.20251212024049

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 (94) hide show
  1. package/CHANGELOG.md +15 -9
  2. package/lib/bridge/buildSubAccounts.d.ts +23 -0
  3. package/lib/bridge/buildSubAccounts.d.ts.map +1 -0
  4. package/lib/bridge/buildSubAccounts.js +80 -0
  5. package/lib/bridge/buildSubAccounts.js.map +1 -0
  6. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  7. package/lib/bridge/getTransactionStatus.js +45 -24
  8. package/lib/bridge/getTransactionStatus.js.map +1 -1
  9. package/lib/bridge/index.d.ts.map +1 -1
  10. package/lib/bridge/index.js +2 -0
  11. package/lib/bridge/index.js.map +1 -1
  12. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  13. package/lib/bridge/prepareTransaction.js +19 -3
  14. package/lib/bridge/prepareTransaction.js.map +1 -1
  15. package/lib/bridge/signOperation.d.ts.map +1 -1
  16. package/lib/bridge/signOperation.js +3 -0
  17. package/lib/bridge/signOperation.js.map +1 -1
  18. package/lib/bridge/sync.d.ts +3 -0
  19. package/lib/bridge/sync.d.ts.map +1 -1
  20. package/lib/bridge/sync.js +115 -19
  21. package/lib/bridge/sync.js.map +1 -1
  22. package/lib/bridge/validateAddress.d.ts +3 -0
  23. package/lib/bridge/validateAddress.d.ts.map +1 -0
  24. package/lib/bridge/validateAddress.js +8 -0
  25. package/lib/bridge/validateAddress.js.map +1 -0
  26. package/lib/common-logic/account/getBalance.d.ts +1 -0
  27. package/lib/common-logic/account/getBalance.d.ts.map +1 -1
  28. package/lib/common-logic/account/getBalance.js +1 -0
  29. package/lib/common-logic/account/getBalance.js.map +1 -1
  30. package/lib/common-logic/transaction/craftTransaction.d.ts +1 -0
  31. package/lib/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  32. package/lib/common-logic/transaction/craftTransaction.js +3 -0
  33. package/lib/common-logic/transaction/craftTransaction.js.map +1 -1
  34. package/lib/network/gateway.d.ts +30 -12
  35. package/lib/network/gateway.d.ts.map +1 -1
  36. package/lib/network/gateway.js +44 -1
  37. package/lib/network/gateway.js.map +1 -1
  38. package/lib/types/bridge.d.ts +2 -0
  39. package/lib/types/bridge.d.ts.map +1 -1
  40. package/lib-es/bridge/buildSubAccounts.d.ts +23 -0
  41. package/lib-es/bridge/buildSubAccounts.d.ts.map +1 -0
  42. package/lib-es/bridge/buildSubAccounts.js +74 -0
  43. package/lib-es/bridge/buildSubAccounts.js.map +1 -0
  44. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  45. package/lib-es/bridge/getTransactionStatus.js +46 -25
  46. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  47. package/lib-es/bridge/index.d.ts.map +1 -1
  48. package/lib-es/bridge/index.js +2 -0
  49. package/lib-es/bridge/index.js.map +1 -1
  50. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  51. package/lib-es/bridge/prepareTransaction.js +19 -3
  52. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  53. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  54. package/lib-es/bridge/signOperation.js +3 -0
  55. package/lib-es/bridge/signOperation.js.map +1 -1
  56. package/lib-es/bridge/sync.d.ts +3 -0
  57. package/lib-es/bridge/sync.d.ts.map +1 -1
  58. package/lib-es/bridge/sync.js +115 -20
  59. package/lib-es/bridge/sync.js.map +1 -1
  60. package/lib-es/bridge/validateAddress.d.ts +3 -0
  61. package/lib-es/bridge/validateAddress.d.ts.map +1 -0
  62. package/lib-es/bridge/validateAddress.js +5 -0
  63. package/lib-es/bridge/validateAddress.js.map +1 -0
  64. package/lib-es/common-logic/account/getBalance.d.ts +1 -0
  65. package/lib-es/common-logic/account/getBalance.d.ts.map +1 -1
  66. package/lib-es/common-logic/account/getBalance.js +1 -0
  67. package/lib-es/common-logic/account/getBalance.js.map +1 -1
  68. package/lib-es/common-logic/transaction/craftTransaction.d.ts +1 -0
  69. package/lib-es/common-logic/transaction/craftTransaction.d.ts.map +1 -1
  70. package/lib-es/common-logic/transaction/craftTransaction.js +3 -0
  71. package/lib-es/common-logic/transaction/craftTransaction.js.map +1 -1
  72. package/lib-es/network/gateway.d.ts +30 -12
  73. package/lib-es/network/gateway.d.ts.map +1 -1
  74. package/lib-es/network/gateway.js +41 -0
  75. package/lib-es/network/gateway.js.map +1 -1
  76. package/lib-es/types/bridge.d.ts +2 -0
  77. package/lib-es/types/bridge.d.ts.map +1 -1
  78. package/package.json +9 -9
  79. package/src/bridge/buildSubAccounts.test.ts +120 -0
  80. package/src/bridge/buildSubAccounts.ts +132 -0
  81. package/src/bridge/getTransactionStatus.ts +53 -22
  82. package/src/bridge/index.ts +2 -0
  83. package/src/bridge/prepareTransaction.ts +29 -4
  84. package/src/bridge/signOperation.ts +4 -0
  85. package/src/bridge/sync.test.ts +237 -191
  86. package/src/bridge/sync.ts +154 -24
  87. package/src/bridge/validateAddress.test.ts +25 -0
  88. package/src/bridge/validateAddress.ts +9 -0
  89. package/src/common-logic/account/getBalance.ts +2 -0
  90. package/src/common-logic/transaction/craftTransaction.ts +5 -0
  91. package/src/network/gateway.test.ts +169 -0
  92. package/src/network/gateway.ts +83 -12
  93. package/src/types/bridge.ts +2 -0
  94. package/tsconfig.json +7 -2
package/CHANGELOG.md CHANGED
@@ -1,27 +1,33 @@
1
1
  # @ledgerhq/coin-canton
2
2
 
3
- ## 0.12.0-nightly.20251210120335
3
+ ## 0.12.0-nightly.20251212024049
4
4
 
5
5
  ### Minor Changes
6
6
 
7
+ - [#13206](https://github.com/LedgerHQ/ledger-live/pull/13206) [`813adfa`](https://github.com/LedgerHQ/ledger-live/commit/813adfa23c827a68054fd7690058cfc970e3a010) Thanks [@jonezque](https://github.com/jonezque)! - feat: canton token support
8
+
9
+ - [#12967](https://github.com/LedgerHQ/ledger-live/pull/12967) [`5e8d6be`](https://github.com/LedgerHQ/ledger-live/commit/5e8d6be609dd37c48d747890e56189e0716d5273) Thanks [@Moustafa-Koterba](https://github.com/Moustafa-Koterba)! - Validate address implementation on all currencies
10
+
7
11
  - [#12935](https://github.com/LedgerHQ/ledger-live/pull/12935) [`3e70677`](https://github.com/LedgerHQ/ledger-live/commit/3e706774f8c4e9b768ab18b67abc3471cf61b6b6) Thanks [@ishaba](https://github.com/ishaba)! - feat: canton account topology change
8
12
 
9
13
  - [#13155](https://github.com/LedgerHQ/ledger-live/pull/13155) [`aadb3d5`](https://github.com/LedgerHQ/ledger-live/commit/aadb3d57f5719cc2cc397975eafec8094b160afe) Thanks [@gre-ledger](https://github.com/gre-ledger)! - rxjs@7.8.2 everywhere
10
14
 
11
15
  - [#13186](https://github.com/LedgerHQ/ledger-live/pull/13186) [`6e33be1`](https://github.com/LedgerHQ/ledger-live/commit/6e33be1e52c90369e96d8dd56caf762ba24286ae) Thanks [@ishaba](https://github.com/ishaba)! - fix canton accounts sync for onboarded accounts
12
16
 
17
+ - [#13201](https://github.com/LedgerHQ/ledger-live/pull/13201) [`a9a7aa8`](https://github.com/LedgerHQ/ledger-live/commit/a9a7aa85339ec31b1d43a497ade13f3a8bc5d11c) Thanks [@ishaba](https://github.com/ishaba)! - feat: canton gateway tokens support
18
+
13
19
  ### Patch Changes
14
20
 
15
21
  - [#13120](https://github.com/LedgerHQ/ledger-live/pull/13120) [`4d9f37b`](https://github.com/LedgerHQ/ledger-live/commit/4d9f37bfeaec1ca1659b497e8281da8f4cc5a418) Thanks [@ishaba](https://github.com/ishaba)! - feat: canton update geteway urls
16
22
 
17
- - Updated dependencies [[`480a08a`](https://github.com/LedgerHQ/ledger-live/commit/480a08ae190119829910b46ecc6d2a9fb11bb7c2), [`19a54fd`](https://github.com/LedgerHQ/ledger-live/commit/19a54fd89a2d3c7481aebc28817870875f9d44dc), [`bc76d51`](https://github.com/LedgerHQ/ledger-live/commit/bc76d5154d35f8340b6b282c4909cd26920b8d40), [`7ae71b6`](https://github.com/LedgerHQ/ledger-live/commit/7ae71b64161424b398b63f77da5127085143fcdc), [`5fa83e4`](https://github.com/LedgerHQ/ledger-live/commit/5fa83e49c5fb103da7ecf0777b7e75bb35d5ed61), [`c5da2ce`](https://github.com/LedgerHQ/ledger-live/commit/c5da2cef7cded2b53c1af9aa3174cd27e5c92e0a), [`450f518`](https://github.com/LedgerHQ/ledger-live/commit/450f518d4cedb828c5fe1e7ccffaabd483f53226), [`30be235`](https://github.com/LedgerHQ/ledger-live/commit/30be2354822b3497c69322294ff1dab43375be50), [`bdacedf`](https://github.com/LedgerHQ/ledger-live/commit/bdacedfe32bea8ffce96ab675a44c0d7cf395143), [`768718d`](https://github.com/LedgerHQ/ledger-live/commit/768718df029bc8799b88c0299925dc56302b0c53), [`a5ad7d4`](https://github.com/LedgerHQ/ledger-live/commit/a5ad7d4578c06db3e40f260451b644c27e20cb62), [`3e70677`](https://github.com/LedgerHQ/ledger-live/commit/3e706774f8c4e9b768ab18b67abc3471cf61b6b6), [`aadb3d5`](https://github.com/LedgerHQ/ledger-live/commit/aadb3d57f5719cc2cc397975eafec8094b160afe), [`e44d216`](https://github.com/LedgerHQ/ledger-live/commit/e44d216d516df87e13f033ed64fedc1ce96380f4), [`d4bad44`](https://github.com/LedgerHQ/ledger-live/commit/d4bad4433c3fb083d95820d2927a9e8beeaf244f), [`8d8e1b7`](https://github.com/LedgerHQ/ledger-live/commit/8d8e1b7bb26305af326ea21710248223d1e8653b), [`07de7a8`](https://github.com/LedgerHQ/ledger-live/commit/07de7a87415ae4d1126e751d6a4d521ced3065e3), [`d37fa4b`](https://github.com/LedgerHQ/ledger-live/commit/d37fa4baf4534161bffe5033ce44fc7780c79d89), [`5e0556a`](https://github.com/LedgerHQ/ledger-live/commit/5e0556a3bd0ea60277462eed10c997b17b09d299), [`bce6610`](https://github.com/LedgerHQ/ledger-live/commit/bce6610ca8554a85f8f17b6014e921fdecd3fa4f), [`2a60165`](https://github.com/LedgerHQ/ledger-live/commit/2a601656b7a23a424a29f006ec53090648fdae4f), [`c56ab86`](https://github.com/LedgerHQ/ledger-live/commit/c56ab86ab65597caf87a09b7596faa54f3104bd4)]:
18
- - @ledgerhq/coin-framework@6.11.0-nightly.20251210120335
19
- - @ledgerhq/types-live@6.91.0-nightly.20251210120335
20
- - @ledgerhq/cryptoassets@13.35.0-nightly.20251210120335
21
- - @ledgerhq/errors@6.28.0-nightly.20251210120335
22
- - @ledgerhq/live-env@2.23.0-nightly.20251210120335
23
- - @ledgerhq/devices@8.8.0-nightly.20251210120335
24
- - @ledgerhq/live-network@2.1.3-nightly.20251210120335
23
+ - Updated dependencies [[`480a08a`](https://github.com/LedgerHQ/ledger-live/commit/480a08ae190119829910b46ecc6d2a9fb11bb7c2), [`19a54fd`](https://github.com/LedgerHQ/ledger-live/commit/19a54fd89a2d3c7481aebc28817870875f9d44dc), [`bc76d51`](https://github.com/LedgerHQ/ledger-live/commit/bc76d5154d35f8340b6b282c4909cd26920b8d40), [`4be69a7`](https://github.com/LedgerHQ/ledger-live/commit/4be69a71dcd7624a1cba8dd1b1847ef009eb2d83), [`7ae71b6`](https://github.com/LedgerHQ/ledger-live/commit/7ae71b64161424b398b63f77da5127085143fcdc), [`5fa83e4`](https://github.com/LedgerHQ/ledger-live/commit/5fa83e49c5fb103da7ecf0777b7e75bb35d5ed61), [`c5da2ce`](https://github.com/LedgerHQ/ledger-live/commit/c5da2cef7cded2b53c1af9aa3174cd27e5c92e0a), [`450f518`](https://github.com/LedgerHQ/ledger-live/commit/450f518d4cedb828c5fe1e7ccffaabd483f53226), [`30be235`](https://github.com/LedgerHQ/ledger-live/commit/30be2354822b3497c69322294ff1dab43375be50), [`bdacedf`](https://github.com/LedgerHQ/ledger-live/commit/bdacedfe32bea8ffce96ab675a44c0d7cf395143), [`5e8d6be`](https://github.com/LedgerHQ/ledger-live/commit/5e8d6be609dd37c48d747890e56189e0716d5273), [`768718d`](https://github.com/LedgerHQ/ledger-live/commit/768718df029bc8799b88c0299925dc56302b0c53), [`a5ad7d4`](https://github.com/LedgerHQ/ledger-live/commit/a5ad7d4578c06db3e40f260451b644c27e20cb62), [`3e70677`](https://github.com/LedgerHQ/ledger-live/commit/3e706774f8c4e9b768ab18b67abc3471cf61b6b6), [`aadb3d5`](https://github.com/LedgerHQ/ledger-live/commit/aadb3d57f5719cc2cc397975eafec8094b160afe), [`e44d216`](https://github.com/LedgerHQ/ledger-live/commit/e44d216d516df87e13f033ed64fedc1ce96380f4), [`d4bad44`](https://github.com/LedgerHQ/ledger-live/commit/d4bad4433c3fb083d95820d2927a9e8beeaf244f), [`8d8e1b7`](https://github.com/LedgerHQ/ledger-live/commit/8d8e1b7bb26305af326ea21710248223d1e8653b), [`07de7a8`](https://github.com/LedgerHQ/ledger-live/commit/07de7a87415ae4d1126e751d6a4d521ced3065e3), [`d37fa4b`](https://github.com/LedgerHQ/ledger-live/commit/d37fa4baf4534161bffe5033ce44fc7780c79d89), [`5e0556a`](https://github.com/LedgerHQ/ledger-live/commit/5e0556a3bd0ea60277462eed10c997b17b09d299), [`bce6610`](https://github.com/LedgerHQ/ledger-live/commit/bce6610ca8554a85f8f17b6014e921fdecd3fa4f), [`2a60165`](https://github.com/LedgerHQ/ledger-live/commit/2a601656b7a23a424a29f006ec53090648fdae4f), [`2d9f320`](https://github.com/LedgerHQ/ledger-live/commit/2d9f32087eea12ae9d5ea2347b277b8bf4e60f55), [`c56ab86`](https://github.com/LedgerHQ/ledger-live/commit/c56ab86ab65597caf87a09b7596faa54f3104bd4)]:
24
+ - @ledgerhq/coin-framework@6.11.0-nightly.20251212024049
25
+ - @ledgerhq/types-live@6.91.0-nightly.20251212024049
26
+ - @ledgerhq/cryptoassets@13.35.0-nightly.20251212024049
27
+ - @ledgerhq/errors@6.28.0-nightly.20251212024049
28
+ - @ledgerhq/live-env@2.23.0-nightly.20251212024049
29
+ - @ledgerhq/devices@8.8.0-nightly.20251212024049
30
+ - @ledgerhq/live-network@2.1.3-nightly.20251212024049
25
31
 
26
32
  ## 0.11.0
27
33
 
@@ -0,0 +1,23 @@
1
+ import { Operation } from "@ledgerhq/types-live";
2
+ import type { TokenAccount } from "@ledgerhq/types-live";
3
+ import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
+ import { type TransferProposal } from "../network/gateway";
5
+ export type CantonTokenAccount = TokenAccount & {
6
+ cantonResources: {
7
+ pendingTransferProposals: TransferProposal[];
8
+ };
9
+ };
10
+ export declare function buildSubAccounts({ accountId, tokenBalances, existingSubAccounts, allOperations, pendingTransferProposals, calTokens, }: {
11
+ accountId: string;
12
+ calTokens: Map<string, string>;
13
+ tokenBalances: Array<{
14
+ adminId: string;
15
+ totalBalance: bigint;
16
+ spendableBalance: bigint;
17
+ token: TokenCurrency;
18
+ }>;
19
+ existingSubAccounts: TokenAccount[];
20
+ allOperations: Operation[];
21
+ pendingTransferProposals: TransferProposal[];
22
+ }): CantonTokenAccount[];
23
+ //# sourceMappingURL=buildSubAccounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSubAccounts.d.ts","sourceRoot":"","sources":["../../src/bridge/buildSubAccounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,eAAe,EAAE;QAAE,wBAAwB,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,wBAAwB,EACxB,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,aAAa,EAAE,KAAK,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,EAAE,aAAa,CAAC;KACtB,CAAC,CAAC;IACH,mBAAmB,EAAE,YAAY,EAAE,CAAC;IACpC,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,wBAAwB,EAAE,gBAAgB,EAAE,CAAC;CAC9C,GAAG,kBAAkB,EAAE,CA6CvB"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildSubAccounts = buildSubAccounts;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const index_1 = require("@ledgerhq/coin-framework/account/index");
9
+ const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
10
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
11
+ function buildSubAccounts({ accountId, tokenBalances, existingSubAccounts, allOperations, pendingTransferProposals, calTokens, }) {
12
+ if (tokenBalances.length === 0)
13
+ return [];
14
+ const tokenAccounts = [];
15
+ const existingAccountByTicker = {};
16
+ const existingAccountTickers = [];
17
+ for (const existingSubAccount of existingSubAccounts) {
18
+ if (existingSubAccount.type === "TokenAccount") {
19
+ const { ticker } = existingSubAccount.token;
20
+ existingAccountTickers.push(ticker);
21
+ existingAccountByTicker[ticker] = existingSubAccount;
22
+ }
23
+ }
24
+ for (const { totalBalance, spendableBalance, token, adminId } of tokenBalances) {
25
+ const initialTokenAccount = existingAccountByTicker[token.ticker];
26
+ const instrumentId = calTokens.get(token.id) || token.name;
27
+ // Filter operations for this specific instrument (both id and admin must match)
28
+ const tokenOperations = allOperations.filter(op => {
29
+ const extra = op.extra;
30
+ return extra?.instrumentId === instrumentId && extra?.instrumentAdmin === adminId;
31
+ });
32
+ // Filter pending transfer proposals for this specific instrument
33
+ const tokenPendingTransferProposals = pendingTransferProposals.filter(proposal => proposal.instrument_id === instrumentId && proposal.instrument_admin === adminId);
34
+ const tokenAccount = buildSubAccount({
35
+ totalBalance: new bignumber_js_1.default(totalBalance.toString()),
36
+ spendableBalance: new bignumber_js_1.default(spendableBalance.toString()),
37
+ accountId,
38
+ initialTokenAccount,
39
+ parentAccountId: accountId,
40
+ token,
41
+ operations: tokenOperations,
42
+ pendingTransferProposals: tokenPendingTransferProposals,
43
+ });
44
+ if (tokenAccount)
45
+ tokenAccounts.push(tokenAccount);
46
+ }
47
+ return tokenAccounts;
48
+ }
49
+ function buildSubAccount({ totalBalance, spendableBalance, accountId, initialTokenAccount, parentAccountId, token, operations, pendingTransferProposals, }) {
50
+ const subAccountId = (0, index_1.encodeTokenAccountId)(accountId, token);
51
+ // Merge old operations with new ones and update accountId for sub-account
52
+ const oldOperations = initialTokenAccount?.operations || [];
53
+ const newOperations = operations.map(op => ({
54
+ ...op,
55
+ id: (0, operation_1.encodeOperationId)(subAccountId, op.hash, op.type),
56
+ accountId: subAccountId,
57
+ }));
58
+ const mergedOperations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations);
59
+ const creationDate = mergedOperations.length > 0
60
+ ? new Date(Math.min(...mergedOperations.map(op => op.date.getTime())))
61
+ : new Date();
62
+ return {
63
+ type: "TokenAccount",
64
+ id: subAccountId,
65
+ parentId: parentAccountId,
66
+ token,
67
+ balance: totalBalance,
68
+ spendableBalance,
69
+ operationsCount: mergedOperations.length,
70
+ operations: mergedOperations,
71
+ creationDate,
72
+ pendingOperations: initialTokenAccount?.pendingOperations || [],
73
+ balanceHistoryCache: initialTokenAccount?.balanceHistoryCache || index_1.emptyHistoryCache,
74
+ swapHistory: [],
75
+ cantonResources: {
76
+ pendingTransferProposals,
77
+ },
78
+ };
79
+ }
80
+ //# sourceMappingURL=buildSubAccounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSubAccounts.js","sourceRoot":"","sources":["../../src/bridge/buildSubAccounts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,aAAa,EAGd,MAAM,UAAU,CAAC;AAOlB,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,WAAW,EACX,aAAa,EACb,iBAAiB,CAClB,CAAC,sBAAsB,CAqEvB,CAAC;AAkCF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAqBpF"}
1
+ {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,aAAa,EAGd,MAAM,UAAU,CAAC;AAOlB,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,WAAW,EACX,aAAa,EACb,iBAAiB,CAClB,CAAC,sBAAsB,CA+FvB,CAAC;AAqCF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAqBpF"}
@@ -22,9 +22,17 @@ const getTransactionStatus = async (account, transaction) => {
22
22
  // reserveAmount is the minimum amount of currency that an account must hold in order to stay activated
23
23
  const reserveAmount = new bignumber_js_1.default(config_1.default.getCoinConfig(account.currency).minReserve || 0);
24
24
  const estimatedFees = new bignumber_js_1.default(transaction.fee || 0);
25
- const totalSpent = new bignumber_js_1.default(transaction.amount).plus(estimatedFees);
26
25
  const amount = new bignumber_js_1.default(transaction.amount);
27
- if (amount.gt(0) && estimatedFees.times(10).gt(amount)) {
26
+ const isTokenTransaction = !!transaction.subAccountId;
27
+ // For token transactions, fees are paid from parent account, so totalSpent is just amount
28
+ const totalSpent = isTokenTransaction ? amount : amount.plus(estimatedFees);
29
+ // Get the account balance to check against (subAccount for tokens, main account for native)
30
+ let accountBalance = account.spendableBalance;
31
+ if (isTokenTransaction && account.subAccounts) {
32
+ const subAccount = account.subAccounts.find(sub => sub.type === "TokenAccount" && sub.id === transaction.subAccountId);
33
+ accountBalance = subAccount?.spendableBalance ?? new bignumber_js_1.default(0);
34
+ }
35
+ if (amount.gt(0) && estimatedFees.times(10).gt(amount) && !isTokenTransaction) {
28
36
  // if the fee is more than 10 times the amount, we warn the user that fee is high compared to what he is sending
29
37
  warnings.feeTooHigh = new errors_1.FeeTooHigh();
30
38
  }
@@ -32,26 +40,6 @@ const getTransactionStatus = async (account, transaction) => {
32
40
  // if the fee is not loaded, we can't do much
33
41
  errors.fee = new errors_1.FeeNotLoaded();
34
42
  }
35
- else if (totalSpent.gt(account.balance.minus(reserveAmount))) {
36
- // if the total spent is greater than the balance minus the reserve amount, tx is invalid
37
- errors.amount = new errors_1.NotEnoughSpendableBalance("", {
38
- minimumAmount: (0, index_1.formatCurrencyUnit)(account.currency.units[0], reserveAmount, {
39
- disableRounding: true,
40
- useGrouping: false,
41
- showCode: true,
42
- }),
43
- });
44
- }
45
- else if (transaction.recipient && transaction.amount.lt(reserveAmount)) {
46
- // if we send an amount lower than reserve amount AND target account is new, we need to warn the user that the target account will not be activated
47
- errors.amount = new errors_1.NotEnoughBalanceBecauseDestinationNotCreated("", {
48
- minimalAmount: (0, index_1.formatCurrencyUnit)(account.currency.units[0], reserveAmount, {
49
- disableRounding: true,
50
- useGrouping: false,
51
- showCode: true,
52
- }),
53
- });
54
- }
55
43
  if (!transaction.recipient) {
56
44
  errors.recipient = new errors_1.RecipientRequired("");
57
45
  }
@@ -61,10 +49,40 @@ const getTransactionStatus = async (account, transaction) => {
61
49
  currencyName: account.currency.name,
62
50
  });
63
51
  }
64
- if (!errors.amount && amount.eq(0)) {
52
+ if (amount.eq(0)) {
65
53
  // if the amount is 0, we prevent the user from sending the tx (even if it's technically feasible)
66
54
  errors.amount = new errors_1.AmountRequired();
67
55
  }
56
+ // For token transactions, check that parent account has enough native balance to pay fees
57
+ if (isTokenTransaction && estimatedFees.gt(account.balance)) {
58
+ errors.amount = new errors_1.NotEnoughBalanceInParentAccount();
59
+ }
60
+ // Check if total spent exceeds available balance
61
+ if (!errors.amount && totalSpent.gt(accountBalance)) {
62
+ errors.amount = new errors_1.NotEnoughBalance();
63
+ }
64
+ // For native coin transactions, check reserve amount constraints
65
+ if (!isTokenTransaction && !errors.amount) {
66
+ if (totalSpent.gt(account.balance.minus(reserveAmount))) {
67
+ errors.amount = new errors_1.NotEnoughSpendableBalance("", {
68
+ minimumAmount: (0, index_1.formatCurrencyUnit)(account.currency.units[0], reserveAmount, {
69
+ disableRounding: true,
70
+ useGrouping: false,
71
+ showCode: true,
72
+ }),
73
+ });
74
+ }
75
+ else if (transaction.recipient && amount.lt(reserveAmount)) {
76
+ // if we send an amount lower than reserve amount AND target account is new, we need to warn the user that the target account will not be activated
77
+ errors.amount = new errors_1.NotEnoughBalanceBecauseDestinationNotCreated("", {
78
+ minimalAmount: (0, index_1.formatCurrencyUnit)(account.currency.units[0], reserveAmount, {
79
+ disableRounding: true,
80
+ useGrouping: false,
81
+ showCode: true,
82
+ }),
83
+ });
84
+ }
85
+ }
68
86
  const utxoWarning = validateUtxoCount(account, transaction);
69
87
  if (utxoWarning) {
70
88
  warnings.tooManyUtxos = utxoWarning;
@@ -97,7 +115,10 @@ function validateUtxoCount(account, transaction) {
97
115
  return null;
98
116
  }
99
117
  const { instrumentUtxoCounts } = account.cantonResources;
100
- const instrumentUtxoCount = instrumentUtxoCounts[transaction.tokenId] || 0;
118
+ const instrumentKey = transaction.instrumentAdmin
119
+ ? `${transaction.tokenId}-${transaction.instrumentAdmin}`
120
+ : transaction.tokenId;
121
+ const instrumentUtxoCount = instrumentUtxoCounts[instrumentKey] || 0;
101
122
  if (instrumentUtxoCount > exports.TO_MANY_UTXOS_CRITICAL_COUNT) {
102
123
  return new types_1.TooManyUtxosCritical();
103
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAyB,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAa5C,wBAAgB,aAAa,CAC3B,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,EAC1C,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC;;;EAkDzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAyB,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAc5C,wBAAgB,aAAa,CAC3B,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,EAC1C,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC;;;EAmDzC"}
@@ -19,6 +19,7 @@ const updateTransaction_1 = require("./updateTransaction");
19
19
  const onboard_1 = require("./onboard");
20
20
  const acceptOffer_1 = require("./acceptOffer");
21
21
  const serialization_1 = require("./serialization");
22
+ const validateAddress_1 = require("./validateAddress");
22
23
  function createBridges(signerContext, coinConfig) {
23
24
  config_1.default.setCoinConfig(coinConfig);
24
25
  const getAddress = (0, signer_1.default)(signerContext);
@@ -56,6 +57,7 @@ function createBridges(signerContext, coinConfig) {
56
57
  assignToAccountRaw: serialization_1.assignToAccountRaw,
57
58
  assignFromAccountRaw: serialization_1.assignFromAccountRaw,
58
59
  getSerializedAddressParameters: jsHelpers_1.getSerializedAddressParameters,
60
+ validateAddress: validateAddress_1.validateAddress,
59
61
  };
60
62
  return {
61
63
  currencyBridge,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;AA0BA,sCAoDC;AA9ED,0GAAkF;AAClF,yEAKmD;AAInD,uDAAoE;AACpE,uDAAiC;AAGjC,2CAAwC;AACxC,2DAAwD;AACxD,iEAA8D;AAC9D,iEAA8D;AAC9D,6DAA0D;AAC1D,mDAAqD;AACrD,iCAA6C;AAC7C,2DAAwD;AACxD,uCAA2E;AAC3E,+CAAyD;AACzD,mDAA2E;AAE3E,SAAgB,aAAa,CAC3B,aAA0C,EAC1C,UAAwC;IAExC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,oCAAwB,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC;QACpC,eAAe,EAAE,IAAA,0BAAmB,EAAC,aAAa,CAAC;QACnD,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAA,6BAAmB,EAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,IAAA,mCAAyB,EAAC,aAAa,CAAC,CAAC;IACtE,MAAM,mBAAmB,GAAG,IAAA,sCAAwB,EAAC,aAAa,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAyB;QAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;QACZ,cAAc;QACd,oBAAoB;QACpB,mBAAmB;KACpB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAE,IAAA,0BAAmB,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE/E,MAAM,aAAa,GAA8C;QAC/D,SAAS,EAAT,qBAAS;QACT,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAjB,qCAAiB;QACjB,kBAAkB,EAAlB,uCAAkB;QAClB,oBAAoB,EAApB,2CAAoB;QACpB,oBAAoB,EAApB,2CAAoB;QACpB,IAAI;QACJ,OAAO;QACP,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,kBAAkB,EAAlB,kCAAkB;QAClB,oBAAoB,EAApB,oCAAoB;QACpB,8BAA8B,EAA9B,0CAA8B;KAC/B,CAAC;IAEF,OAAO;QACL,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;AA2BA,sCAqDC;AAhFD,0GAAkF;AAClF,yEAKmD;AAInD,uDAAoE;AACpE,uDAAiC;AAGjC,2CAAwC;AACxC,2DAAwD;AACxD,iEAA8D;AAC9D,iEAA8D;AAC9D,6DAA0D;AAC1D,mDAAqD;AACrD,iCAA6C;AAC7C,2DAAwD;AACxD,uCAA2E;AAC3E,+CAAyD;AACzD,mDAA2E;AAC3E,uDAAoD;AAEpD,SAAgB,aAAa,CAC3B,aAA0C,EAC1C,UAAwC;IAExC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,oCAAwB,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC;QACpC,eAAe,EAAE,IAAA,0BAAmB,EAAC,aAAa,CAAC;QACnD,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAA,6BAAmB,EAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,IAAA,mCAAyB,EAAC,aAAa,CAAC,CAAC;IACtE,MAAM,mBAAmB,GAAG,IAAA,sCAAwB,EAAC,aAAa,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAyB;QAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;QACZ,cAAc;QACd,oBAAoB;QACpB,mBAAmB;KACpB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAE,IAAA,0BAAmB,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE/E,MAAM,aAAa,GAA8C;QAC/D,SAAS,EAAT,qBAAS;QACT,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAjB,qCAAiB;QACjB,kBAAkB,EAAlB,uCAAkB;QAClB,oBAAoB,EAApB,2CAAoB;QACpB,oBAAoB,EAApB,2CAAoB;QACpB,IAAI;QACJ,OAAO;QACP,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,kBAAkB,EAAlB,kCAAkB;QAClB,oBAAoB,EAApB,oCAAoB;QACpB,8BAA8B,EAA9B,0CAA8B;QAC9B,eAAe,EAAf,iCAAe;KAChB,CAAC;IAEF,OAAO;QACL,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAa/E,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAWvC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAiC/E,CAAC"}
@@ -8,13 +8,29 @@ const common_logic_1 = require("../common-logic");
8
8
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
9
  const updateTransaction_1 = require("./updateTransaction");
10
10
  const config_1 = __importDefault(require("../config"));
11
+ const gateway_1 = require("../network/gateway");
11
12
  const prepareTransaction = async (account, transaction) => {
12
13
  const amount = transaction.amount || (0, bignumber_js_1.default)(0);
13
14
  const fee = (0, bignumber_js_1.default)((await (0, common_logic_1.estimateFees)(account.currency, BigInt(amount.toFixed()))).toString());
14
- if (!transaction.tokenId) {
15
- transaction.tokenId = config_1.default.getCoinConfig(account.currency).nativeInstrumentId;
15
+ let tokenId = transaction.tokenId;
16
+ let instrumentAdmin;
17
+ if (transaction.subAccountId && account.subAccounts) {
18
+ const subAccount = account.subAccounts.find((sub) => sub.type === "TokenAccount" && sub.id === transaction.subAccountId);
19
+ if (subAccount) {
20
+ const calTokens = await (0, gateway_1.getCalTokensCached)(account.currency);
21
+ tokenId = calTokens.get(subAccount.token.id) || subAccount.token.name;
22
+ instrumentAdmin = subAccount.token.contractAddress;
23
+ }
16
24
  }
17
- return (0, updateTransaction_1.updateTransaction)(transaction, { fee });
25
+ // Default to native instrument if no tokenId set
26
+ if (!tokenId) {
27
+ tokenId = config_1.default.getCoinConfig(account.currency).nativeInstrumentId;
28
+ }
29
+ return (0, updateTransaction_1.updateTransaction)(transaction, {
30
+ fee,
31
+ tokenId,
32
+ ...(instrumentAdmin !== undefined && { instrumentAdmin }),
33
+ });
18
34
  };
19
35
  exports.prepareTransaction = prepareTransaction;
20
36
  //# sourceMappingURL=prepareTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA+C;AAC/C,gEAAqC;AACrC,2DAAwD;AACxD,uDAAmC;AAE5B,MAAM,kBAAkB,GAAqD,KAAK,EACvF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAA,sBAAS,EACnB,CAAC,MAAM,IAAA,2BAAY,EAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAC5E,CAAC;IAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,WAAW,CAAC,OAAO,GAAG,gBAAU,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC;IACtF,CAAC;IACD,OAAO,IAAA,qCAAiB,EAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA+C;AAC/C,gEAAqC;AACrC,2DAAwD;AACxD,uDAAmC;AACnC,gDAAwD;AAMjD,MAAM,kBAAkB,GAAqD,KAAK,EACvF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAA,sBAAS,EACnB,CAAC,MAAM,IAAA,2BAAY,EAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAC5E,CAAC;IAEF,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;IAClC,IAAI,eAAmC,CAAC;IACxC,IAAI,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CACzC,CAAC,GAAG,EAA6B,EAAE,CACjC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,EAAE,KAAK,WAAW,CAAC,YAAY,CACrE,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAkB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7D,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACtE,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;QACrD,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,gBAAU,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC;IAC1E,CAAC;IAED,OAAO,IAAA,qCAAiB,EAAC,WAAW,EAAE;QACpC,GAAG;QACH,OAAO;QACP,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC,CAAC;AAjCW,QAAA,kBAAkB,sBAiC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAa,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKhE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,kBAAkB,GAC5B,eAAe,aAAa,CAAC,YAAY,CAAC,KAAG,aAAa,CAAC,WAAW,CAAC,CAAC,eAAe,CA6FpF,CAAC"}
1
+ {"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAa,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKhE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,kBAAkB,GAC5B,eAAe,aAAa,CAAC,YAAY,CAAC,KAAG,aAAa,CAAC,WAAW,CAAC,CAAC,eAAe,CAiGpF,CAAC"}
@@ -26,6 +26,9 @@ const buildSignOperation = (signerContext) => ({ account, deviceId, transaction
26
26
  expireInSeconds: 60 * 60,
27
27
  tokenId: transaction.tokenId,
28
28
  };
29
+ if (transaction.instrumentAdmin) {
30
+ params.instrumentAdmin = transaction.instrumentAdmin;
31
+ }
29
32
  if (transaction.memo) {
30
33
  params.memo = transaction.memo;
31
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ import { TokenAccount } from "@ledgerhq/types-live";
2
+ import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
1
3
  import { GetAccountShape } from "@ledgerhq/coin-framework/bridge/jsHelpers";
2
4
  import { SignerContext } from "@ledgerhq/coin-framework/signer";
3
5
  import { CantonAccount, CantonSigner } from "../types";
6
+ export declare function filterDisabledTokenAccounts(currency: CryptoCurrency, subAccounts: TokenAccount[] | undefined): Promise<TokenAccount[]>;
4
7
  export declare function makeGetAccountShape(signerContext: SignerContext<CantonSigner>): GetAccountShape<CantonAccount>;
5
8
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAUhE,OAAO,EAAE,aAAa,EAAmB,YAAY,EAAE,MAAM,UAAU,CAAC;AA0ExE,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,GACzC,eAAe,CAAC,aAAa,CAAC,CAsHhC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYhE,OAAO,EAAE,aAAa,EAAmB,YAAY,EAAE,MAAM,UAAU,CAAC;AAmFxE,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,YAAY,EAAE,GAAG,SAAS,GACtC,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBzB;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,GACzC,eAAe,CAAC,aAAa,CAAC,CA+MhC"}