@ocap/tx-protocols 1.18.162 → 1.18.164
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/protocols/account/declare.js +5 -0
- package/lib/protocols/account/delegate.js +5 -0
- package/lib/protocols/account/migrate.js +6 -1
- package/lib/protocols/account/revoke-delegate.js +5 -0
- package/lib/protocols/asset/acquire-v2.js +5 -0
- package/lib/protocols/asset/acquire-v3.js +5 -0
- package/lib/protocols/asset/consume.js +5 -0
- package/lib/protocols/asset/create.js +5 -0
- package/lib/protocols/asset/mint.js +5 -0
- package/lib/protocols/asset/pipes/exec-mint-hook.js +4 -1
- package/lib/protocols/asset/update.js +5 -0
- package/lib/protocols/factory/create.js +5 -0
- package/lib/protocols/governance/claim-stake.js +5 -0
- package/lib/protocols/governance/return-stake.js +5 -0
- package/lib/protocols/governance/revoke-stake.js +5 -0
- package/lib/protocols/governance/slash-stake.js +5 -0
- package/lib/protocols/governance/stake.js +5 -0
- package/lib/protocols/rollup/claim-reward.js +5 -0
- package/lib/protocols/rollup/close.js +5 -0
- package/lib/protocols/rollup/create-block.js +5 -0
- package/lib/protocols/rollup/create.js +5 -0
- package/lib/protocols/rollup/join.js +5 -0
- package/lib/protocols/rollup/leave.js +5 -0
- package/lib/protocols/rollup/migrate.js +5 -0
- package/lib/protocols/rollup/pause.js +5 -0
- package/lib/protocols/rollup/resume.js +5 -0
- package/lib/protocols/rollup/update.js +5 -0
- package/lib/protocols/token/create.js +5 -0
- package/lib/protocols/token/deposit-v2.js +5 -0
- package/lib/protocols/token/withdraw-v2.js +5 -0
- package/lib/protocols/trade/exchange-v2.js +5 -0
- package/lib/protocols/trade/transfer-v2.js +5 -0
- package/lib/protocols/trade/transfer-v3.js +5 -0
- package/package.json +14 -14
|
@@ -32,6 +32,9 @@ runner.use(pipes.VerifyAccountMigration({ stateKey: 'senderState', addressKey: '
|
|
|
32
32
|
// The issuer must exist in the ledger
|
|
33
33
|
runner.use(pipes.ExtractState({ from: 'itx.issuer', to: 'issuerState', status: 'INVALID_TX' }));
|
|
34
34
|
|
|
35
|
+
// Save context snapshot before updating states
|
|
36
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
37
|
+
|
|
35
38
|
// Create account state
|
|
36
39
|
runner.use(
|
|
37
40
|
async (context, next) => {
|
|
@@ -53,4 +56,6 @@ runner.use(
|
|
|
53
56
|
{ persistError: true }
|
|
54
57
|
);
|
|
55
58
|
|
|
59
|
+
runner.use(pipes.VerifyStateDiff());
|
|
60
|
+
|
|
56
61
|
module.exports = runner;
|
|
@@ -128,6 +128,9 @@ runner.use(
|
|
|
128
128
|
);
|
|
129
129
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
130
130
|
|
|
131
|
+
// Save context snapshot before updating states
|
|
132
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
133
|
+
|
|
131
134
|
// Create delegation state
|
|
132
135
|
runner.use(
|
|
133
136
|
async (context, next) => {
|
|
@@ -206,4 +209,6 @@ runner.use(
|
|
|
206
209
|
{ persistError: true }
|
|
207
210
|
);
|
|
208
211
|
|
|
212
|
+
runner.use(pipes.VerifyStateDiff());
|
|
213
|
+
|
|
209
214
|
module.exports = runner;
|
|
@@ -52,6 +52,9 @@ runner.use(
|
|
|
52
52
|
);
|
|
53
53
|
runner.use(EnsureTxCost({ attachSenderChanges: true, throwOnInsufficientFund: false }));
|
|
54
54
|
|
|
55
|
+
// Save context snapshot before updating states
|
|
56
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
57
|
+
|
|
55
58
|
// Create account state, and update old accounts
|
|
56
59
|
runner.use(
|
|
57
60
|
async (context, next) => {
|
|
@@ -104,11 +107,13 @@ runner.use(
|
|
|
104
107
|
|
|
105
108
|
// Update context
|
|
106
109
|
context.receiverState = newAccount;
|
|
107
|
-
context.senderState = states.find((x) => x.address === sender.
|
|
110
|
+
context.senderState = states.find((x) => x.address === sender.address);
|
|
108
111
|
|
|
109
112
|
return next();
|
|
110
113
|
},
|
|
111
114
|
{ persistError: true }
|
|
112
115
|
);
|
|
113
116
|
|
|
117
|
+
runner.use(pipes.VerifyStateDiff());
|
|
118
|
+
|
|
114
119
|
module.exports = runner;
|
|
@@ -65,6 +65,9 @@ runner.use(pipes.VerifyAccountMigration({ stateKey: 'senderState', addressKey: '
|
|
|
65
65
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
66
66
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
67
67
|
|
|
68
|
+
// Save context snapshot before updating states
|
|
69
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
70
|
+
|
|
68
71
|
// Update delegation state
|
|
69
72
|
runner.use(
|
|
70
73
|
async (context, next) => {
|
|
@@ -98,4 +101,6 @@ runner.use(
|
|
|
98
101
|
{ persistError: true }
|
|
99
102
|
);
|
|
100
103
|
|
|
104
|
+
runner.use(pipes.VerifyStateDiff());
|
|
105
|
+
|
|
101
106
|
module.exports = runner;
|
|
@@ -144,6 +144,9 @@ runner.use(
|
|
|
144
144
|
);
|
|
145
145
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
146
146
|
|
|
147
|
+
// Save context snapshot before updating states
|
|
148
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
149
|
+
|
|
147
150
|
// update statedb
|
|
148
151
|
runner.use(
|
|
149
152
|
async (context, next) => {
|
|
@@ -236,4 +239,6 @@ runner.use(
|
|
|
236
239
|
// run minting hooks for instant settlement
|
|
237
240
|
runner.use(execMintHook, { persistError: true });
|
|
238
241
|
|
|
242
|
+
runner.use(pipes.VerifyStateDiff());
|
|
243
|
+
|
|
239
244
|
module.exports = runner;
|
|
@@ -194,6 +194,9 @@ runner.use(
|
|
|
194
194
|
);
|
|
195
195
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
196
196
|
|
|
197
|
+
// Save context snapshot before updating states
|
|
198
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
199
|
+
|
|
197
200
|
// update statedb
|
|
198
201
|
runner.use(
|
|
199
202
|
async (context, next) => {
|
|
@@ -307,4 +310,6 @@ runner.use(
|
|
|
307
310
|
// run minting hooks for instant settlement
|
|
308
311
|
runner.use(execMintHook, { persistError: true });
|
|
309
312
|
|
|
313
|
+
runner.use(pipes.VerifyStateDiff());
|
|
314
|
+
|
|
310
315
|
module.exports = runner;
|
|
@@ -63,6 +63,9 @@ runner.use(pipes.VerifyAccountMigration({ signerKey: 'signerStates' }));
|
|
|
63
63
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
64
64
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
65
65
|
|
|
66
|
+
// Save context snapshot before updating states
|
|
67
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
68
|
+
|
|
66
69
|
// Update asset state
|
|
67
70
|
runner.use(
|
|
68
71
|
async (context, next) => {
|
|
@@ -92,4 +95,6 @@ runner.use(
|
|
|
92
95
|
{ persistError: true }
|
|
93
96
|
);
|
|
94
97
|
|
|
98
|
+
runner.use(pipes.VerifyStateDiff());
|
|
99
|
+
|
|
95
100
|
module.exports = runner;
|
|
@@ -102,6 +102,9 @@ runner.use(pipes.ExtractState({ from: 'itx.parent', to: 'parentAsset', status: '
|
|
|
102
102
|
runner.use(EnsureTxGas(() => ({ create: 1, update: 2, payment: 0 })));
|
|
103
103
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
104
104
|
|
|
105
|
+
// Save context snapshot before updating states
|
|
106
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
107
|
+
|
|
105
108
|
// Update asset state
|
|
106
109
|
runner.use(
|
|
107
110
|
async (context, next) => {
|
|
@@ -141,4 +144,6 @@ runner.use(
|
|
|
141
144
|
{ persistError: true }
|
|
142
145
|
);
|
|
143
146
|
|
|
147
|
+
runner.use(pipes.VerifyStateDiff());
|
|
148
|
+
|
|
144
149
|
module.exports = runner;
|
|
@@ -108,6 +108,9 @@ runner.use(
|
|
|
108
108
|
);
|
|
109
109
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
110
110
|
|
|
111
|
+
// Save context snapshot before updating states
|
|
112
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
113
|
+
|
|
111
114
|
// update statedb
|
|
112
115
|
runner.use(
|
|
113
116
|
async (context, next) => {
|
|
@@ -175,4 +178,6 @@ runner.use(
|
|
|
175
178
|
{ persistError: true }
|
|
176
179
|
);
|
|
177
180
|
|
|
181
|
+
runner.use(pipes.VerifyStateDiff());
|
|
182
|
+
|
|
178
183
|
module.exports = runner;
|
|
@@ -19,6 +19,7 @@ module.exports = async (context, next) => {
|
|
|
19
19
|
|
|
20
20
|
// These calls must be run sequentially, because different calls may update same account
|
|
21
21
|
const clone = cloneDeep(mintHook.compiled);
|
|
22
|
+
const mintHookStates = {};
|
|
22
23
|
for (const x of clone) {
|
|
23
24
|
// Convert transfer to transferToken call for backwards compatibility
|
|
24
25
|
if (x.call === 'transfer') {
|
|
@@ -36,9 +37,11 @@ module.exports = async (context, next) => {
|
|
|
36
37
|
args: x.args,
|
|
37
38
|
});
|
|
38
39
|
|
|
39
|
-
await statedb.account.update(updateSet.address, updateSet.updates, context);
|
|
40
|
+
mintHookStates[updateSet.address] = await statedb.account.update(updateSet.address, updateSet.updates, context);
|
|
40
41
|
context.updatedAccounts.push(updateSet);
|
|
41
42
|
}
|
|
43
|
+
|
|
44
|
+
context.mintHookStates = Object.values(mintHookStates);
|
|
42
45
|
}
|
|
43
46
|
} else {
|
|
44
47
|
context.receipts = [
|
|
@@ -88,6 +88,9 @@ runner.use(async (context, next) => {
|
|
|
88
88
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
89
89
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
90
90
|
|
|
91
|
+
// Save context snapshot before updating states
|
|
92
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
93
|
+
|
|
91
94
|
// Update asset state
|
|
92
95
|
runner.use(
|
|
93
96
|
async (context, next) => {
|
|
@@ -122,4 +125,6 @@ runner.use(
|
|
|
122
125
|
{ persistError: true }
|
|
123
126
|
);
|
|
124
127
|
|
|
128
|
+
runner.use(pipes.VerifyStateDiff());
|
|
129
|
+
|
|
125
130
|
module.exports = runner;
|
|
@@ -123,6 +123,9 @@ runner.use(pipes.VerifyAccountMigration({ stateKey: 'issuerStates', addressKey:
|
|
|
123
123
|
runner.use(EnsureTxGas(() => ({ create: 1, update: 2, payment: 0 })));
|
|
124
124
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
125
125
|
|
|
126
|
+
// Save context snapshot before updating states
|
|
127
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
128
|
+
|
|
126
129
|
// Create factory state
|
|
127
130
|
runner.use(
|
|
128
131
|
async (context, next) => {
|
|
@@ -170,4 +173,6 @@ runner.use(
|
|
|
170
173
|
{ persistError: true }
|
|
171
174
|
);
|
|
172
175
|
|
|
176
|
+
runner.use(pipes.VerifyStateDiff());
|
|
177
|
+
|
|
173
178
|
module.exports = runner;
|
|
@@ -150,6 +150,9 @@ runner.use(
|
|
|
150
150
|
);
|
|
151
151
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
152
152
|
|
|
153
|
+
// Save context snapshot before updating states
|
|
154
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
155
|
+
|
|
153
156
|
// 8. update statedb
|
|
154
157
|
runner.use(
|
|
155
158
|
async (context, next) => {
|
|
@@ -253,4 +256,6 @@ runner.use(
|
|
|
253
256
|
{ persistError: true }
|
|
254
257
|
);
|
|
255
258
|
|
|
259
|
+
runner.use(pipes.VerifyStateDiff());
|
|
260
|
+
|
|
256
261
|
module.exports = runner;
|
|
@@ -145,6 +145,9 @@ runner.use(
|
|
|
145
145
|
);
|
|
146
146
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
147
147
|
|
|
148
|
+
// Save context snapshot before updating states
|
|
149
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
150
|
+
|
|
148
151
|
// 8. update statedb
|
|
149
152
|
runner.use(
|
|
150
153
|
async (context, next) => {
|
|
@@ -235,4 +238,6 @@ runner.use(
|
|
|
235
238
|
{ persistError: true }
|
|
236
239
|
);
|
|
237
240
|
|
|
241
|
+
runner.use(pipes.VerifyStateDiff());
|
|
242
|
+
|
|
238
243
|
module.exports = runner;
|
|
@@ -113,6 +113,9 @@ runner.use(pipes.VerifyUpdater({ assetKey: 'assetStates', ownerKey: 'stakeState'
|
|
|
113
113
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
114
114
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
115
115
|
|
|
116
|
+
// Save context snapshot before updating states
|
|
117
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
118
|
+
|
|
116
119
|
// 8. update statedb
|
|
117
120
|
runner.use(
|
|
118
121
|
async (context, next) => {
|
|
@@ -158,4 +161,6 @@ runner.use(
|
|
|
158
161
|
{ persistError: true }
|
|
159
162
|
);
|
|
160
163
|
|
|
164
|
+
runner.use(pipes.VerifyStateDiff());
|
|
165
|
+
|
|
161
166
|
module.exports = runner;
|
|
@@ -148,6 +148,9 @@ runner.use(
|
|
|
148
148
|
);
|
|
149
149
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
150
150
|
|
|
151
|
+
// Save context snapshot before updating states
|
|
152
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
153
|
+
|
|
151
154
|
// 8. update statedb
|
|
152
155
|
runner.use(
|
|
153
156
|
async (context, next) => {
|
|
@@ -251,4 +254,6 @@ runner.use(
|
|
|
251
254
|
{ persistError: true }
|
|
252
255
|
);
|
|
253
256
|
|
|
257
|
+
runner.use(pipes.VerifyStateDiff());
|
|
258
|
+
|
|
254
259
|
module.exports = runner;
|
|
@@ -179,6 +179,9 @@ runner.use(
|
|
|
179
179
|
);
|
|
180
180
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
181
181
|
|
|
182
|
+
// Save context snapshot before updating states
|
|
183
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
184
|
+
|
|
182
185
|
// update statedb
|
|
183
186
|
runner.use(
|
|
184
187
|
async (context, next) => {
|
|
@@ -279,4 +282,6 @@ runner.use(
|
|
|
279
282
|
{ persistError: true }
|
|
280
283
|
);
|
|
281
284
|
|
|
285
|
+
runner.use(pipes.VerifyStateDiff());
|
|
286
|
+
|
|
282
287
|
module.exports = runner;
|
|
@@ -241,6 +241,9 @@ runner.use(
|
|
|
241
241
|
);
|
|
242
242
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
243
243
|
|
|
244
|
+
// Save context snapshot before updating states
|
|
245
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
246
|
+
|
|
244
247
|
// 10. update state
|
|
245
248
|
runner.use(
|
|
246
249
|
async (context, next) => {
|
|
@@ -324,4 +327,6 @@ runner.use(
|
|
|
324
327
|
{ persistError: true }
|
|
325
328
|
);
|
|
326
329
|
|
|
330
|
+
runner.use(pipes.VerifyStateDiff());
|
|
331
|
+
|
|
327
332
|
module.exports = runner;
|
|
@@ -53,6 +53,9 @@ runner.use(pipes.ExtractState({ from: 'stakes', to: 'stakeStates', status: 'INVA
|
|
|
53
53
|
runner.use(EnsureTxGas((context) => ({ create: 0, update: context.stakeStates.length + 2, payment: 0 })));
|
|
54
54
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
55
55
|
|
|
56
|
+
// Save context snapshot before updating states
|
|
57
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
58
|
+
|
|
56
59
|
// 7. update rollup state
|
|
57
60
|
runner.use(
|
|
58
61
|
async (context, next) => {
|
|
@@ -92,4 +95,6 @@ runner.use(
|
|
|
92
95
|
{ persistError: true }
|
|
93
96
|
);
|
|
94
97
|
|
|
98
|
+
runner.use(pipes.VerifyStateDiff());
|
|
99
|
+
|
|
95
100
|
module.exports = runner;
|
|
@@ -301,6 +301,9 @@ runner.use(
|
|
|
301
301
|
);
|
|
302
302
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
303
303
|
|
|
304
|
+
// Save context snapshot before updating states
|
|
305
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
306
|
+
|
|
304
307
|
// 11. update state: mint tokens for deposits, burn tokens for withdraws
|
|
305
308
|
runner.use(
|
|
306
309
|
async (context, next) => {
|
|
@@ -399,4 +402,6 @@ runner.use(
|
|
|
399
402
|
{ persistError: true }
|
|
400
403
|
);
|
|
401
404
|
|
|
405
|
+
runner.use(pipes.VerifyStateDiff());
|
|
406
|
+
|
|
402
407
|
module.exports = runner;
|
|
@@ -121,6 +121,9 @@ runner.use(
|
|
|
121
121
|
runner.use(EnsureTxGas(() => ({ create: 1, update: 2, payment: 0 })));
|
|
122
122
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
123
123
|
|
|
124
|
+
// Save context snapshot before updating states
|
|
125
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
126
|
+
|
|
124
127
|
// 5. create rollup state
|
|
125
128
|
runner.use(
|
|
126
129
|
async (context, next) => {
|
|
@@ -180,4 +183,6 @@ runner.use(
|
|
|
180
183
|
{ persistError: true }
|
|
181
184
|
);
|
|
182
185
|
|
|
186
|
+
runner.use(pipes.VerifyStateDiff());
|
|
187
|
+
|
|
183
188
|
module.exports = runner;
|
|
@@ -116,6 +116,9 @@ runner.use(pipes.VerifyAccountMigration({ signerKey: 'signerStates', stateKey: '
|
|
|
116
116
|
runner.use(EnsureTxGas(() => ({ create: 1, update: 3, payment: 0 })));
|
|
117
117
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
118
118
|
|
|
119
|
+
// Save context snapshot before updating states
|
|
120
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
121
|
+
|
|
119
122
|
// 8. update state
|
|
120
123
|
runner.use(
|
|
121
124
|
async (context, next) => {
|
|
@@ -176,4 +179,6 @@ runner.use(
|
|
|
176
179
|
{ persistError: true }
|
|
177
180
|
);
|
|
178
181
|
|
|
182
|
+
runner.use(pipes.VerifyStateDiff());
|
|
183
|
+
|
|
179
184
|
module.exports = runner;
|
|
@@ -93,6 +93,9 @@ runner.use(pipes.VerifyAccountMigration({ signerKey: 'signerStates', stateKey: '
|
|
|
93
93
|
runner.use(EnsureTxGas(() => ({ create: 1, update: 3, payment: 0 })));
|
|
94
94
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
95
95
|
|
|
96
|
+
// Save context snapshot before updating states
|
|
97
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
98
|
+
|
|
96
99
|
// 8. update state
|
|
97
100
|
runner.use(
|
|
98
101
|
async (context, next) => {
|
|
@@ -139,4 +142,6 @@ runner.use(
|
|
|
139
142
|
{ persistError: true }
|
|
140
143
|
);
|
|
141
144
|
|
|
145
|
+
runner.use(pipes.VerifyStateDiff());
|
|
146
|
+
|
|
142
147
|
module.exports = runner;
|
|
@@ -42,6 +42,9 @@ runner.use(pipes.VerifyAccountMigration({ signerKey: 'signerStates', stateKey: '
|
|
|
42
42
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
43
43
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
44
44
|
|
|
45
|
+
// Save context snapshot before updating states
|
|
46
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
47
|
+
|
|
45
48
|
// 5. update state
|
|
46
49
|
runner.use(
|
|
47
50
|
async (context, next) => {
|
|
@@ -72,4 +75,6 @@ runner.use(
|
|
|
72
75
|
{ persistError: true }
|
|
73
76
|
);
|
|
74
77
|
|
|
78
|
+
runner.use(pipes.VerifyStateDiff());
|
|
79
|
+
|
|
75
80
|
module.exports = runner;
|
|
@@ -39,6 +39,9 @@ runner.use(pipes.VerifyAccountMigration({ signerKey: 'signerStates', stateKey: '
|
|
|
39
39
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
40
40
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
41
41
|
|
|
42
|
+
// Save context snapshot before updating states
|
|
43
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
44
|
+
|
|
42
45
|
// 5. update rollup state
|
|
43
46
|
runner.use(
|
|
44
47
|
async (context, next) => {
|
|
@@ -62,4 +65,6 @@ runner.use(
|
|
|
62
65
|
{ persistError: true }
|
|
63
66
|
);
|
|
64
67
|
|
|
68
|
+
runner.use(pipes.VerifyStateDiff());
|
|
69
|
+
|
|
65
70
|
module.exports = runner;
|
|
@@ -39,6 +39,9 @@ runner.use(pipes.VerifyAccountMigration({ signerKey: 'signerStates', stateKey: '
|
|
|
39
39
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
40
40
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
41
41
|
|
|
42
|
+
// Save context snapshot before updating states
|
|
43
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
44
|
+
|
|
42
45
|
// 5. update rollup state
|
|
43
46
|
runner.use(
|
|
44
47
|
async (context, next) => {
|
|
@@ -62,4 +65,6 @@ runner.use(
|
|
|
62
65
|
{ persistError: true }
|
|
63
66
|
);
|
|
64
67
|
|
|
68
|
+
runner.use(pipes.VerifyStateDiff());
|
|
69
|
+
|
|
65
70
|
module.exports = runner;
|
|
@@ -84,6 +84,9 @@ runner.use(pipes.VerifyAccountMigration({ signerKey: 'signerStates', stateKey: '
|
|
|
84
84
|
runner.use(EnsureTxGas(() => ({ create: 0, update: 2, payment: 0 })));
|
|
85
85
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
86
86
|
|
|
87
|
+
// Save context snapshot before updating states
|
|
88
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
89
|
+
|
|
87
90
|
// 5. update rollup state
|
|
88
91
|
runner.use(
|
|
89
92
|
async (context, next) => {
|
|
@@ -110,4 +113,6 @@ runner.use(
|
|
|
110
113
|
{ persistError: true }
|
|
111
114
|
);
|
|
112
115
|
|
|
116
|
+
runner.use(pipes.VerifyStateDiff());
|
|
117
|
+
|
|
113
118
|
module.exports = runner;
|
|
@@ -118,6 +118,9 @@ runner.use(
|
|
|
118
118
|
);
|
|
119
119
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
120
120
|
|
|
121
|
+
// Save context snapshot before updating states
|
|
122
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
123
|
+
|
|
121
124
|
// Update sender state, token state
|
|
122
125
|
runner.use(
|
|
123
126
|
async (context, next) => {
|
|
@@ -174,4 +177,6 @@ runner.use(
|
|
|
174
177
|
{ persistError: true }
|
|
175
178
|
);
|
|
176
179
|
|
|
180
|
+
runner.use(pipes.VerifyStateDiff());
|
|
181
|
+
|
|
177
182
|
module.exports = runner;
|
|
@@ -183,6 +183,9 @@ runner.use(
|
|
|
183
183
|
);
|
|
184
184
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
185
185
|
|
|
186
|
+
// Save context snapshot before updating states
|
|
187
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
188
|
+
|
|
186
189
|
// 8. update state: the token minting is done when deposit finalized in rollup-block
|
|
187
190
|
runner.use(
|
|
188
191
|
async (context, next) => {
|
|
@@ -278,4 +281,6 @@ runner.use(
|
|
|
278
281
|
{ persistError: true }
|
|
279
282
|
);
|
|
280
283
|
|
|
284
|
+
runner.use(pipes.VerifyStateDiff());
|
|
285
|
+
|
|
281
286
|
module.exports = runner;
|
|
@@ -187,6 +187,9 @@ runner.use(
|
|
|
187
187
|
);
|
|
188
188
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
189
189
|
|
|
190
|
+
// Save context snapshot before updating states
|
|
191
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
192
|
+
|
|
190
193
|
// 8. update state: the fee splitting and token burning is done when withdraw finalized in rollup-block
|
|
191
194
|
runner.use(
|
|
192
195
|
async (context, next) => {
|
|
@@ -294,4 +297,6 @@ runner.use(
|
|
|
294
297
|
{ persistError: true }
|
|
295
298
|
);
|
|
296
299
|
|
|
300
|
+
runner.use(pipes.VerifyStateDiff());
|
|
301
|
+
|
|
297
302
|
module.exports = runner;
|
|
@@ -147,6 +147,9 @@ runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
|
147
147
|
runner.use(pipes.UpdateOwner({ assets: 'priv.senderAssets', owner: 'receiverState' }));
|
|
148
148
|
runner.use(pipes.UpdateOwner({ assets: 'priv.receiverAssets', owner: 'senderState' }));
|
|
149
149
|
|
|
150
|
+
// Save context snapshot before updating states
|
|
151
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
152
|
+
|
|
150
153
|
// update statedb
|
|
151
154
|
runner.use(
|
|
152
155
|
async (context, next) => {
|
|
@@ -216,4 +219,6 @@ runner.use(
|
|
|
216
219
|
{ persistError: true }
|
|
217
220
|
);
|
|
218
221
|
|
|
222
|
+
runner.use(pipes.VerifyStateDiff());
|
|
223
|
+
|
|
219
224
|
module.exports = runner;
|
|
@@ -144,6 +144,9 @@ runner.use((context, next) => {
|
|
|
144
144
|
});
|
|
145
145
|
runner.use(pipes.UpdateOwner({ assets: 'assetStates', owner: 'receiverAddr' }));
|
|
146
146
|
|
|
147
|
+
// Save context snapshot before updating states
|
|
148
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
149
|
+
|
|
147
150
|
// update statedb: transfer tokens to new owner
|
|
148
151
|
runner.use(
|
|
149
152
|
async (context, next) => {
|
|
@@ -206,4 +209,6 @@ runner.use(
|
|
|
206
209
|
{ persistError: true }
|
|
207
210
|
);
|
|
208
211
|
|
|
212
|
+
runner.use(pipes.VerifyStateDiff());
|
|
213
|
+
|
|
209
214
|
module.exports = runner;
|
|
@@ -183,6 +183,9 @@ runner.use(
|
|
|
183
183
|
);
|
|
184
184
|
runner.use(EnsureTxCost({ attachSenderChanges: true }));
|
|
185
185
|
|
|
186
|
+
// Save context snapshot before updating states
|
|
187
|
+
runner.use(pipes.TakeStateSnapshot());
|
|
188
|
+
|
|
186
189
|
// Update statedb
|
|
187
190
|
runner.use(
|
|
188
191
|
async (context, next) => {
|
|
@@ -300,4 +303,6 @@ runner.use(
|
|
|
300
303
|
{ persistError: true }
|
|
301
304
|
);
|
|
302
305
|
|
|
306
|
+
runner.use(pipes.VerifyStateDiff());
|
|
307
|
+
|
|
303
308
|
module.exports = runner;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.18.
|
|
6
|
+
"version": "1.18.164",
|
|
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.18.
|
|
25
|
-
"@arcblock/did-util": "1.18.
|
|
26
|
-
"@arcblock/jwt": "1.18.
|
|
27
|
-
"@arcblock/validator": "1.18.
|
|
28
|
-
"@ocap/asset": "1.18.
|
|
29
|
-
"@ocap/mcrypto": "1.18.
|
|
30
|
-
"@ocap/merkle-tree": "1.18.
|
|
31
|
-
"@ocap/message": "1.18.
|
|
32
|
-
"@ocap/state": "1.18.
|
|
33
|
-
"@ocap/tx-pipeline": "1.18.
|
|
34
|
-
"@ocap/util": "1.18.
|
|
35
|
-
"@ocap/wallet": "1.18.
|
|
24
|
+
"@arcblock/did": "1.18.164",
|
|
25
|
+
"@arcblock/did-util": "1.18.164",
|
|
26
|
+
"@arcblock/jwt": "1.18.164",
|
|
27
|
+
"@arcblock/validator": "1.18.164",
|
|
28
|
+
"@ocap/asset": "1.18.164",
|
|
29
|
+
"@ocap/mcrypto": "1.18.164",
|
|
30
|
+
"@ocap/merkle-tree": "1.18.164",
|
|
31
|
+
"@ocap/message": "1.18.164",
|
|
32
|
+
"@ocap/state": "1.18.164",
|
|
33
|
+
"@ocap/tx-pipeline": "1.18.164",
|
|
34
|
+
"@ocap/util": "1.18.164",
|
|
35
|
+
"@ocap/wallet": "1.18.164",
|
|
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": "f517d0620f7fb4acd26716ab76f68829587b6483"
|
|
51
51
|
}
|