@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.
- package/lib/account/serialization.d.ts +2 -0
- package/lib/account/serialization.d.ts.map +1 -1
- package/lib/account/serialization.js +23 -8
- package/lib/account/serialization.js.map +1 -1
- package/lib/api/explorerConfig/index.js +1 -1
- package/lib/api/explorerConfig/index.js.map +1 -1
- package/lib/apps/support.d.ts.map +1 -1
- package/lib/apps/support.js +1 -0
- package/lib/apps/support.js.map +1 -1
- package/lib/families/celo/api/hubble.d.ts +6 -1
- package/lib/families/celo/api/hubble.d.ts.map +1 -1
- package/lib/families/celo/api/hubble.js +135 -13
- package/lib/families/celo/api/hubble.js.map +1 -1
- package/lib/families/celo/api/index.d.ts +1 -1
- package/lib/families/celo/api/index.d.ts.map +1 -1
- package/lib/families/celo/api/index.js +2 -1
- package/lib/families/celo/api/index.js.map +1 -1
- package/lib/families/celo/api/sdk.d.ts +22 -0
- package/lib/families/celo/api/sdk.d.ts.map +1 -1
- package/lib/families/celo/api/sdk.js +168 -1
- package/lib/families/celo/api/sdk.js.map +1 -1
- package/lib/families/celo/bridge/js.d.ts.map +1 -1
- package/lib/families/celo/bridge/js.js +4 -42
- package/lib/families/celo/bridge/js.js.map +1 -1
- package/lib/families/celo/cli-transaction.d.ts +12 -2
- package/lib/families/celo/cli-transaction.d.ts.map +1 -1
- package/lib/families/celo/cli-transaction.js +38 -4
- package/lib/families/celo/cli-transaction.js.map +1 -1
- package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts +1 -0
- package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts.map +1 -1
- package/lib/families/celo/datasets/celo.scanAccounts.1.js +298 -2
- package/lib/families/celo/datasets/celo.scanAccounts.1.js.map +1 -1
- package/lib/families/celo/errors.d.ts +2 -0
- package/lib/families/celo/errors.d.ts.map +1 -0
- package/lib/families/celo/errors.js +6 -0
- package/lib/families/celo/errors.js.map +1 -0
- package/lib/families/celo/js-buildTransaction.d.ts +2 -3
- package/lib/families/celo/js-buildTransaction.d.ts.map +1 -1
- package/lib/families/celo/js-buildTransaction.js +194 -19
- package/lib/families/celo/js-buildTransaction.js.map +1 -1
- package/lib/families/celo/js-createTransaction.d.ts.map +1 -1
- package/lib/families/celo/js-createTransaction.js +3 -1
- package/lib/families/celo/js-createTransaction.js.map +1 -1
- package/lib/families/celo/js-estimateMaxSpendable.d.ts.map +1 -1
- package/lib/families/celo/js-estimateMaxSpendable.js.map +1 -1
- package/lib/families/celo/js-getFeesForTransaction.d.ts +2 -3
- package/lib/families/celo/js-getFeesForTransaction.d.ts.map +1 -1
- package/lib/families/celo/js-getFeesForTransaction.js +137 -10
- package/lib/families/celo/js-getFeesForTransaction.js.map +1 -1
- package/lib/families/celo/js-getTransactionStatus.d.ts +2 -3
- package/lib/families/celo/js-getTransactionStatus.d.ts.map +1 -1
- package/lib/families/celo/js-getTransactionStatus.js +97 -41
- package/lib/families/celo/js-getTransactionStatus.js.map +1 -1
- package/lib/families/celo/js-prepareTransaction.d.ts +2 -3
- package/lib/families/celo/js-prepareTransaction.d.ts.map +1 -1
- package/lib/families/celo/js-prepareTransaction.js +8 -3
- package/lib/families/celo/js-prepareTransaction.js.map +1 -1
- package/lib/families/celo/js-signOperation.d.ts.map +1 -1
- package/lib/families/celo/js-signOperation.js +17 -3
- package/lib/families/celo/js-signOperation.js.map +1 -1
- package/lib/families/celo/js-synchronisation.d.ts.map +1 -1
- package/lib/families/celo/js-synchronisation.js +51 -6
- package/lib/families/celo/js-synchronisation.js.map +1 -1
- package/lib/families/celo/logic.d.ts +21 -0
- package/lib/families/celo/logic.d.ts.map +1 -0
- package/lib/families/celo/logic.js +132 -0
- package/lib/families/celo/logic.js.map +1 -0
- package/lib/families/celo/preload.d.ts +10 -0
- package/lib/families/celo/preload.d.ts.map +1 -0
- package/lib/families/celo/preload.js +118 -0
- package/lib/families/celo/preload.js.map +1 -0
- package/lib/families/celo/react.d.ts +4 -0
- package/lib/families/celo/react.d.ts.map +1 -0
- package/lib/families/celo/react.js +47 -0
- package/lib/families/celo/react.js.map +1 -0
- package/lib/families/celo/serialization.d.ts +4 -0
- package/lib/families/celo/serialization.d.ts.map +1 -0
- package/lib/families/celo/serialization.js +55 -0
- package/lib/families/celo/serialization.js.map +1 -0
- package/lib/families/celo/specs/createActivateVoteMutation.d.ts +4 -0
- package/lib/families/celo/specs/createActivateVoteMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createActivateVoteMutation.js +38 -0
- package/lib/families/celo/specs/createActivateVoteMutation.js.map +1 -0
- package/lib/families/celo/specs/createLockMutation.d.ts +4 -0
- package/lib/families/celo/specs/createLockMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createLockMutation.js +40 -0
- package/lib/families/celo/specs/createLockMutation.js.map +1 -0
- package/lib/families/celo/specs/createRegisterAccountMutation.d.ts +4 -0
- package/lib/families/celo/specs/createRegisterAccountMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createRegisterAccountMutation.js +31 -0
- package/lib/families/celo/specs/createRegisterAccountMutation.js.map +1 -0
- package/lib/families/celo/specs/createRevokeVoteMutation.d.ts +4 -0
- package/lib/families/celo/specs/createRevokeVoteMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createRevokeVoteMutation.js +39 -0
- package/lib/families/celo/specs/createRevokeVoteMutation.js.map +1 -0
- package/lib/families/celo/specs/createSendMutation.d.ts +5 -0
- package/lib/families/celo/specs/createSendMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createSendMutation.js +44 -0
- package/lib/families/celo/specs/createSendMutation.js.map +1 -0
- package/lib/families/celo/specs/createUnlockMutation.d.ts +4 -0
- package/lib/families/celo/specs/createUnlockMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createUnlockMutation.js +37 -0
- package/lib/families/celo/specs/createUnlockMutation.js.map +1 -0
- package/lib/families/celo/specs/createVoteMutation.d.ts +4 -0
- package/lib/families/celo/specs/createVoteMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createVoteMutation.js +51 -0
- package/lib/families/celo/specs/createVoteMutation.js.map +1 -0
- package/lib/families/celo/specs/createWithdrawMutation.d.ts +4 -0
- package/lib/families/celo/specs/createWithdrawMutation.d.ts.map +1 -0
- package/lib/families/celo/specs/createWithdrawMutation.js +36 -0
- package/lib/families/celo/specs/createWithdrawMutation.js.map +1 -0
- package/lib/families/celo/specs/index.d.ts +9 -0
- package/lib/families/celo/specs/index.d.ts.map +1 -0
- package/lib/families/celo/specs/index.js +25 -0
- package/lib/families/celo/specs/index.js.map +1 -0
- package/lib/families/celo/specs.d.ts +1 -1
- package/lib/families/celo/specs.d.ts.map +1 -1
- package/lib/families/celo/specs.js +20 -37
- package/lib/families/celo/specs.js.map +1 -1
- package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/celo/speculos-deviceActions.js +22 -0
- package/lib/families/celo/speculos-deviceActions.js.map +1 -1
- package/lib/families/celo/transaction.d.ts.map +1 -1
- package/lib/families/celo/transaction.js +8 -6
- package/lib/families/celo/transaction.js.map +1 -1
- package/lib/families/celo/types.d.ts +102 -1
- package/lib/families/celo/types.d.ts.map +1 -1
- package/lib/families/celo/validators.d.ts +3 -0
- package/lib/families/celo/validators.d.ts.map +1 -0
- package/lib/families/celo/validators.js +6 -0
- package/lib/families/celo/validators.js.map +1 -0
- package/lib/families/cosmos/banner.d.ts +10 -0
- package/lib/families/cosmos/banner.d.ts.map +1 -0
- package/lib/families/cosmos/banner.js +133 -0
- package/lib/families/cosmos/banner.js.map +1 -0
- package/lib/families/cosmos/banner.test.d.ts +2 -0
- package/lib/families/cosmos/banner.test.d.ts.map +1 -0
- package/lib/families/cosmos/banner.test.js +233 -0
- package/lib/families/cosmos/banner.test.js.map +1 -0
- package/lib/families/solana/api/chain/instruction/token/types.d.ts +2 -2
- package/lib/generated/cli-transaction.d.ts +12 -2
- package/lib/generated/cli-transaction.d.ts.map +1 -1
- package/lib/operation.d.ts.map +1 -1
- package/lib/operation.js +6 -0
- package/lib/operation.js.map +1 -1
- package/lib/reconciliation.d.ts.map +1 -1
- package/lib/reconciliation.js +11 -0
- package/lib/reconciliation.js.map +1 -1
- package/package.json +3 -4
- package/src/account/serialization.ts +22 -2
- package/src/api/explorerConfig/index.ts +1 -1
- package/src/apps/support.ts +1 -0
- package/src/families/celo/__snapshots__/bridge.integration.test.ts.snap +134 -857
- package/src/families/celo/api/hubble.ts +113 -16
- package/src/families/celo/api/index.ts +1 -1
- package/src/families/celo/api/sdk.ts +88 -0
- package/src/families/celo/bridge/js.ts +2 -3
- package/src/families/celo/cli-transaction.ts +46 -2
- package/src/families/celo/datasets/celo.scanAccounts.1.ts +365 -5
- package/src/families/celo/errors.ts +5 -0
- package/src/families/celo/js-buildTransaction.ts +173 -20
- package/src/families/celo/js-createTransaction.ts +2 -0
- package/src/families/celo/js-estimateMaxSpendable.ts +2 -2
- package/src/families/celo/js-getFeesForTransaction.ts +118 -19
- package/src/families/celo/js-getTransactionStatus.ts +72 -17
- package/src/families/celo/js-prepareTransaction.ts +13 -7
- package/src/families/celo/js-signOperation.ts +22 -5
- package/src/families/celo/js-synchronisation.ts +32 -0
- package/src/families/celo/logic.ts +184 -0
- package/src/families/celo/preload.ts +78 -0
- package/src/families/celo/react.ts +35 -0
- package/src/families/celo/serialization.ts +61 -0
- package/src/families/celo/specs/createActivateVoteMutation.ts +44 -0
- package/src/families/celo/specs/createLockMutation.ts +46 -0
- package/src/families/celo/specs/createRegisterAccountMutation.ts +34 -0
- package/src/families/celo/specs/createRevokeVoteMutation.ts +43 -0
- package/src/families/celo/specs/createSendMutation.ts +44 -0
- package/src/families/celo/specs/createUnlockMutation.ts +44 -0
- package/src/families/celo/specs/createVoteMutation.ts +67 -0
- package/src/families/celo/specs/createWithdrawMutation.ts +44 -0
- package/src/families/celo/specs/index.ts +8 -0
- package/src/families/celo/specs.ts +32 -34
- package/src/families/celo/speculos-deviceActions.ts +21 -2
- package/src/families/celo/transaction.ts +12 -4
- package/src/families/celo/types.ts +113 -0
- package/src/families/celo/validators.ts +2 -0
- package/src/families/cosmos/banner.test.ts +160 -0
- package/src/families/cosmos/banner.ts +87 -0
- package/src/operation.ts +6 -0
- package/src/reconciliation.ts +22 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-estimateMaxSpendable.js","sourceRoot":"","sources":["../../../src/families/celo/js-estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAA+C;AAC/C,sFAA6D;AAC7D,kFAAyD;AACzD,gFAAuD;AAGvD,IAAM,oBAAoB,GAAG,UAAO,EAQnC;QAPC,OAAO,aAAA,EACP,aAAa,mBAAA,EACb,WAAW,iBAAA;;;;;;oBAML,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"js-estimateMaxSpendable.js","sourceRoot":"","sources":["../../../src/families/celo/js-estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAA+C;AAC/C,sFAA6D;AAC7D,kFAAyD;AACzD,gFAAuD;AAGvD,IAAM,oBAAoB,GAAG,UAAO,EAQnC;QAPC,OAAO,aAAA,EACP,aAAa,mBAAA,EACb,WAAW,iBAAA;;;;;;oBAML,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,EAAE,aAAa,CAAgB,CAAC;oBAChE,qBAAM,IAAA,kCAAkB,EAAC,WAAW,iCACzC,IAAA,iCAAiB,GAAE,GACnB,WAAW,KACd,YAAY,EAAE,IAAI,IAClB,EAAA;;oBAJI,CAAC,GAAG,SAIR;oBACQ,qBAAM,IAAA,oCAAoB,EAAC,WAAW,EAAE,CAAC,CAAC,EAAA;;oBAA9C,CAAC,GAAG,SAA0C;oBACpD,sBAAO,CAAC,CAAC,MAAM,EAAC;;;;CACjB,CAAC;AAEF,qBAAe,oBAAoB,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { Account } from "@ledgerhq/types-live";
|
|
2
1
|
import { BigNumber } from "bignumber.js";
|
|
3
|
-
import { Transaction } from "
|
|
2
|
+
import type { CeloAccount, Transaction } from "./types";
|
|
4
3
|
declare const getFeesForTransaction: ({ account, transaction, }: {
|
|
5
|
-
account:
|
|
4
|
+
account: CeloAccount;
|
|
6
5
|
transaction: Transaction;
|
|
7
6
|
}) => Promise<BigNumber>;
|
|
8
7
|
export default getFeesForTransaction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-getFeesForTransaction.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-getFeesForTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"js-getFeesForTransaction.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-getFeesForTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIxD,QAAA,MAAM,qBAAqB;aAIhB,WAAW;iBACP,WAAW;MACtB,QAAQ,SAAS,CA4HpB,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -38,20 +38,145 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
exports.__esModule = true;
|
|
39
39
|
var bignumber_js_1 = require("bignumber.js");
|
|
40
40
|
var sdk_1 = require("./api/sdk");
|
|
41
|
+
var logic_1 = require("./logic");
|
|
41
42
|
var getFeesForTransaction = function (_a) {
|
|
42
43
|
var account = _a.account, transaction = _a.transaction;
|
|
43
44
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
-
var amount, kit, value, celoToken, celoTransaction, gasPrice, _b
|
|
45
|
+
var amount, index, kit, value, pendingOperationAmounts, lockedGold, nonvotingLockedGoldBalance, totalNonVotingLockedBalance, totalSpendableBalance, vote, gas, lockedGold_1, lockedGold_2, election, vote, election, accounts, voteSignerAccount, revokeTxs, revokeTx, election, accounts, voteSignerAccount, activates, activate, accounts, celoToken, celoTransaction, gasPrice, _b;
|
|
45
46
|
return __generator(this, function (_c) {
|
|
46
47
|
switch (_c.label) {
|
|
47
48
|
case 0:
|
|
48
|
-
amount = transaction.amount;
|
|
49
|
+
amount = transaction.amount, index = transaction.index;
|
|
49
50
|
kit = (0, sdk_1.celoKit)();
|
|
50
|
-
value =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return [4 /*yield*/, kit.contracts.getGoldToken()];
|
|
51
|
+
value = new bignumber_js_1.BigNumber(0);
|
|
52
|
+
pendingOperationAmounts = (0, logic_1.getPendingStakingOperationAmounts)(account);
|
|
53
|
+
return [4 /*yield*/, kit.contracts.getLockedGold()];
|
|
54
54
|
case 1:
|
|
55
|
+
lockedGold = _c.sent();
|
|
56
|
+
return [4 /*yield*/, lockedGold.getAccountNonvotingLockedGold(account.freshAddress)];
|
|
57
|
+
case 2:
|
|
58
|
+
nonvotingLockedGoldBalance = _c.sent();
|
|
59
|
+
totalNonVotingLockedBalance = nonvotingLockedGoldBalance.minus(pendingOperationAmounts.vote);
|
|
60
|
+
totalSpendableBalance = account.spendableBalance.minus(pendingOperationAmounts.lock);
|
|
61
|
+
if ((transaction.mode === "unlock" || transaction.mode === "vote") &&
|
|
62
|
+
account.celoResources) {
|
|
63
|
+
value = transaction.useAllAmount
|
|
64
|
+
? totalNonVotingLockedBalance
|
|
65
|
+
: bignumber_js_1.BigNumber.minimum(amount, totalNonVotingLockedBalance);
|
|
66
|
+
}
|
|
67
|
+
else if (transaction.mode === "revoke" && account.celoResources) {
|
|
68
|
+
vote = (0, logic_1.getVote)(account, transaction.recipient, transaction.index);
|
|
69
|
+
if (vote) {
|
|
70
|
+
value = transaction.useAllAmount
|
|
71
|
+
? vote.amount
|
|
72
|
+
: bignumber_js_1.BigNumber.minimum(amount, vote.amount);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
value = transaction.useAllAmount
|
|
77
|
+
? totalSpendableBalance
|
|
78
|
+
: bignumber_js_1.BigNumber.minimum(amount, totalSpendableBalance);
|
|
79
|
+
}
|
|
80
|
+
gas = null;
|
|
81
|
+
if (!(transaction.mode === "lock")) return [3 /*break*/, 4];
|
|
82
|
+
return [4 /*yield*/, lockedGold
|
|
83
|
+
.lock()
|
|
84
|
+
.txo.estimateGas({ from: account.freshAddress, value: value.toFixed() })];
|
|
85
|
+
case 3:
|
|
86
|
+
gas = _c.sent();
|
|
87
|
+
return [3 /*break*/, 32];
|
|
88
|
+
case 4:
|
|
89
|
+
if (!(transaction.mode === "unlock")) return [3 /*break*/, 7];
|
|
90
|
+
return [4 /*yield*/, kit.contracts.getLockedGold()];
|
|
91
|
+
case 5:
|
|
92
|
+
lockedGold_1 = _c.sent();
|
|
93
|
+
return [4 /*yield*/, lockedGold_1
|
|
94
|
+
.unlock(value)
|
|
95
|
+
.txo.estimateGas({ from: account.freshAddress })];
|
|
96
|
+
case 6:
|
|
97
|
+
gas = _c.sent();
|
|
98
|
+
return [3 /*break*/, 32];
|
|
99
|
+
case 7:
|
|
100
|
+
if (!(transaction.mode === "withdraw")) return [3 /*break*/, 10];
|
|
101
|
+
return [4 /*yield*/, kit.contracts.getLockedGold()];
|
|
102
|
+
case 8:
|
|
103
|
+
lockedGold_2 = _c.sent();
|
|
104
|
+
return [4 /*yield*/, lockedGold_2
|
|
105
|
+
.withdraw(index || 0)
|
|
106
|
+
.txo.estimateGas({ from: account.freshAddress })];
|
|
107
|
+
case 9:
|
|
108
|
+
gas = _c.sent();
|
|
109
|
+
return [3 /*break*/, 32];
|
|
110
|
+
case 10:
|
|
111
|
+
if (!(transaction.mode === "vote")) return [3 /*break*/, 14];
|
|
112
|
+
return [4 /*yield*/, kit.contracts.getElection()];
|
|
113
|
+
case 11:
|
|
114
|
+
election = _c.sent();
|
|
115
|
+
return [4 /*yield*/, election.vote(transaction.recipient, new bignumber_js_1.BigNumber(value))];
|
|
116
|
+
case 12:
|
|
117
|
+
vote = _c.sent();
|
|
118
|
+
return [4 /*yield*/, vote.txo.estimateGas({ from: account.freshAddress })];
|
|
119
|
+
case 13:
|
|
120
|
+
gas = _c.sent();
|
|
121
|
+
return [3 /*break*/, 32];
|
|
122
|
+
case 14:
|
|
123
|
+
if (!(transaction.mode === "revoke")) return [3 /*break*/, 20];
|
|
124
|
+
return [4 /*yield*/, kit.contracts.getElection()];
|
|
125
|
+
case 15:
|
|
126
|
+
election = _c.sent();
|
|
127
|
+
return [4 /*yield*/, kit.contracts.getAccounts()];
|
|
128
|
+
case 16:
|
|
129
|
+
accounts = _c.sent();
|
|
130
|
+
return [4 /*yield*/, accounts.voteSignerToAccount(account.freshAddress)];
|
|
131
|
+
case 17:
|
|
132
|
+
voteSignerAccount = _c.sent();
|
|
133
|
+
return [4 /*yield*/, election.revoke(voteSignerAccount, transaction.recipient, new bignumber_js_1.BigNumber(value))];
|
|
134
|
+
case 18:
|
|
135
|
+
revokeTxs = _c.sent();
|
|
136
|
+
revokeTx = revokeTxs.find(function (transactionObject) {
|
|
137
|
+
return (transactionObject.txo._method.name ===
|
|
138
|
+
(transaction.index === 0 ? "revokePending" : "revokeActive"));
|
|
139
|
+
});
|
|
140
|
+
if (!revokeTx)
|
|
141
|
+
return [2 /*return*/, new bignumber_js_1.BigNumber(0)];
|
|
142
|
+
return [4 /*yield*/, revokeTx.txo.estimateGas({ from: account.freshAddress })];
|
|
143
|
+
case 19:
|
|
144
|
+
gas = _c.sent();
|
|
145
|
+
return [3 /*break*/, 32];
|
|
146
|
+
case 20:
|
|
147
|
+
if (!(transaction.mode === "activate")) return [3 /*break*/, 26];
|
|
148
|
+
return [4 /*yield*/, kit.contracts.getElection()];
|
|
149
|
+
case 21:
|
|
150
|
+
election = _c.sent();
|
|
151
|
+
return [4 /*yield*/, kit.contracts.getAccounts()];
|
|
152
|
+
case 22:
|
|
153
|
+
accounts = _c.sent();
|
|
154
|
+
return [4 /*yield*/, accounts.voteSignerToAccount(account.freshAddress)];
|
|
155
|
+
case 23:
|
|
156
|
+
voteSignerAccount = _c.sent();
|
|
157
|
+
return [4 /*yield*/, election.activate(voteSignerAccount)];
|
|
158
|
+
case 24:
|
|
159
|
+
activates = _c.sent();
|
|
160
|
+
activate = activates.find(function (a) { return a.txo.arguments[0] === transaction.recipient; });
|
|
161
|
+
if (!activate)
|
|
162
|
+
return [2 /*return*/, new bignumber_js_1.BigNumber(0)];
|
|
163
|
+
return [4 /*yield*/, activate.txo.estimateGas({ from: account.freshAddress })];
|
|
164
|
+
case 25:
|
|
165
|
+
gas = _c.sent();
|
|
166
|
+
return [3 /*break*/, 32];
|
|
167
|
+
case 26:
|
|
168
|
+
if (!(transaction.mode === "register")) return [3 /*break*/, 29];
|
|
169
|
+
return [4 /*yield*/, kit.contracts.getAccounts()];
|
|
170
|
+
case 27:
|
|
171
|
+
accounts = _c.sent();
|
|
172
|
+
return [4 /*yield*/, accounts
|
|
173
|
+
.createAccount()
|
|
174
|
+
.txo.estimateGas({ from: account.freshAddress })];
|
|
175
|
+
case 28:
|
|
176
|
+
gas = _c.sent();
|
|
177
|
+
return [3 /*break*/, 32];
|
|
178
|
+
case 29: return [4 /*yield*/, kit.contracts.getGoldToken()];
|
|
179
|
+
case 30:
|
|
55
180
|
celoToken = _c.sent();
|
|
56
181
|
celoTransaction = {
|
|
57
182
|
from: account.freshAddress,
|
|
@@ -60,13 +185,15 @@ var getFeesForTransaction = function (_a) {
|
|
|
60
185
|
.transfer(transaction.recipient, value.toFixed())
|
|
61
186
|
.txo.encodeABI()
|
|
62
187
|
};
|
|
188
|
+
return [4 /*yield*/, kit.connection.estimateGasWithInflationFactor(celoTransaction)];
|
|
189
|
+
case 31:
|
|
190
|
+
gas = _c.sent();
|
|
191
|
+
_c.label = 32;
|
|
192
|
+
case 32:
|
|
63
193
|
_b = bignumber_js_1.BigNumber.bind;
|
|
64
194
|
return [4 /*yield*/, kit.connection.gasPrice()];
|
|
65
|
-
case
|
|
195
|
+
case 33:
|
|
66
196
|
gasPrice = new (_b.apply(bignumber_js_1.BigNumber, [void 0, _c.sent()]))();
|
|
67
|
-
return [4 /*yield*/, kit.connection.estimateGasWithInflationFactor(celoTransaction)];
|
|
68
|
-
case 3:
|
|
69
|
-
gas = _c.sent();
|
|
70
197
|
return [2 /*return*/, gasPrice.times(gas)];
|
|
71
198
|
}
|
|
72
199
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-getFeesForTransaction.js","sourceRoot":"","sources":["../../../src/families/celo/js-getFeesForTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"js-getFeesForTransaction.js","sourceRoot":"","sources":["../../../src/families/celo/js-getFeesForTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Transaction, TransactionStatus } from "./types";
|
|
2
|
-
|
|
3
|
-
declare const getTransactionStatus: (account: Account, transaction: Transaction) => Promise<TransactionStatus>;
|
|
1
|
+
import { CeloAccount, Transaction, TransactionStatus } from "./types";
|
|
2
|
+
declare const getTransactionStatus: (account: CeloAccount, transaction: Transaction) => Promise<TransactionStatus>;
|
|
4
3
|
export default getTransactionStatus;
|
|
5
4
|
//# sourceMappingURL=js-getTransactionStatus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-getTransactionStatus.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-getTransactionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"js-getTransactionStatus.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-getTransactionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAoBtE,QAAA,MAAM,oBAAoB,YACf,WAAW,eACP,WAAW,KACvB,QAAQ,iBAAiB,CAkG3B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -39,49 +39,105 @@ exports.__esModule = true;
|
|
|
39
39
|
var errors_1 = require("@ledgerhq/errors");
|
|
40
40
|
var bignumber_js_1 = require("bignumber.js");
|
|
41
41
|
var address_1 = require("@celo/utils/lib/address");
|
|
42
|
+
var errors_2 = require("./errors");
|
|
43
|
+
var logic_1 = require("./logic");
|
|
44
|
+
var sdk_1 = require("./api/sdk");
|
|
45
|
+
var kit = (0, sdk_1.celoKit)();
|
|
46
|
+
// Arbitrary buffer for paying fees of next transactions. 0.05 Celo for ~100 transactions
|
|
47
|
+
var FEES_SAFETY_BUFFER = new bignumber_js_1.BigNumber(5000000000000000);
|
|
42
48
|
var getTransactionStatus = function (account, transaction) { return __awaiter(void 0, void 0, void 0, function () {
|
|
43
|
-
var errors, warnings, useAllAmount, estimatedFees, amount, totalSpent;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
var errors, warnings, useAllAmount, pendingOperationAmounts, lockedGold, nonvotingLockedGoldBalance, totalNonVotingLockedBalance, totalSpendableBalance, estimatedFees, amount, revoke, totalSpent, revoke;
|
|
50
|
+
var _a, _b, _c;
|
|
51
|
+
return __generator(this, function (_d) {
|
|
52
|
+
switch (_d.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
errors = {};
|
|
55
|
+
warnings = {};
|
|
56
|
+
useAllAmount = !!transaction.useAllAmount;
|
|
57
|
+
if (account.freshAddress === transaction.recipient) {
|
|
58
|
+
errors.recipient = new errors_1.InvalidAddressBecauseDestinationIsAlsoSource();
|
|
59
|
+
}
|
|
60
|
+
if (!transaction.fees || !transaction.fees.gt(0)) {
|
|
61
|
+
errors.fees = new errors_1.FeeNotLoaded();
|
|
62
|
+
}
|
|
63
|
+
pendingOperationAmounts = (0, logic_1.getPendingStakingOperationAmounts)(account);
|
|
64
|
+
return [4 /*yield*/, kit.contracts.getLockedGold()];
|
|
65
|
+
case 1:
|
|
66
|
+
lockedGold = _d.sent();
|
|
67
|
+
return [4 /*yield*/, lockedGold.getAccountNonvotingLockedGold(account.freshAddress)];
|
|
68
|
+
case 2:
|
|
69
|
+
nonvotingLockedGoldBalance = _d.sent();
|
|
70
|
+
totalNonVotingLockedBalance = nonvotingLockedGoldBalance.minus(pendingOperationAmounts.vote);
|
|
71
|
+
totalSpendableBalance = account.spendableBalance.minus(pendingOperationAmounts.lock);
|
|
72
|
+
estimatedFees = transaction.fees || new bignumber_js_1.BigNumber(0);
|
|
73
|
+
amount = new bignumber_js_1.BigNumber(0);
|
|
74
|
+
if (useAllAmount &&
|
|
75
|
+
(transaction.mode === "unlock" || transaction.mode === "vote")) {
|
|
76
|
+
amount = totalNonVotingLockedBalance !== null && totalNonVotingLockedBalance !== void 0 ? totalNonVotingLockedBalance : new bignumber_js_1.BigNumber(0);
|
|
77
|
+
}
|
|
78
|
+
else if (useAllAmount && transaction.mode === "revoke") {
|
|
79
|
+
revoke = (0, logic_1.getVote)(account, transaction.recipient, transaction.index);
|
|
80
|
+
if (revoke === null || revoke === void 0 ? void 0 : revoke.amount)
|
|
81
|
+
amount = revoke.amount;
|
|
82
|
+
}
|
|
83
|
+
else if (useAllAmount) {
|
|
84
|
+
amount = totalSpendableBalance.minus(estimatedFees);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
amount = new bignumber_js_1.BigNumber(transaction.amount);
|
|
88
|
+
}
|
|
89
|
+
if (amount.lt(0))
|
|
90
|
+
amount = new bignumber_js_1.BigNumber(0);
|
|
91
|
+
if (!errors.amount &&
|
|
92
|
+
(((_a = account.celoResources) === null || _a === void 0 ? void 0 : _a.lockedBalance.gt(0)) ||
|
|
93
|
+
!!((_c = (_b = account.celoResources) === null || _b === void 0 ? void 0 : _b.pendingWithdrawals) === null || _c === void 0 ? void 0 : _c.length)) &&
|
|
94
|
+
(transaction.useAllAmount ||
|
|
95
|
+
totalSpendableBalance.minus(amount).lt(FEES_SAFETY_BUFFER)) &&
|
|
96
|
+
["send", "lock"].includes(transaction.mode)) {
|
|
97
|
+
warnings.amount = new errors_2.CeloAllFundsWarning();
|
|
98
|
+
}
|
|
99
|
+
if (!["register", "withdraw", "activate"].includes(transaction.mode)) {
|
|
100
|
+
if (amount.lte(0) && !useAllAmount) {
|
|
101
|
+
errors.amount = new errors_1.AmountRequired();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
totalSpent = amount.plus(estimatedFees);
|
|
105
|
+
if (transaction.mode === "unlock" || transaction.mode === "vote") {
|
|
106
|
+
if (totalNonVotingLockedBalance && amount.gt(totalNonVotingLockedBalance)) {
|
|
107
|
+
errors.amount = new errors_1.NotEnoughBalance();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if (transaction.mode === "revoke") {
|
|
111
|
+
revoke = (0, logic_1.getVote)(account, transaction.recipient, transaction.index);
|
|
112
|
+
if ((revoke === null || revoke === void 0 ? void 0 : revoke.amount) && amount.gt(revoke.amount))
|
|
113
|
+
errors.amount = new errors_1.NotEnoughBalance();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
if (totalSpent.gt(totalSpendableBalance)) {
|
|
117
|
+
errors.amount = new errors_1.NotEnoughBalance();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (!errors.amount && totalSpendableBalance.lt(estimatedFees)) {
|
|
121
|
+
errors.amount = new errors_1.NotEnoughBalance();
|
|
122
|
+
}
|
|
123
|
+
if (transaction.mode === "send") {
|
|
124
|
+
if (!transaction.recipient) {
|
|
125
|
+
errors.recipient = new errors_1.RecipientRequired();
|
|
126
|
+
}
|
|
127
|
+
else if (!(0, address_1.isValidAddress)(transaction.recipient)) {
|
|
128
|
+
errors.recipient = new errors_1.InvalidAddress("", {
|
|
129
|
+
currencyName: account.currency.name
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return [2 /*return*/, Promise.resolve({
|
|
134
|
+
errors: errors,
|
|
135
|
+
warnings: warnings,
|
|
136
|
+
estimatedFees: estimatedFees,
|
|
137
|
+
amount: amount,
|
|
138
|
+
totalSpent: totalSpent
|
|
139
|
+
})];
|
|
50
140
|
}
|
|
51
|
-
if (!transaction.fees || !transaction.fees.gt(0)) {
|
|
52
|
-
errors.fees = new errors_1.FeeNotLoaded();
|
|
53
|
-
}
|
|
54
|
-
estimatedFees = transaction.fees || new bignumber_js_1.BigNumber(0);
|
|
55
|
-
amount = useAllAmount
|
|
56
|
-
? account.spendableBalance.minus(estimatedFees)
|
|
57
|
-
: new bignumber_js_1.BigNumber(transaction.amount);
|
|
58
|
-
if (amount.lt(0))
|
|
59
|
-
amount = new bignumber_js_1.BigNumber(0);
|
|
60
|
-
if (amount.lte(0) && !transaction.useAllAmount) {
|
|
61
|
-
errors.amount = new errors_1.AmountRequired();
|
|
62
|
-
}
|
|
63
|
-
totalSpent = amount.plus(estimatedFees);
|
|
64
|
-
if (totalSpent.gt(account.spendableBalance)) {
|
|
65
|
-
errors.amount = new errors_1.NotEnoughBalance();
|
|
66
|
-
}
|
|
67
|
-
if (!errors.amount && account.spendableBalance.lt(estimatedFees)) {
|
|
68
|
-
errors.amount = new errors_1.NotEnoughBalance();
|
|
69
|
-
}
|
|
70
|
-
if (!transaction.recipient) {
|
|
71
|
-
errors.recipient = new errors_1.RecipientRequired();
|
|
72
|
-
}
|
|
73
|
-
else if (!(0, address_1.isValidAddress)(transaction.recipient)) {
|
|
74
|
-
errors.recipient = new errors_1.InvalidAddress("", {
|
|
75
|
-
currencyName: account.currency.name
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
return [2 /*return*/, Promise.resolve({
|
|
79
|
-
errors: errors,
|
|
80
|
-
warnings: warnings,
|
|
81
|
-
estimatedFees: estimatedFees,
|
|
82
|
-
amount: amount,
|
|
83
|
-
totalSpent: totalSpent
|
|
84
|
-
})];
|
|
85
141
|
});
|
|
86
142
|
}); };
|
|
87
143
|
exports["default"] = getTransactionStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-getTransactionStatus.js","sourceRoot":"","sources":["../../../src/families/celo/js-getTransactionStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAO0B;AAC1B,6CAAyC;AACzC,mDAAyD;
|
|
1
|
+
{"version":3,"file":"js-getTransactionStatus.js","sourceRoot":"","sources":["../../../src/families/celo/js-getTransactionStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Transaction } from "./types";
|
|
2
|
-
|
|
3
|
-
declare const prepareTransaction: (account: Account, transaction: Transaction) => Promise<Transaction>;
|
|
1
|
+
import { CeloAccount, Transaction } from "./types";
|
|
2
|
+
declare const prepareTransaction: (account: CeloAccount, transaction: Transaction) => Promise<Transaction>;
|
|
4
3
|
export default prepareTransaction;
|
|
5
4
|
//# sourceMappingURL=js-prepareTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-prepareTransaction.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"js-prepareTransaction.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOnD,QAAA,MAAM,kBAAkB,YACb,WAAW,eACP,WAAW,yBAsBzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -52,16 +52,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
52
52
|
exports.__esModule = true;
|
|
53
53
|
var js_getFeesForTransaction_1 = __importDefault(require("./js-getFeesForTransaction"));
|
|
54
54
|
var address_1 = require("@celo/utils/lib/address");
|
|
55
|
+
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
55
56
|
var sameFees = function (a, b) { return (!a || !b ? a === b : a.eq(b)); };
|
|
56
57
|
var prepareTransaction = function (account, transaction) { return __awaiter(void 0, void 0, void 0, function () {
|
|
57
58
|
var fees;
|
|
58
59
|
return __generator(this, function (_a) {
|
|
59
60
|
switch (_a.label) {
|
|
60
61
|
case 0:
|
|
61
|
-
if (!transaction.recipient
|
|
62
|
-
|
|
62
|
+
if (transaction.recipient && !(0, address_1.isValidAddress)(transaction.recipient))
|
|
63
|
+
return [2 /*return*/, transaction];
|
|
64
|
+
if (["send", "vote"].includes(transaction.mode) && !transaction.recipient)
|
|
65
|
+
return [2 /*return*/, transaction];
|
|
66
|
+
if (transaction.mode === "vote" &&
|
|
67
|
+
!transaction.useAllAmount &&
|
|
68
|
+
new bignumber_js_1["default"](transaction.amount).lte(0))
|
|
63
69
|
return [2 /*return*/, transaction];
|
|
64
|
-
}
|
|
65
70
|
return [4 /*yield*/, (0, js_getFeesForTransaction_1["default"])({ account: account, transaction: transaction })];
|
|
66
71
|
case 1:
|
|
67
72
|
fees = _a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-prepareTransaction.js","sourceRoot":"","sources":["../../../src/families/celo/js-prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wFAA+D;AAC/D,mDAAyD;
|
|
1
|
+
{"version":3,"file":"js-prepareTransaction.js","sourceRoot":"","sources":["../../../src/families/celo/js-prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wFAA+D;AAC/D,mDAAyD;AACzD,8DAAqC;AAErC,IAAM,QAAQ,GAAG,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAA9B,CAA8B,CAAC;AAE1D,IAAM,kBAAkB,GAAG,UACzB,OAAoB,EACpB,WAAwB;;;;;gBAExB,IAAI,WAAW,CAAC,SAAS,IAAI,CAAC,IAAA,wBAAc,EAAC,WAAW,CAAC,SAAS,CAAC;oBACjE,sBAAO,WAAW,EAAC;gBAErB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS;oBACvE,sBAAO,WAAW,EAAC;gBAErB,IACE,WAAW,CAAC,IAAI,KAAK,MAAM;oBAC3B,CAAC,WAAW,CAAC,YAAY;oBACzB,IAAI,yBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAExC,sBAAO,WAAW,EAAC;gBAER,qBAAM,IAAA,qCAAqB,EAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,EAAA;;gBAA5D,IAAI,GAAG,SAAqD;gBAElE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;oBACrC,4CAAY,WAAW,KAAE,IAAI,MAAA,KAAG;iBACjC;gBAED,sBAAO,WAAW,EAAC;;;KACpB,CAAC;AAEF,qBAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-signOperation.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-signOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"js-signOperation.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-signOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,SAAS,CAAC;AAmB3E,OAAO,KAAK,EACV,OAAO,EAGP,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AA8D9B;;GAEG;AACH,QAAA,MAAM,aAAa;aAKR,OAAO;cACN,GAAG;iBACA,WAAW;MACtB,WAAW,kBAAkB,CAmE9B,CAAC;AAEJ,eAAe,aAAa,CAAC"}
|
|
@@ -48,9 +48,23 @@ var js_buildTransaction_1 = __importDefault(require("./js-buildTransaction"));
|
|
|
48
48
|
var wallet_base_1 = require("@celo/wallet-base");
|
|
49
49
|
var tokens_1 = require("@celo/wallet-ledger/lib/tokens");
|
|
50
50
|
var deviceAccess_1 = require("../../hw/deviceAccess");
|
|
51
|
+
var MODE_TO_TYPE = {
|
|
52
|
+
send: "OUT",
|
|
53
|
+
lock: "LOCK",
|
|
54
|
+
unlock: "UNLOCK",
|
|
55
|
+
withdraw: "WITHDRAW",
|
|
56
|
+
vote: "VOTE",
|
|
57
|
+
revoke: "REVOKE",
|
|
58
|
+
activate: "ACTIVATE",
|
|
59
|
+
register: "REGISTER",
|
|
60
|
+
"default": "FEE"
|
|
61
|
+
};
|
|
51
62
|
var buildOptimisticOperation = function (account, transaction, fee) {
|
|
52
|
-
var
|
|
53
|
-
var
|
|
63
|
+
var _a;
|
|
64
|
+
var type = ((_a = MODE_TO_TYPE[transaction.mode]) !== null && _a !== void 0 ? _a : MODE_TO_TYPE["default"]);
|
|
65
|
+
var value = type === "OUT" || type === "LOCK"
|
|
66
|
+
? new bignumber_js_1.BigNumber(transaction.amount).plus(fee)
|
|
67
|
+
: new bignumber_js_1.BigNumber(transaction.amount);
|
|
54
68
|
var operation = {
|
|
55
69
|
id: (0, operation_1.encodeOperationId)(account.id, "", type),
|
|
56
70
|
hash: "",
|
|
@@ -63,7 +77,7 @@ var buildOptimisticOperation = function (account, transaction, fee) {
|
|
|
63
77
|
recipients: [transaction.recipient].filter(Boolean),
|
|
64
78
|
accountId: account.id,
|
|
65
79
|
date: new Date(),
|
|
66
|
-
extra: {
|
|
80
|
+
extra: {}
|
|
67
81
|
};
|
|
68
82
|
return operation;
|
|
69
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-signOperation.js","sourceRoot":"","sources":["../../../src/families/celo/js-signOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,6BAAkC;AAClC,2CAAgD;AAEhD,6CAAoD;AACpD,6CAAwC;AACxC,8EAAqD;AACrD,iDAAoE;AACpE,yDAA8E;AAC9E,sDAAmD;
|
|
1
|
+
{"version":3,"file":"js-signOperation.js","sourceRoot":"","sources":["../../../src/families/celo/js-signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-synchronisation.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-synchronisation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"js-synchronisation.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-synchronisation.ts"],"names":[],"mappings":"AAiEA,eAAO,MAAM,YAAY;;;;;;gFAAwC,CAAC;AAClE,eAAO,MAAM,IAAI,wOAAgC,CAAC"}
|
|
@@ -51,13 +51,25 @@ exports.sync = exports.scanAccounts = void 0;
|
|
|
51
51
|
var account_1 = require("../../account");
|
|
52
52
|
var jsHelpers_1 = require("../../bridge/jsHelpers");
|
|
53
53
|
var api_1 = require("./api");
|
|
54
|
+
var sdk_1 = require("./api/sdk");
|
|
55
|
+
var sdk_2 = require("./api/sdk");
|
|
56
|
+
var kit = (0, sdk_1.celoKit)();
|
|
54
57
|
var getAccountShape = function (info) { return __awaiter(void 0, void 0, void 0, function () {
|
|
55
|
-
var address, currency, initialAccount, derivationMode, oldOperations, accountId, _a, blockHeight, balance, spendableBalance, newOperations, operations, shape;
|
|
56
|
-
return __generator(this, function (
|
|
57
|
-
switch (
|
|
58
|
+
var address, currency, initialAccount, derivationMode, oldOperations, election, electionConfig, lockedGold, accountId, _a, blockHeight, balance, spendableBalance, newOperations, lockedBalance, nonvotingLockedBalance, accountRegistrationStatus, pendingWithdrawals, _b, votes, _c, operations, shape;
|
|
59
|
+
return __generator(this, function (_d) {
|
|
60
|
+
switch (_d.label) {
|
|
58
61
|
case 0:
|
|
59
62
|
address = info.address, currency = info.currency, initialAccount = info.initialAccount, derivationMode = info.derivationMode;
|
|
60
63
|
oldOperations = (initialAccount === null || initialAccount === void 0 ? void 0 : initialAccount.operations) || [];
|
|
64
|
+
return [4 /*yield*/, kit.contracts.getElection()];
|
|
65
|
+
case 1:
|
|
66
|
+
election = _d.sent();
|
|
67
|
+
return [4 /*yield*/, election.getConfig()];
|
|
68
|
+
case 2:
|
|
69
|
+
electionConfig = _d.sent();
|
|
70
|
+
return [4 /*yield*/, kit.contracts.getLockedGold()];
|
|
71
|
+
case 3:
|
|
72
|
+
lockedGold = _d.sent();
|
|
61
73
|
accountId = (0, account_1.encodeAccountId)({
|
|
62
74
|
type: "js",
|
|
63
75
|
version: "2",
|
|
@@ -66,15 +78,48 @@ var getAccountShape = function (info) { return __awaiter(void 0, void 0, void 0,
|
|
|
66
78
|
derivationMode: derivationMode
|
|
67
79
|
});
|
|
68
80
|
return [4 /*yield*/, (0, api_1.getAccountDetails)(address, accountId)];
|
|
69
|
-
case
|
|
70
|
-
_a =
|
|
81
|
+
case 4:
|
|
82
|
+
_a = _d.sent(), blockHeight = _a.blockHeight, balance = _a.balance, spendableBalance = _a.spendableBalance, newOperations = _a.operations, lockedBalance = _a.lockedBalance, nonvotingLockedBalance = _a.nonvotingLockedBalance;
|
|
83
|
+
return [4 /*yield*/, (0, sdk_2.getAccountRegistrationStatus)(address)];
|
|
84
|
+
case 5:
|
|
85
|
+
accountRegistrationStatus = _d.sent();
|
|
86
|
+
if (!accountRegistrationStatus) return [3 /*break*/, 7];
|
|
87
|
+
return [4 /*yield*/, (0, sdk_2.getPendingWithdrawals)(address)];
|
|
88
|
+
case 6:
|
|
89
|
+
_b = _d.sent();
|
|
90
|
+
return [3 /*break*/, 8];
|
|
91
|
+
case 7:
|
|
92
|
+
_b = [];
|
|
93
|
+
_d.label = 8;
|
|
94
|
+
case 8:
|
|
95
|
+
pendingWithdrawals = _b;
|
|
96
|
+
if (!accountRegistrationStatus) return [3 /*break*/, 10];
|
|
97
|
+
return [4 /*yield*/, (0, sdk_2.getVotes)(address)];
|
|
98
|
+
case 9:
|
|
99
|
+
_c = _d.sent();
|
|
100
|
+
return [3 /*break*/, 11];
|
|
101
|
+
case 10:
|
|
102
|
+
_c = [];
|
|
103
|
+
_d.label = 11;
|
|
104
|
+
case 11:
|
|
105
|
+
votes = _c;
|
|
71
106
|
operations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations);
|
|
72
107
|
shape = {
|
|
73
108
|
id: accountId,
|
|
74
109
|
balance: balance,
|
|
75
110
|
spendableBalance: spendableBalance,
|
|
76
111
|
operationsCount: operations.length,
|
|
77
|
-
blockHeight: blockHeight
|
|
112
|
+
blockHeight: blockHeight,
|
|
113
|
+
celoResources: {
|
|
114
|
+
registrationStatus: accountRegistrationStatus,
|
|
115
|
+
lockedBalance: lockedBalance,
|
|
116
|
+
nonvotingLockedBalance: nonvotingLockedBalance,
|
|
117
|
+
pendingWithdrawals: pendingWithdrawals,
|
|
118
|
+
votes: votes,
|
|
119
|
+
electionAddress: election.address,
|
|
120
|
+
lockedGoldAddress: lockedGold.address,
|
|
121
|
+
maxNumGroupsVotedFor: electionConfig.maxNumGroupsVotedFor
|
|
122
|
+
}
|
|
78
123
|
};
|
|
79
124
|
return [2 /*return*/, __assign(__assign({}, shape), { operations: operations })];
|
|
80
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-synchronisation.js","sourceRoot":"","sources":["../../../src/families/celo/js-synchronisation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAgD;AAEhD,oDAA8E;AAC9E,6BAA0C;
|
|
1
|
+
{"version":3,"file":"js-synchronisation.js","sourceRoot":"","sources":["../../../src/families/celo/js-synchronisation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAgD;AAEhD,oDAA8E;AAC9E,6BAA0C;AAC1C,iCAAoC;AACpC,iCAImB;AAEnB,IAAM,GAAG,GAAG,IAAA,aAAO,GAAE,CAAC;AAEtB,IAAM,eAAe,GAAoB,UAAO,IAAI;;;;;gBAC1C,OAAO,GAA+C,IAAI,QAAnD,EAAE,QAAQ,GAAqC,IAAI,SAAzC,EAAE,cAAc,GAAqB,IAAI,eAAzB,EAAE,cAAc,GAAK,IAAI,eAAT,CAAU;gBAC7D,aAAa,GAAG,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,KAAI,EAAE,CAAC;gBACtC,qBAAM,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAA;;gBAA5C,QAAQ,GAAG,SAAiC;gBAC3B,qBAAM,QAAQ,CAAC,SAAS,EAAE,EAAA;;gBAA3C,cAAc,GAAG,SAA0B;gBAC9B,qBAAM,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAA;;gBAAhD,UAAU,GAAG,SAAmC;gBAEhD,SAAS,GAAG,IAAA,yBAAe,EAAC;oBAChC,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,GAAG;oBACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,aAAa,EAAE,OAAO;oBACtB,cAAc,gBAAA;iBACf,CAAC,CAAC;gBAQC,qBAAM,IAAA,uBAAiB,EAAC,OAAO,EAAE,SAAS,CAAC,EAAA;;gBAPzC,KAOF,SAA2C,EAN7C,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,gBAAgB,sBAAA,EACJ,aAAa,gBAAA,EACzB,aAAa,mBAAA,EACb,sBAAsB,4BAAA;gBAGU,qBAAM,IAAA,kCAA4B,EAAC,OAAO,CAAC,EAAA;;gBAAvE,yBAAyB,GAAG,SAA2C;qBAElD,yBAAyB,EAAzB,wBAAyB;gBAChD,qBAAM,IAAA,2BAAqB,EAAC,OAAO,CAAC,EAAA;;gBAApC,KAAA,SAAoC,CAAA;;;gBACpC,KAAA,EAAE,CAAA;;;gBAFA,kBAAkB,KAElB;qBAEQ,yBAAyB,EAAzB,yBAAyB;gBAAG,qBAAM,IAAA,cAAQ,EAAC,OAAO,CAAC,EAAA;;gBAAvB,KAAA,SAAuB,CAAA;;;gBAAG,KAAA,EAAE,CAAA;;;gBAAhE,KAAK,KAA2D;gBAEhE,UAAU,GAAG,IAAA,oBAAQ,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACpD,KAAK,GAAG;oBACZ,EAAE,EAAE,SAAS;oBACb,OAAO,SAAA;oBACP,gBAAgB,kBAAA;oBAChB,eAAe,EAAE,UAAU,CAAC,MAAM;oBAClC,WAAW,aAAA;oBACX,aAAa,EAAE;wBACb,kBAAkB,EAAE,yBAAyB;wBAC7C,aAAa,eAAA;wBACb,sBAAsB,wBAAA;wBACtB,kBAAkB,oBAAA;wBAClB,KAAK,OAAA;wBACL,eAAe,EAAE,QAAQ,CAAC,OAAO;wBACjC,iBAAiB,EAAE,UAAU,CAAC,OAAO;wBACrC,oBAAoB,EAAE,cAAc,CAAC,oBAAoB;qBAC1D;iBACF,CAAC;gBACF,4CAAY,KAAK,KAAE,UAAU,YAAA,KAAG;;;KACjC,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,4BAAgB,EAAC,EAAE,eAAe,iBAAA,EAAE,CAAC,CAAC;AACrD,QAAA,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,iBAAA,EAAE,CAAC,CAAC"}
|