@fluffylabs/anan-as 1.1.3-dde58f0 → 1.1.3-dffbae7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +47 -10
  2. package/dist/bin/index.js +97 -42
  3. package/dist/bin/{fuzz.js → src/fuzz.js} +4 -21
  4. package/dist/bin/src/log-host-call.js +41 -0
  5. package/dist/bin/src/trace-parse.js +315 -0
  6. package/dist/bin/src/trace-replay.js +130 -0
  7. package/dist/bin/src/tracer.js +64 -0
  8. package/dist/bin/src/utils.js +25 -0
  9. package/dist/bin/test.js +1 -3
  10. package/dist/build/compiler-inline.js +1 -1
  11. package/dist/build/compiler.wasm +0 -0
  12. package/dist/build/debug-inline.js +1 -1
  13. package/dist/build/debug-raw-inline.js +1 -1
  14. package/dist/build/debug-raw.d.ts +121 -42
  15. package/dist/build/debug-raw.js +109 -48
  16. package/dist/build/debug-raw.wasm +0 -0
  17. package/dist/build/debug.d.ts +121 -42
  18. package/dist/build/debug.js +119 -50
  19. package/dist/build/debug.wasm +0 -0
  20. package/dist/build/release-inline.js +1 -1
  21. package/dist/build/release-mini-inline.js +1 -1
  22. package/dist/build/release-mini.d.ts +121 -42
  23. package/dist/build/release-mini.js +119 -50
  24. package/dist/build/release-mini.wasm +0 -0
  25. package/dist/build/release-stub-inline.js +1 -1
  26. package/dist/build/release-stub.d.ts +121 -42
  27. package/dist/build/release-stub.js +119 -50
  28. package/dist/build/release-stub.wasm +0 -0
  29. package/dist/build/release.d.ts +121 -42
  30. package/dist/build/release.js +119 -50
  31. package/dist/build/release.wasm +0 -0
  32. package/dist/build/test-inline.js +1 -1
  33. package/dist/build/test.wasm +0 -0
  34. package/dist/test/test-as.js +3 -0
  35. package/dist/{bin → test}/test-gas-cost.js +1 -1
  36. package/dist/test/test-trace-replay.js +19 -0
  37. package/dist/{bin → test}/test-w3f.js +2 -2
  38. package/package.json +5 -5
  39. /package/dist/bin/{test-json.js → src/test-json.js} +0 -0
@@ -106,27 +106,41 @@ declare namespace __AdaptedExports {
106
106
  */
107
107
  export function getAssembly(p: __Internref26): string;
108
108
  /**
109
- * assembly/api-internal/runVm
109
+ * assembly/api-internal/buildMemory
110
+ * @param builder `assembly/memory/MemoryBuilder`
111
+ * @param pages `~lib/array/Array<assembly/api-types/InitialPage>`
112
+ * @param chunks `~lib/array/Array<assembly/api-types/InitialChunk>`
113
+ * @returns `assembly/memory/Memory`
114
+ */
115
+ export function buildMemory(builder: __Internref41, pages: Array<__Record44<undefined>>, chunks: Array<__Record46<undefined>>): __Internref15;
116
+ /**
117
+ * assembly/api-internal/vmInit
118
+ * @param input `assembly/api-types/VmInput`
119
+ * @param useSbrkGas `bool`
120
+ * @returns `assembly/interpreter/Interpreter`
121
+ */
122
+ export function vmInit(input: __Internref49, useSbrkGas?: boolean): __Internref25;
123
+ /**
124
+ * assembly/api-internal/vmRunOnce
110
125
  * @param input `assembly/api-types/VmInput`
111
126
  * @param logs `bool`
112
127
  * @param useSbrkGas `bool`
113
128
  * @returns `assembly/api-types/VmOutput`
114
129
  */
115
- export function runVm(input: __Internref48, logs?: boolean, useSbrkGas?: boolean): __Record49<never>;
130
+ export function vmRunOnce(input: __Internref49, logs?: boolean, useSbrkGas?: boolean): __Record50<never>;
116
131
  /**
117
- * assembly/api-internal/getOutputChunks
118
- * @param memory `assembly/memory/Memory`
119
- * @returns `~lib/array/Array<assembly/api-types/InitialChunk>`
132
+ * assembly/api-internal/vmExecute
133
+ * @param int `assembly/interpreter/Interpreter`
134
+ * @param logs `bool`
120
135
  */
121
- export function getOutputChunks(memory: __Internref15): Array<__Record45<never>>;
136
+ export function vmExecute(int: __Internref25, logs?: boolean): void;
122
137
  /**
123
- * assembly/api-internal/buildMemory
124
- * @param builder `assembly/memory/MemoryBuilder`
125
- * @param pages `~lib/array/Array<assembly/api-types/InitialPage>`
126
- * @param chunks `~lib/array/Array<assembly/api-types/InitialChunk>`
127
- * @returns `assembly/memory/Memory`
138
+ * assembly/api-internal/vmDestroy
139
+ * @param int `assembly/interpreter/Interpreter`
140
+ * @param dumpMemory `bool`
141
+ * @returns `assembly/api-types/VmOutput`
128
142
  */
129
- export function buildMemory(builder: __Internref40, pages: Array<__Record43<undefined>>, chunks: Array<__Record45<undefined>>): __Internref15;
143
+ export function vmDestroy(int: __Internref25, dumpMemory?: boolean): __Record50<never>;
130
144
  /** assembly/api-utils/InputKind */
131
145
  export enum InputKind {
132
146
  /** @type `i32` */
@@ -148,7 +162,7 @@ declare namespace __AdaptedExports {
148
162
  * @param withMetadata `i32`
149
163
  * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
150
164
  */
151
- export function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record54<never>>;
165
+ export function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record55<never>>;
152
166
  /**
153
167
  * assembly/api-utils/disassemble
154
168
  * @param input `~lib/array/Array<u8>`
@@ -166,9 +180,10 @@ declare namespace __AdaptedExports {
166
180
  * @param initialPageMap `~lib/array/Array<assembly/api-types/InitialPage>`
167
181
  * @param initialMemory `~lib/array/Array<assembly/api-types/InitialChunk>`
168
182
  * @param args `~lib/array/Array<u8>`
183
+ * @param preallocateMemoryPages `u32`
169
184
  * @returns `assembly/spi/StandardProgram`
170
185
  */
171
- export function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record43<undefined>>, initialMemory: Array<__Record45<undefined>>, args: Array<number>): __Internref39;
186
+ export function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record44<undefined>>, initialMemory: Array<__Record46<undefined>>, args: Array<number>, preallocateMemoryPages: number): __Internref40;
172
187
  /**
173
188
  * assembly/api-utils/runProgram
174
189
  * @param program `assembly/spi/StandardProgram`
@@ -178,7 +193,51 @@ declare namespace __AdaptedExports {
178
193
  * @param useSbrkGas `bool`
179
194
  * @returns `assembly/api-types/VmOutput`
180
195
  */
181
- export function runProgram(program: __Internref39, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean): __Record49<never>;
196
+ export function runProgram(program: __Internref40, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean): __Record50<never>;
197
+ /**
198
+ * assembly/api-utils/pvmStart
199
+ * @param program `assembly/spi/StandardProgram`
200
+ * @param useSbrkGas `bool`
201
+ * @returns `u32`
202
+ */
203
+ export function pvmStart(program: __Internref40, useSbrkGas?: boolean): number;
204
+ /**
205
+ * assembly/api-utils/pvmDestroy
206
+ * @param pvmId `u32`
207
+ * @returns `assembly/api-types/VmOutput | null`
208
+ */
209
+ export function pvmDestroy(pvmId: number): __Record50<never> | null;
210
+ /**
211
+ * assembly/api-utils/pvmSetRegisters
212
+ * @param pvmId `u32`
213
+ * @param registers `~lib/array/Array<u64>`
214
+ */
215
+ export function pvmSetRegisters(pvmId: number, registers: Array<bigint>): void;
216
+ /**
217
+ * assembly/api-utils/pvmReadMemory
218
+ * @param pvmId `u32`
219
+ * @param address `u32`
220
+ * @param length `u32`
221
+ * @returns `~lib/typedarray/Uint8Array | null`
222
+ */
223
+ export function pvmReadMemory(pvmId: number, address: number, length: number): Uint8Array | null;
224
+ /**
225
+ * assembly/api-utils/pvmWriteMemory
226
+ * @param pvmId `u32`
227
+ * @param address `u32`
228
+ * @param data `~lib/typedarray/Uint8Array`
229
+ * @returns `bool`
230
+ */
231
+ export function pvmWriteMemory(pvmId: number, address: number, data: Uint8Array): boolean;
232
+ /**
233
+ * assembly/api-utils/pvmResume
234
+ * @param pvmId `u32`
235
+ * @param gas `i64`
236
+ * @param pc `u32`
237
+ * @param logs `bool`
238
+ * @returns `assembly/api-types/VmPause | null`
239
+ */
240
+ export function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record59<never> | null;
182
241
  /**
183
242
  * assembly/program-build/wrapAsProgram
184
243
  * @param bytecode `~lib/typedarray/Uint8Array`
@@ -191,20 +250,44 @@ declare class __Internref26 extends Number {
191
250
  private __nominal26: symbol;
192
251
  private __nominal0: symbol;
193
252
  }
194
- /** assembly/api-types/VmInput */
195
- declare class __Internref48 extends Number {
196
- private __nominal48: symbol;
253
+ /** assembly/memory/MemoryBuilder */
254
+ declare class __Internref41 extends Number {
255
+ private __nominal41: symbol;
197
256
  private __nominal0: symbol;
198
257
  }
258
+ /** assembly/api-types/InitialPage */
259
+ declare interface __Record44<TOmittable> {
260
+ /** @type `u32` */
261
+ address: number | TOmittable;
262
+ /** @type `u32` */
263
+ length: number | TOmittable;
264
+ /** @type `i32` */
265
+ access: number | TOmittable;
266
+ }
199
267
  /** assembly/api-types/InitialChunk */
200
- declare interface __Record45<TOmittable> {
268
+ declare interface __Record46<TOmittable> {
201
269
  /** @type `u32` */
202
270
  address: number | TOmittable;
203
271
  /** @type `~lib/array/Array<u8>` */
204
272
  data: Array<number>;
205
273
  }
274
+ /** assembly/memory/Memory */
275
+ declare class __Internref15 extends Number {
276
+ private __nominal15: symbol;
277
+ private __nominal0: symbol;
278
+ }
279
+ /** assembly/api-types/VmInput */
280
+ declare class __Internref49 extends Number {
281
+ private __nominal49: symbol;
282
+ private __nominal0: symbol;
283
+ }
284
+ /** assembly/interpreter/Interpreter */
285
+ declare class __Internref25 extends Number {
286
+ private __nominal25: symbol;
287
+ private __nominal0: symbol;
288
+ }
206
289
  /** assembly/api-types/VmOutput */
207
- declare interface __Record49<TOmittable> {
290
+ declare interface __Record50<TOmittable> {
208
291
  /** @type `i32` */
209
292
  status: number | TOmittable;
210
293
  /** @type `u32` */
@@ -218,38 +301,34 @@ declare interface __Record49<TOmittable> {
218
301
  /** @type `~lib/array/Array<u64>` */
219
302
  registers: Array<bigint>;
220
303
  /** @type `~lib/array/Array<assembly/api-types/InitialChunk>` */
221
- memory: Array<__Record45<never>>;
304
+ memory: Array<__Record46<never>>;
222
305
  }
223
- /** assembly/memory/Memory */
224
- declare class __Internref15 extends Number {
225
- private __nominal15: symbol;
226
- private __nominal0: symbol;
306
+ /** assembly/gas-costs/BlockGasCost */
307
+ declare interface __Record55<TOmittable> {
308
+ /** @type `u32` */
309
+ pc: number | TOmittable;
310
+ /** @type `u64` */
311
+ gas: bigint | TOmittable;
227
312
  }
228
- /** assembly/memory/MemoryBuilder */
313
+ /** assembly/spi/StandardProgram */
229
314
  declare class __Internref40 extends Number {
230
315
  private __nominal40: symbol;
231
316
  private __nominal0: symbol;
232
317
  }
233
- /** assembly/api-types/InitialPage */
234
- declare interface __Record43<TOmittable> {
235
- /** @type `u32` */
236
- address: number | TOmittable;
237
- /** @type `u32` */
238
- length: number | TOmittable;
318
+ /** assembly/api-types/VmPause */
319
+ declare interface __Record59<TOmittable> {
239
320
  /** @type `i32` */
240
- access: number | TOmittable;
241
- }
242
- /** assembly/gas-costs/BlockGasCost */
243
- declare interface __Record54<TOmittable> {
321
+ status: number | TOmittable;
322
+ /** @type `u32` */
323
+ exitCode: number | TOmittable;
244
324
  /** @type `u32` */
245
325
  pc: number | TOmittable;
246
- /** @type `u64` */
326
+ /** @type `u32` */
327
+ nextPc: number | TOmittable;
328
+ /** @type `i64` */
247
329
  gas: bigint | TOmittable;
248
- }
249
- /** assembly/spi/StandardProgram */
250
- declare class __Internref39 extends Number {
251
- private __nominal39: symbol;
252
- private __nominal0: symbol;
330
+ /** @type `~lib/array/Array<u64>` */
331
+ registers: Array<bigint>;
253
332
  }
254
333
  /** Instantiates the compiled WebAssembly module with the given imports. */
255
334
  export declare function instantiate(module: WebAssembly.Module, imports: {
@@ -113,24 +113,11 @@ export async function instantiate(module, imports = {}) {
113
113
  p = __lowerInternref(p) || __notnull();
114
114
  return __liftString(exports.getAssembly(p) >>> 0);
115
115
  },
116
- runVm(input, logs, useSbrkGas) {
117
- // assembly/api-internal/runVm(assembly/api-types/VmInput, bool?, bool?) => assembly/api-types/VmOutput
118
- input = __lowerInternref(input) || __notnull();
119
- logs = logs ? 1 : 0;
120
- useSbrkGas = useSbrkGas ? 1 : 0;
121
- exports.__setArgumentsLength(arguments.length);
122
- return __liftRecord49(exports.runVm(input, logs, useSbrkGas) >>> 0);
123
- },
124
- getOutputChunks(memory) {
125
- // assembly/api-internal/getOutputChunks(assembly/memory/Memory) => ~lib/array/Array<assembly/api-types/InitialChunk>
126
- memory = __lowerInternref(memory) || __notnull();
127
- return __liftArray(pointer => __liftRecord45(__getU32(pointer)), 2, exports.getOutputChunks(memory) >>> 0);
128
- },
129
116
  buildMemory(builder, pages, chunks) {
130
117
  // assembly/api-internal/buildMemory(assembly/memory/MemoryBuilder, ~lib/array/Array<assembly/api-types/InitialPage>, ~lib/array/Array<assembly/api-types/InitialChunk>) => assembly/memory/Memory
131
118
  builder = __retain(__lowerInternref(builder) || __notnull());
132
- pages = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord43(value) || __notnull()); }, 44, 2, pages) || __notnull());
133
- chunks = __lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord45(value) || __notnull()); }, 46, 2, chunks) || __notnull();
119
+ pages = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord44(value) || __notnull()); }, 45, 2, pages) || __notnull());
120
+ chunks = __lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord46(value) || __notnull()); }, 47, 2, chunks) || __notnull();
134
121
  try {
135
122
  return __liftInternref(exports.buildMemory(builder, pages, chunks) >>> 0);
136
123
  } finally {
@@ -138,6 +125,35 @@ export async function instantiate(module, imports = {}) {
138
125
  __release(pages);
139
126
  }
140
127
  },
128
+ vmInit(input, useSbrkGas) {
129
+ // assembly/api-internal/vmInit(assembly/api-types/VmInput, bool?) => assembly/interpreter/Interpreter
130
+ input = __lowerInternref(input) || __notnull();
131
+ useSbrkGas = useSbrkGas ? 1 : 0;
132
+ exports.__setArgumentsLength(arguments.length);
133
+ return __liftInternref(exports.vmInit(input, useSbrkGas) >>> 0);
134
+ },
135
+ vmRunOnce(input, logs, useSbrkGas) {
136
+ // assembly/api-internal/vmRunOnce(assembly/api-types/VmInput, bool?, bool?) => assembly/api-types/VmOutput
137
+ input = __lowerInternref(input) || __notnull();
138
+ logs = logs ? 1 : 0;
139
+ useSbrkGas = useSbrkGas ? 1 : 0;
140
+ exports.__setArgumentsLength(arguments.length);
141
+ return __liftRecord50(exports.vmRunOnce(input, logs, useSbrkGas) >>> 0);
142
+ },
143
+ vmExecute(int, logs) {
144
+ // assembly/api-internal/vmExecute(assembly/interpreter/Interpreter, bool?) => void
145
+ int = __lowerInternref(int) || __notnull();
146
+ logs = logs ? 1 : 0;
147
+ exports.__setArgumentsLength(arguments.length);
148
+ exports.vmExecute(int, logs);
149
+ },
150
+ vmDestroy(int, dumpMemory) {
151
+ // assembly/api-internal/vmDestroy(assembly/interpreter/Interpreter, bool?) => assembly/api-types/VmOutput
152
+ int = __lowerInternref(int) || __notnull();
153
+ dumpMemory = dumpMemory ? 1 : 0;
154
+ exports.__setArgumentsLength(arguments.length);
155
+ return __liftRecord50(exports.vmDestroy(int, dumpMemory) >>> 0);
156
+ },
141
157
  InputKind: (values => (
142
158
  // assembly/api-utils/InputKind
143
159
  values[values.Generic = exports["InputKind.Generic"].valueOf()] = "Generic",
@@ -153,22 +169,22 @@ export async function instantiate(module, imports = {}) {
153
169
  getGasCosts(input, kind, withMetadata) {
154
170
  // assembly/api-utils/getGasCosts(~lib/array/Array<u8>, i32, i32) => ~lib/array/Array<assembly/gas-costs/BlockGasCost>
155
171
  input = __lowerArray(__setU8, 6, 0, input) || __notnull();
156
- return __liftArray(pointer => __liftRecord54(__getU32(pointer)), 2, exports.getGasCosts(input, kind, withMetadata) >>> 0);
172
+ return __liftArray(pointer => __liftRecord55(__getU32(pointer)), 2, exports.getGasCosts(input, kind, withMetadata) >>> 0);
157
173
  },
158
174
  disassemble(input, kind, withMetadata) {
159
175
  // assembly/api-utils/disassemble(~lib/array/Array<u8>, i32, i32) => ~lib/string/String
160
176
  input = __lowerArray(__setU8, 6, 0, input) || __notnull();
161
177
  return __liftString(exports.disassemble(input, kind, withMetadata) >>> 0);
162
178
  },
163
- prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args) {
164
- // assembly/api-utils/prepareProgram(i32, i32, ~lib/array/Array<u8>, ~lib/array/Array<u64>, ~lib/array/Array<assembly/api-types/InitialPage>, ~lib/array/Array<assembly/api-types/InitialChunk>, ~lib/array/Array<u8>) => assembly/spi/StandardProgram
179
+ prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages) {
180
+ // assembly/api-utils/prepareProgram(i32, i32, ~lib/array/Array<u8>, ~lib/array/Array<u64>, ~lib/array/Array<assembly/api-types/InitialPage>, ~lib/array/Array<assembly/api-types/InitialChunk>, ~lib/array/Array<u8>, u32) => assembly/spi/StandardProgram
165
181
  program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
166
- initialRegisters = __retain(__lowerArray(__setU64, 50, 3, initialRegisters) || __notnull());
167
- initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord43(value) || __notnull()); }, 44, 2, initialPageMap) || __notnull());
168
- initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord45(value) || __notnull()); }, 46, 2, initialMemory) || __notnull());
182
+ initialRegisters = __retain(__lowerArray(__setU64, 51, 3, initialRegisters) || __notnull());
183
+ initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord44(value) || __notnull()); }, 45, 2, initialPageMap) || __notnull());
184
+ initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord46(value) || __notnull()); }, 47, 2, initialMemory) || __notnull());
169
185
  args = __lowerArray(__setU8, 6, 0, args) || __notnull();
170
186
  try {
171
- return __liftInternref(exports.prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args) >>> 0);
187
+ return __liftInternref(exports.prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages) >>> 0);
172
188
  } finally {
173
189
  __release(program);
174
190
  __release(initialRegisters);
@@ -183,7 +199,39 @@ export async function instantiate(module, imports = {}) {
183
199
  logs = logs ? 1 : 0;
184
200
  useSbrkGas = useSbrkGas ? 1 : 0;
185
201
  exports.__setArgumentsLength(arguments.length);
186
- return __liftRecord49(exports.runProgram(program, initialGas, programCounter, logs, useSbrkGas) >>> 0);
202
+ return __liftRecord50(exports.runProgram(program, initialGas, programCounter, logs, useSbrkGas) >>> 0);
203
+ },
204
+ pvmStart(program, useSbrkGas) {
205
+ // assembly/api-utils/pvmStart(assembly/spi/StandardProgram, bool?) => u32
206
+ program = __lowerInternref(program) || __notnull();
207
+ useSbrkGas = useSbrkGas ? 1 : 0;
208
+ exports.__setArgumentsLength(arguments.length);
209
+ return exports.pvmStart(program, useSbrkGas) >>> 0;
210
+ },
211
+ pvmDestroy(pvmId) {
212
+ // assembly/api-utils/pvmDestroy(u32) => assembly/api-types/VmOutput | null
213
+ return __liftRecord50(exports.pvmDestroy(pvmId) >>> 0);
214
+ },
215
+ pvmSetRegisters(pvmId, registers) {
216
+ // assembly/api-utils/pvmSetRegisters(u32, ~lib/array/Array<u64>) => void
217
+ registers = __lowerArray(__setU64, 51, 3, registers) || __notnull();
218
+ exports.pvmSetRegisters(pvmId, registers);
219
+ },
220
+ pvmReadMemory(pvmId, address, length) {
221
+ // assembly/api-utils/pvmReadMemory(u32, u32, u32) => ~lib/typedarray/Uint8Array | null
222
+ return __liftTypedArray(Uint8Array, exports.pvmReadMemory(pvmId, address, length) >>> 0);
223
+ },
224
+ pvmWriteMemory(pvmId, address, data) {
225
+ // assembly/api-utils/pvmWriteMemory(u32, u32, ~lib/typedarray/Uint8Array) => bool
226
+ data = __lowerTypedArray(Uint8Array, 10, 0, data) || __notnull();
227
+ return exports.pvmWriteMemory(pvmId, address, data) != 0;
228
+ },
229
+ pvmResume(pvmId, gas, pc, logs) {
230
+ // assembly/api-utils/pvmResume(u32, i64, u32, bool?) => assembly/api-types/VmPause | null
231
+ gas = gas || 0n;
232
+ logs = logs ? 1 : 0;
233
+ exports.__setArgumentsLength(arguments.length);
234
+ return __liftRecord59(exports.pvmResume(pvmId, gas, pc, logs) >>> 0);
187
235
  },
188
236
  wrapAsProgram(bytecode) {
189
237
  // assembly/program-build/wrapAsProgram(~lib/typedarray/Uint8Array) => ~lib/typedarray/Uint8Array
@@ -191,7 +239,28 @@ export async function instantiate(module, imports = {}) {
191
239
  return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
192
240
  },
193
241
  }, exports);
194
- function __liftRecord45(pointer) {
242
+ function __lowerRecord44(value) {
243
+ // assembly/api-types/InitialPage
244
+ // Hint: Opt-out from lowering as a record by providing an empty constructor
245
+ if (value == null) return 0;
246
+ const pointer = exports.__pin(exports.__new(12, 44));
247
+ __setU32(pointer + 0, value.address);
248
+ __setU32(pointer + 4, value.length);
249
+ __setU32(pointer + 8, value.access);
250
+ exports.__unpin(pointer);
251
+ return pointer;
252
+ }
253
+ function __lowerRecord46(value) {
254
+ // assembly/api-types/InitialChunk
255
+ // Hint: Opt-out from lowering as a record by providing an empty constructor
256
+ if (value == null) return 0;
257
+ const pointer = exports.__pin(exports.__new(8, 46));
258
+ __setU32(pointer + 0, value.address);
259
+ __setU32(pointer + 4, __lowerArray(__setU8, 6, 0, value.data) || __notnull());
260
+ exports.__unpin(pointer);
261
+ return pointer;
262
+ }
263
+ function __liftRecord46(pointer) {
195
264
  // assembly/api-types/InitialChunk
196
265
  // Hint: Opt-out from lifting as a record by providing an empty constructor
197
266
  if (!pointer) return null;
@@ -200,7 +269,7 @@ export async function instantiate(module, imports = {}) {
200
269
  data: __liftArray(__getU8, 0, __getU32(pointer + 4)),
201
270
  };
202
271
  }
203
- function __liftRecord49(pointer) {
272
+ function __liftRecord50(pointer) {
204
273
  // assembly/api-types/VmOutput
205
274
  // Hint: Opt-out from lifting as a record by providing an empty constructor
206
275
  if (!pointer) return null;
@@ -211,31 +280,10 @@ export async function instantiate(module, imports = {}) {
211
280
  gas: __getI64(pointer + 16),
212
281
  result: __liftArray(__getU8, 0, __getU32(pointer + 24)),
213
282
  registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 28)),
214
- memory: __liftArray(pointer => __liftRecord45(__getU32(pointer)), 2, __getU32(pointer + 32)),
283
+ memory: __liftArray(pointer => __liftRecord46(__getU32(pointer)), 2, __getU32(pointer + 32)),
215
284
  };
216
285
  }
217
- function __lowerRecord43(value) {
218
- // assembly/api-types/InitialPage
219
- // Hint: Opt-out from lowering as a record by providing an empty constructor
220
- if (value == null) return 0;
221
- const pointer = exports.__pin(exports.__new(12, 43));
222
- __setU32(pointer + 0, value.address);
223
- __setU32(pointer + 4, value.length);
224
- __setU32(pointer + 8, value.access);
225
- exports.__unpin(pointer);
226
- return pointer;
227
- }
228
- function __lowerRecord45(value) {
229
- // assembly/api-types/InitialChunk
230
- // Hint: Opt-out from lowering as a record by providing an empty constructor
231
- if (value == null) return 0;
232
- const pointer = exports.__pin(exports.__new(8, 45));
233
- __setU32(pointer + 0, value.address);
234
- __setU32(pointer + 4, __lowerArray(__setU8, 6, 0, value.data) || __notnull());
235
- exports.__unpin(pointer);
236
- return pointer;
237
- }
238
- function __liftRecord54(pointer) {
286
+ function __liftRecord55(pointer) {
239
287
  // assembly/gas-costs/BlockGasCost
240
288
  // Hint: Opt-out from lifting as a record by providing an empty constructor
241
289
  if (!pointer) return null;
@@ -244,6 +292,19 @@ export async function instantiate(module, imports = {}) {
244
292
  gas: __getU64(pointer + 8),
245
293
  };
246
294
  }
295
+ function __liftRecord59(pointer) {
296
+ // assembly/api-types/VmPause
297
+ // Hint: Opt-out from lifting as a record by providing an empty constructor
298
+ if (!pointer) return null;
299
+ return {
300
+ status: __getI32(pointer + 0),
301
+ exitCode: __getU32(pointer + 4),
302
+ pc: __getU32(pointer + 8),
303
+ nextPc: __getU32(pointer + 12),
304
+ gas: __getI64(pointer + 16),
305
+ registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 24)),
306
+ };
307
+ }
247
308
  function __liftString(pointer) {
248
309
  if (!pointer) return null;
249
310
  const
Binary file