@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,21 @@
1
+ import { CeloAccount, CeloPendingWithdrawal, CeloValidatorGroup, CeloVote, CeloVoteStatus, PendingStakingOperationAmounts } from "./types";
2
+ import { BigNumber } from "bignumber.js";
3
+ export declare const PRELOAD_MAX_AGE: number;
4
+ export declare const availablePendingWithdrawals: (account: CeloAccount) => CeloPendingWithdrawal[];
5
+ export declare const withdrawableBalance: (account: CeloAccount) => BigNumber;
6
+ export declare const hasWithdrawableBalance: (account: CeloAccount) => boolean;
7
+ export declare const defaultValidatorGroupAddress: () => string;
8
+ export declare const isDefaultValidatorGroupAddress: (address: string) => boolean;
9
+ export declare const isDefaultValidatorGroup: (validatorGroup: CeloValidatorGroup) => boolean;
10
+ export declare const activatableVotes: (account: CeloAccount) => CeloVote[];
11
+ export declare const hasActivatableVotes: (account: CeloAccount) => boolean;
12
+ export declare const revokableVotes: (account: CeloAccount) => CeloVote[];
13
+ export declare const hasRevokableVotes: (account: CeloAccount) => boolean;
14
+ export declare const getVote: (account: CeloAccount, validatorGroupAddress: string, index: number | null | undefined) => CeloVote | undefined;
15
+ export declare const voteStatus: (vote: CeloVote) => CeloVoteStatus;
16
+ export declare const fallbackValidatorGroup: (address: string) => CeloValidatorGroup;
17
+ export declare const isAccountRegistrationPending: (accountId: string, accounts: CeloAccount[]) => boolean;
18
+ export declare const getPendingStakingOperationAmounts: (account: CeloAccount) => PendingStakingOperationAmounts;
19
+ export declare const getValidatorGroupsWithVotes: (validatorGroups: CeloValidatorGroup[], votes: CeloVote[] | null) => CeloValidatorGroup[];
20
+ export declare const getValidatorGroupsWithoutVotes: (validatorGroups: CeloValidatorGroup[], votes?: CeloVote[] | null) => CeloValidatorGroup[];
21
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../src/families/celo/logic.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,eAAO,MAAM,eAAe,QAAiB,CAAC;AAI9C,eAAO,MAAM,2BAA2B,YAC7B,WAAW,KACnB,qBAAqB,EAMvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAa,WAAW,KAAG,SAIxD,CAAC;AAEJ,eAAO,MAAM,sBAAsB,YAAa,WAAW,KAAG,OACf,CAAC;AAEhD,eAAO,MAAM,4BAA4B,QAAO,MACL,CAAC;AAE5C,eAAO,MAAM,8BAA8B,YAAa,MAAM,KAAG,OACV,CAAC;AAExD,eAAO,MAAM,uBAAuB,mBAClB,kBAAkB,KACjC,OAAiE,CAAC;AAErE,eAAO,MAAM,gBAAgB,YAAa,WAAW,KAAG,QAAQ,EAI/D,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAa,WAAW,KAAG,OACrB,CAAC;AAEvC,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,QAAQ,EAI7D,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,WAAW,KAAG,OACrB,CAAC;AAErC,eAAO,MAAM,OAAO,YACT,WAAW,yBACG,MAAM,SACtB,MAAM,GAAG,IAAI,GAAG,SAAS,KAC/B,QAAQ,GAAG,SAMb,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,QAAQ,KAAG,cAG7B,CAAC;AAEhB,eAAO,MAAM,sBAAsB,YACxB,MAAM,KACd,kBAID,CAAC;AAEH,eAAO,MAAM,4BAA4B,cAC5B,MAAM,YACP,WAAW,EAAE,KACtB,OAgBF,CAAC;AAsBF,eAAO,MAAM,iCAAiC,YACnC,WAAW,KACnB,8BA+BF,CAAC;AAYF,eAAO,MAAM,2BAA2B,oBACrB,kBAAkB,EAAE,SAC9B,QAAQ,EAAE,GAAG,IAAI,KACvB,kBAAkB,EACmD,CAAC;AAEzE,eAAO,MAAM,8BAA8B,oBACxB,kBAAkB,EAAE,UAC9B,QAAQ,EAAE,GAAG,IAAI,KACvB,kBAAkB,EACoD,CAAC"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ exports.__esModule = true;
14
+ exports.getValidatorGroupsWithoutVotes = exports.getValidatorGroupsWithVotes = exports.getPendingStakingOperationAmounts = exports.isAccountRegistrationPending = exports.fallbackValidatorGroup = exports.voteStatus = exports.getVote = exports.hasRevokableVotes = exports.revokableVotes = exports.hasActivatableVotes = exports.activatableVotes = exports.isDefaultValidatorGroup = exports.isDefaultValidatorGroupAddress = exports.defaultValidatorGroupAddress = exports.hasWithdrawableBalance = exports.withdrawableBalance = exports.availablePendingWithdrawals = exports.PRELOAD_MAX_AGE = void 0;
15
+ var bignumber_js_1 = require("bignumber.js");
16
+ exports.PRELOAD_MAX_AGE = 10 * 60 * 1000; // 10 minutes, used for max age in preload strategy
17
+ var LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS = "0x0861a61Bf679A30680510EcC238ee43B82C5e843";
18
+ var availablePendingWithdrawals = function (account) {
19
+ var pendingWithdrawals = (account.celoResources || {}).pendingWithdrawals;
20
+ return (pendingWithdrawals || []).filter(function (withdrawal) { return new Date(withdrawal.time.toNumber() * 1000) < new Date(); });
21
+ };
22
+ exports.availablePendingWithdrawals = availablePendingWithdrawals;
23
+ var withdrawableBalance = function (account) {
24
+ return (0, exports.availablePendingWithdrawals)(account).reduce(function (sum, withdrawal) { return sum.plus(withdrawal.value); }, new bignumber_js_1.BigNumber(0));
25
+ };
26
+ exports.withdrawableBalance = withdrawableBalance;
27
+ var hasWithdrawableBalance = function (account) {
28
+ return (0, exports.withdrawableBalance)(account).isGreaterThan(0);
29
+ };
30
+ exports.hasWithdrawableBalance = hasWithdrawableBalance;
31
+ var defaultValidatorGroupAddress = function () {
32
+ return LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS;
33
+ };
34
+ exports.defaultValidatorGroupAddress = defaultValidatorGroupAddress;
35
+ var isDefaultValidatorGroupAddress = function (address) {
36
+ return address === LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS;
37
+ };
38
+ exports.isDefaultValidatorGroupAddress = isDefaultValidatorGroupAddress;
39
+ var isDefaultValidatorGroup = function (validatorGroup) { return (0, exports.isDefaultValidatorGroupAddress)(validatorGroup.address); };
40
+ exports.isDefaultValidatorGroup = isDefaultValidatorGroup;
41
+ var activatableVotes = function (account) {
42
+ var votes = (account.celoResources || {}).votes;
43
+ return (votes || []).filter(function (vote) { return vote.activatable; });
44
+ };
45
+ exports.activatableVotes = activatableVotes;
46
+ var hasActivatableVotes = function (account) {
47
+ return (0, exports.activatableVotes)(account).length > 0;
48
+ };
49
+ exports.hasActivatableVotes = hasActivatableVotes;
50
+ var revokableVotes = function (account) {
51
+ var votes = (account.celoResources || {}).votes;
52
+ return (votes || []).filter(function (vote) { return vote.revokable; });
53
+ };
54
+ exports.revokableVotes = revokableVotes;
55
+ var hasRevokableVotes = function (account) {
56
+ return (0, exports.revokableVotes)(account).length > 0;
57
+ };
58
+ exports.hasRevokableVotes = hasRevokableVotes;
59
+ var getVote = function (account, validatorGroupAddress, index) {
60
+ var votes = (account.celoResources || {}).votes;
61
+ return votes === null || votes === void 0 ? void 0 : votes.find(function (revoke) {
62
+ return revoke.validatorGroup === validatorGroupAddress && revoke.index == index;
63
+ });
64
+ };
65
+ exports.getVote = getVote;
66
+ var voteStatus = function (vote) {
67
+ return vote.type === "pending" && vote.activatable
68
+ ? "awaitingActivation"
69
+ : vote.type;
70
+ };
71
+ exports.voteStatus = voteStatus;
72
+ var fallbackValidatorGroup = function (address) { return ({
73
+ address: address,
74
+ name: address,
75
+ votes: new bignumber_js_1.BigNumber(0)
76
+ }); };
77
+ exports.fallbackValidatorGroup = fallbackValidatorGroup;
78
+ var isAccountRegistrationPending = function (accountId, accounts) {
79
+ var _a;
80
+ // If there's a pending "REGISTER" operation and the
81
+ // account's registration status is false, then
82
+ // we know that the account is truly not registered yet.
83
+ var account = accounts.find(function (currentAccount) { return accountId === currentAccount.id; });
84
+ var isAccountRegistrationPending = !!account &&
85
+ account.pendingOperations.some(function (currentAccount) { return currentAccount.type === "REGISTER"; }) &&
86
+ !((_a = account.celoResources) === null || _a === void 0 ? void 0 : _a.registrationStatus);
87
+ return isAccountRegistrationPending;
88
+ };
89
+ exports.isAccountRegistrationPending = isAccountRegistrationPending;
90
+ var isOperationTrulyPending = function (operation, activeOperations) {
91
+ if (activeOperations.some(function (activeOperation) { return activeOperation.hash === operation.hash; })) {
92
+ return false;
93
+ }
94
+ return true;
95
+ };
96
+ var initialPendingStakingOperationAmounts = {
97
+ vote: new bignumber_js_1.BigNumber(0),
98
+ lock: new bignumber_js_1.BigNumber(0)
99
+ };
100
+ var getPendingStakingOperationAmounts = function (account) {
101
+ var operationAmounts = account.pendingOperations.reduce(function (acc, currentOperation) {
102
+ if (currentOperation.type !== "VOTE" &&
103
+ currentOperation.type !== "LOCK") {
104
+ return acc;
105
+ }
106
+ if (isOperationTrulyPending(currentOperation, account.operations)) {
107
+ var value = new bignumber_js_1.BigNumber(currentOperation.value);
108
+ switch (currentOperation.type) {
109
+ case "VOTE":
110
+ return __assign(__assign({}, acc), { vote: acc.vote.plus(value) });
111
+ case "LOCK":
112
+ return __assign(__assign({}, acc), { lock: acc.lock.plus(value) });
113
+ }
114
+ }
115
+ return acc;
116
+ }, initialPendingStakingOperationAmounts);
117
+ return operationAmounts;
118
+ };
119
+ exports.getPendingStakingOperationAmounts = getPendingStakingOperationAmounts;
120
+ var getValidatorGroupsByVotingActivity = function (validatorGroups, votes, withVotes) {
121
+ return validatorGroups.filter(function (v) { return votes.some(function (d) { return d.validatorGroup === v.address; }) === withVotes; });
122
+ };
123
+ var getValidatorGroupsWithVotes = function (validatorGroups, votes) {
124
+ return getValidatorGroupsByVotingActivity(validatorGroups, votes || [], true);
125
+ };
126
+ exports.getValidatorGroupsWithVotes = getValidatorGroupsWithVotes;
127
+ var getValidatorGroupsWithoutVotes = function (validatorGroups, votes) {
128
+ if (votes === void 0) { votes = []; }
129
+ return getValidatorGroupsByVotingActivity(validatorGroups, votes || [], false);
130
+ };
131
+ exports.getValidatorGroupsWithoutVotes = getValidatorGroupsWithoutVotes;
132
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../src/families/celo/logic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Observable } from "rxjs";
2
+ import type { CeloPreloadData } from "./types";
3
+ export declare function getCurrentCeloPreloadData(): CeloPreloadData;
4
+ export declare function getCeloPreloadDataUpdates(): Observable<CeloPreloadData>;
5
+ export declare const getPreloadStrategy: () => {
6
+ preloadMaxAge: number;
7
+ };
8
+ export declare const preload: () => Promise<CeloPreloadData>;
9
+ export declare const hydrate: (data: unknown) => void;
10
+ //# sourceMappingURL=preload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../../src/families/celo/preload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAW,MAAM,MAAM,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,SAAS,CAAC;AA+BnE,wBAAgB,yBAAyB,IAAI,eAAe,CAE3D;AAMD,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,eAAe,CAAC,CAEvE;AAED,eAAO,MAAM,kBAAkB;;CAE7B,CAAC;AAEH,eAAO,MAAM,OAAO,QAAa,QAAQ,eAAe,CAiBvD,CAAC;AAEF,eAAO,MAAM,OAAO,SAAU,OAAO,SAOpC,CAAC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.__esModule = true;
39
+ exports.hydrate = exports.preload = exports.getPreloadStrategy = exports.getCeloPreloadDataUpdates = exports.getCurrentCeloPreloadData = void 0;
40
+ var bignumber_js_1 = require("bignumber.js");
41
+ var rxjs_1 = require("rxjs");
42
+ var logs_1 = require("@ledgerhq/logs");
43
+ var logic_1 = require("./logic");
44
+ var validators_1 = require("./validators");
45
+ var currentCeloPreloadedData = {
46
+ validatorGroups: []
47
+ };
48
+ function fromHydrateValidator(validatorGroupRaw) {
49
+ return {
50
+ address: validatorGroupRaw.address,
51
+ name: validatorGroupRaw.name,
52
+ votes: new bignumber_js_1.BigNumber(validatorGroupRaw.votes)
53
+ };
54
+ }
55
+ function fromHydratePreloadData(data) {
56
+ var validatorGroups = [];
57
+ if (typeof data === "object" && data) {
58
+ if (Array.isArray(data.validatorGroups)) {
59
+ validatorGroups = data.validatorGroups.map(fromHydrateValidator);
60
+ }
61
+ }
62
+ return {
63
+ validatorGroups: validatorGroups
64
+ };
65
+ }
66
+ var updates = new rxjs_1.Subject();
67
+ function getCurrentCeloPreloadData() {
68
+ return currentCeloPreloadedData;
69
+ }
70
+ exports.getCurrentCeloPreloadData = getCurrentCeloPreloadData;
71
+ function setCeloPreloadData(data) {
72
+ if (data === currentCeloPreloadedData)
73
+ return;
74
+ currentCeloPreloadedData = data;
75
+ updates.next(data);
76
+ }
77
+ function getCeloPreloadDataUpdates() {
78
+ return updates.asObservable();
79
+ }
80
+ exports.getCeloPreloadDataUpdates = getCeloPreloadDataUpdates;
81
+ var getPreloadStrategy = function () { return ({
82
+ preloadMaxAge: logic_1.PRELOAD_MAX_AGE
83
+ }); };
84
+ exports.getPreloadStrategy = getPreloadStrategy;
85
+ var preload = function () { return __awaiter(void 0, void 0, void 0, function () {
86
+ var previousValidatorGroups, validatorGroups, error_1;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0:
90
+ previousValidatorGroups = currentCeloPreloadedData.validatorGroups;
91
+ validatorGroups = previousValidatorGroups;
92
+ if (!(!validatorGroups || !validatorGroups.length)) return [3 /*break*/, 4];
93
+ (0, logs_1.log)("celo/preload", "refreshing celo validatorGroups...");
94
+ _a.label = 1;
95
+ case 1:
96
+ _a.trys.push([1, 3, , 4]);
97
+ return [4 /*yield*/, (0, validators_1.getValidatorGroups)()];
98
+ case 2:
99
+ validatorGroups = _a.sent();
100
+ return [3 /*break*/, 4];
101
+ case 3:
102
+ error_1 = _a.sent();
103
+ (0, logs_1.log)("celo/preload", "failed to fetch validatorGroups", {
104
+ error: error_1
105
+ });
106
+ return [3 /*break*/, 4];
107
+ case 4: return [2 /*return*/, { validatorGroups: validatorGroups }];
108
+ }
109
+ });
110
+ }); };
111
+ exports.preload = preload;
112
+ var hydrate = function (data) {
113
+ var hydrated = fromHydratePreloadData(data);
114
+ (0, logs_1.log)("celo/preload", "hydrate " + hydrated.validatorGroups.length + " celo validatorGroups");
115
+ setCeloPreloadData(hydrated);
116
+ };
117
+ exports.hydrate = hydrate;
118
+ //# sourceMappingURL=preload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload.js","sourceRoot":"","sources":["../../../src/families/celo/preload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,6BAA2C;AAC3C,uCAAqC;AACrC,iCAA0C;AAE1C,2CAAkD;AAElD,IAAI,wBAAwB,GAAoB;IAC9C,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,SAAS,oBAAoB,CAC3B,iBAAsC;IAEtC,OAAO;QACL,OAAO,EAAE,iBAAiB,CAAC,OAAO;QAClC,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,KAAK,EAAE,IAAI,wBAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAS;IACvC,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACvC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;SAClE;KACF;IAED,OAAO;QACL,eAAe,iBAAA;KAChB,CAAC;AACJ,CAAC;AAED,IAAM,OAAO,GAAG,IAAI,cAAO,EAAmB,CAAC;AAC/C,SAAgB,yBAAyB;IACvC,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAFD,8DAEC;AACD,SAAS,kBAAkB,CAAC,IAAqB;IAC/C,IAAI,IAAI,KAAK,wBAAwB;QAAE,OAAO;IAC9C,wBAAwB,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AACD,SAAgB,yBAAyB;IACvC,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;AAChC,CAAC;AAFD,8DAEC;AAEM,IAAM,kBAAkB,GAAG,cAAM,OAAA,CAAC;IACvC,aAAa,EAAE,uBAAe;CAC/B,CAAC,EAFsC,CAEtC,CAAC;AAFU,QAAA,kBAAkB,sBAE5B;AAEI,IAAM,OAAO,GAAG;;;;;gBACI,uBAAuB,GAAK,wBAAwB,gBAA7B,CAA8B;gBAC1E,eAAe,GAAG,uBAAuB,CAAC;qBAE1C,CAAA,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA,EAA3C,wBAA2C;gBAC7C,IAAA,UAAG,EAAC,cAAc,EAAE,oCAAoC,CAAC,CAAC;;;;gBAGtC,qBAAM,IAAA,+BAAkB,GAAE,EAAA;;gBAA5C,eAAe,GAAG,SAA0B,CAAC;;;;gBAE7C,IAAA,UAAG,EAAC,cAAc,EAAE,iCAAiC,EAAE;oBACrD,KAAK,SAAA;iBACN,CAAC,CAAC;;oBAIP,sBAAO,EAAE,eAAe,iBAAA,EAAE,EAAC;;;KAC5B,CAAC;AAjBW,QAAA,OAAO,WAiBlB;AAEK,IAAM,OAAO,GAAG,UAAC,IAAa;IACnC,IAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAA,UAAG,EACD,cAAc,EACd,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,uBAAuB,CACvE,CAAC;IACF,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB"}
@@ -0,0 +1,4 @@
1
+ import type { CeloPreloadData, CeloValidatorGroup } from "./types";
2
+ export declare function useCeloPreloadData(): CeloPreloadData;
3
+ export declare function useValidatorGroups(search: string): CeloValidatorGroup[];
4
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/families/celo/react.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEnE,wBAAgB,kBAAkB,IAAI,eAAe,CASpD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAgBvE"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ exports.__esModule = true;
19
+ exports.useValidatorGroups = exports.useCeloPreloadData = void 0;
20
+ var react_1 = require("react");
21
+ var preload_1 = require("./preload");
22
+ function useCeloPreloadData() {
23
+ var _a = __read((0, react_1.useState)(preload_1.getCurrentCeloPreloadData), 2), state = _a[0], setState = _a[1];
24
+ (0, react_1.useEffect)(function () {
25
+ var sub = (0, preload_1.getCeloPreloadDataUpdates)().subscribe(function (data) {
26
+ setState(data);
27
+ });
28
+ return function () { return sub.unsubscribe(); };
29
+ }, []);
30
+ return state;
31
+ }
32
+ exports.useCeloPreloadData = useCeloPreloadData;
33
+ function useValidatorGroups(search) {
34
+ var validatorGroups = useCeloPreloadData().validatorGroups;
35
+ return (0, react_1.useMemo)(function () {
36
+ if (validatorGroups.length === 0 || !search) {
37
+ return validatorGroups;
38
+ }
39
+ var lowercaseSearch = search.toLowerCase();
40
+ return validatorGroups.filter(function (vg) {
41
+ return vg.name.toLowerCase().includes(lowercaseSearch) ||
42
+ vg.address.toLowerCase().includes(lowercaseSearch);
43
+ });
44
+ }, [validatorGroups, search]);
45
+ }
46
+ exports.useValidatorGroups = useValidatorGroups;
47
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/families/celo/react.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,+BAAqD;AACrD,qCAGmB;AAGnB,SAAgB,kBAAkB;IAC1B,IAAA,KAAA,OAAoB,IAAA,gBAAQ,EAAC,mCAAyB,CAAC,IAAA,EAAtD,KAAK,QAAA,EAAE,QAAQ,QAAuC,CAAC;IAC9D,IAAA,iBAAS,EAAC;QACR,IAAM,GAAG,GAAG,IAAA,mCAAyB,GAAE,CAAC,SAAS,CAAC,UAAC,IAAI;YACrD,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,cAAM,OAAA,GAAG,CAAC,WAAW,EAAE,EAAjB,CAAiB,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,KAAK,CAAC;AACf,CAAC;AATD,gDASC;AAED,SAAgB,kBAAkB,CAAC,MAAc;IACvC,IAAA,eAAe,GAAK,kBAAkB,EAAE,gBAAzB,CAA0B;IAEjD,OAAO,IAAA,eAAO,EAAC;QACb,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3C,OAAO,eAAe,CAAC;SACxB;QAED,IAAM,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE7C,OAAO,eAAe,CAAC,MAAM,CAC3B,UAAC,EAAE;YACD,OAAA,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC/C,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QADlD,CACkD,CACrD,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AAChC,CAAC;AAhBD,gDAgBC"}
@@ -0,0 +1,4 @@
1
+ import type { CeloResources, CeloResourcesRaw } from "./types";
2
+ export declare function toCeloResourcesRaw(r: CeloResources): CeloResourcesRaw;
3
+ export declare function fromCeloResourcesRaw(r: CeloResourcesRaw): CeloResources;
4
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/families/celo/serialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG/D,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAgCrE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAsBvE"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.fromCeloResourcesRaw = exports.toCeloResourcesRaw = void 0;
4
+ var bignumber_js_1 = require("bignumber.js");
5
+ function toCeloResourcesRaw(r) {
6
+ var _a = r !== null && r !== void 0 ? r : {}, registrationStatus = _a.registrationStatus, lockedBalance = _a.lockedBalance, nonvotingLockedBalance = _a.nonvotingLockedBalance, pendingWithdrawals = _a.pendingWithdrawals, votes = _a.votes, electionAddress = _a.electionAddress, lockedGoldAddress = _a.lockedGoldAddress, maxNumGroupsVotedFor = _a.maxNumGroupsVotedFor;
7
+ return {
8
+ registrationStatus: registrationStatus,
9
+ lockedBalance: lockedBalance === null || lockedBalance === void 0 ? void 0 : lockedBalance.toString(),
10
+ nonvotingLockedBalance: nonvotingLockedBalance === null || nonvotingLockedBalance === void 0 ? void 0 : nonvotingLockedBalance.toString(),
11
+ pendingWithdrawals: pendingWithdrawals === null || pendingWithdrawals === void 0 ? void 0 : pendingWithdrawals.map(function (withdrawal) { return ({
12
+ value: withdrawal.value.toString(),
13
+ time: withdrawal.time.toString(),
14
+ index: withdrawal.index.toString()
15
+ }); }),
16
+ votes: votes === null || votes === void 0 ? void 0 : votes.map(function (vote) { return ({
17
+ validatorGroup: vote.validatorGroup.toString(),
18
+ amount: vote.amount.toString(),
19
+ activatable: vote.activatable,
20
+ revokable: vote.revokable,
21
+ type: vote.type,
22
+ index: vote.index
23
+ }); }),
24
+ electionAddress: electionAddress,
25
+ lockedGoldAddress: lockedGoldAddress,
26
+ maxNumGroupsVotedFor: maxNumGroupsVotedFor === null || maxNumGroupsVotedFor === void 0 ? void 0 : maxNumGroupsVotedFor.toString()
27
+ };
28
+ }
29
+ exports.toCeloResourcesRaw = toCeloResourcesRaw;
30
+ function fromCeloResourcesRaw(r) {
31
+ var _a, _b;
32
+ return {
33
+ registrationStatus: r.registrationStatus,
34
+ lockedBalance: new bignumber_js_1.BigNumber(r.lockedBalance),
35
+ nonvotingLockedBalance: new bignumber_js_1.BigNumber(r.nonvotingLockedBalance),
36
+ pendingWithdrawals: (_a = r.pendingWithdrawals) === null || _a === void 0 ? void 0 : _a.map(function (u) { return ({
37
+ value: new bignumber_js_1.BigNumber(u.value),
38
+ time: new bignumber_js_1.BigNumber(u.time),
39
+ index: Number(u.index)
40
+ }); }),
41
+ votes: (_b = r.votes) === null || _b === void 0 ? void 0 : _b.map(function (vote) { return ({
42
+ validatorGroup: vote.validatorGroup,
43
+ amount: new bignumber_js_1.BigNumber(vote.amount),
44
+ activatable: vote.activatable,
45
+ revokable: vote.revokable,
46
+ type: vote.type,
47
+ index: vote.index
48
+ }); }),
49
+ electionAddress: r.electionAddress,
50
+ lockedGoldAddress: r.lockedGoldAddress,
51
+ maxNumGroupsVotedFor: new bignumber_js_1.BigNumber(r.maxNumGroupsVotedFor)
52
+ };
53
+ }
54
+ exports.fromCeloResourcesRaw = fromCeloResourcesRaw;
55
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/families/celo/serialization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createActivateVoteMutation: () => MutationSpec<Transaction>;
4
+ //# sourceMappingURL=createActivateVoteMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createActivateVoteMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createActivateVoteMutation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAKzD,eAAO,MAAM,0BAA0B,QAAO,aAAa,WAAW,CAmCpE,CAAC"}
@@ -0,0 +1,38 @@
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.createActivateVoteMutation = 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 createActivateVoteMutation = function () { return ({
12
+ name: "Celo: Activate Vote",
13
+ maxRun: 5,
14
+ transaction: function (_a) {
15
+ var _b;
16
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
17
+ var celoResources = account.celoResources;
18
+ (0, invariant_1["default"])(celoResources === null || celoResources === void 0 ? void 0 : celoResources.registrationStatus, "Celo: Activate Vote | Account is not registered");
19
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Activate Vote | balance is too low");
20
+ var activatableVote = (_b = celoResources === null || celoResources === void 0 ? void 0 : celoResources.votes) === null || _b === void 0 ? void 0 : _b.find(function (vote) { return vote.activatable; });
21
+ (0, invariant_1["default"])(!!activatableVote, "Celo: Activate Vote | No activatable votes");
22
+ var transaction = {
23
+ recipient: activatableVote.validatorGroup
24
+ };
25
+ return {
26
+ transaction: bridge.createTransaction(account),
27
+ updates: [
28
+ {
29
+ memo: "LedgerLiveBot",
30
+ mode: "activate"
31
+ },
32
+ transaction,
33
+ ]
34
+ };
35
+ }
36
+ }); };
37
+ exports.createActivateVoteMutation = createActivateVoteMutation;
38
+ //# sourceMappingURL=createActivateVoteMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createActivateVoteMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createActivateVoteMutation.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,0BAA0B,GAAG,cAAiC,OAAA,CAAC;IAC1E,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAAiC;;YAA/B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QACnC,IAAA,aAAa,GAAK,OAAsB,cAA3B,CAA4B;QACjD,IAAA,sBAAS,EACP,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,EACjC,iDAAiD,CAClD,CAAC;QACF,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,2CAA2C,CAC5C,CAAC;QAEF,IAAM,eAAe,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAE,IAAI,CAChD,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,WAAW,EAAhB,CAAgB,CAC3B,CAAC;QAEF,IAAA,sBAAS,EAAC,CAAC,CAAC,eAAe,EAAE,4CAA4C,CAAC,CAAC;QAE3E,IAAM,WAAW,GAAG;YAClB,SAAS,EAAE,eAAgB,CAAC,cAAc;SAC3C,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,UAAU;iBACjB;gBACD,WAAW;aACZ;SACF,CAAC;IACJ,CAAC;CACF,CAAC,EAnCyE,CAmCzE,CAAC;AAnCU,QAAA,0BAA0B,8BAmCpC"}
@@ -0,0 +1,4 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createLockMutation: () => MutationSpec<Transaction>;
4
+ //# sourceMappingURL=createLockMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLockMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createLockMutation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAKzD,eAAO,MAAM,kBAAkB,QAAO,aAAa,WAAW,CAqC5D,CAAC"}
@@ -0,0 +1,40 @@
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.createLockMutation = 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.005");
11
+ var createLockMutation = function () { return ({
12
+ name: "Celo: Lock",
13
+ maxRun: 1,
14
+ transaction: function (_a) {
15
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
16
+ var celoResources = account.celoResources;
17
+ (0, invariant_1["default"])(celoResources === null || celoResources === void 0 ? void 0 : celoResources.registrationStatus, "Celo: Lock Vote | Account is not registered");
18
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Lock | balance is too low");
19
+ var amount = minimalAmount
20
+ .times(Math.random())
21
+ .integerValue()
22
+ .precision(8);
23
+ (0, invariant_1["default"])(amount.gt(0), "Celo: Lock | Not enough funds to lock tokens");
24
+ var transaction = {
25
+ amount: amount
26
+ };
27
+ return {
28
+ transaction: bridge.createTransaction(account),
29
+ updates: [
30
+ {
31
+ memo: "LedgerLiveBot",
32
+ mode: "lock"
33
+ },
34
+ transaction,
35
+ ]
36
+ };
37
+ }
38
+ }); };
39
+ exports.createLockMutation = createLockMutation;
40
+ //# sourceMappingURL=createLockMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLockMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createLockMutation.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,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;QACnC,IAAA,aAAa,GAAK,OAAsB,cAA3B,CAA4B;QACjD,IAAA,sBAAS,EACP,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,EACjC,6CAA6C,CAC9C,CAAC;QAEF,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,kCAAkC,CACnC,CAAC;QAEF,IAAM,MAAM,GAAG,aAAa;aACzB,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACpB,YAAY,EAAE;aACd,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhB,IAAA,sBAAS,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,8CAA8C,CAAC,CAAC;QAExE,IAAM,WAAW,GAAG;YAClB,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,EArCiE,CAqCjE,CAAC;AArCU,QAAA,kBAAkB,sBAqC5B"}
@@ -0,0 +1,4 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createRegisterAccountMutation: () => MutationSpec<Transaction>;
4
+ //# sourceMappingURL=createRegisterAccountMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRegisterAccountMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createRegisterAccountMutation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAKzD,eAAO,MAAM,6BAA6B,QAAO,aAAa,WAAW,CAyBvE,CAAC"}
@@ -0,0 +1,31 @@
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.createRegisterAccountMutation = 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 createRegisterAccountMutation = function () { return ({
12
+ name: "Celo: Register Account",
13
+ maxRun: 1,
14
+ transaction: function (_a) {
15
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
16
+ var celoResources = account.celoResources;
17
+ (0, invariant_1["default"])(!(celoResources === null || celoResources === void 0 ? void 0 : celoResources.registrationStatus), "Celo: Register Account | Celo account is already registered");
18
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "Celo: Register Account | Celo account balance is too low to register account");
19
+ return {
20
+ transaction: bridge.createTransaction(account),
21
+ updates: [
22
+ {
23
+ memo: "LedgerLiveBot",
24
+ mode: "register"
25
+ },
26
+ ]
27
+ };
28
+ }
29
+ }); };
30
+ exports.createRegisterAccountMutation = createRegisterAccountMutation;
31
+ //# sourceMappingURL=createRegisterAccountMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRegisterAccountMutation.js","sourceRoot":"","sources":["../../../../src/families/celo/specs/createRegisterAccountMutation.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,6BAA6B,GAAG,cAAiC,OAAA,CAAC;IAC7E,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,UAAC,EAAiC;YAA/B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;QACnC,IAAA,aAAa,GAAK,OAAsB,cAA3B,CAA4B;QAEjD,IAAA,sBAAS,EACP,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,CAAA,EAClC,6DAA6D,CAC9D,CAAC;QACF,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAC9B,8EAA8E,CAC/E,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,UAAU;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,EAzB4E,CAyB5E,CAAC;AAzBU,QAAA,6BAA6B,iCAyBvC"}
@@ -0,0 +1,4 @@
1
+ import { MutationSpec } from "../../../bot/types";
2
+ import type { Transaction } from "../types";
3
+ export declare const createRevokeVoteMutation: () => MutationSpec<Transaction>;
4
+ //# sourceMappingURL=createRevokeVoteMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRevokeVoteMutation.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/specs/createRevokeVoteMutation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAKzD,eAAO,MAAM,wBAAwB,QAAO,aAAa,WAAW,CAkClE,CAAC"}