@ocap/tx-protocols 1.18.165 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/execute.js +2 -2
- package/lib/pipes/ensure-cost.js +6 -2
- package/lib/pipes/ensure-gas.js +3 -13
- package/lib/protocols/account/delegate.js +2 -2
- package/lib/protocols/account/revoke-delegate.js +2 -1
- package/lib/protocols/asset/acquire-v2.js +2 -2
- package/lib/protocols/asset/acquire-v3.js +2 -2
- package/lib/protocols/asset/calls/transfer-token.js +1 -1
- package/lib/protocols/asset/calls/transfer.js +1 -1
- package/lib/protocols/asset/consume.js +2 -2
- package/lib/protocols/asset/create.js +2 -2
- package/lib/protocols/asset/mint.js +2 -2
- package/lib/protocols/asset/update.js +3 -3
- package/lib/protocols/factory/create.js +2 -2
- package/lib/protocols/governance/claim-stake.js +2 -2
- package/lib/protocols/governance/return-stake.js +2 -2
- package/lib/protocols/governance/revoke-stake.js +2 -1
- package/lib/protocols/governance/slash-stake.js +2 -2
- package/lib/protocols/governance/stake.js +3 -3
- package/lib/protocols/rollup/claim-reward.js +3 -3
- package/lib/protocols/rollup/close.js +2 -2
- package/lib/protocols/rollup/create-block.js +2 -2
- package/lib/protocols/rollup/create.js +2 -2
- package/lib/protocols/rollup/join.js +2 -2
- package/lib/protocols/rollup/leave.js +2 -2
- package/lib/protocols/rollup/migrate.js +2 -1
- package/lib/protocols/rollup/pause.js +2 -1
- package/lib/protocols/rollup/pipes/verify-evidence.js +3 -2
- package/lib/protocols/rollup/resume.js +2 -1
- package/lib/protocols/rollup/update.js +2 -1
- package/lib/protocols/token/create.js +2 -2
- package/lib/protocols/token/deposit-v2.js +2 -2
- package/lib/protocols/token/withdraw-v2.js +2 -2
- package/lib/protocols/trade/exchange-v2.js +2 -2
- package/lib/protocols/trade/transfer-v2.js +2 -2
- package/lib/protocols/trade/transfer-v3.js +2 -2
- package/package.json +14 -14
package/lib/execute.js
CHANGED
|
@@ -64,14 +64,14 @@ module.exports = ({ filter, runAsLambda }) => {
|
|
|
64
64
|
context.states.account.update(senderState, { nonce: tx.nonce, pk: tx.pk, ...senderUpdates }, context),
|
|
65
65
|
context
|
|
66
66
|
),
|
|
67
|
-
|
|
68
|
-
updateVaults(),
|
|
69
67
|
]);
|
|
68
|
+
await updateVaults();
|
|
70
69
|
} catch (err) {
|
|
71
70
|
context.logger?.error('Failed to charge gas fee for errored tx', { error: err, txHash: context.txHash });
|
|
72
71
|
}
|
|
73
72
|
};
|
|
74
73
|
|
|
74
|
+
// eslint-disable-next-line require-await
|
|
75
75
|
const execute = async (context, protocols, isRetrySupported = false) =>
|
|
76
76
|
new Promise((resolve, reject) => {
|
|
77
77
|
pre.run(context, (err) => {
|
package/lib/pipes/ensure-cost.js
CHANGED
|
@@ -24,8 +24,7 @@ module.exports = function CreateEnsureTxCostPipe({
|
|
|
24
24
|
} = {}) {
|
|
25
25
|
return async function EnsureTxCost(context, next) {
|
|
26
26
|
// TODO: we are using the sender as gas payer, this may change in future
|
|
27
|
-
const { config, statedb, txType, senderState, gasEstimate,
|
|
28
|
-
const feeVaultState = await statedb.account.get(config.vaults.txFee, context);
|
|
27
|
+
const { config, statedb, txType, senderState, gasEstimate, gasVault, totalGas } = context;
|
|
29
28
|
|
|
30
29
|
// verify gas staking headers
|
|
31
30
|
const { tx, extra = {}, txHash } = context;
|
|
@@ -96,6 +95,11 @@ module.exports = function CreateEnsureTxCostPipe({
|
|
|
96
95
|
|
|
97
96
|
// to be called in later pipes
|
|
98
97
|
context.updateVaults = async function updateVaults() {
|
|
98
|
+
const [feeVaultState, gasVaultState] = await Promise.all([
|
|
99
|
+
statedb.account.get(config.vaults.txFee, context),
|
|
100
|
+
statedb.account.get(gasVault, context),
|
|
101
|
+
]);
|
|
102
|
+
|
|
99
103
|
const [newFeeVaultState, newGasVaultState] = await Promise.all([
|
|
100
104
|
changes.fee
|
|
101
105
|
? statedb.account.update(
|
package/lib/pipes/ensure-gas.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const { CustomError: Error } = require('@ocap/util/lib/error');
|
|
2
1
|
const { BN, hexToNumber } = require('@ocap/util');
|
|
3
2
|
|
|
4
3
|
// eslint-disable-next-line global-require
|
|
@@ -11,8 +10,8 @@ const debug = require('debug')(`${require('../../package.json').name}:pipes:ensu
|
|
|
11
10
|
// - update: state updating ops
|
|
12
11
|
// - payment: sender payment amount of the gas token
|
|
13
12
|
module.exports = function CreateGasEnsureFn(estimateTxGas) {
|
|
14
|
-
return
|
|
15
|
-
const { txHash,
|
|
13
|
+
return function EnsureTxGas(context, next) {
|
|
14
|
+
const { txHash, config } = context;
|
|
16
15
|
|
|
17
16
|
// total gas in native token
|
|
18
17
|
const { txGas } = config.transaction;
|
|
@@ -30,16 +29,7 @@ module.exports = function CreateGasEnsureFn(estimateTxGas) {
|
|
|
30
29
|
const { txGas: gasVaults } = config.vaults;
|
|
31
30
|
const index = hexToNumber(txHash.slice(txHash.length - 4)) % gasVaults.length;
|
|
32
31
|
const gasVault = gasVaults[index];
|
|
33
|
-
|
|
34
|
-
// extract gasReceiver
|
|
35
|
-
if (gasVault) {
|
|
36
|
-
const gasVaultState = await statedb.account.get(gasVault, context);
|
|
37
|
-
if (!gasVaultState) {
|
|
38
|
-
return next(new Error('INVALID_GAS_VAULT', `Can not find gas vault state: ${gasVault}`));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
context.gasVaultState = gasVaultState;
|
|
42
|
-
}
|
|
32
|
+
context.gasVault = gasVault;
|
|
43
33
|
|
|
44
34
|
debug({
|
|
45
35
|
txType: context.txType,
|
|
@@ -193,10 +193,10 @@ runner.use(
|
|
|
193
193
|
delegationState
|
|
194
194
|
? statedb.delegation.update(itx.address, delegation.update(delegationState, { ...itx, from: sender, ops: merged }, context), context) // prettier-ignore
|
|
195
195
|
: statedb.delegation.create(itx.address, delegation.create({ ...itx, from: sender, ops: merged }, context), context), // prettier-ignore
|
|
196
|
-
|
|
197
|
-
updateVaults(),
|
|
198
196
|
]);
|
|
199
197
|
|
|
198
|
+
await updateVaults();
|
|
199
|
+
|
|
200
200
|
debug(delegationState ? 'update' : 'create', newDelegationState);
|
|
201
201
|
|
|
202
202
|
// Update context
|
|
@@ -89,9 +89,10 @@ runner.use(
|
|
|
89
89
|
delegation.update(context.delegationState, { ops: newOps }, context),
|
|
90
90
|
context
|
|
91
91
|
),
|
|
92
|
-
updateVaults(),
|
|
93
92
|
]);
|
|
94
93
|
|
|
94
|
+
await updateVaults();
|
|
95
|
+
|
|
95
96
|
// Update context
|
|
96
97
|
context.senderState = newSenderState;
|
|
97
98
|
context.delegationState = newDelegationState;
|
|
@@ -219,10 +219,10 @@ runner.use(
|
|
|
219
219
|
context.delegatorState
|
|
220
220
|
? statedb.account.update(assetOwner.address, account.update(assetOwner, ownerUpdates, context), context)
|
|
221
221
|
: null,
|
|
222
|
-
|
|
223
|
-
updateVaults(),
|
|
224
222
|
]);
|
|
225
223
|
|
|
224
|
+
await updateVaults();
|
|
225
|
+
|
|
226
226
|
context.senderState = newSenderState;
|
|
227
227
|
context.assetState = assetState;
|
|
228
228
|
context.factoryState = newFactoryState;
|
|
@@ -289,10 +289,10 @@ runner.use(
|
|
|
289
289
|
statedb.asset.update(x.address, asset.update(x, { consumedTime: txTime }, context), context)
|
|
290
290
|
)
|
|
291
291
|
),
|
|
292
|
-
|
|
293
|
-
updateVaults(),
|
|
294
292
|
]);
|
|
295
293
|
|
|
294
|
+
await updateVaults();
|
|
295
|
+
|
|
296
296
|
context.senderState = newSenderState;
|
|
297
297
|
context.receiverState = newReceiverState;
|
|
298
298
|
context.signerStates = isAlsoSigner ? newSignerStates.concat(newSenderState) : newSignerStates;
|
|
@@ -9,7 +9,7 @@ const runner = new Runner();
|
|
|
9
9
|
|
|
10
10
|
runner.use(pipes.ExtractState({ from: 'args.to', to: 'receiverState', status: 'INVALID_RECEIVER_STATE' }));
|
|
11
11
|
|
|
12
|
-
runner.use(
|
|
12
|
+
runner.use((context, next) => {
|
|
13
13
|
const { states, receiverState, args } = context;
|
|
14
14
|
const { tokenAddress, amount } = args;
|
|
15
15
|
|
|
@@ -8,7 +8,7 @@ const runner = new Runner();
|
|
|
8
8
|
|
|
9
9
|
runner.use(pipes.ExtractState({ from: 'args.to', to: 'receiverState', status: 'INVALID_RECEIVER_STATE' }));
|
|
10
10
|
|
|
11
|
-
runner.use(
|
|
11
|
+
runner.use((context, next) => {
|
|
12
12
|
const { states, receiverState, args } = context;
|
|
13
13
|
|
|
14
14
|
const old = new BN(receiverState.balance);
|
|
@@ -81,10 +81,10 @@ runner.use(
|
|
|
81
81
|
|
|
82
82
|
// update asset state
|
|
83
83
|
statedb.asset.update(itx.address, asset.update(assetState, { consumedTime: txTime }, context), context),
|
|
84
|
-
|
|
85
|
-
updateVaults(),
|
|
86
84
|
]);
|
|
87
85
|
|
|
86
|
+
await updateVaults();
|
|
87
|
+
|
|
88
88
|
context.senderState = newSenderState;
|
|
89
89
|
context.assetState = newAssetState;
|
|
90
90
|
|
|
@@ -125,14 +125,14 @@ runner.use(
|
|
|
125
125
|
context
|
|
126
126
|
),
|
|
127
127
|
|
|
128
|
-
updateVaults(),
|
|
129
|
-
|
|
130
128
|
// Update delegation state
|
|
131
129
|
context.isDelegationChanged
|
|
132
130
|
? statedb.delegation.update(delegationState.address, delegation.update(delegationState, {}, context), context)
|
|
133
131
|
: delegationState,
|
|
134
132
|
]);
|
|
135
133
|
|
|
134
|
+
await updateVaults();
|
|
135
|
+
|
|
136
136
|
context.senderState = newSenderState;
|
|
137
137
|
context.assetState = assetState;
|
|
138
138
|
context.delegationState = newDelegationState;
|
|
@@ -161,10 +161,10 @@ runner.use(
|
|
|
161
161
|
statedb.asset.update(x.address, asset.update(x, { consumedTime: txTime }, context), context)
|
|
162
162
|
)
|
|
163
163
|
),
|
|
164
|
-
|
|
165
|
-
updateVaults(),
|
|
166
164
|
]);
|
|
167
165
|
|
|
166
|
+
await updateVaults();
|
|
167
|
+
|
|
168
168
|
context.senderState = newSenderState;
|
|
169
169
|
context.receiverState = newReceiverState;
|
|
170
170
|
context.assetState = assetState;
|
|
@@ -65,7 +65,7 @@ runner.use(
|
|
|
65
65
|
);
|
|
66
66
|
|
|
67
67
|
// Ensure we are in append-only mode update proposed by issuer
|
|
68
|
-
runner.use(
|
|
68
|
+
runner.use((context, next) => {
|
|
69
69
|
const { itx, newData, senderState, assetState, issuerState } = context;
|
|
70
70
|
if (issuerState && senderState.address === issuerState.address) {
|
|
71
71
|
if (itx.moniker !== assetState.moniker) {
|
|
@@ -111,10 +111,10 @@ runner.use(
|
|
|
111
111
|
|
|
112
112
|
// update asset state
|
|
113
113
|
statedb.asset.update(itx.address, asset.update(assetState, updates, context), context),
|
|
114
|
-
|
|
115
|
-
updateVaults(),
|
|
116
114
|
]);
|
|
117
115
|
|
|
116
|
+
await updateVaults();
|
|
117
|
+
|
|
118
118
|
context.senderState = newSenderState;
|
|
119
119
|
context.assetState = newAssetState;
|
|
120
120
|
|
|
@@ -158,10 +158,10 @@ runner.use(
|
|
|
158
158
|
context.isDelegationChanged
|
|
159
159
|
? statedb.delegation.update(delegationState.address, delegation.update(delegationState, {}, context), context)
|
|
160
160
|
: delegationState,
|
|
161
|
-
|
|
162
|
-
updateVaults(),
|
|
163
161
|
]);
|
|
164
162
|
|
|
163
|
+
await updateVaults();
|
|
164
|
+
|
|
165
165
|
context.senderState = newSenderState;
|
|
166
166
|
context.factoryState = factoryState;
|
|
167
167
|
context.delegationState = newDelegationState;
|
|
@@ -239,10 +239,10 @@ runner.use(
|
|
|
239
239
|
evidence.create({ hash: itx.evidence.hash, data: 'claim-stake' }, context),
|
|
240
240
|
context
|
|
241
241
|
),
|
|
242
|
-
|
|
243
|
-
updateVaults(),
|
|
244
242
|
]);
|
|
245
243
|
|
|
244
|
+
await updateVaults();
|
|
245
|
+
|
|
246
246
|
context.senderState = newSenderState;
|
|
247
247
|
context.receiverStates = isAlsoSigner ? newReceiverStates.concat(newSenderState) : newReceiverStates;
|
|
248
248
|
context.stakeState = newStakeState;
|
|
@@ -222,10 +222,10 @@ runner.use(
|
|
|
222
222
|
statedb.asset.update(x.address, asset.update(x, assetUpdates[x.address], context), context)
|
|
223
223
|
)
|
|
224
224
|
),
|
|
225
|
-
|
|
226
|
-
updateVaults(),
|
|
227
225
|
]);
|
|
228
226
|
|
|
227
|
+
await updateVaults();
|
|
228
|
+
|
|
229
229
|
context.senderState = newSenderState;
|
|
230
230
|
context.receiverStates = newReceiverStates;
|
|
231
231
|
context.stakeState = newStakeState;
|
|
@@ -148,9 +148,10 @@ runner.use(
|
|
|
148
148
|
context
|
|
149
149
|
),
|
|
150
150
|
statedb.stake.update(stakeState.address, stake.update(stakeState, stakeUpdates, context), context),
|
|
151
|
-
updateVaults(),
|
|
152
151
|
]);
|
|
153
152
|
|
|
153
|
+
await updateVaults();
|
|
154
|
+
|
|
154
155
|
context.senderState = newSenderState;
|
|
155
156
|
context.stakeState = newStakeState;
|
|
156
157
|
|
|
@@ -238,10 +238,10 @@ runner.use(
|
|
|
238
238
|
statedb.asset.update(x.address, asset.update(x, assetUpdates[x.address], context), context)
|
|
239
239
|
)
|
|
240
240
|
),
|
|
241
|
-
|
|
242
|
-
updateVaults(),
|
|
243
241
|
]);
|
|
244
242
|
|
|
243
|
+
await updateVaults();
|
|
244
|
+
|
|
245
245
|
context.senderState = newSenderState;
|
|
246
246
|
context.receiverStates = newReceiverStates;
|
|
247
247
|
context.stakeState = newStakeState;
|
|
@@ -114,7 +114,7 @@ runner.use(pipes.ExtractState({ from: 'itx.slashersList', to: 'slasherStates', s
|
|
|
114
114
|
runner.use(pipes.VerifyAccountMigration({ stateKey: 'slasherStates', addressKey: 'itx.slashersList' }));
|
|
115
115
|
|
|
116
116
|
// 8. handle tx gas stakes
|
|
117
|
-
runner.use(
|
|
117
|
+
runner.use((context, next) => {
|
|
118
118
|
const { tx, itx, inputs, config } = context;
|
|
119
119
|
const { token, transaction } = config;
|
|
120
120
|
const { minStake, maxStake } = transaction.txGas;
|
|
@@ -266,10 +266,10 @@ runner.use(
|
|
|
266
266
|
statedb.asset.update(x.address, asset.update(x, { owner: itx.address }, context), context)
|
|
267
267
|
)
|
|
268
268
|
),
|
|
269
|
-
|
|
270
|
-
updateVaults(),
|
|
271
269
|
]);
|
|
272
270
|
|
|
271
|
+
await updateVaults();
|
|
272
|
+
|
|
273
273
|
context.senderState = newSenderState;
|
|
274
274
|
context.signerStates = isAlsoSigner ? newSignerStates.concat(newSenderState) : newSignerStates;
|
|
275
275
|
context.stakeState = newStakeState;
|
|
@@ -104,7 +104,7 @@ runner.use(pipes.ExtractState({ from: 'rollupState.tokenAddress', to: 'tokenStat
|
|
|
104
104
|
|
|
105
105
|
// 8. split and aggregate block reward for each tx and the block
|
|
106
106
|
runner.use(pipes.ExtractState({ from: 'blockState.txs', to: 'txs', status: 'INVALID_TX', table: 'tx' }));
|
|
107
|
-
runner.use(
|
|
107
|
+
runner.use((context, next) => {
|
|
108
108
|
const { itx, txs, rollupState, blockState, lockerState, tokenState, stakeState } = context;
|
|
109
109
|
const { proposerFeeShare, publisherFeeShare } = rollupState;
|
|
110
110
|
|
|
@@ -306,10 +306,10 @@ runner.use(
|
|
|
306
306
|
evidence.create({ hash: itx.blockHash, data: 'rollup-claim-block-reward' }, context),
|
|
307
307
|
context
|
|
308
308
|
),
|
|
309
|
-
|
|
310
|
-
updateVaults(),
|
|
311
309
|
]);
|
|
312
310
|
|
|
311
|
+
await updateVaults();
|
|
312
|
+
|
|
313
313
|
// to avoid this to be incorrectly indexed
|
|
314
314
|
delete context.stakeState;
|
|
315
315
|
|
|
@@ -381,10 +381,10 @@ runner.use(
|
|
|
381
381
|
Promise.all(
|
|
382
382
|
txStates.map((x) => statedb.tx.update(x.hash, Tx.update(x, { finalized: true, tx: x.tx }), context))
|
|
383
383
|
),
|
|
384
|
-
|
|
385
|
-
updateVaults(),
|
|
386
384
|
]);
|
|
387
385
|
|
|
386
|
+
await updateVaults();
|
|
387
|
+
|
|
388
388
|
context.senderState = newSenderState;
|
|
389
389
|
context.stakeStates = newStakeStates.filter((x) => context.stakeUpdates[x.address]);
|
|
390
390
|
context.newSenderStates = newSenderStates;
|
|
@@ -165,10 +165,10 @@ runner.use(
|
|
|
165
165
|
context.isDelegationChanged
|
|
166
166
|
? statedb.delegation.update(delegationState.address, delegation.update(delegationState, {}, context), context)
|
|
167
167
|
: delegationState,
|
|
168
|
-
|
|
169
|
-
updateVaults(),
|
|
170
168
|
]);
|
|
171
169
|
|
|
170
|
+
await updateVaults();
|
|
171
|
+
|
|
172
172
|
// FIXME: create-rollup 的时候不能校验 stake,还是在这里创建 stake?如果在这里创建 stake,是否需要多签?
|
|
173
173
|
// FIXME: account migration 也需要测试下
|
|
174
174
|
|
|
@@ -163,10 +163,10 @@ runner.use(
|
|
|
163
163
|
evidence.create({ hash: itx.evidence.hash, data: 'rollup-join' }, context),
|
|
164
164
|
context
|
|
165
165
|
),
|
|
166
|
-
|
|
167
|
-
updateVaults(),
|
|
168
166
|
]);
|
|
169
167
|
|
|
168
|
+
await updateVaults();
|
|
169
|
+
|
|
170
170
|
context.senderState = newSenderState;
|
|
171
171
|
context.rollupState = newRollupState;
|
|
172
172
|
context.stakeState = newStakeState;
|
|
@@ -126,10 +126,10 @@ runner.use(
|
|
|
126
126
|
evidence.create({ hash: itx.evidence.hash, data: 'rollup-leave' }, context),
|
|
127
127
|
context
|
|
128
128
|
),
|
|
129
|
-
|
|
130
|
-
updateVaults(),
|
|
131
129
|
]);
|
|
132
130
|
|
|
131
|
+
await updateVaults();
|
|
132
|
+
|
|
133
133
|
context.senderState = newSenderState;
|
|
134
134
|
context.rollupState = newRollupState;
|
|
135
135
|
context.stakeState = newStakeState;
|
|
@@ -54,9 +54,10 @@ runner.use(
|
|
|
54
54
|
context
|
|
55
55
|
),
|
|
56
56
|
statedb.rollup.update(itx.rollup, rollup.pause(rollupState, context), context),
|
|
57
|
-
updateVaults(),
|
|
58
57
|
]);
|
|
59
58
|
|
|
59
|
+
await updateVaults();
|
|
60
|
+
|
|
60
61
|
context.senderState = newSenderState;
|
|
61
62
|
context.rollupState = newRollupState;
|
|
62
63
|
|
|
@@ -9,7 +9,7 @@ module.exports = function CreateVerifyEvidencePipe({ evidenceKey, signaturesKey,
|
|
|
9
9
|
throw new Error(`Invalid verify method: ${verifyMethod}, supported methods are: verify, ethVerify`);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
return (context, next) => {
|
|
12
|
+
return async (context, next) => {
|
|
13
13
|
const evidence = get(context, evidenceKey);
|
|
14
14
|
const signatures = get(context, signaturesKey);
|
|
15
15
|
|
|
@@ -22,7 +22,8 @@ module.exports = function CreateVerifyEvidencePipe({ evidenceKey, signaturesKey,
|
|
|
22
22
|
const wallet = fromPublicKey(pk, toTypeInfo(address));
|
|
23
23
|
|
|
24
24
|
try {
|
|
25
|
-
|
|
25
|
+
// eslint-disable-next-line no-await-in-loop
|
|
26
|
+
if ((await wallet[verifyMethod](toHex(evidence), toHex(signature))) === false) {
|
|
26
27
|
return next(new Error('INVALID_SIGNATURE', `Signature for evidence from ${address} is not valid`));
|
|
27
28
|
}
|
|
28
29
|
} catch (err) {
|
|
@@ -54,9 +54,10 @@ runner.use(
|
|
|
54
54
|
context
|
|
55
55
|
),
|
|
56
56
|
statedb.rollup.update(itx.rollup, rollup.resume(rollupState, context), context),
|
|
57
|
-
updateVaults(),
|
|
58
57
|
]);
|
|
59
58
|
|
|
59
|
+
await updateVaults();
|
|
60
|
+
|
|
60
61
|
context.senderState = newSenderState;
|
|
61
62
|
context.rollupState = newRollupState;
|
|
62
63
|
|
|
@@ -100,9 +100,10 @@ runner.use(
|
|
|
100
100
|
context
|
|
101
101
|
),
|
|
102
102
|
statedb.rollup.update(itx.rollup, rollup.update(rollupState, { ...itx, data }, context), context),
|
|
103
|
-
updateVaults(),
|
|
104
103
|
]);
|
|
105
104
|
|
|
105
|
+
await updateVaults();
|
|
106
|
+
|
|
106
107
|
context.senderState = newSenderState;
|
|
107
108
|
context.rollupState = newRollupState;
|
|
108
109
|
|
|
@@ -161,10 +161,10 @@ runner.use(
|
|
|
161
161
|
context.isDelegationChanged
|
|
162
162
|
? statedb.delegation.update(delegationState.address, delegation.update(delegationState, {}, context), context)
|
|
163
163
|
: delegationState,
|
|
164
|
-
|
|
165
|
-
updateVaults(),
|
|
166
164
|
]);
|
|
167
165
|
|
|
166
|
+
await updateVaults();
|
|
167
|
+
|
|
168
168
|
context.senderState = newSenderState;
|
|
169
169
|
context.tokenState = tokenState;
|
|
170
170
|
context.delegatorState = newDelegatorState;
|
|
@@ -256,10 +256,10 @@ runner.use(
|
|
|
256
256
|
evidence.create({ hash: itx.evidence.hash, data: 'rollup-deposit' }, context),
|
|
257
257
|
context
|
|
258
258
|
),
|
|
259
|
-
|
|
260
|
-
updateVaults(),
|
|
261
259
|
]);
|
|
262
260
|
|
|
261
|
+
await updateVaults();
|
|
262
|
+
|
|
263
263
|
context.senderState = newSenderState;
|
|
264
264
|
context.stakeState = newStakeState;
|
|
265
265
|
context.evidenceState = evidenceState;
|
|
@@ -200,10 +200,10 @@ runner.use(
|
|
|
200
200
|
account.update(receiverState, { tokens: receiverStateTokens }, context),
|
|
201
201
|
context
|
|
202
202
|
),
|
|
203
|
-
|
|
204
|
-
updateVaults(),
|
|
205
203
|
]);
|
|
206
204
|
|
|
205
|
+
await updateVaults();
|
|
206
|
+
|
|
207
207
|
context.senderState = newSenderState;
|
|
208
208
|
context.receiverState = newReceiverState;
|
|
209
209
|
|
|
@@ -194,10 +194,10 @@ runner.use(
|
|
|
194
194
|
context.isDelegationChanged
|
|
195
195
|
? statedb.delegation.update(delegationState.address, delegation.update(delegationState, {}, context), context)
|
|
196
196
|
: delegationState,
|
|
197
|
-
|
|
198
|
-
updateVaults(),
|
|
199
197
|
]);
|
|
200
198
|
|
|
199
|
+
await updateVaults();
|
|
200
|
+
|
|
201
201
|
context.senderState = newSenderState;
|
|
202
202
|
context.receiverState = newReceiverState;
|
|
203
203
|
context.delegationState = newDelegationState;
|
|
@@ -287,10 +287,10 @@ runner.use(
|
|
|
287
287
|
statedb.asset.update(x.address, asset.update(x, assetUpdates[x.address], context), context)
|
|
288
288
|
)
|
|
289
289
|
),
|
|
290
|
-
|
|
291
|
-
updateVaults(),
|
|
292
290
|
]);
|
|
293
291
|
|
|
292
|
+
await updateVaults();
|
|
293
|
+
|
|
294
294
|
context.senderState = newSenderState;
|
|
295
295
|
context.signerStates = isAlsoSigner ? newSignerStates.concat(newSenderState) : newSignerStates;
|
|
296
296
|
context.receiverStates = isAlsoReceiver ? newReceiverStates.concat(newSenderState) : newReceiverStates;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.19.0",
|
|
7
7
|
"description": "Predefined tx pipeline sets to execute certain type of transactions",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
"author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@arcblock/did": "1.
|
|
25
|
-
"@arcblock/did-util": "1.
|
|
26
|
-
"@arcblock/jwt": "1.
|
|
27
|
-
"@arcblock/validator": "1.
|
|
28
|
-
"@ocap/asset": "1.
|
|
29
|
-
"@ocap/mcrypto": "1.
|
|
30
|
-
"@ocap/merkle-tree": "1.
|
|
31
|
-
"@ocap/message": "1.
|
|
32
|
-
"@ocap/state": "1.
|
|
33
|
-
"@ocap/tx-pipeline": "1.
|
|
34
|
-
"@ocap/util": "1.
|
|
35
|
-
"@ocap/wallet": "1.
|
|
24
|
+
"@arcblock/did": "1.19.0",
|
|
25
|
+
"@arcblock/did-util": "1.19.0",
|
|
26
|
+
"@arcblock/jwt": "1.19.0",
|
|
27
|
+
"@arcblock/validator": "1.19.0",
|
|
28
|
+
"@ocap/asset": "1.19.0",
|
|
29
|
+
"@ocap/mcrypto": "1.19.0",
|
|
30
|
+
"@ocap/merkle-tree": "1.19.0",
|
|
31
|
+
"@ocap/message": "1.19.0",
|
|
32
|
+
"@ocap/state": "1.19.0",
|
|
33
|
+
"@ocap/tx-pipeline": "1.19.0",
|
|
34
|
+
"@ocap/util": "1.19.0",
|
|
35
|
+
"@ocap/wallet": "1.19.0",
|
|
36
36
|
"debug": "^4.3.6",
|
|
37
37
|
"deep-diff": "^1.0.2",
|
|
38
38
|
"empty-value": "^1.0.1",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"jest": "^29.7.0",
|
|
48
48
|
"start-server-and-test": "^1.14.0"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "1b6fac03988fb18507c8ef4c21de282762005f87"
|
|
51
51
|
}
|