@ledgerhq/live-common 27.0.1-next.0 → 27.1.0-next.2

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 (190) hide show
  1. package/lib/account/serialization.d.ts +2 -0
  2. package/lib/account/serialization.d.ts.map +1 -1
  3. package/lib/account/serialization.js +23 -8
  4. package/lib/account/serialization.js.map +1 -1
  5. package/lib/api/explorerConfig/index.js +1 -1
  6. package/lib/api/explorerConfig/index.js.map +1 -1
  7. package/lib/apps/support.d.ts.map +1 -1
  8. package/lib/apps/support.js +1 -0
  9. package/lib/apps/support.js.map +1 -1
  10. package/lib/families/celo/api/hubble.d.ts +6 -1
  11. package/lib/families/celo/api/hubble.d.ts.map +1 -1
  12. package/lib/families/celo/api/hubble.js +135 -13
  13. package/lib/families/celo/api/hubble.js.map +1 -1
  14. package/lib/families/celo/api/index.d.ts +1 -1
  15. package/lib/families/celo/api/index.d.ts.map +1 -1
  16. package/lib/families/celo/api/index.js +2 -1
  17. package/lib/families/celo/api/index.js.map +1 -1
  18. package/lib/families/celo/api/sdk.d.ts +22 -0
  19. package/lib/families/celo/api/sdk.d.ts.map +1 -1
  20. package/lib/families/celo/api/sdk.js +168 -1
  21. package/lib/families/celo/api/sdk.js.map +1 -1
  22. package/lib/families/celo/bridge/js.d.ts.map +1 -1
  23. package/lib/families/celo/bridge/js.js +4 -42
  24. package/lib/families/celo/bridge/js.js.map +1 -1
  25. package/lib/families/celo/cli-transaction.d.ts +12 -2
  26. package/lib/families/celo/cli-transaction.d.ts.map +1 -1
  27. package/lib/families/celo/cli-transaction.js +38 -4
  28. package/lib/families/celo/cli-transaction.js.map +1 -1
  29. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts +1 -0
  30. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts.map +1 -1
  31. package/lib/families/celo/datasets/celo.scanAccounts.1.js +298 -2
  32. package/lib/families/celo/datasets/celo.scanAccounts.1.js.map +1 -1
  33. package/lib/families/celo/errors.d.ts +2 -0
  34. package/lib/families/celo/errors.d.ts.map +1 -0
  35. package/lib/families/celo/errors.js +6 -0
  36. package/lib/families/celo/errors.js.map +1 -0
  37. package/lib/families/celo/js-buildTransaction.d.ts +2 -3
  38. package/lib/families/celo/js-buildTransaction.d.ts.map +1 -1
  39. package/lib/families/celo/js-buildTransaction.js +194 -19
  40. package/lib/families/celo/js-buildTransaction.js.map +1 -1
  41. package/lib/families/celo/js-createTransaction.d.ts.map +1 -1
  42. package/lib/families/celo/js-createTransaction.js +3 -1
  43. package/lib/families/celo/js-createTransaction.js.map +1 -1
  44. package/lib/families/celo/js-estimateMaxSpendable.d.ts.map +1 -1
  45. package/lib/families/celo/js-estimateMaxSpendable.js.map +1 -1
  46. package/lib/families/celo/js-getFeesForTransaction.d.ts +2 -3
  47. package/lib/families/celo/js-getFeesForTransaction.d.ts.map +1 -1
  48. package/lib/families/celo/js-getFeesForTransaction.js +137 -10
  49. package/lib/families/celo/js-getFeesForTransaction.js.map +1 -1
  50. package/lib/families/celo/js-getTransactionStatus.d.ts +2 -3
  51. package/lib/families/celo/js-getTransactionStatus.d.ts.map +1 -1
  52. package/lib/families/celo/js-getTransactionStatus.js +97 -41
  53. package/lib/families/celo/js-getTransactionStatus.js.map +1 -1
  54. package/lib/families/celo/js-prepareTransaction.d.ts +2 -3
  55. package/lib/families/celo/js-prepareTransaction.d.ts.map +1 -1
  56. package/lib/families/celo/js-prepareTransaction.js +8 -3
  57. package/lib/families/celo/js-prepareTransaction.js.map +1 -1
  58. package/lib/families/celo/js-signOperation.d.ts.map +1 -1
  59. package/lib/families/celo/js-signOperation.js +17 -3
  60. package/lib/families/celo/js-signOperation.js.map +1 -1
  61. package/lib/families/celo/js-synchronisation.d.ts.map +1 -1
  62. package/lib/families/celo/js-synchronisation.js +51 -6
  63. package/lib/families/celo/js-synchronisation.js.map +1 -1
  64. package/lib/families/celo/logic.d.ts +21 -0
  65. package/lib/families/celo/logic.d.ts.map +1 -0
  66. package/lib/families/celo/logic.js +132 -0
  67. package/lib/families/celo/logic.js.map +1 -0
  68. package/lib/families/celo/preload.d.ts +10 -0
  69. package/lib/families/celo/preload.d.ts.map +1 -0
  70. package/lib/families/celo/preload.js +118 -0
  71. package/lib/families/celo/preload.js.map +1 -0
  72. package/lib/families/celo/react.d.ts +4 -0
  73. package/lib/families/celo/react.d.ts.map +1 -0
  74. package/lib/families/celo/react.js +47 -0
  75. package/lib/families/celo/react.js.map +1 -0
  76. package/lib/families/celo/serialization.d.ts +4 -0
  77. package/lib/families/celo/serialization.d.ts.map +1 -0
  78. package/lib/families/celo/serialization.js +55 -0
  79. package/lib/families/celo/serialization.js.map +1 -0
  80. package/lib/families/celo/specs/createActivateVoteMutation.d.ts +4 -0
  81. package/lib/families/celo/specs/createActivateVoteMutation.d.ts.map +1 -0
  82. package/lib/families/celo/specs/createActivateVoteMutation.js +38 -0
  83. package/lib/families/celo/specs/createActivateVoteMutation.js.map +1 -0
  84. package/lib/families/celo/specs/createLockMutation.d.ts +4 -0
  85. package/lib/families/celo/specs/createLockMutation.d.ts.map +1 -0
  86. package/lib/families/celo/specs/createLockMutation.js +40 -0
  87. package/lib/families/celo/specs/createLockMutation.js.map +1 -0
  88. package/lib/families/celo/specs/createRegisterAccountMutation.d.ts +4 -0
  89. package/lib/families/celo/specs/createRegisterAccountMutation.d.ts.map +1 -0
  90. package/lib/families/celo/specs/createRegisterAccountMutation.js +31 -0
  91. package/lib/families/celo/specs/createRegisterAccountMutation.js.map +1 -0
  92. package/lib/families/celo/specs/createRevokeVoteMutation.d.ts +4 -0
  93. package/lib/families/celo/specs/createRevokeVoteMutation.d.ts.map +1 -0
  94. package/lib/families/celo/specs/createRevokeVoteMutation.js +39 -0
  95. package/lib/families/celo/specs/createRevokeVoteMutation.js.map +1 -0
  96. package/lib/families/celo/specs/createSendMutation.d.ts +5 -0
  97. package/lib/families/celo/specs/createSendMutation.d.ts.map +1 -0
  98. package/lib/families/celo/specs/createSendMutation.js +44 -0
  99. package/lib/families/celo/specs/createSendMutation.js.map +1 -0
  100. package/lib/families/celo/specs/createUnlockMutation.d.ts +4 -0
  101. package/lib/families/celo/specs/createUnlockMutation.d.ts.map +1 -0
  102. package/lib/families/celo/specs/createUnlockMutation.js +37 -0
  103. package/lib/families/celo/specs/createUnlockMutation.js.map +1 -0
  104. package/lib/families/celo/specs/createVoteMutation.d.ts +4 -0
  105. package/lib/families/celo/specs/createVoteMutation.d.ts.map +1 -0
  106. package/lib/families/celo/specs/createVoteMutation.js +51 -0
  107. package/lib/families/celo/specs/createVoteMutation.js.map +1 -0
  108. package/lib/families/celo/specs/createWithdrawMutation.d.ts +4 -0
  109. package/lib/families/celo/specs/createWithdrawMutation.d.ts.map +1 -0
  110. package/lib/families/celo/specs/createWithdrawMutation.js +36 -0
  111. package/lib/families/celo/specs/createWithdrawMutation.js.map +1 -0
  112. package/lib/families/celo/specs/index.d.ts +9 -0
  113. package/lib/families/celo/specs/index.d.ts.map +1 -0
  114. package/lib/families/celo/specs/index.js +25 -0
  115. package/lib/families/celo/specs/index.js.map +1 -0
  116. package/lib/families/celo/specs.d.ts +1 -1
  117. package/lib/families/celo/specs.d.ts.map +1 -1
  118. package/lib/families/celo/specs.js +20 -37
  119. package/lib/families/celo/specs.js.map +1 -1
  120. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
  121. package/lib/families/celo/speculos-deviceActions.js +22 -0
  122. package/lib/families/celo/speculos-deviceActions.js.map +1 -1
  123. package/lib/families/celo/transaction.d.ts.map +1 -1
  124. package/lib/families/celo/transaction.js +8 -6
  125. package/lib/families/celo/transaction.js.map +1 -1
  126. package/lib/families/celo/types.d.ts +102 -1
  127. package/lib/families/celo/types.d.ts.map +1 -1
  128. package/lib/families/celo/validators.d.ts +3 -0
  129. package/lib/families/celo/validators.d.ts.map +1 -0
  130. package/lib/families/celo/validators.js +6 -0
  131. package/lib/families/celo/validators.js.map +1 -0
  132. package/lib/families/cosmos/banner.d.ts +10 -0
  133. package/lib/families/cosmos/banner.d.ts.map +1 -0
  134. package/lib/families/cosmos/banner.js +133 -0
  135. package/lib/families/cosmos/banner.js.map +1 -0
  136. package/lib/families/cosmos/banner.test.d.ts +2 -0
  137. package/lib/families/cosmos/banner.test.d.ts.map +1 -0
  138. package/lib/families/cosmos/banner.test.js +233 -0
  139. package/lib/families/cosmos/banner.test.js.map +1 -0
  140. package/lib/families/solana/api/chain/instruction/token/types.d.ts +2 -2
  141. package/lib/generated/cli-transaction.d.ts +12 -2
  142. package/lib/generated/cli-transaction.d.ts.map +1 -1
  143. package/lib/operation.d.ts.map +1 -1
  144. package/lib/operation.js +6 -0
  145. package/lib/operation.js.map +1 -1
  146. package/lib/reconciliation.d.ts.map +1 -1
  147. package/lib/reconciliation.js +11 -0
  148. package/lib/reconciliation.js.map +1 -1
  149. package/package.json +3 -4
  150. package/src/account/serialization.ts +22 -2
  151. package/src/api/explorerConfig/index.ts +1 -1
  152. package/src/apps/support.ts +1 -0
  153. package/src/families/celo/__snapshots__/bridge.integration.test.ts.snap +134 -857
  154. package/src/families/celo/api/hubble.ts +113 -16
  155. package/src/families/celo/api/index.ts +1 -1
  156. package/src/families/celo/api/sdk.ts +88 -0
  157. package/src/families/celo/bridge/js.ts +2 -3
  158. package/src/families/celo/cli-transaction.ts +46 -2
  159. package/src/families/celo/datasets/celo.scanAccounts.1.ts +365 -5
  160. package/src/families/celo/errors.ts +5 -0
  161. package/src/families/celo/js-buildTransaction.ts +173 -20
  162. package/src/families/celo/js-createTransaction.ts +2 -0
  163. package/src/families/celo/js-estimateMaxSpendable.ts +2 -2
  164. package/src/families/celo/js-getFeesForTransaction.ts +118 -19
  165. package/src/families/celo/js-getTransactionStatus.ts +72 -17
  166. package/src/families/celo/js-prepareTransaction.ts +13 -7
  167. package/src/families/celo/js-signOperation.ts +22 -5
  168. package/src/families/celo/js-synchronisation.ts +32 -0
  169. package/src/families/celo/logic.ts +184 -0
  170. package/src/families/celo/preload.ts +78 -0
  171. package/src/families/celo/react.ts +35 -0
  172. package/src/families/celo/serialization.ts +61 -0
  173. package/src/families/celo/specs/createActivateVoteMutation.ts +44 -0
  174. package/src/families/celo/specs/createLockMutation.ts +46 -0
  175. package/src/families/celo/specs/createRegisterAccountMutation.ts +34 -0
  176. package/src/families/celo/specs/createRevokeVoteMutation.ts +43 -0
  177. package/src/families/celo/specs/createSendMutation.ts +44 -0
  178. package/src/families/celo/specs/createUnlockMutation.ts +44 -0
  179. package/src/families/celo/specs/createVoteMutation.ts +67 -0
  180. package/src/families/celo/specs/createWithdrawMutation.ts +44 -0
  181. package/src/families/celo/specs/index.ts +8 -0
  182. package/src/families/celo/specs.ts +32 -34
  183. package/src/families/celo/speculos-deviceActions.ts +21 -2
  184. package/src/families/celo/transaction.ts +12 -4
  185. package/src/families/celo/types.ts +113 -0
  186. package/src/families/celo/validators.ts +2 -0
  187. package/src/families/cosmos/banner.test.ts +160 -0
  188. package/src/families/cosmos/banner.ts +87 -0
  189. package/src/operation.ts +6 -0
  190. package/src/reconciliation.ts +22 -0
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ exports.createRevokeVoteMutation = void 0;
7
+ var invariant_1 = __importDefault(require("invariant"));
8
+ var currencies_1 = require("../../../currencies");
9
+ var currency = (0, currencies_1.getCryptoCurrencyById)("celo");
10
+ var minimalAmount = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.001");
11
+ var createRevokeVoteMutation = function () { return ({
12
+ name: "Celo: RevokeVote",
13
+ maxRun: 5,
14
+ transaction: function (_a) {
15
+ var _b, _c;
16
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
17
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Revoke Vote | balance is too low");
18
+ var celoResources = account.celoResources;
19
+ (0, invariant_1["default"])(celoResources === null || celoResources === void 0 ? void 0 : celoResources.registrationStatus, "Celo: RevokeVote | Account is not registered");
20
+ var revokableVote = (_b = celoResources === null || celoResources === void 0 ? void 0 : celoResources.votes) === null || _b === void 0 ? void 0 : _b.find(function (vote) { return vote.revokable; });
21
+ (0, invariant_1["default"])(!!revokableVote, "Celo: RevokeVote | Revokable vote not found");
22
+ return {
23
+ transaction: bridge.createTransaction(account),
24
+ updates: [
25
+ {
26
+ memo: "LedgerLiveBot",
27
+ mode: "revoke",
28
+ recipient: revokableVote.validatorGroup,
29
+ group: revokableVote.validatorGroup,
30
+ address: (_c = account.celoResources) === null || _c === void 0 ? void 0 : _c.electionAddress,
31
+ index: revokableVote.index,
32
+ amount: revokableVote.amount
33
+ },
34
+ ]
35
+ };
36
+ }
37
+ }); };
38
+ exports.createRevokeVoteMutation = createRevokeVoteMutation;
39
+ //# sourceMappingURL=createRevokeVoteMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRevokeVoteMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createRevokeVoteMutation.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkC;AAClC,kDAA+E;AAI/E,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,aAAa,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAM,wBAAwB,GAAG,cAAiC,OAAA,CAAC;IACxE,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAAiC;;YAA/B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QAC3C,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,yCAAyC,CAC1C,CAAC;QAEM,IAAA,aAAa,GAAK,OAAsB,cAA3B,CAA4B;QACjD,IAAA,sBAAS,EACP,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,EACjC,8CAA8C,CAC/C,CAAC;QAEF,IAAM,aAAa,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,SAAS,EAAd,CAAc,CAAC,CAAC;QAE3E,IAAA,sBAAS,EAAC,CAAC,CAAC,aAAa,EAAE,8CAA8C,CAAC,CAAC;QAE3E,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,aAAc,CAAC,cAAc;oBACxC,KAAK,EAAE,aAAc,CAAC,cAAc;oBACpC,OAAO,EAAE,MAAC,OAAuB,CAAC,aAAa,0CAAE,eAAe;oBAChE,KAAK,EAAE,aAAc,CAAC,KAAK;oBAC3B,MAAM,EAAE,aAAc,CAAC,MAAM;iBAC9B;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,EAlCuE,CAkCvE,CAAC;AAlCU,QAAA,wBAAwB,4BAkClC"}
@@ -0,0 +1,5 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createSend50PercentMutation: () => MutationSpec<Transaction>;
4
+ export declare const createSendMaxMutation: () => MutationSpec<Transaction>;
5
+ //# sourceMappingURL=createSendMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSendMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createSendMutation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C,eAAO,MAAM,2BAA2B,QAAO,aAAa,WAAW,CAgBrE,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAAO,aAAa,WAAW,CAe/D,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ exports.createSendMaxMutation = exports.createSend50PercentMutation = void 0;
7
+ var invariant_1 = __importDefault(require("invariant"));
8
+ var currencies_1 = require("../../../currencies");
9
+ var specs_1 = require("../../../bot/specs");
10
+ var maxAccount = 3;
11
+ var currency = (0, currencies_1.getCryptoCurrencyById)("celo");
12
+ var minimalAmount = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.001");
13
+ var createSend50PercentMutation = function () { return ({
14
+ name: "Celo: Move 50% to another account",
15
+ maxRun: 1,
16
+ transaction: function (_a) {
17
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
18
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Move 50% | balance is too low");
19
+ var sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
20
+ var recipient = sibling.freshAddress;
21
+ var amount = maxSpendable.div(2).integerValue();
22
+ return {
23
+ transaction: bridge.createTransaction(account),
24
+ updates: [{ recipient: recipient }, { amount: amount }]
25
+ };
26
+ }
27
+ }); };
28
+ exports.createSend50PercentMutation = createSend50PercentMutation;
29
+ var createSendMaxMutation = function () { return ({
30
+ name: "Celo: Send max to another account",
31
+ maxRun: 1,
32
+ transaction: function (_a) {
33
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
34
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Send Max | Balance is too low");
35
+ var sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
36
+ var recipient = sibling.freshAddress;
37
+ return {
38
+ transaction: bridge.createTransaction(account),
39
+ updates: [{ recipient: recipient }, { useAllAmount: true }]
40
+ };
41
+ }
42
+ }); };
43
+ exports.createSendMaxMutation = createSendMaxMutation;
44
+ //# sourceMappingURL=createSendMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSendMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createSendMutation.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkC;AAClC,kDAA+E;AAC/E,4CAAkD;AAIlD,IAAM,UAAU,GAAG,CAAC,CAAC;AACrB,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,aAAa,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAM,2BAA2B,GAAG,cAAiC,OAAA,CAAC;IAC3E,IAAI,EAAE,mCAAmC;IACzC,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAA2C;YAAzC,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QACrD,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,sCAAsC,CACvC,CAAC;QACF,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QACvC,IAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAClD,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC;SACrC,CAAC;IACJ,CAAC;CACF,CAAC,EAhB0E,CAgB1E,CAAC;AAhBU,QAAA,2BAA2B,+BAgBrC;AAEI,IAAM,qBAAqB,GAAG,cAAiC,OAAA,CAAC;IACrE,IAAI,EAAE,mCAAmC;IACzC,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAA2C;YAAzC,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QACrD,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,qCAAqC,CACtC,CAAC;QACF,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QACvC,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;CACF,CAAC,EAfoE,CAepE,CAAC;AAfU,QAAA,qBAAqB,yBAe/B"}
@@ -0,0 +1,4 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createUnlockMutation: () => MutationSpec<Transaction>;
4
+ //# sourceMappingURL=createUnlockMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUnlockMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createUnlockMutation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAMzD,eAAO,MAAM,oBAAoB,QAAO,aAAa,WAAW,CAkC9D,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ exports.createUnlockMutation = void 0;
7
+ var invariant_1 = __importDefault(require("invariant"));
8
+ var currencies_1 = require("../../../currencies");
9
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
10
+ var currency = (0, currencies_1.getCryptoCurrencyById)("celo");
11
+ var minimalAmount = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.001");
12
+ var createUnlockMutation = function () { return ({
13
+ name: "Celo: Unlock",
14
+ maxRun: 1,
15
+ transaction: function (_a) {
16
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
17
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Unlock | balance is too low");
18
+ var celoResources = account.celoResources;
19
+ (0, invariant_1["default"])(celoResources === null || celoResources === void 0 ? void 0 : celoResources.registrationStatus, "Celo: Unlock | Account is not registered");
20
+ var nonvotingLockedBalance = (celoResources === null || celoResources === void 0 ? void 0 : celoResources.nonvotingLockedBalance) || new bignumber_js_1["default"](0);
21
+ (0, invariant_1["default"])(nonvotingLockedBalance.gt(0), "Celo: Unlock | No non voting locked balance");
22
+ return {
23
+ transaction: bridge.createTransaction(account),
24
+ updates: [
25
+ {
26
+ memo: "LedgerLiveBot",
27
+ mode: "unlock"
28
+ },
29
+ {
30
+ amount: nonvotingLockedBalance.dividedBy(2).integerValue()
31
+ },
32
+ ]
33
+ };
34
+ }
35
+ }); };
36
+ exports.createUnlockMutation = createUnlockMutation;
37
+ //# sourceMappingURL=createUnlockMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUnlockMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createUnlockMutation.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkC;AAClC,kDAA+E;AAG/E,8DAAqC;AAErC,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,aAAa,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAM,oBAAoB,GAAG,cAAiC,OAAA,CAAC;IACpE,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAAiC;YAA/B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QAC3C,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,oCAAoC,CACrC,CAAC;QAEM,IAAA,aAAa,GAAK,OAAsB,cAA3B,CAA4B;QACjD,IAAA,sBAAS,EACP,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,EACjC,0CAA0C,CAC3C,CAAC;QACF,IAAM,sBAAsB,GAC1B,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,sBAAsB,KAAI,IAAI,yBAAS,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAA,sBAAS,EACP,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAC5B,6CAA6C,CAC9C,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,MAAM,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;iBAC3D;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,EAlCmE,CAkCnE,CAAC;AAlCU,QAAA,oBAAoB,wBAkC9B"}
@@ -0,0 +1,4 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createVoteMutation: () => MutationSpec<Transaction>;
4
+ //# sourceMappingURL=createVoteMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createVoteMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createVoteMutation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,KAAK,EAA8B,WAAW,EAAE,MAAM,UAAU,CAAC;AAKxE,eAAO,MAAM,kBAAkB,QAAO,aAAa,WAAW,CAsD5D,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ exports.createVoteMutation = void 0;
7
+ var invariant_1 = __importDefault(require("invariant"));
8
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ var sampleSize_1 = __importDefault(require("lodash/sampleSize"));
10
+ var currencies_1 = require("../../../currencies");
11
+ var preload_1 = require("../preload");
12
+ var logic_1 = require("../logic");
13
+ var currency = (0, currencies_1.getCryptoCurrencyById)("celo");
14
+ var minimalAmount = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.001");
15
+ var createVoteMutation = function () { return ({
16
+ name: "Celo: Vote",
17
+ maxRun: 1,
18
+ transaction: function (_a) {
19
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
20
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Vote | balance is too low");
21
+ var celoResources = account.celoResources;
22
+ (0, invariant_1["default"])(celoResources === null || celoResources === void 0 ? void 0 : celoResources.registrationStatus, "Celo: Vote | Account is not registered");
23
+ var nonvotingLockedBalance = (celoResources === null || celoResources === void 0 ? void 0 : celoResources.nonvotingLockedBalance) || new bignumber_js_1["default"](0);
24
+ (0, invariant_1["default"])(nonvotingLockedBalance.gt(0), "Celo: Vote | No non voting locked balance");
25
+ var votes = celoResources.votes || [];
26
+ var validatorGroups = (0, preload_1.getCurrentCeloPreloadData)().validatorGroups;
27
+ // Get a random validator group that the account does not have locked tokens for.
28
+ var validatorGroupWithoutVotes = (0, sampleSize_1["default"])((0, logic_1.getValidatorGroupsWithoutVotes)(validatorGroups, votes), 1)[0];
29
+ var amount = nonvotingLockedBalance
30
+ .times(0.5)
31
+ .precision(8)
32
+ .integerValue();
33
+ (0, invariant_1["default"])(amount.gt(0), "Celo: Vote | Not enough funds to vote");
34
+ var transaction = {
35
+ recipient: validatorGroupWithoutVotes.address,
36
+ amount: amount
37
+ };
38
+ return {
39
+ transaction: bridge.createTransaction(account),
40
+ updates: [
41
+ {
42
+ memo: "LedgerLiveBot",
43
+ mode: "vote"
44
+ },
45
+ transaction,
46
+ ]
47
+ };
48
+ }
49
+ }); };
50
+ exports.createVoteMutation = createVoteMutation;
51
+ //# sourceMappingURL=createVoteMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createVoteMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createVoteMutation.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkC;AAClC,8DAAqC;AACrC,iEAA2C;AAE3C,kDAA+E;AAC/E,sCAAuD;AACvD,kCAA0D;AAG1D,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,aAAa,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAM,kBAAkB,GAAG,cAAiC,OAAA,CAAC;IAClE,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAAiC;YAA/B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QAC3C,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,kCAAkC,CACnC,CAAC;QAEM,IAAA,aAAa,GAAK,OAAsB,cAA3B,CAA4B;QACjD,IAAA,sBAAS,EACP,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,EACjC,wCAAwC,CACzC,CAAC;QAEF,IAAM,sBAAsB,GAC1B,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,sBAAsB,KAAI,IAAI,yBAAS,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAA,sBAAS,EACP,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAC5B,2CAA2C,CAC5C,CAAC;QAEF,IAAM,KAAK,GAAI,aAA+B,CAAC,KAAK,IAAI,EAAE,CAAC;QACnD,IAAA,eAAe,GAAK,IAAA,mCAAyB,GAAE,gBAAhC,CAAiC;QAExD,iFAAiF;QACjF,IAAM,0BAA0B,GAAG,IAAA,uBAAU,EAC3C,IAAA,sCAA8B,EAAC,eAAe,EAAE,KAAK,CAAC,EACtD,CAAC,CACF,CAAC,CAAC,CAAC,CAAC;QAEL,IAAM,MAAM,GAAG,sBAAsB;aAClC,KAAK,CAAC,GAAG,CAAC;aACV,SAAS,CAAC,CAAC,CAAC;aACZ,YAAY,EAAE,CAAC;QAElB,IAAA,sBAAS,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,uCAAuC,CAAC,CAAC;QAEjE,IAAM,WAAW,GAAG;YAClB,SAAS,EAAE,0BAA0B,CAAC,OAAO;YAC7C,MAAM,QAAA;SACP,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,MAAM;iBACb;gBACD,WAAW;aACZ;SACF,CAAC;IACJ,CAAC;CACF,CAAC,EAtDiE,CAsDjE,CAAC;AAtDU,QAAA,kBAAkB,sBAsD5B"}
@@ -0,0 +1,4 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createWithdrawMutation: () => MutationSpec<Transaction>;
4
+ //# sourceMappingURL=createWithdrawMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWithdrawMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createWithdrawMutation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAKzD,eAAO,MAAM,sBAAsB,QAAO,aAAa,WAAW,CAkChE,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ exports.createWithdrawMutation = void 0;
7
+ var invariant_1 = __importDefault(require("invariant"));
8
+ var currencies_1 = require("../../../currencies");
9
+ var logic_1 = require("../logic");
10
+ var currency = (0, currencies_1.getCryptoCurrencyById)("celo");
11
+ var minimalAmount = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.001");
12
+ var createWithdrawMutation = function () { return ({
13
+ name: "Celo: Withdraw",
14
+ maxRun: 5,
15
+ transaction: function (_a) {
16
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
17
+ var celoAccount = account;
18
+ var celoResources = celoAccount.celoResources;
19
+ (0, invariant_1["default"])(celoResources === null || celoResources === void 0 ? void 0 : celoResources.registrationStatus, "Celo: Withdraw | Account is not registered");
20
+ var pendingWithdrawals = (0, logic_1.availablePendingWithdrawals)(celoAccount);
21
+ (0, invariant_1["default"])(pendingWithdrawals.length > 0, "Celo: Withdraw | No withdrawable balance");
22
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Withdraw Vote | balance is too low");
23
+ return {
24
+ transaction: bridge.createTransaction(celoAccount),
25
+ updates: [
26
+ {
27
+ mode: "withdraw",
28
+ recipient: celoAccount.celoResources.lockedGoldAddress,
29
+ index: pendingWithdrawals[0].index
30
+ },
31
+ ]
32
+ };
33
+ }
34
+ }); };
35
+ exports.createWithdrawMutation = createWithdrawMutation;
36
+ //# sourceMappingURL=createWithdrawMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWithdrawMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createWithdrawMutation.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkC;AAElC,kDAA+E;AAC/E,kCAAuD;AAGvD,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,aAAa,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAM,sBAAsB,GAAG,cAAiC,OAAA,CAAC;IACtE,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAAiC;YAA/B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QAC3C,IAAM,WAAW,GAAG,OAAsB,CAAC;QACnC,IAAA,aAAa,GAAK,WAAW,cAAhB,CAAiB;QACtC,IAAA,sBAAS,EACP,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,EACjC,4CAA4C,CAC7C,CAAC;QAEF,IAAM,kBAAkB,GAAG,IAAA,mCAA2B,EAAC,WAAW,CAAC,CAAC;QAEpE,IAAA,sBAAS,EACP,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAC7B,0CAA0C,CAC3C,CAAC;QAEF,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,2CAA2C,CAC5C,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC;YAClD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,WAAW,CAAC,aAAc,CAAC,iBAAkB;oBACxD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK;iBACnC;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,EAlCqE,CAkCrE,CAAC;AAlCU,QAAA,sBAAsB,0BAkChC"}
@@ -0,0 +1,9 @@
1
+ export * from "./createSendMutation";
2
+ export * from "./createLockMutation";
3
+ export * from "./createUnlockMutation";
4
+ export * from "./createRegisterAccountMutation";
5
+ export * from "./createVoteMutation";
6
+ export * from "./createActivateVoteMutation";
7
+ export * from "./createRevokeVoteMutation";
8
+ export * from "./createWithdrawMutation";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ exports.__esModule = true;
17
+ __exportStar(require("./createSendMutation"), exports);
18
+ __exportStar(require("./createLockMutation"), exports);
19
+ __exportStar(require("./createUnlockMutation"), exports);
20
+ __exportStar(require("./createRegisterAccountMutation"), exports);
21
+ __exportStar(require("./createVoteMutation"), exports);
22
+ __exportStar(require("./createActivateVoteMutation"), exports);
23
+ __exportStar(require("./createRevokeVoteMutation"), exports);
24
+ __exportStar(require("./createWithdrawMutation"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,yDAAuC;AACvC,kEAAgD;AAChD,uDAAqC;AACrC,+DAA6C;AAC7C,6DAA2C;AAC3C,2DAAyC"}
@@ -1,5 +1,5 @@
1
- import type { Transaction } from "./types";
2
1
  import type { AppSpec } from "../../bot/types";
2
+ import type { Transaction } from "./types";
3
3
  declare const _default: {
4
4
  celo: AppSpec<Transaction>;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/families/celo/specs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;;;;AAgD/C,wBAEE"}
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/families/celo/specs.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;;;;AAoC3C,wBAEE"}
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  exports.__esModule = true;
6
- var invariant_1 = __importDefault(require("invariant"));
7
- var currencies_1 = require("../../currencies");
8
- var specs_1 = require("../../bot/specs");
9
3
  var devices_1 = require("@ledgerhq/devices");
4
+ var currencies_1 = require("../../currencies");
5
+ var index_1 = require("./specs/index");
10
6
  var speculos_deviceActions_1 = require("./speculos-deviceActions");
11
7
  var currency = (0, currencies_1.getCryptoCurrencyById)("celo");
12
- var minimalAmount = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.001");
13
- var maxAccount = 3;
8
+ var send50PercentMutation = (0, index_1.createSend50PercentMutation)();
9
+ var sendMaxMutation = (0, index_1.createSendMaxMutation)();
10
+ var registerAccountMutation = (0, index_1.createRegisterAccountMutation)();
11
+ var unlockMutation = (0, index_1.createUnlockMutation)();
12
+ var lockMutation = (0, index_1.createLockMutation)();
13
+ var voteMutation = (0, index_1.createVoteMutation)();
14
+ var activateVoteMutation = (0, index_1.createActivateVoteMutation)();
15
+ var revokeVoteMutation = (0, index_1.createRevokeVoteMutation)();
16
+ var withdrawMutation = (0, index_1.createWithdrawMutation)();
14
17
  var celo = {
15
18
  name: "Celo",
16
19
  currency: currency,
@@ -21,35 +24,15 @@ var celo = {
21
24
  testTimeout: 2 * 60 * 1000,
22
25
  genericDeviceAction: speculos_deviceActions_1.acceptTransaction,
23
26
  mutations: [
24
- {
25
- name: "move 50% to another account",
26
- maxRun: 2,
27
- transaction: function (_a) {
28
- var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
29
- (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "balance is too low");
30
- var sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
31
- var recipient = sibling.freshAddress;
32
- var amount = maxSpendable.div(2).integerValue();
33
- return {
34
- transaction: bridge.createTransaction(account),
35
- updates: [{ recipient: recipient }, { amount: amount }]
36
- };
37
- }
38
- },
39
- {
40
- name: "send max to another account",
41
- maxRun: 1,
42
- transaction: function (_a) {
43
- var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
44
- (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "balance is too low");
45
- var sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
46
- var recipient = sibling.freshAddress;
47
- return {
48
- transaction: bridge.createTransaction(account),
49
- updates: [{ recipient: recipient }, { useAllAmount: true }]
50
- };
51
- }
52
- },
27
+ send50PercentMutation,
28
+ sendMaxMutation,
29
+ registerAccountMutation,
30
+ unlockMutation,
31
+ lockMutation,
32
+ voteMutation,
33
+ activateVoteMutation,
34
+ revokeVoteMutation,
35
+ withdrawMutation,
53
36
  ]
54
37
  };
55
38
  exports["default"] = {
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/families/celo/specs.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAElC,+CAA4E;AAC5E,yCAA+C;AAE/C,6CAAkD;AAClD,mEAA6D;AAE7D,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,aAAa,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpE,IAAM,UAAU,GAAG,CAAC,CAAC;AAErB,IAAM,IAAI,GAAyB;IACjC,IAAI,EAAE,MAAM;IACZ,QAAQ,UAAA;IACR,QAAQ,EAAE;QACR,KAAK,EAAE,uBAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,MAAM;KAChB;IACD,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC1B,mBAAmB,EAAE,0CAAiB;IACtC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,UAAC,EAA2C;oBAAzC,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;gBACrD,IAAA,sBAAS,EAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAChE,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACnD,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;gBACvC,IAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;gBAClD,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBAC9C,OAAO,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC;iBACrC,CAAC;YACJ,CAAC;SACF;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,UAAC,EAA2C;oBAAzC,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;gBACrD,IAAA,sBAAS,EAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAChE,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACnD,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;gBACvC,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBAC9C,OAAO,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iBACjD,CAAC;YACJ,CAAC;SACF;KACF;CACF,CAAC;AAEF,qBAAe;IACb,IAAI,MAAA;CACL,CAAC"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/families/celo/specs.ts"],"names":[],"mappings":";;AAAA,6CAAkD;AAClD,+CAAyD;AACzD,uCAUuB;AAGvB,mEAA6D;AAE7D,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,qBAAqB,GAAG,IAAA,mCAA2B,GAAE,CAAC;AAC5D,IAAM,eAAe,GAAG,IAAA,6BAAqB,GAAE,CAAC;AAChD,IAAM,uBAAuB,GAAG,IAAA,qCAA6B,GAAE,CAAC;AAChE,IAAM,cAAc,GAAG,IAAA,4BAAoB,GAAE,CAAC;AAC9C,IAAM,YAAY,GAAG,IAAA,0BAAkB,GAAE,CAAC;AAC1C,IAAM,YAAY,GAAG,IAAA,0BAAkB,GAAE,CAAC;AAC1C,IAAM,oBAAoB,GAAG,IAAA,kCAA0B,GAAE,CAAC;AAC1D,IAAM,kBAAkB,GAAG,IAAA,gCAAwB,GAAE,CAAC;AACtD,IAAM,gBAAgB,GAAG,IAAA,8BAAsB,GAAE,CAAC;AAElD,IAAM,IAAI,GAAyB;IACjC,IAAI,EAAE,MAAM;IACZ,QAAQ,UAAA;IACR,QAAQ,EAAE;QACR,KAAK,EAAE,uBAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,MAAM;KAChB;IACD,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC1B,mBAAmB,EAAE,0CAAiB;IACtC,SAAS,EAAE;QACT,qBAAqB;QACrB,eAAe;QACf,uBAAuB;QACvB,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,oBAAoB;QACpB,kBAAkB;QAClB,gBAAgB;KACjB;CACF,CAAC;AAEF,qBAAe;IACb,IAAI,MAAA;CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,GAAG,CA2CzD,CAAC"}
1
+ {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAc3C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,GAAG,CAoDzD,CAAC"}
@@ -3,6 +3,16 @@ exports.__esModule = true;
3
3
  exports.acceptTransaction = void 0;
4
4
  var specs_1 = require("../../bot/specs");
5
5
  var currencies_1 = require("../../currencies");
6
+ var typeWording = {
7
+ send: "Send",
8
+ lock: "Lock",
9
+ unlock: "Unlock",
10
+ withdraw: "Withdraw",
11
+ vote: "Vote",
12
+ revoke: "Revoke",
13
+ activate: "Activate",
14
+ register: "Create Account"
15
+ };
6
16
  exports.acceptTransaction = (0, specs_1.deviceActionFlow)({
7
17
  steps: [
8
18
  {
@@ -41,6 +51,18 @@ exports.acceptTransaction = (0, specs_1.deviceActionFlow)({
41
51
  title: "No Gateway Fee",
42
52
  button: "Rr"
43
53
  },
54
+ {
55
+ title: "Validator",
56
+ button: "Rr"
57
+ },
58
+ {
59
+ title: "Type",
60
+ button: "Rr",
61
+ expectedValue: function (_a) {
62
+ var transaction = _a.transaction;
63
+ return typeWording[transaction.mode];
64
+ }
65
+ },
44
66
  {
45
67
  title: "Accept",
46
68
  button: "LRlr"
@@ -1 +1 @@
1
- {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":";;;AAEA,yCAAmD;AACnD,+CAAsD;AAEzC,QAAA,iBAAiB,GAC5B,IAAA,wBAAgB,EAAC;IACf,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,IAAM,cAAc,GAClB,OAAO;oBACP,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;wBAC9C,eAAe,EAAE,IAAI;qBACtB,CAAC,CAAC;gBAEL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACjC,2EAA2E;oBAC3E,OAAO,cAAc,GAAG,IAAI,CAAC;iBAC9B;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":";;;AAEA,yCAAmD;AACnD,+CAAsD;AACtD,IAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,gBAAgB;CAC3B,CAAC;AAEW,QAAA,iBAAiB,GAC5B,IAAA,wBAAgB,EAAC;IACf,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,IAAM,cAAc,GAClB,OAAO;oBACP,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;wBAC9C,eAAe,EAAE,IAAI;qBACtB,CAAC,CAAC;gBACL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACjC,2EAA2E;oBAC3E,OAAO,cAAc,GAAG,IAAI,CAAC;iBAC9B;gBACD,OAAO,cAAc,CAAC;YACxB,CAAC;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAC3B,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;SACF;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/celo/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAW3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,MAAO,WAAW,WAAW,OAAO,KAAG,MAKnD,CAAC;AAWnB,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAOjD,CAAC;;;;;;;;;AAEF,wBAOE"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/celo/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAW3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,MAAO,WAAW,WAAW,OAAO,KAAG,MASnD,CAAC;AAanB,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cASjD,CAAC;;;;;;;;;AAEF,wBAOE"}
@@ -16,19 +16,21 @@ var bignumber_js_1 = require("bignumber.js");
16
16
  var common_1 = require("../../transaction/common");
17
17
  var account_1 = require("../../account");
18
18
  var currencies_1 = require("../../currencies");
19
- var formatTransaction = function (t, account) { return "\nSEND ".concat((0, currencies_1.formatCurrencyUnit)((0, account_1.getAccountUnit)(account), t.amount, {
20
- showCode: true,
21
- disableRounding: true
22
- }), "\nTO ").concat(t.recipient); };
19
+ var formatTransaction = function (t, account) { return "\nSEND ".concat(t.useAllAmount
20
+ ? "MAX CELO"
21
+ : (0, currencies_1.formatCurrencyUnit)((0, account_1.getAccountUnit)(account), t.amount, {
22
+ showCode: true,
23
+ disableRounding: true
24
+ }), "\nTO ").concat(t.recipient); };
23
25
  exports.formatTransaction = formatTransaction;
24
26
  var fromTransactionRaw = function (tr) {
25
27
  var common = (0, common_1.fromTransactionCommonRaw)(tr);
26
- return __assign(__assign({}, common), { family: tr.family, fees: tr.fees ? new bignumber_js_1.BigNumber(tr.fees) : null });
28
+ return __assign(__assign({}, common), { family: tr.family, fees: tr.fees ? new bignumber_js_1.BigNumber(tr.fees) : null, mode: tr.mode, index: tr.index });
27
29
  };
28
30
  var toTransactionRaw = function (t) {
29
31
  var _a;
30
32
  var common = (0, common_1.toTransactionCommonRaw)(t);
31
- return __assign(__assign({}, common), { family: t.family, fees: ((_a = t.fees) === null || _a === void 0 ? void 0 : _a.toString()) || null });
33
+ return __assign(__assign({}, common), { family: t.family, fees: ((_a = t.fees) === null || _a === void 0 ? void 0 : _a.toString()) || null, mode: t.mode, index: t.index });
32
34
  };
33
35
  exports.toTransactionRaw = toTransactionRaw;
34
36
  exports["default"] = {
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/families/celo/transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6CAAyC;AACzC,mDAMkC;AAClC,yCAA+C;AAC/C,+CAAsD;AAE/C,IAAM,iBAAiB,GAAG,UAAC,CAAc,EAAE,OAAgB,IAAa,OAAA,iBACxE,IAAA,+BAAkB,EAAC,IAAA,wBAAc,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3D,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;CACtB,CAAC,kBACG,CAAC,CAAC,SAAS,CAAE,EAL6D,CAK7D,CAAC;AALN,QAAA,iBAAiB,qBAKX;AAEnB,IAAM,kBAAkB,GAAG,UAAC,EAAkB;IAC5C,IAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,EAAE,CAAC,CAAC;IAC5C,6BACK,MAAM,KACT,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAC7C;AACJ,CAAC,CAAC;AAEK,IAAM,gBAAgB,GAAG,UAAC,CAAc;;IAC7C,IAAM,MAAM,GAAG,IAAA,+BAAsB,EAAC,CAAC,CAAC,CAAC;IACzC,6BACK,MAAM,KACT,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,IAAI,EAAE,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,QAAQ,EAAE,KAAI,IAAI,IAChC;AACJ,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEF,qBAAe;IACb,iBAAiB,2BAAA;IACjB,kBAAkB,oBAAA;IAClB,gBAAgB,0BAAA;IAChB,wBAAwB,yCAAA;IACxB,sBAAsB,uCAAA;IACtB,uBAAuB,wCAAA;CACxB,CAAC"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/families/celo/transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6CAAyC;AACzC,mDAMkC;AAClC,yCAA+C;AAC/C,+CAAsD;AAE/C,IAAM,iBAAiB,GAAG,UAAC,CAAc,EAAE,OAAgB,IAAa,OAAA,iBAE7E,CAAC,CAAC,YAAY;IACZ,CAAC,CAAC,UAAU;IACZ,CAAC,CAAC,IAAA,+BAAkB,EAAC,IAAA,wBAAc,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACpD,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACtB,CAAC,kBAEH,CAAC,CAAC,SAAS,CAAE,EAT6D,CAS7D,CAAC;AATN,QAAA,iBAAiB,qBASX;AAEnB,IAAM,kBAAkB,GAAG,UAAC,EAAkB;IAC5C,IAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,EAAE,CAAC,CAAC;IAC5C,6BACK,MAAM,KACT,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAC7C,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,KAAK,EAAE,EAAE,CAAC,KAAK,IACf;AACJ,CAAC,CAAC;AAEK,IAAM,gBAAgB,GAAG,UAAC,CAAc;;IAC7C,IAAM,MAAM,GAAG,IAAA,+BAAsB,EAAC,CAAC,CAAC,CAAC;IACzC,6BACK,MAAM,KACT,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,IAAI,EAAE,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,QAAQ,EAAE,KAAI,IAAI,EAChC,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IACd;AACJ,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B;AAEF,qBAAe;IACb,iBAAiB,2BAAA;IACjB,kBAAkB,oBAAA;IAClB,gBAAgB,0BAAA;IAChB,wBAAwB,yCAAA;IACxB,sBAAsB,uCAAA;IACtB,uBAAuB,wCAAA;CACxB,CAAC"}