@ledgerhq/coin-zcash 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -1
  3. package/lib/bridge/estimateMaxSpendable.js +2 -5
  4. package/lib/bridge/estimateMaxSpendable.js.map +1 -1
  5. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  6. package/lib/bridge/getTransactionStatus.js +23 -4
  7. package/lib/bridge/getTransactionStatus.js.map +1 -1
  8. package/lib/bridge/index.d.ts +7 -0
  9. package/lib/bridge/index.d.ts.map +1 -1
  10. package/lib/bridge/index.js +6 -0
  11. package/lib/bridge/index.js.map +1 -1
  12. package/lib/bridge/operations.d.ts.map +1 -1
  13. package/lib/bridge/operations.js +16 -2
  14. package/lib/bridge/operations.js.map +1 -1
  15. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  16. package/lib/bridge/prepareTransaction.js +2 -5
  17. package/lib/bridge/prepareTransaction.js.map +1 -1
  18. package/lib/bridge/signOperation.d.ts +11 -4
  19. package/lib/bridge/signOperation.d.ts.map +1 -1
  20. package/lib/bridge/signOperation.js +34 -7
  21. package/lib/bridge/signOperation.js.map +1 -1
  22. package/lib/bridge/sync.d.ts.map +1 -1
  23. package/lib/bridge/transaction.d.ts.map +1 -1
  24. package/lib/bridge/transaction.js +2 -0
  25. package/lib/bridge/transaction.js.map +1 -1
  26. package/lib/constants.d.ts +1 -0
  27. package/lib/constants.d.ts.map +1 -1
  28. package/lib/constants.js +6 -1
  29. package/lib/constants.js.map +1 -1
  30. package/lib/logic/account/balance.d.ts +11 -4
  31. package/lib/logic/account/balance.d.ts.map +1 -1
  32. package/lib/logic/account/balance.js +11 -4
  33. package/lib/logic/account/balance.js.map +1 -1
  34. package/lib/logic/account/spendability.d.ts +59 -0
  35. package/lib/logic/account/spendability.d.ts.map +1 -0
  36. package/lib/logic/account/spendability.js +93 -0
  37. package/lib/logic/account/spendability.js.map +1 -0
  38. package/lib/logic/transaction/combine.d.ts +9 -4
  39. package/lib/logic/transaction/combine.d.ts.map +1 -1
  40. package/lib/logic/transaction/combine.js +8 -4
  41. package/lib/logic/transaction/combine.js.map +1 -1
  42. package/lib/network/engine.d.ts +8 -6
  43. package/lib/network/engine.d.ts.map +1 -1
  44. package/lib/network/engine.js +77 -24
  45. package/lib/network/engine.js.map +1 -1
  46. package/lib/network/types.d.ts +6 -2
  47. package/lib/network/types.d.ts.map +1 -1
  48. package/lib/signer/getShieldedAddress.d.ts +12 -0
  49. package/lib/signer/getShieldedAddress.d.ts.map +1 -0
  50. package/lib/signer/getShieldedAddress.js +10 -0
  51. package/lib/signer/getShieldedAddress.js.map +1 -0
  52. package/lib/types/bridge.d.ts +7 -0
  53. package/lib/types/bridge.d.ts.map +1 -1
  54. package/lib/types/bridge.js.map +1 -1
  55. package/lib/types/errors.d.ts +11 -0
  56. package/lib/types/errors.d.ts.map +1 -1
  57. package/lib/types/errors.js +16 -1
  58. package/lib/types/errors.js.map +1 -1
  59. package/lib/types/signer.d.ts +2 -2
  60. package/lib/types/signer.d.ts.map +1 -1
  61. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -1
  62. package/lib-es/bridge/estimateMaxSpendable.js +2 -5
  63. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
  64. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  65. package/lib-es/bridge/getTransactionStatus.js +23 -4
  66. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  67. package/lib-es/bridge/index.d.ts +7 -0
  68. package/lib-es/bridge/index.d.ts.map +1 -1
  69. package/lib-es/bridge/index.js +6 -0
  70. package/lib-es/bridge/index.js.map +1 -1
  71. package/lib-es/bridge/operations.d.ts.map +1 -1
  72. package/lib-es/bridge/operations.js +16 -2
  73. package/lib-es/bridge/operations.js.map +1 -1
  74. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  75. package/lib-es/bridge/prepareTransaction.js +2 -5
  76. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  77. package/lib-es/bridge/signOperation.d.ts +11 -4
  78. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  79. package/lib-es/bridge/signOperation.js +35 -8
  80. package/lib-es/bridge/signOperation.js.map +1 -1
  81. package/lib-es/bridge/sync.d.ts.map +1 -1
  82. package/lib-es/bridge/transaction.d.ts.map +1 -1
  83. package/lib-es/bridge/transaction.js +2 -0
  84. package/lib-es/bridge/transaction.js.map +1 -1
  85. package/lib-es/constants.d.ts +1 -0
  86. package/lib-es/constants.d.ts.map +1 -1
  87. package/lib-es/constants.js +5 -0
  88. package/lib-es/constants.js.map +1 -1
  89. package/lib-es/logic/account/balance.d.ts +11 -4
  90. package/lib-es/logic/account/balance.d.ts.map +1 -1
  91. package/lib-es/logic/account/balance.js +11 -4
  92. package/lib-es/logic/account/balance.js.map +1 -1
  93. package/lib-es/logic/account/spendability.d.ts +59 -0
  94. package/lib-es/logic/account/spendability.d.ts.map +1 -0
  95. package/lib-es/logic/account/spendability.js +85 -0
  96. package/lib-es/logic/account/spendability.js.map +1 -0
  97. package/lib-es/logic/transaction/combine.d.ts +9 -4
  98. package/lib-es/logic/transaction/combine.d.ts.map +1 -1
  99. package/lib-es/logic/transaction/combine.js +8 -4
  100. package/lib-es/logic/transaction/combine.js.map +1 -1
  101. package/lib-es/network/engine.d.ts +8 -6
  102. package/lib-es/network/engine.d.ts.map +1 -1
  103. package/lib-es/network/engine.js +77 -24
  104. package/lib-es/network/engine.js.map +1 -1
  105. package/lib-es/network/types.d.ts +6 -2
  106. package/lib-es/network/types.d.ts.map +1 -1
  107. package/lib-es/signer/getShieldedAddress.d.ts +12 -0
  108. package/lib-es/signer/getShieldedAddress.d.ts.map +1 -0
  109. package/lib-es/signer/getShieldedAddress.js +8 -0
  110. package/lib-es/signer/getShieldedAddress.js.map +1 -0
  111. package/lib-es/types/bridge.d.ts +7 -0
  112. package/lib-es/types/bridge.d.ts.map +1 -1
  113. package/lib-es/types/bridge.js.map +1 -1
  114. package/lib-es/types/errors.d.ts +11 -0
  115. package/lib-es/types/errors.d.ts.map +1 -1
  116. package/lib-es/types/errors.js +14 -0
  117. package/lib-es/types/errors.js.map +1 -1
  118. package/lib-es/types/signer.d.ts +2 -2
  119. package/lib-es/types/signer.d.ts.map +1 -1
  120. package/package.json +8 -8
  121. package/src/bridge/estimateMaxSpendable.test.ts +112 -0
  122. package/src/bridge/estimateMaxSpendable.ts +2 -5
  123. package/src/bridge/getTransactionStatus.test.ts +159 -3
  124. package/src/bridge/getTransactionStatus.ts +23 -4
  125. package/src/bridge/index.test.ts +28 -3
  126. package/src/bridge/index.ts +11 -0
  127. package/src/bridge/operations.test.ts +35 -3
  128. package/src/bridge/operations.ts +18 -2
  129. package/src/bridge/prepareTransaction.test.ts +121 -1
  130. package/src/bridge/prepareTransaction.ts +2 -5
  131. package/src/bridge/signOperation.test.ts +93 -1
  132. package/src/bridge/signOperation.ts +43 -8
  133. package/src/bridge/sync.ts +2 -2
  134. package/src/bridge/transaction.test.ts +8 -2
  135. package/src/bridge/transaction.ts +2 -0
  136. package/src/constants.ts +5 -0
  137. package/src/logic/account/balance.ts +11 -4
  138. package/src/logic/account/balance.unit.test.ts +49 -0
  139. package/src/logic/account/spendability.test.ts +275 -0
  140. package/src/logic/account/spendability.ts +121 -0
  141. package/src/logic/transaction/combine.ts +9 -4
  142. package/src/network/engine.test.ts +191 -2
  143. package/src/network/engine.ts +115 -24
  144. package/src/network/types.ts +6 -2
  145. package/src/signer/getShieldedAddress.ts +26 -0
  146. package/src/types/bridge.ts +7 -0
  147. package/src/types/errors.test.ts +2 -0
  148. package/src/types/errors.ts +15 -0
  149. package/src/types/signer.ts +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,75 @@
1
1
  # @ledgerhq/coin-zcash
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#20815](https://github.com/LedgerHQ/ledger-live/pull/20815) [`54fcd49`](https://github.com/LedgerHQ/ledger-live/commit/54fcd49f48deaed0aec71941c8b9926e6b6aee2e) Thanks [@cted-ledger](https://github.com/cted-ledger)! - Exclude immature Ironwood notes from the spendable pool. A shielded note is only spendable once its transaction is buried deep enough to have a witness at the builder's anchor, so a freshly scanned change note is no longer selected while a second send is prepared within the same confirmation window. The rule is applied wherever the spendable pool is derived — note selection, max-spendable and amount validation — and the send flow now reports insufficient spendable funds instead of failing when the transaction is built. Funds held by maturing notes stay part of the account's total balance.
8
+
9
+ - [#20658](https://github.com/LedgerHQ/ledger-live/pull/20658) [`a79b9aa`](https://github.com/LedgerHQ/ledger-live/commit/a79b9aacb2f21c89bd192342bc6b98a4265d4345) Thanks [@semeano](https://github.com/semeano)! - Zcash: add self transfer option on send modal
10
+
11
+ - [#20798](https://github.com/LedgerHQ/ledger-live/pull/20798) [`1de6156`](https://github.com/LedgerHQ/ledger-live/commit/1de61569d59e56b73a8797397cbdd1a10b069b08) Thanks [@cted-ledger](https://github.com/cted-ledger)! - Name the Ironwood shielded operations and stop listing Zcash self-transfers.
12
+
13
+ The Ironwood operation types were declared and given icons but never labelled, so a received or sent Ironwood transaction rendered its raw key in the history. They now carry the same labels, address cells and "Private (Ironwood)" transaction-type detail as the Sapling and Orchard ones.
14
+
15
+ A shielded transaction that moved no value across the wallet boundary — every note landing on the account's own internal address — was also emitted as a history row of its own: no counterparty, a value of 0, and, when it was the shielded leg of a transparent-funded sweep, a duplicate of the transparent operation already listing that transaction. Such a transaction now produces an operation typed `NONE`, which keeps it in the account data while leaving it out of the lists. Its classification is unchanged, so the fee and balance logic that reads it is unaffected.
16
+
17
+ - [#20707](https://github.com/LedgerHQ/ledger-live/pull/20707) [`4cc31ec`](https://github.com/LedgerHQ/ledger-live/commit/4cc31ec90cae0a36663b35da3a569222e8e8efdf) Thanks [@semeano](https://github.com/semeano)! - Carry the Ironwood bundle through to the device signer.
18
+
19
+ - [#20756](https://github.com/LedgerHQ/ledger-live/pull/20756) [`02ddf7e`](https://github.com/LedgerHQ/ledger-live/commit/02ddf7e9d7542d6f0fcdb18d7f9461c37a8b8ce1) Thanks [@vladyslavchupovskiy-ext-art](https://github.com/vladyslavchupovskiy-ext-art)! - Forward Ironwood spend-auth signatures to PCZT finalization (LIVE-35956).
20
+
21
+ `signOperation` now passes the device's Ironwood `spendAuthSig` values to `combine`, so a V6 PCZT (any shielded or shielding send) finalizes through the same `finalizeTransaction` entry point as a V5 one — `@ledgerhq/zcash-utils` (bumped to 2.1.1) injects both pools' signatures and extracts the signed transaction. `ironwoodSignatures` is omitted rather than sent empty when the device signed no Ironwood action, because zcash-utils length-checks each pool's list against the PCZT.
22
+
23
+ - [#20714](https://github.com/LedgerHQ/ledger-live/pull/20714) [`93406e8`](https://github.com/LedgerHQ/ledger-live/commit/93406e87ae4398e314f899a0b30e54653b73c18b) Thanks [@semeano](https://github.com/semeano)! - Show a warning in the send flow when the Zcash private balance is selected as source and funds were shielded in the last 15 minutes, explaining that recently shielded funds need confirmations and scanning before they are spendable
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies [[`8a93a70`](https://github.com/LedgerHQ/ledger-live/commit/8a93a701d631bd18b6c5125f77588802c0325b4c), [`da0a5ce`](https://github.com/LedgerHQ/ledger-live/commit/da0a5ceb8f889f1bace45ed2d3d4c640cdf24ca8), [`eecf99a`](https://github.com/LedgerHQ/ledger-live/commit/eecf99af5c17ab63724843c31d5f3facc6352dad), [`030fc67`](https://github.com/LedgerHQ/ledger-live/commit/030fc677db03e8a411d3d33d2fa88e1ab04df80b), [`5b39a67`](https://github.com/LedgerHQ/ledger-live/commit/5b39a67dd93d4c541a77b0b146881073ca00ed15), [`0807eca`](https://github.com/LedgerHQ/ledger-live/commit/0807ecacfd06057811a3d6f8845b9f4bfc6f693c), [`b6da6b1`](https://github.com/LedgerHQ/ledger-live/commit/b6da6b1b1c98d022f30985c6103c239bffd0c7df), [`79882e2`](https://github.com/LedgerHQ/ledger-live/commit/79882e26a14f246f1cc969937e011b16e701b8f2), [`a20805c`](https://github.com/LedgerHQ/ledger-live/commit/a20805cebd95f2f620d394c4d7598ec93506c83e), [`030b427`](https://github.com/LedgerHQ/ledger-live/commit/030b42707768af3f9c98a15fc6751f1d64b36fe6)]:
28
+ - @ledgerhq/live-signer-zcash@0.10.0
29
+ - @ledgerhq/types-live@6.120.0
30
+ - @ledgerhq/ledger-wallet-framework@3.0.0
31
+ - @ledgerhq/wallet-btc@0.3.0
32
+
33
+ ## 0.4.0-next.1
34
+
35
+ ### Patch Changes
36
+
37
+ - Updated dependencies [[`da0a5ce`](https://github.com/LedgerHQ/ledger-live/commit/da0a5ceb8f889f1bace45ed2d3d4c640cdf24ca8)]:
38
+ - @ledgerhq/types-live@6.120.0-next.1
39
+ - @ledgerhq/ledger-wallet-framework@3.0.0-next.1
40
+ - @ledgerhq/live-signer-zcash@0.10.0-next.0
41
+ - @ledgerhq/wallet-btc@0.3.0
42
+
43
+ ## 0.4.0-next.0
44
+
45
+ ### Minor Changes
46
+
47
+ - [#20815](https://github.com/LedgerHQ/ledger-live/pull/20815) [`54fcd49`](https://github.com/LedgerHQ/ledger-live/commit/54fcd49f48deaed0aec71941c8b9926e6b6aee2e) Thanks [@cted-ledger](https://github.com/cted-ledger)! - Exclude immature Ironwood notes from the spendable pool. A shielded note is only spendable once its transaction is buried deep enough to have a witness at the builder's anchor, so a freshly scanned change note is no longer selected while a second send is prepared within the same confirmation window. The rule is applied wherever the spendable pool is derived — note selection, max-spendable and amount validation — and the send flow now reports insufficient spendable funds instead of failing when the transaction is built. Funds held by maturing notes stay part of the account's total balance.
48
+
49
+ - [#20658](https://github.com/LedgerHQ/ledger-live/pull/20658) [`a79b9aa`](https://github.com/LedgerHQ/ledger-live/commit/a79b9aacb2f21c89bd192342bc6b98a4265d4345) Thanks [@semeano](https://github.com/semeano)! - Zcash: add self transfer option on send modal
50
+
51
+ - [#20798](https://github.com/LedgerHQ/ledger-live/pull/20798) [`1de6156`](https://github.com/LedgerHQ/ledger-live/commit/1de61569d59e56b73a8797397cbdd1a10b069b08) Thanks [@cted-ledger](https://github.com/cted-ledger)! - Name the Ironwood shielded operations and stop listing Zcash self-transfers.
52
+
53
+ The Ironwood operation types were declared and given icons but never labelled, so a received or sent Ironwood transaction rendered its raw key in the history. They now carry the same labels, address cells and "Private (Ironwood)" transaction-type detail as the Sapling and Orchard ones.
54
+
55
+ A shielded transaction that moved no value across the wallet boundary — every note landing on the account's own internal address — was also emitted as a history row of its own: no counterparty, a value of 0, and, when it was the shielded leg of a transparent-funded sweep, a duplicate of the transparent operation already listing that transaction. Such a transaction now produces an operation typed `NONE`, which keeps it in the account data while leaving it out of the lists. Its classification is unchanged, so the fee and balance logic that reads it is unaffected.
56
+
57
+ - [#20707](https://github.com/LedgerHQ/ledger-live/pull/20707) [`4cc31ec`](https://github.com/LedgerHQ/ledger-live/commit/4cc31ec90cae0a36663b35da3a569222e8e8efdf) Thanks [@semeano](https://github.com/semeano)! - Carry the Ironwood bundle through to the device signer.
58
+
59
+ - [#20756](https://github.com/LedgerHQ/ledger-live/pull/20756) [`02ddf7e`](https://github.com/LedgerHQ/ledger-live/commit/02ddf7e9d7542d6f0fcdb18d7f9461c37a8b8ce1) Thanks [@vladyslavchupovskiy-ext-art](https://github.com/vladyslavchupovskiy-ext-art)! - Forward Ironwood spend-auth signatures to PCZT finalization (LIVE-35956).
60
+
61
+ `signOperation` now passes the device's Ironwood `spendAuthSig` values to `combine`, so a V6 PCZT (any shielded or shielding send) finalizes through the same `finalizeTransaction` entry point as a V5 one — `@ledgerhq/zcash-utils` (bumped to 2.1.1) injects both pools' signatures and extracts the signed transaction. `ironwoodSignatures` is omitted rather than sent empty when the device signed no Ironwood action, because zcash-utils length-checks each pool's list against the PCZT.
62
+
63
+ - [#20714](https://github.com/LedgerHQ/ledger-live/pull/20714) [`93406e8`](https://github.com/LedgerHQ/ledger-live/commit/93406e87ae4398e314f899a0b30e54653b73c18b) Thanks [@semeano](https://github.com/semeano)! - Show a warning in the send flow when the Zcash private balance is selected as source and funds were shielded in the last 15 minutes, explaining that recently shielded funds need confirmations and scanning before they are spendable
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [[`8a93a70`](https://github.com/LedgerHQ/ledger-live/commit/8a93a701d631bd18b6c5125f77588802c0325b4c), [`eecf99a`](https://github.com/LedgerHQ/ledger-live/commit/eecf99af5c17ab63724843c31d5f3facc6352dad), [`030fc67`](https://github.com/LedgerHQ/ledger-live/commit/030fc677db03e8a411d3d33d2fa88e1ab04df80b), [`5b39a67`](https://github.com/LedgerHQ/ledger-live/commit/5b39a67dd93d4c541a77b0b146881073ca00ed15), [`0807eca`](https://github.com/LedgerHQ/ledger-live/commit/0807ecacfd06057811a3d6f8845b9f4bfc6f693c), [`b6da6b1`](https://github.com/LedgerHQ/ledger-live/commit/b6da6b1b1c98d022f30985c6103c239bffd0c7df), [`79882e2`](https://github.com/LedgerHQ/ledger-live/commit/79882e26a14f246f1cc969937e011b16e701b8f2), [`a20805c`](https://github.com/LedgerHQ/ledger-live/commit/a20805cebd95f2f620d394c4d7598ec93506c83e), [`030b427`](https://github.com/LedgerHQ/ledger-live/commit/030b42707768af3f9c98a15fc6751f1d64b36fe6)]:
68
+ - @ledgerhq/live-signer-zcash@0.10.0-next.0
69
+ - @ledgerhq/ledger-wallet-framework@3.0.0-next.0
70
+ - @ledgerhq/types-live@6.120.0-next.0
71
+ - @ledgerhq/wallet-btc@0.3.0
72
+
3
73
  ## 0.3.0
4
74
 
5
75
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"estimateMaxSpendable.d.ts","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AASjE,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,WAAW,EACX,YAAY,CACb,CAAC,sBAAsB,CAqBvB,CAAC"}
1
+ {"version":3,"file":"estimateMaxSpendable.d.ts","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AASjE,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,WAAW,EACX,YAAY,CACb,CAAC,sBAAsB,CAkBvB,CAAC"}
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.estimateMaxSpendable = void 0;
4
4
  const index_1 = require("@ledgerhq/ledger-wallet-framework/account/index");
5
- const operations_1 = require("./operations");
6
5
  const coin_selection_1 = require("../logic/coin-selection");
7
6
  const statusHelpers_1 = require("./statusHelpers");
8
7
  const note_reservation_1 = require("./note-reservation");
8
+ const spendability_1 = require("../logic/account/spendability");
9
9
  const estimateMaxSpendable = async ({ account, parentAccount, transaction }) => {
10
10
  const mainAccount = (0, index_1.getMainAccount)(account, parentAccount);
11
11
  const tx = transaction;
@@ -19,10 +19,7 @@ const estimateMaxSpendable = async ({ account, parentAccount, transaction }) =>
19
19
  const utxoValues = (mainAccount.bitcoinResources?.utxos ?? []).map(utxo => utxo.value);
20
20
  return (0, coin_selection_1.estimateMaxSpendableTransparent)(utxoValues, "transparent");
21
21
  }
22
- const transactions = mainAccount.privateInfo?.transactions ?? [];
23
- const allNotes = (0, operations_1.collectIronwoodSpendableNotes)(transactions);
24
- const reserved = (0, note_reservation_1.getReservedNullifiers)(mainAccount);
25
- const notes = reserved.size > 0 ? allNotes.filter(n => !reserved.has(n.nullifier)) : allNotes;
22
+ const notes = (0, spendability_1.collectSelectableIronwoodNotes)(mainAccount, (0, note_reservation_1.getReservedNullifiers)(mainAccount));
26
23
  return (0, coin_selection_1.estimateMaxSpendableAmount)(notes, transferType);
27
24
  };
28
25
  exports.estimateMaxSpendable = estimateMaxSpendable;
@@ -1 +1 @@
1
- {"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":";;;AAAA,2EAAiF;AAGjF,6CAA6D;AAC7D,4DAGiC;AACjC,mDAAsF;AACtF,yDAA2D;AAEpD,MAAM,oBAAoB,GAGL,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IAC5E,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,aAAa,CAAiB,CAAC;IAC3E,MAAM,EAAE,GAAG,WAAW,CAAC;IAEvB,IAAI,EAAE,IAAI,IAAA,0CAA0B,EAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpF,OAAO,IAAA,gDAA+B,EAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,EAAE,YAAY,IAAI,aAAa,CAAC;IACvD,sEAAsE;IACtE,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,yBAAyB,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvF,OAAO,IAAA,gDAA+B,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAA,0CAA6B,EAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAA,wCAAqB,EAAC,WAAW,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9F,OAAO,IAAA,2CAA0B,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACzD,CAAC,CAAC;AAxBW,QAAA,oBAAoB,GAApB,oBAAoB,CAwB/B"}
1
+ {"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":";;;AAAA,2EAAiF;AAGjF,4DAGiC;AACjC,mDAAsF;AACtF,yDAA2D;AAC3D,gEAA+E;AAExE,MAAM,oBAAoB,GAGL,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IAC5E,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,aAAa,CAAiB,CAAC;IAC3E,MAAM,EAAE,GAAG,WAAW,CAAC;IAEvB,IAAI,EAAE,IAAI,IAAA,0CAA0B,EAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpF,OAAO,IAAA,gDAA+B,EAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,EAAE,YAAY,IAAI,aAAa,CAAC;IACvD,sEAAsE;IACtE,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,yBAAyB,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvF,OAAO,IAAA,gDAA+B,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,6CAA8B,EAAC,WAAW,EAAE,IAAA,wCAAqB,EAAC,WAAW,CAAC,CAAC,CAAC;IAC9F,OAAO,IAAA,2CAA0B,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACzD,CAAC,CAAC;AArBW,QAAA,oBAAoB,GAApB,oBAAoB,CAqB/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA0CpF,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,WAAW,EACX,YAAY,EACZ,iBAAiB,CAClB,CAAC,sBAAsB,CAgCvB,CAAC"}
1
+ {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAmDpF,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,WAAW,EACX,YAAY,EACZ,iBAAiB,CAClB,CAAC,sBAAsB,CA0CvB,CAAC"}
@@ -5,6 +5,8 @@ const bignumber_js_1 = require("bignumber.js");
5
5
  const errors_1 = require("@ledgerhq/ledger-wallet-framework/errors");
6
6
  const coin_selection_1 = require("../logic/coin-selection");
7
7
  const statusHelpers_1 = require("./statusHelpers");
8
+ const note_reservation_1 = require("./note-reservation");
9
+ const spendability_1 = require("../logic/account/spendability");
8
10
  /**
9
11
  * Transaction status for a transparent-input (Public→*) send: the recipient
10
12
  * class differs per flow (u1 for →shielded, t1/t3 for →transparent) but both
@@ -25,7 +27,14 @@ function getTransparentInputStatus(account, tx, currencyName) {
25
27
  else if (totalSpent.gt(transparentBalance)) {
26
28
  errors.amount = new errors_1.NotEnoughBalance();
27
29
  }
28
- return { errors, warnings, estimatedFees: fee, amount: tx.amount, totalSpent };
30
+ return {
31
+ errors,
32
+ warnings,
33
+ estimatedFees: fee,
34
+ amount: tx.amount,
35
+ totalSpent,
36
+ recipientIsReadOnly: tx.selfTransfer === true,
37
+ };
29
38
  }
30
39
  const getTransactionStatus = async (account, transaction) => {
31
40
  if ((0, statusHelpers_1.isTransparentInputTransfer)(transaction.transferType)) {
@@ -42,10 +51,13 @@ const getTransactionStatus = async (account, transaction) => {
42
51
  estimatedFees: new bignumber_js_1.BigNumber(0),
43
52
  amount: transaction.amount,
44
53
  totalSpent: transaction.amount,
54
+ recipientIsReadOnly: transaction.selfTransfer === true,
45
55
  };
46
56
  }
47
- // Shielded sends spend the Ironwood pool, so validate the amount against it.
48
- const poolBalance = privateInfo.ironwoodBalance ?? new bignumber_js_1.BigNumber(0);
57
+ // Shielded sends spend the Ironwood pool, so validate the amount against the
58
+ // mature, unreserved figure -- the same one selection draws from, so the
59
+ // status can never accept an amount selection cannot cover.
60
+ const poolBalance = (0, spendability_1.getSpendableIronwoodBalance)(account, (0, note_reservation_1.getReservedNullifiers)(account));
49
61
  const fee = transaction.zcashFee ?? new bignumber_js_1.BigNumber(coin_selection_1.ZIP317_MINIMUM_FEE);
50
62
  const totalSpent = transaction.amount.plus(fee);
51
63
  const recipientError = (0, statusHelpers_1.computeRecipientError)(transaction.recipient, account.currency.name);
@@ -54,7 +66,14 @@ const getTransactionStatus = async (account, transaction) => {
54
66
  const amountError = (0, statusHelpers_1.computeAmountError)(transaction, totalSpent, poolBalance);
55
67
  if (amountError)
56
68
  errors.amount = amountError;
57
- return { errors, warnings, estimatedFees: fee, amount: transaction.amount, totalSpent };
69
+ return {
70
+ errors,
71
+ warnings,
72
+ estimatedFees: fee,
73
+ amount: transaction.amount,
74
+ totalSpent,
75
+ recipientIsReadOnly: transaction.selfTransfer === true,
76
+ };
58
77
  };
59
78
  exports.getTransactionStatus = getTransactionStatus;
60
79
  //# sourceMappingURL=getTransactionStatus.js.map
@@ -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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"}
@@ -14,6 +14,13 @@ export type ZcashAccountBridge = AccountBridge<Transaction, ZcashAccount, Transa
14
14
  path?: string;
15
15
  }) => Promise<GetFullViewingKeyResult>;
16
16
  deriveShieldedAddress: (ufvk: string) => Promise<string>;
17
+ getShieldedAddress: (account: ZcashAccount, options: {
18
+ deviceId: string;
19
+ path?: string;
20
+ display?: boolean;
21
+ }) => Promise<{
22
+ address: string;
23
+ }>;
17
24
  };
18
25
  /**
19
26
  * Assembles the thin `AccountBridge`/`CurrencyBridge` (LL device path) -- every
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAkC,EAChC,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AAerC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC,GAAG;IAC7F,iBAAiB,EAAE,CACjB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KACzC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;EAgEjF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAkC,EAChC,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AAgBrC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC,GAAG;IAC7F,iBAAiB,EAAE,CACjB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KACzC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,kBAAkB,EAAE,CAClB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC5D,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;EAsEjF"}
@@ -10,6 +10,7 @@ const config_1 = require("../config");
10
10
  const constants_1 = require("../constants");
11
11
  const getAddress_1 = __importDefault(require("../signer/getAddress"));
12
12
  const getFullViewingKey_1 = __importDefault(require("../signer/getFullViewingKey"));
13
+ const getShieldedAddress_1 = __importDefault(require("../signer/getShieldedAddress"));
13
14
  const exchange_1 = require("./exchange");
14
15
  const validateAddress_1 = require("../logic/validateAddress");
15
16
  const broadcast_1 = require("./broadcast");
@@ -34,6 +35,7 @@ function createBridges(signerContext, coinConfig) {
34
35
  (0, config_1.setCoinConfig)(coinConfig);
35
36
  const getAddressFn = (0, getAddress_1.default)(signerContext);
36
37
  const getFullViewingKeyFn = (0, getFullViewingKey_1.default)(signerContext);
38
+ const getShieldedAddressFn = (0, getShieldedAddress_1.default)(signerContext);
37
39
  const getAccountShape = (0, sync_1.makeGetAccountShape)(signerContext);
38
40
  const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({
39
41
  getAccountShape,
@@ -79,6 +81,10 @@ function createBridges(signerContext, coinConfig) {
79
81
  const client = await (0, engineClient_1.getZCashClient)((0, constants_1.getZainoEndpoint)());
80
82
  return client.deriveShieldedAddress(ufvk);
81
83
  },
84
+ getShieldedAddress: (account, { deviceId, path, display }) => getShieldedAddressFn(deviceId, {
85
+ path: path ?? account.freshAddressPath,
86
+ ...(display !== undefined && { display }),
87
+ }),
82
88
  };
83
89
  return {
84
90
  currencyBridge,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;;AAAA,mHAA2F;AAC3F,kFAI4D;AAG5D,sCAA0C;AAG1C,4CAA4E;AAC5E,sEAA8C;AAC9C,oFAEqC;AACrC,yCAA4D;AAC5D,8DAA2D;AAC3D,2CAAwC;AACxC,2DAAwD;AACxD,iEAA8D;AAC9D,iEAA8D;AAC9D,6DAA0D;AAC1D,mDAAqD;AACrD,iCAAuD;AACvD,2DAAwD;AACxD,mDAA2E;AAC3E,gEAAuC;AACvC,wDAAuD;AAevD;;;;;;GAMG;AACH,uBAA8B,aAA4B,EAAE,UAAsB;IAChF,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,mBAAmB,GAAG,IAAA,2BAAyB,EAAC,aAAa,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAA,0BAAmB,EAAC,aAAa,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAe;QAClD,eAAe;QACf,YAAY,EAAE,IAAA,2BAAiB,EAAC,YAAY,CAAC;QAC7C,QAAQ,EAAR,eAAQ;KACT,CAAC,CAAC;IAEH,MAAM,cAAc,GAAmB;QACrC,YAAY;KACb,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAA+C;QAClE,eAAe;QACf,QAAQ,EAAR,eAAQ;QACR,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,oCAAwB,EAAe,IAAA,2BAAiB,EAAC,YAAY,CAAC,CAAC,CAAC;IAExF,MAAM,aAAa,GAAuB;QACxC,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,EAAE,IAAA,kCAAkB,EAAC,aAAa,CAAC;QAChD,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,EAAT,qBAAS;QACT,oBAAoB,EAApB,oCAAoB;QACpB,kBAAkB,EAAlB,kCAAkB;QAClB,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAE;QAChC,8BAA8B,EAA9B,yCAA8B;QAC9B,eAAe,EAAE,CAAC,OAAe,EAAE,EAAE,CACnC,IAAA,iCAAe,EAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACjE,0EAA0E;QAC1E,0EAA0E;QAC1E,0CAA0C;QAC1C,sBAAsB,EAAE,GAAG,EAAE,CAAC,sCAA0B;QACxD,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CACjD,mBAAmB,CAAC,QAAQ,EAAE;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,gBAAgB;SACvC,CAAC;QACJ,qBAAqB,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAc,EAAC,IAAA,4BAAgB,GAAE,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF,OAAO;QACL,cAAc;QACd,aAAa;QACb,UAAU,EAAV,qBAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/bridge/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAmB,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA6CpD,eAAO,MAAM,SAAS,OAAQ,mBAAmB,KAAG,aA0BnD,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,EAAE,GACtD,SAAS,CAOX;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG;IAC1E,YAAY,EAAE,SAAS,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC;IACxB,aAAa,EAAE,SAAS,CAAC;CAC1B,CAUA;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAQlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAOtF;AA2CD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,aAAa,EAAE,CAE1F;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAO9F;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,mBAAmB,EAAE,GAClC,aAAa,EAAE,CAEjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uCAAuC,CACrD,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,SAAS,EAAE,MAAM,GAChB,YAAY,EAAE,CA4ChB"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/bridge/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAmB,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA6CpD,eAAO,MAAM,SAAS,OAAQ,mBAAmB,KAAG,aA0BnD,CAAC;AAiBF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,EAAE,GACtD,SAAS,CAOX;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG;IAC1E,YAAY,EAAE,SAAS,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC;IACxB,aAAa,EAAE,SAAS,CAAC;CAC1B,CAUA;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAQlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAOtF;AA2CD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,aAAa,EAAE,CAE1F;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAO9F;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,mBAAmB,EAAE,GAClC,aAAa,EAAE,CAEjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uCAAuC,CACrD,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,SAAS,EAAE,MAAM,GAChB,YAAY,EAAE,CA6ChB"}
@@ -65,6 +65,19 @@ const getTxType = (tx) => {
65
65
  return "SHIELDED_TX_INTERNAL";
66
66
  };
67
67
  exports.getTxType = getTxType;
68
+ /**
69
+ * The type the operation carries, which is not always the type the transaction
70
+ * has.
71
+ *
72
+ * A self-transfer moved no value across the wallet boundary, so it has nothing to
73
+ * report in a history list: it names no counterparty, its value is 0, and when it
74
+ * is the shielded leg of a transparent-funded send — a t→z sweep whose whole
75
+ * amount landed on the internal address — the transparent operation already lists
76
+ * the same transaction. `NONE` is how the platform keeps such a transaction in the
77
+ * account data while leaving it out of the lists it would only clutter (see
78
+ * `flattenOperationWithInternalsAndNfts`).
79
+ */
80
+ const toOperationType = (txType) => txType === "SHIELDED_TX_INTERNAL" ? "NONE" : txType;
68
81
  function applyOutputDelta(balance, outputs) {
69
82
  let result = balance;
70
83
  for (const n of outputs) {
@@ -197,13 +210,14 @@ function convertShieldedTransactionsToOperations(shieldedTransactions, accountId
197
210
  // transparent operations and the optimistic operation both follow.
198
211
  value = sumNotes("outgoing").plus(deshieldedValue(tx)).plus(fee);
199
212
  }
213
+ const operationType = toOperationType(txType);
200
214
  const operation = {
201
- id: (0, operation_1.encodeOperationId)(accountId, tx.id, txType),
215
+ id: (0, operation_1.encodeOperationId)(accountId, tx.id, operationType),
202
216
  hash: tx.id,
203
217
  accountId,
204
218
  blockHash: tx.blockHash,
205
219
  blockHeight: tx.blockHeight,
206
- type: txType,
220
+ type: operationType,
207
221
  senders: [],
208
222
  recipients: [],
209
223
  date: new Date(tx.timestamp * 1000), // zcash shielded transaction timestamps are Unix seconds.
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/bridge/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/bridge/operations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA+DjE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAC5C,WAAW,EACX,YAAY,CACb,CAAC,oBAAoB,CAYrB,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA+DjE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAC5C,WAAW,EACX,YAAY,CACb,CAAC,oBAAoB,CASrB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareTransaction = void 0;
4
- const operations_1 = require("./operations");
5
4
  const coin_selection_1 = require("../logic/coin-selection");
6
5
  const statusHelpers_1 = require("./statusHelpers");
7
6
  const note_reservation_1 = require("./note-reservation");
7
+ const spendability_1 = require("../logic/account/spendability");
8
8
  // Strip any stale fee/change from a prior prepare and reset the amount so the UI
9
9
  // never shows a spendable amount without a matching fee.
10
10
  function resetPreparedTransaction(tx, amount) {
@@ -62,10 +62,7 @@ const prepareTransaction = async (account, transaction) => {
62
62
  if ((0, statusHelpers_1.isTransparentInputTransfer)(tx.transferType)) {
63
63
  return prepareTransparentTransaction(account, tx);
64
64
  }
65
- const transactions = account.privateInfo?.transactions ?? [];
66
- const allNotes = (0, operations_1.collectIronwoodSpendableNotes)(transactions);
67
- const reserved = (0, note_reservation_1.getReservedNullifiers)(account);
68
- const notes = reserved.size > 0 ? allNotes.filter(n => !reserved.has(n.nullifier)) : allNotes;
65
+ const notes = (0, spendability_1.collectSelectableIronwoodNotes)(account, (0, note_reservation_1.getReservedNullifiers)(account));
69
66
  return prepareNoteTransaction(notes, tx);
70
67
  };
71
68
  exports.prepareTransaction = prepareTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;AAIA,4DAKiC;AACjC,mDAAsF;AACtF,yDAA2D;AAC3D,gEAA+E;AAE/E,iFAAiF;AACjF,yDAAyD;AACzD,SAAS,wBAAwB,CAAC,EAAe,EAAE,MAAiB;IAClE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;IAC9D,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,kFAAkF;AAClF,qDAAqD;AACrD,SAAS,6BAA6B,CAAC,OAAqB,EAAE,EAAe;IAC3E,MAAM,UAAU,GAAG,IAAA,uCAAuB,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,+EAA+E;IAC/E,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY;QACrC,CAAC,CAAC,IAAA,gDAA+B,EAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC;QAC9D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;IACd,MAAM,MAAM,GAAG,IAAA,wCAAuB,EACpC,UAAU,EACV,eAAe,EACf,CAAC,CAAC,EAAE,CAAC,YAAY,EACjB,EAAE,CAAC,YAAY,CAChB,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,wBAAwB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAClE,OAAO;QACL,GAAG,EAAE;QACL,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE,EAAE,EAAE,+CAA+C;QAClE,QAAQ,EAAE,MAAM,CAAC,GAAG;QACpB,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,SAAS,sBAAsB,CAAC,KAAsB,EAAE,EAAe;IACrE,6EAA6E;IAC7E,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY;QACrC,CAAC,CAAC,IAAA,2CAA0B,EAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;IACd,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,wBAAwB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,IAAA,4BAAW,EAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,wBAAwB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAClE,OAAO;QACL,GAAG,EAAE;QACL,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,QAAQ,EAAE,MAAM,CAAC,GAAG;QACpB,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,MAAM,kBAAkB,GAGL,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IACvD,MAAM,EAAE,GAAG,WAAW,CAAC;IAEvB,IAAI,IAAA,0CAA0B,EAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,OAAO,6BAA6B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,6CAA8B,EAAC,OAAO,EAAE,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC,CAAC;IACtF,OAAO,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AAZW,QAAA,kBAAkB,GAAlB,kBAAkB,CAY7B"}
@@ -9,12 +9,19 @@ import type { SignerContext } from "../types/signer";
9
9
  * transparent t→t -- goes through this single PCZT path; there is no legacy
10
10
  * PSBT fallback in coin-zcash.
11
11
  *
12
- * `logic.combine` still finalizes through the V5 path: @ledgerhq/zcash-utils
13
- * exposes no V6 counterpart, so a V6 PCZT (any shielded or shielding flow) gets
14
- * as far as device signing.
15
- *
16
12
  * Every shielded send spends the Ironwood pool, so z→z and z→t both build as V6
17
13
  * PCZTs (Ironwood spends). The deprecated Sapling/Orchard send flows are gone.
14
+ *
15
+ * V5 and V6 share this path up to and including finalization: `logic.combine`
16
+ * finalizes either (@ledgerhq/zcash-utils >= 2.0.0 injects Ironwood spend-auth
17
+ * signatures and extracts a V6 transaction), and the device-signing step is
18
+ * identical -- only which bundle carries the spends differs.
19
+ *
20
+ * Broadcast is the exception, and it is the current end of the V6 road: the
21
+ * pinned zcash-utils (2.1.0) still derives the txid through a V5-only guard, so
22
+ * it rejects a V6 transaction after the user has already signed. Every shielded
23
+ * send therefore builds, signs and finalizes but cannot be broadcast until a
24
+ * zcash-utils release carries that fix.
18
25
  */
19
26
  export declare const buildSignOperation: (signerContext: SignerContext) => AccountBridge<Transaction, ZcashAccount>["signOperation"];
20
27
  //# sourceMappingURL=signOperation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAoC,MAAM,iBAAiB,CAAC;AACnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAuBrD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,kBACb,aAAa,KAAG,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,eAAe,CA+GpF,CAAC"}
1
+ {"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAoC,MAAM,iBAAiB,CAAC;AACnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAwCrD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,kBACb,aAAa,KAAG,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,eAAe,CA0HpF,CAAC"}
@@ -24,6 +24,18 @@ const IRONWOOD_BUNDLE_TRANSFER_TYPES = new Set([
24
24
  "shielded-to-transparent",
25
25
  "transparent-to-shielded",
26
26
  ]);
27
+ /**
28
+ * The builder's stable marker for a note whose leaf position is at or past the
29
+ * number of leaves the Ironwood tree held at its anchor -- the position-range
30
+ * rejection the maturity filter is meant to make unreachable (see
31
+ * `types/errors.ts`'s `ZcashNotesNotYetSpendable`). Matched on the message
32
+ * because the IPC wrapper carries the Rust error through verbatim, with no
33
+ * structured code.
34
+ */
35
+ function isNotePositionPastAnchor(error) {
36
+ const message = error instanceof Error ? error.message : String(error);
37
+ return message.includes("compute_ironwood_witnesses") && message.includes("anchor_total_leaves");
38
+ }
27
39
  /**
28
40
  * The only bespoke residue of this bridge (kaspa-style): builds the PCZT
29
41
  * (`logic.craftTransaction` / `craftIronwoodTransaction`), signs it via the
@@ -32,12 +44,19 @@ const IRONWOOD_BUNDLE_TRANSFER_TYPES = new Set([
32
44
  * transparent t→t -- goes through this single PCZT path; there is no legacy
33
45
  * PSBT fallback in coin-zcash.
34
46
  *
35
- * `logic.combine` still finalizes through the V5 path: @ledgerhq/zcash-utils
36
- * exposes no V6 counterpart, so a V6 PCZT (any shielded or shielding flow) gets
37
- * as far as device signing.
38
- *
39
47
  * Every shielded send spends the Ironwood pool, so z→z and z→t both build as V6
40
48
  * PCZTs (Ironwood spends). The deprecated Sapling/Orchard send flows are gone.
49
+ *
50
+ * V5 and V6 share this path up to and including finalization: `logic.combine`
51
+ * finalizes either (@ledgerhq/zcash-utils >= 2.0.0 injects Ironwood spend-auth
52
+ * signatures and extracts a V6 transaction), and the device-signing step is
53
+ * identical -- only which bundle carries the spends differs.
54
+ *
55
+ * Broadcast is the exception, and it is the current end of the V6 road: the
56
+ * pinned zcash-utils (2.1.0) still derives the txid through a V5-only guard, so
57
+ * it rejects a V6 transaction after the user has already signed. Every shielded
58
+ * send therefore builds, signs and finalizes but cannot be broadcast until a
59
+ * zcash-utils release carries that fix.
41
60
  */
42
61
  const buildSignOperation = (signerContext) => ({ account, deviceId, transaction }) => new rxjs_1.Observable(subscriber => {
43
62
  let cancelled = false;
@@ -73,9 +92,15 @@ const buildSignOperation = (signerContext) => ({ account, deviceId, transaction
73
92
  transparentInputs,
74
93
  outputs: (0, mapping_1.mapOutputs)(transaction),
75
94
  };
76
- const buildResult = IRONWOOD_BUNDLE_TRANSFER_TYPES.has(transaction.transferType)
77
- ? await (0, craftTransaction_1.craftIronwoodTransaction)(plan)
95
+ const useIronwood = IRONWOOD_BUNDLE_TRANSFER_TYPES.has(transaction.transferType);
96
+ const buildResult = useIronwood
97
+ ? await (0, craftTransaction_1.craftIronwoodTransaction)(plan).catch(err => {
98
+ if (isNotePositionPastAnchor(err))
99
+ throw new errors_1.ZcashNotesNotYetSpendable();
100
+ throw err;
101
+ })
78
102
  : await (0, craftTransaction_1.craftTransaction)(plan);
103
+ const { pcztTransaction } = buildResult;
79
104
  if (bailIfCancelled())
80
105
  return;
81
106
  subscriber.next({ type: "device-signature-requested" });
@@ -83,17 +108,19 @@ const buildSignOperation = (signerContext) => ({ account, deviceId, transaction
83
108
  if (typeof signer.signPcztTransaction !== "function") {
84
109
  throw new errors_1.ZcashSignerNotSupported("Zcash signing requires a signer exposing signPcztTransaction");
85
110
  }
86
- return signer.signPcztTransaction(buildResult.pcztTransaction);
111
+ return signer.signPcztTransaction(pcztTransaction);
87
112
  });
88
113
  subscriber.next({ type: "device-signature-granted" });
89
114
  if (bailIfCancelled())
90
115
  return;
91
116
  const orchardSignatures = sigResult.orchard.map(a => Buffer.from(a.spendAuthSig).toString("hex"));
92
117
  const transparentSignatures = sigResult.transparentInputSigs.map(sig => Buffer.from(sig).toString("hex"));
118
+ const ironwoodSignatures = sigResult.ironwood.map(a => Buffer.from(a.spendAuthSig).toString("hex"));
93
119
  const finalizeResult = await (0, combine_1.combine)({
94
120
  pczt: buildResult.pcztHex,
95
121
  orchardSignatures,
96
122
  transparentSignatures,
123
+ ...(ironwoodSignatures.length > 0 ? { ironwoodSignatures } : {}),
97
124
  });
98
125
  if (bailIfCancelled())
99
126
  return;
@@ -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 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqC,UAAU,EAAQ,MAAM,MAAM,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,oDAAoD,CAAC;AAM5D,OAAO,EAIL,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAEV,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EAAE,aAAa,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAoB,MAAM,kBAAkB,CAAC;AAelG,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAoBjE,eAAO,MAAM,cAAc,SACnB,YAAY,mBACD,GAAG,CAAC,MAAM,CAAC,KAC3B,aAQD,CAAC;AAyPH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAgKhC;AAkFD,eAAO,MAAM,iBAAiB,QACvB,gBAAgB,CAAC,YAAY,CAAC,eACtB,UAAU,KACtB,UAAU,CAAC,kBAAkB,CAkD5B,CAAC;AAEL,KAAK,uBAAuB,GAAG;IAC7B,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC,CAAC;AAuHF,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,uBAAuB,EACpC,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAiGzB;AAwCD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,UAAU,EAAE,UAAU,GACrB,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAuB/C;AAOD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,GAC3B;IAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYlE;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CAAC,YAAY,CAAC,CAiBrC;AAsCD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,aAAc,YAAY,UAAU,YAAY,KAAG,YAGvE,CAAC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/bridge/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqC,UAAU,EAAQ,MAAM,MAAM,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,oDAAoD,CAAC;AAM5D,OAAO,EAIL,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAEV,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EAAE,aAAa,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAoB,MAAM,kBAAkB,CAAC;AAelG,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAoBjE,eAAO,MAAM,cAAc,SACnB,YAAY,mBACD,GAAG,CAAC,MAAM,CAAC,KAC3B,aAQD,CAAC;AAyPH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAgKhC;AAkFD,eAAO,MAAM,iBAAiB,QACvB,gBAAgB,CAAC,YAAY,CAAC,eACtB,UAAU,KACtB,UAAU,CAAC,kBAAkB,CAkD5B,CAAC;AAEL,KAAK,uBAAuB,GAAG;IAC7B,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC,CAAC;AAuHF,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,uBAAuB,EACpC,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAiGzB;AAwCD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,UAAU,EAAE,UAAU,GACrB,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAuB/C;AAOD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACpC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,GAC3B;IAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYlE;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CAAC,YAAY,CAAC,CAiBrC;AAsCD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,aAAc,YAAY,UAAU,YAAY,KAAG,YAGvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE,eAAO,MAAM,iBAAiB,sDACuB,WAAW,WACrD,OAAO,KACf,MAUe,CAAC;AAEnB,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WAYvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAYjD,CAAC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE,eAAO,MAAM,iBAAiB,sDACuB,WAAW,WACrD,OAAO,KACf,MAUe,CAAC;AAEnB,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WAavD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAajD,CAAC"}
@@ -24,6 +24,7 @@ const fromTransactionRaw = (tr) => {
24
24
  transferType: tr.transferType,
25
25
  ...(tr.sender !== undefined && { sender: tr.sender }),
26
26
  ...(tr.recipientType !== undefined && { recipientType: tr.recipientType }),
27
+ ...(tr.selfTransfer !== undefined && { selfTransfer: tr.selfTransfer }),
27
28
  ...(tr.memo !== undefined && { memo: tr.memo }),
28
29
  ...(tr.zcashFee !== undefined && { zcashFee: new bignumber_js_1.BigNumber(tr.zcashFee) }),
29
30
  ...(tr.changeAmount !== undefined && { changeAmount: new bignumber_js_1.BigNumber(tr.changeAmount) }),
@@ -38,6 +39,7 @@ const toTransactionRaw = (t) => {
38
39
  transferType: t.transferType,
39
40
  ...(t.sender !== undefined && { sender: t.sender }),
40
41
  ...(t.recipientType !== undefined && { recipientType: t.recipientType }),
42
+ ...(t.selfTransfer !== undefined && { selfTransfer: t.selfTransfer }),
41
43
  ...(t.memo !== undefined && { memo: t.memo }),
42
44
  ...(t.zcashFee !== undefined && { zcashFee: t.zcashFee.toString() }),
43
45
  ...(t.changeAmount !== undefined && { changeAmount: t.changeAmount.toString() }),
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare const getZainoEndpoint: () => {
23
23
  export declare const ZCASH_ACTIVATION_DATE: Date;
24
24
  export declare const ZCASH_ACTIVATION_DATE_STRING = "2022-05-31";
25
25
  export declare const ZCASH_OUTDATED_SYNC_INTERVAL_MINUTES = 2;
26
+ export declare const ZCASH_SHIELDED_SPENDABILITY_DELAY_BLOCKS = 12;
26
27
  export declare const ZCASH_CHECK_OUTDATED_SYNC_INTERVAL = 5000;
27
28
  export declare const DEFAULT_ZCASH_PRIVATE_INFO: ZcashPrivateInfo;
28
29
  /** Estimation recipient used by estimateMaxSpendable/fee-estimation flows. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AAWjF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAQjD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,GAAG,IAAI,YAAY,YAAY,KAAG,IAM5E,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,eAAe,QAAO,MAAwD,CAAC;AAE5F,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAAO,YAC2B,CAAC;AAE/D,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,QAAO;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAG1E,CAAC;AASH,eAAO,MAAM,qBAAqB,MAAyB,CAAC;AAC5D,eAAO,MAAM,4BAA4B,eAAe,CAAC;AACzD,eAAO,MAAM,oCAAoC,IAAI,CAAC;AACtD,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AACxD,eAAO,MAAM,0BAA0B,EAAE,gBAaxC,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,wCAAwC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AAWjF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAQjD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,GAAG,IAAI,YAAY,YAAY,KAAG,IAM5E,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,eAAe,QAAO,MAAwD,CAAC;AAE5F,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAAO,YAC2B,CAAC;AAE/D,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,QAAO;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAG1E,CAAC;AASH,eAAO,MAAM,qBAAqB,MAAyB,CAAC;AAC5D,eAAO,MAAM,4BAA4B,eAAe,CAAC;AACzD,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAKtD,eAAO,MAAM,wCAAwC,KAAK,CAAC;AAC3D,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AACxD,eAAO,MAAM,0BAA0B,EAAE,gBAaxC,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,wCAAwC,CAAC"}