@acala-network/chopsticks 0.6.5 → 0.6.6
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.
|
@@ -135,20 +135,71 @@ const buildBlock = async (head, inherents, extrinsics, ump, onApplyExtrinsicErro
|
|
|
135
135
|
const meta = await head.meta;
|
|
136
136
|
layer = new storage_layer_1.StorageLayer(head.storage);
|
|
137
137
|
for (const [paraId, upwardMessages] of Object.entries(ump)) {
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
138
|
+
const upwardMessagesU8a = upwardMessages.map((x) => (0, util_1.hexToU8a)(x));
|
|
139
|
+
const messagesCount = upwardMessages.length;
|
|
140
|
+
const messagesSize = upwardMessagesU8a.map((x) => x.length).reduce((s, i) => s + i, 0);
|
|
141
|
+
if (meta.query.ump) {
|
|
142
|
+
const queueSize = meta.registry.createType('(u32, u32)', [messagesCount, messagesSize]);
|
|
143
|
+
const messages = meta.registry.createType('Vec<Bytes>', upwardMessages);
|
|
144
|
+
// TODO: make sure we append instead of replace
|
|
145
|
+
layer.setAll([
|
|
146
|
+
[(0, utils_1.compactHex)(meta.query.ump.relayDispatchQueues(paraId)), messages.toHex()],
|
|
147
|
+
[(0, utils_1.compactHex)(meta.query.ump.relayDispatchQueueSize(paraId)), queueSize.toHex()],
|
|
148
|
+
]);
|
|
149
|
+
}
|
|
150
|
+
else if (meta.query.messageQueue) {
|
|
151
|
+
// TODO: make sure we append instead of replace
|
|
152
|
+
const origin = { ump: { para: paraId } };
|
|
153
|
+
let last = 0;
|
|
154
|
+
let heap = new Uint8Array(0);
|
|
155
|
+
for (const message of upwardMessagesU8a) {
|
|
156
|
+
const payloadLen = message.length;
|
|
157
|
+
const header = meta.registry.createType('(u32, bool)', [payloadLen, false]);
|
|
158
|
+
last = heap.length;
|
|
159
|
+
heap = (0, util_1.u8aConcat)(heap, header.toU8a(), message);
|
|
160
|
+
}
|
|
161
|
+
layer.setAll([
|
|
162
|
+
[
|
|
163
|
+
(0, utils_1.compactHex)(meta.query.messageQueue.bookStateFor(origin)),
|
|
164
|
+
meta.registry
|
|
165
|
+
.createType('PalletMessageQueueBookState', {
|
|
166
|
+
begin: 0,
|
|
167
|
+
end: 1,
|
|
168
|
+
count: 1,
|
|
169
|
+
readyNeighbours: { prev: origin, next: origin },
|
|
170
|
+
messageCount: messagesCount,
|
|
171
|
+
size_: messagesSize,
|
|
172
|
+
})
|
|
173
|
+
.toHex(),
|
|
174
|
+
],
|
|
175
|
+
[
|
|
176
|
+
(0, utils_1.compactHex)(meta.query.messageQueue.serviceHead(origin)),
|
|
177
|
+
meta.registry.createType('PolkadotRuntimeParachainsInclusionAggregateMessageOrigin', origin).toHex(),
|
|
178
|
+
],
|
|
179
|
+
[
|
|
180
|
+
(0, utils_1.compactHex)(meta.query.messageQueue.pages(origin, 0)),
|
|
181
|
+
meta.registry
|
|
182
|
+
.createType('PalletMessageQueuePage', {
|
|
183
|
+
remaining: messagesCount,
|
|
184
|
+
remaining_size: messagesSize,
|
|
185
|
+
first_index: 0,
|
|
186
|
+
first: 0,
|
|
187
|
+
last,
|
|
188
|
+
heap: (0, util_1.compactAddLength)(heap),
|
|
189
|
+
})
|
|
190
|
+
.toHex(),
|
|
191
|
+
],
|
|
192
|
+
]);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
throw new Error('Unknown ump storage');
|
|
196
|
+
}
|
|
148
197
|
logger.trace({ paraId, upwardMessages: (0, logger_1.truncate)(upwardMessages) }, 'Pushed UMP');
|
|
149
198
|
}
|
|
150
|
-
|
|
151
|
-
|
|
199
|
+
if (meta.query.ump) {
|
|
200
|
+
const needsDispatch = meta.registry.createType('Vec<u32>', Object.keys(ump));
|
|
201
|
+
layer.set((0, utils_1.compactHex)(meta.query.ump.needsDispatch()), needsDispatch.toHex());
|
|
202
|
+
}
|
|
152
203
|
}
|
|
153
204
|
const { block: newBlock } = await initNewBlock(head, header, inherents, layer);
|
|
154
205
|
logger.info({
|
package/lib/blockchain/txpool.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acala-network/chopsticks",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.6",
|
|
4
4
|
"author": "Bryan Chen <xlchen1291@gmail.com>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"bin": "./chopsticks.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"dev:moonbeam": "cd ../..; ts-node-dev --transpile-only --inspect --notify=false packages/chopsticks/src/cli.ts -- --config=configs/moonbeam.yml"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@acala-network/chopsticks-executor": "0.6.
|
|
19
|
+
"@acala-network/chopsticks-executor": "0.6.6",
|
|
20
20
|
"@polkadot/api": "^10.7.2",
|
|
21
21
|
"axios": "^1.4.0",
|
|
22
22
|
"js-yaml": "^4.1.0",
|