@fluffylabs/anan-as 1.1.6 → 1.2.0-41e43f6

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 (103) hide show
  1. package/dist/bin/index.js +50 -49
  2. package/dist/bin/src/trace-replay.js +2 -2
  3. package/dist/build/compiler-inline.js +1 -1
  4. package/dist/build/compiler.wasm +0 -0
  5. package/dist/build/debug-inline.js +1 -1
  6. package/dist/build/debug-raw-inline.js +1 -1
  7. package/dist/build/debug-raw.d.ts +54 -105
  8. package/dist/build/debug-raw.js +66 -120
  9. package/dist/build/debug-raw.wasm +0 -0
  10. package/dist/build/debug.d.ts +54 -105
  11. package/dist/build/debug.js +70 -127
  12. package/dist/build/debug.wasm +0 -0
  13. package/dist/build/js/assembly/api-debugger.d.ts +55 -0
  14. package/dist/build/js/assembly/api-debugger.js +245 -0
  15. package/dist/build/js/assembly/api-internal.d.ts +13 -0
  16. package/dist/build/js/assembly/api-internal.js +192 -0
  17. package/dist/build/js/assembly/api-types.d.ts +46 -0
  18. package/dist/build/js/assembly/api-types.js +53 -0
  19. package/dist/build/js/assembly/api-utils.d.ts +72 -0
  20. package/dist/build/js/assembly/api-utils.js +206 -0
  21. package/dist/build/js/assembly/arguments.d.ts +44 -0
  22. package/dist/build/js/assembly/arguments.js +164 -0
  23. package/dist/build/js/assembly/codec.d.ts +24 -0
  24. package/dist/build/js/assembly/codec.js +139 -0
  25. package/dist/build/js/assembly/gas-costs.d.ts +6 -0
  26. package/dist/build/js/assembly/gas-costs.js +39 -0
  27. package/dist/build/js/assembly/gas.d.ts +11 -0
  28. package/dist/build/js/assembly/gas.js +32 -0
  29. package/dist/build/js/assembly/index-shared.d.ts +4 -0
  30. package/dist/build/js/assembly/index-shared.js +4 -0
  31. package/dist/build/js/assembly/instructions/bit.d.ts +11 -0
  32. package/dist/build/js/assembly/instructions/bit.js +53 -0
  33. package/dist/build/js/assembly/instructions/branch.d.ts +17 -0
  34. package/dist/build/js/assembly/instructions/branch.js +120 -0
  35. package/dist/build/js/assembly/instructions/jump.d.ts +5 -0
  36. package/dist/build/js/assembly/instructions/jump.js +21 -0
  37. package/dist/build/js/assembly/instructions/load.d.ts +17 -0
  38. package/dist/build/js/assembly/instructions/load.js +134 -0
  39. package/dist/build/js/assembly/instructions/logic.d.ts +10 -0
  40. package/dist/build/js/assembly/instructions/logic.js +47 -0
  41. package/dist/build/js/assembly/instructions/math.d.ts +28 -0
  42. package/dist/build/js/assembly/instructions/math.js +225 -0
  43. package/dist/build/js/assembly/instructions/misc.d.ts +6 -0
  44. package/dist/build/js/assembly/instructions/misc.js +22 -0
  45. package/dist/build/js/assembly/instructions/mov.d.ts +6 -0
  46. package/dist/build/js/assembly/instructions/mov.js +35 -0
  47. package/dist/build/js/assembly/instructions/outcome.d.ts +30 -0
  48. package/dist/build/js/assembly/instructions/outcome.js +61 -0
  49. package/dist/build/js/assembly/instructions/rot.d.ts +15 -0
  50. package/dist/build/js/assembly/instructions/rot.js +66 -0
  51. package/dist/build/js/assembly/instructions/set.d.ts +7 -0
  52. package/dist/build/js/assembly/instructions/set.js +36 -0
  53. package/dist/build/js/assembly/instructions/shift.d.ts +19 -0
  54. package/dist/build/js/assembly/instructions/shift.js +121 -0
  55. package/dist/build/js/assembly/instructions/store.d.ts +17 -0
  56. package/dist/build/js/assembly/instructions/store.js +101 -0
  57. package/dist/build/js/assembly/instructions/utils.d.ts +23 -0
  58. package/dist/build/js/assembly/instructions/utils.js +75 -0
  59. package/dist/build/js/assembly/instructions-exe.d.ts +2 -0
  60. package/dist/build/js/assembly/instructions-exe.js +245 -0
  61. package/dist/build/js/assembly/instructions.d.ts +11 -0
  62. package/dist/build/js/assembly/instructions.js +252 -0
  63. package/dist/build/js/assembly/interpreter.d.ts +29 -0
  64. package/dist/build/js/assembly/interpreter.js +228 -0
  65. package/dist/build/js/assembly/math.d.ts +8 -0
  66. package/dist/build/js/assembly/math.js +14 -0
  67. package/dist/build/js/assembly/memory-page.d.ts +36 -0
  68. package/dist/build/js/assembly/memory-page.js +74 -0
  69. package/dist/build/js/assembly/memory.d.ts +83 -0
  70. package/dist/build/js/assembly/memory.js +480 -0
  71. package/dist/build/js/assembly/portable.d.ts +24 -0
  72. package/dist/build/js/assembly/portable.js +362 -0
  73. package/dist/build/js/assembly/program-build.d.ts +2 -0
  74. package/dist/build/js/assembly/program-build.js +104 -0
  75. package/dist/build/js/assembly/program.d.ts +78 -0
  76. package/dist/build/js/assembly/program.js +290 -0
  77. package/dist/build/js/assembly/registers.d.ts +6 -0
  78. package/dist/build/js/assembly/registers.js +9 -0
  79. package/dist/build/js/assembly/spi.d.ts +92 -0
  80. package/dist/build/js/assembly/spi.js +152 -0
  81. package/dist/build/js/portable/bootstrap.d.ts +1 -0
  82. package/dist/build/js/portable/bootstrap.js +5 -0
  83. package/dist/build/js/portable/index.d.ts +4 -0
  84. package/dist/build/js/portable/index.js +6 -0
  85. package/dist/build/js/portable-bundle.js +4409 -0
  86. package/dist/build/release-inline.js +1 -1
  87. package/dist/build/release-mini-inline.js +1 -1
  88. package/dist/build/release-mini.d.ts +54 -105
  89. package/dist/build/release-mini.js +70 -127
  90. package/dist/build/release-mini.wasm +0 -0
  91. package/dist/build/release-stub-inline.js +1 -1
  92. package/dist/build/release-stub.d.ts +54 -105
  93. package/dist/build/release-stub.js +70 -127
  94. package/dist/build/release-stub.wasm +0 -0
  95. package/dist/build/release.d.ts +54 -105
  96. package/dist/build/release.js +70 -127
  97. package/dist/build/release.wasm +0 -0
  98. package/dist/build/test-inline.js +1 -1
  99. package/dist/build/test.wasm +0 -0
  100. package/dist/test/test-w3f-common.js +126 -0
  101. package/dist/test/test-w3f-portable.js +5 -0
  102. package/dist/test/test-w3f.js +3 -120
  103. package/package.json +20 -8
@@ -1,11 +1,23 @@
1
1
  declare namespace __AdaptedExports {
2
2
  /** Exported memory */
3
3
  export const memory: WebAssembly.Memory;
4
+ /**
5
+ * assembly/api-internal/getAssembly
6
+ * @param p `assembly/program/Program`
7
+ * @returns `~lib/string/String`
8
+ */
9
+ export function getAssembly(p: __Internref31): string;
10
+ /**
11
+ * assembly/program-build/wrapAsProgram
12
+ * @param bytecode `~lib/typedarray/Uint8Array`
13
+ * @returns `~lib/typedarray/Uint8Array`
14
+ */
15
+ export function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
4
16
  /**
5
17
  * assembly/api-debugger/resetJAM
6
18
  * @param program `~lib/array/Array<u8>`
7
19
  * @param pc `u32`
8
- * @param initialGas `i64`
20
+ * @param initialGas `u64`
9
21
  * @param args `~lib/array/Array<u8>`
10
22
  * @param hasMetadata `bool`
11
23
  */
@@ -14,7 +26,7 @@ declare namespace __AdaptedExports {
14
26
  * assembly/api-debugger/resetGeneric
15
27
  * @param program `~lib/array/Array<u8>`
16
28
  * @param flatRegisters `~lib/array/Array<u8>`
17
- * @param initialGas `i64`
29
+ * @param initialGas `u64`
18
30
  * @param hasMetadata `bool`
19
31
  */
20
32
  export function resetGeneric(program: Array<number>, flatRegisters: Array<number>, initialGas: bigint, hasMetadata?: boolean): void;
@@ -24,7 +36,7 @@ declare namespace __AdaptedExports {
24
36
  * @param flatRegisters `~lib/array/Array<u8>`
25
37
  * @param pageMap `~lib/typedarray/Uint8Array`
26
38
  * @param chunks `~lib/typedarray/Uint8Array`
27
- * @param initialGas `i64`
39
+ * @param initialGas `u64`
28
40
  * @param hasMetadata `bool`
29
41
  */
30
42
  export function resetGenericWithMemory(program: Array<number>, flatRegisters: Array<number>, pageMap: Uint8Array, chunks: Uint8Array, initialGas: bigint, hasMetadata?: boolean): void;
@@ -66,7 +78,7 @@ declare namespace __AdaptedExports {
66
78
  export function getGasLeft(): bigint;
67
79
  /**
68
80
  * assembly/api-debugger/setGasLeft
69
- * @param gas `i64`
81
+ * @param gas `u64`
70
82
  */
71
83
  export function setGasLeft(gas: bigint): void;
72
84
  /**
@@ -85,6 +97,12 @@ declare namespace __AdaptedExports {
85
97
  * @returns `~lib/typedarray/Uint8Array`
86
98
  */
87
99
  export function getPageDump(index: number): Uint8Array;
100
+ /**
101
+ * assembly/api-debugger/getPagePointer
102
+ * @param page `u32`
103
+ * @returns `usize`
104
+ */
105
+ export function getPagePointer(page: number): number;
88
106
  /**
89
107
  * assembly/api-debugger/getMemory
90
108
  * @param address `u32`
@@ -99,47 +117,6 @@ declare namespace __AdaptedExports {
99
117
  * @returns `bool`
100
118
  */
101
119
  export function setMemory(address: number, data: Uint8Array): boolean;
102
- /**
103
- * assembly/api-internal/getAssembly
104
- * @param p `assembly/program/Program`
105
- * @returns `~lib/string/String`
106
- */
107
- export function getAssembly(p: __Internref26): string;
108
- /**
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
125
- * @param input `assembly/api-types/VmInput`
126
- * @param options `assembly/api-types/VmRunOptions`
127
- * @returns `assembly/api-types/VmOutput`
128
- */
129
- export function vmRunOnce(input: __Internref49, options: __Record50<undefined>): __Record51<never>;
130
- /**
131
- * assembly/api-internal/vmExecute
132
- * @param int `assembly/interpreter/Interpreter`
133
- * @param logs `bool`
134
- */
135
- export function vmExecute(int: __Internref25, logs?: boolean): void;
136
- /**
137
- * assembly/api-internal/vmDestroy
138
- * @param int `assembly/interpreter/Interpreter`
139
- * @param dumpMemory `bool`
140
- * @returns `assembly/api-types/VmOutput`
141
- */
142
- export function vmDestroy(int: __Internref25, dumpMemory?: boolean): __Record51<never>;
143
120
  /** assembly/api-utils/InputKind */
144
121
  export enum InputKind {
145
122
  /** @type `i32` */
@@ -161,7 +138,7 @@ declare namespace __AdaptedExports {
161
138
  * @param withMetadata `i32`
162
139
  * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
163
140
  */
164
- export function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record56<never>>;
141
+ export function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record54<never>>;
165
142
  /**
166
143
  * assembly/api-utils/disassemble
167
144
  * @param input `~lib/array/Array<u8>`
@@ -182,7 +159,7 @@ declare namespace __AdaptedExports {
182
159
  * @param preallocateMemoryPages `u32`
183
160
  * @returns `assembly/spi/StandardProgram`
184
161
  */
185
- 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;
162
+ export function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record50<undefined>>, initialMemory: Array<__Record52<undefined>>, args: Array<number>, preallocateMemoryPages: number): __Internref47;
186
163
  /**
187
164
  * assembly/api-utils/runProgram
188
165
  * @param program `assembly/spi/StandardProgram`
@@ -193,20 +170,20 @@ declare namespace __AdaptedExports {
193
170
  * @param dumpMemory `bool`
194
171
  * @returns `assembly/api-types/VmOutput`
195
172
  */
196
- export function runProgram(program: __Internref40, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean, dumpMemory?: boolean): __Record51<never>;
173
+ export function runProgram(program: __Internref47, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean, dumpMemory?: boolean): __Record59<never>;
197
174
  /**
198
175
  * assembly/api-utils/pvmStart
199
176
  * @param program `assembly/spi/StandardProgram`
200
177
  * @param useSbrkGas `bool`
201
178
  * @returns `u32`
202
179
  */
203
- export function pvmStart(program: __Internref40, useSbrkGas?: boolean): number;
180
+ export function pvmStart(program: __Internref47, useSbrkGas?: boolean): number;
204
181
  /**
205
182
  * assembly/api-utils/pvmDestroy
206
183
  * @param pvmId `u32`
207
184
  * @returns `assembly/api-types/VmOutput | null`
208
185
  */
209
- export function pvmDestroy(pvmId: number): __Record51<never> | null;
186
+ export function pvmDestroy(pvmId: number): __Record59<never> | null;
210
187
  /**
211
188
  * assembly/api-utils/pvmSetRegisters
212
189
  * @param pvmId `u32`
@@ -221,6 +198,13 @@ declare namespace __AdaptedExports {
221
198
  * @returns `~lib/typedarray/Uint8Array | null`
222
199
  */
223
200
  export function pvmReadMemory(pvmId: number, address: number, length: number): Uint8Array | null;
201
+ /**
202
+ * assembly/api-utils/pvmGetPagePointer
203
+ * @param pvmId `u32`
204
+ * @param page `u32`
205
+ * @returns `usize`
206
+ */
207
+ export function pvmGetPagePointer(pvmId: number, page: number): number;
224
208
  /**
225
209
  * assembly/api-utils/pvmWriteMemory
226
210
  * @param pvmId `u32`
@@ -232,31 +216,27 @@ declare namespace __AdaptedExports {
232
216
  /**
233
217
  * assembly/api-utils/pvmResume
234
218
  * @param pvmId `u32`
235
- * @param gas `i64`
219
+ * @param gas `u64`
236
220
  * @param pc `u32`
237
221
  * @param logs `bool`
238
222
  * @returns `assembly/api-types/VmPause | null`
239
223
  */
240
- export function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record60<never> | null;
241
- /**
242
- * assembly/program-build/wrapAsProgram
243
- * @param bytecode `~lib/typedarray/Uint8Array`
244
- * @returns `~lib/typedarray/Uint8Array`
245
- */
246
- export function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
224
+ export function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record65<never> | null;
247
225
  }
248
226
  /** assembly/program/Program */
249
- declare class __Internref26 extends Number {
250
- private __nominal26: symbol;
227
+ declare class __Internref31 extends Number {
228
+ private __nominal31: symbol;
251
229
  private __nominal0: symbol;
252
230
  }
253
- /** assembly/memory/MemoryBuilder */
254
- declare class __Internref41 extends Number {
255
- private __nominal41: symbol;
256
- private __nominal0: symbol;
231
+ /** assembly/gas-costs/BlockGasCost */
232
+ declare interface __Record54<TOmittable> {
233
+ /** @type `u32` */
234
+ pc: number | TOmittable;
235
+ /** @type `u64` */
236
+ gas: bigint | TOmittable;
257
237
  }
258
238
  /** assembly/api-types/InitialPage */
259
- declare interface __Record44<TOmittable> {
239
+ declare interface __Record50<TOmittable> {
260
240
  /** @type `u32` */
261
241
  address: number | TOmittable;
262
242
  /** @type `u32` */
@@ -265,67 +245,36 @@ declare interface __Record44<TOmittable> {
265
245
  access: number | TOmittable;
266
246
  }
267
247
  /** assembly/api-types/InitialChunk */
268
- declare interface __Record46<TOmittable> {
248
+ declare interface __Record52<TOmittable> {
269
249
  /** @type `u32` */
270
250
  address: number | TOmittable;
271
251
  /** @type `~lib/array/Array<u8>` */
272
252
  data: Array<number>;
273
253
  }
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;
254
+ /** assembly/spi/StandardProgram */
255
+ declare class __Internref47 extends Number {
256
+ private __nominal47: symbol;
287
257
  private __nominal0: symbol;
288
258
  }
289
- /** assembly/api-types/VmRunOptions */
290
- declare interface __Record50<TOmittable> {
291
- /** @type `bool` */
292
- useSbrkGas: boolean | TOmittable;
293
- /** @type `bool` */
294
- logs: boolean | TOmittable;
295
- /** @type `bool` */
296
- dumpMemory: boolean | TOmittable;
297
- }
298
259
  /** assembly/api-types/VmOutput */
299
- declare interface __Record51<TOmittable> {
260
+ declare interface __Record59<TOmittable> {
300
261
  /** @type `i32` */
301
262
  status: number | TOmittable;
302
263
  /** @type `u32` */
303
264
  exitCode: number | TOmittable;
304
265
  /** @type `u32` */
305
266
  pc: number | TOmittable;
306
- /** @type `i64` */
267
+ /** @type `u64` */
307
268
  gas: bigint | TOmittable;
308
269
  /** @type `~lib/array/Array<u8>` */
309
270
  result: Array<number>;
310
271
  /** @type `~lib/array/Array<u64>` */
311
272
  registers: Array<bigint>;
312
273
  /** @type `~lib/array/Array<assembly/api-types/InitialChunk>` */
313
- memory: Array<__Record46<never>>;
314
- }
315
- /** assembly/gas-costs/BlockGasCost */
316
- declare interface __Record56<TOmittable> {
317
- /** @type `u32` */
318
- pc: number | TOmittable;
319
- /** @type `u64` */
320
- gas: bigint | TOmittable;
321
- }
322
- /** assembly/spi/StandardProgram */
323
- declare class __Internref40 extends Number {
324
- private __nominal40: symbol;
325
- private __nominal0: symbol;
274
+ memory: Array<__Record52<never>>;
326
275
  }
327
276
  /** assembly/api-types/VmPause */
328
- declare interface __Record60<TOmittable> {
277
+ declare interface __Record65<TOmittable> {
329
278
  /** @type `i32` */
330
279
  status: number | TOmittable;
331
280
  /** @type `u32` */
@@ -334,7 +283,7 @@ declare interface __Record60<TOmittable> {
334
283
  pc: number | TOmittable;
335
284
  /** @type `u32` */
336
285
  nextPc: number | TOmittable;
337
- /** @type `i64` */
286
+ /** @type `u64` */
338
287
  gas: bigint | TOmittable;
339
288
  /** @type `~lib/array/Array<u64>` */
340
289
  registers: Array<bigint>;
@@ -22,11 +22,21 @@ export async function instantiate(module, imports = {}) {
22
22
  const { exports } = await WebAssembly.instantiate(module, adaptedImports);
23
23
  const memory = exports.memory || imports.env.memory;
24
24
  const adaptedExports = Object.setPrototypeOf({
25
+ getAssembly(p) {
26
+ // assembly/api-internal/getAssembly(assembly/program/Program) => ~lib/string/String
27
+ p = __lowerInternref(p) || __notnull();
28
+ return __liftString(exports.getAssembly(p) >>> 0);
29
+ },
30
+ wrapAsProgram(bytecode) {
31
+ // assembly/program-build/wrapAsProgram(~lib/typedarray/Uint8Array) => ~lib/typedarray/Uint8Array
32
+ bytecode = __lowerTypedArray(Uint8Array, 12, 0, bytecode) || __notnull();
33
+ return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
34
+ },
25
35
  resetJAM(program, pc, initialGas, args, hasMetadata) {
26
- // assembly/api-debugger/resetJAM(~lib/array/Array<u8>, u32, i64, ~lib/array/Array<u8>, bool?) => void
27
- program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
36
+ // assembly/api-debugger/resetJAM(~lib/array/Array<u8>, u32, u64, ~lib/array/Array<u8>, bool?) => void
37
+ program = __retain(__lowerArray(__setU8, 7, 0, program) || __notnull());
28
38
  initialGas = initialGas || 0n;
29
- args = __lowerArray(__setU8, 6, 0, args) || __notnull();
39
+ args = __lowerArray(__setU8, 7, 0, args) || __notnull();
30
40
  hasMetadata = hasMetadata ? 1 : 0;
31
41
  try {
32
42
  exports.__setArgumentsLength(arguments.length);
@@ -36,9 +46,9 @@ export async function instantiate(module, imports = {}) {
36
46
  }
37
47
  },
38
48
  resetGeneric(program, flatRegisters, initialGas, hasMetadata) {
39
- // assembly/api-debugger/resetGeneric(~lib/array/Array<u8>, ~lib/array/Array<u8>, i64, bool?) => void
40
- program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
41
- flatRegisters = __lowerArray(__setU8, 6, 0, flatRegisters) || __notnull();
49
+ // assembly/api-debugger/resetGeneric(~lib/array/Array<u8>, ~lib/array/Array<u8>, u64, bool?) => void
50
+ program = __retain(__lowerArray(__setU8, 7, 0, program) || __notnull());
51
+ flatRegisters = __lowerArray(__setU8, 7, 0, flatRegisters) || __notnull();
42
52
  initialGas = initialGas || 0n;
43
53
  hasMetadata = hasMetadata ? 1 : 0;
44
54
  try {
@@ -49,11 +59,11 @@ export async function instantiate(module, imports = {}) {
49
59
  }
50
60
  },
51
61
  resetGenericWithMemory(program, flatRegisters, pageMap, chunks, initialGas, hasMetadata) {
52
- // assembly/api-debugger/resetGenericWithMemory(~lib/array/Array<u8>, ~lib/array/Array<u8>, ~lib/typedarray/Uint8Array, ~lib/typedarray/Uint8Array, i64, bool?) => void
53
- program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
54
- flatRegisters = __retain(__lowerArray(__setU8, 6, 0, flatRegisters) || __notnull());
55
- pageMap = __retain(__lowerTypedArray(Uint8Array, 10, 0, pageMap) || __notnull());
56
- chunks = __lowerTypedArray(Uint8Array, 10, 0, chunks) || __notnull();
62
+ // assembly/api-debugger/resetGenericWithMemory(~lib/array/Array<u8>, ~lib/array/Array<u8>, ~lib/typedarray/Uint8Array, ~lib/typedarray/Uint8Array, u64, bool?) => void
63
+ program = __retain(__lowerArray(__setU8, 7, 0, program) || __notnull());
64
+ flatRegisters = __retain(__lowerArray(__setU8, 7, 0, flatRegisters) || __notnull());
65
+ pageMap = __retain(__lowerTypedArray(Uint8Array, 12, 0, pageMap) || __notnull());
66
+ chunks = __lowerTypedArray(Uint8Array, 12, 0, chunks) || __notnull();
57
67
  initialGas = initialGas || 0n;
58
68
  hasMetadata = hasMetadata ? 1 : 0;
59
69
  try {
@@ -82,7 +92,7 @@ export async function instantiate(module, imports = {}) {
82
92
  return exports.getExitArg() >>> 0;
83
93
  },
84
94
  setGasLeft(gas) {
85
- // assembly/api-debugger/setGasLeft(i64) => void
95
+ // assembly/api-debugger/setGasLeft(u64) => void
86
96
  gas = gas || 0n;
87
97
  exports.setGasLeft(gas);
88
98
  },
@@ -92,70 +102,26 @@ export async function instantiate(module, imports = {}) {
92
102
  },
93
103
  setRegisters(flatRegisters) {
94
104
  // assembly/api-debugger/setRegisters(~lib/array/Array<u8>) => void
95
- flatRegisters = __lowerArray(__setU8, 6, 0, flatRegisters) || __notnull();
105
+ flatRegisters = __lowerArray(__setU8, 7, 0, flatRegisters) || __notnull();
96
106
  exports.setRegisters(flatRegisters);
97
107
  },
98
108
  getPageDump(index) {
99
109
  // assembly/api-debugger/getPageDump(u32) => ~lib/typedarray/Uint8Array
100
110
  return __liftTypedArray(Uint8Array, exports.getPageDump(index) >>> 0);
101
111
  },
112
+ getPagePointer(page) {
113
+ // assembly/api-debugger/getPagePointer(u32) => usize
114
+ return exports.getPagePointer(page) >>> 0;
115
+ },
102
116
  getMemory(address, length) {
103
117
  // assembly/api-debugger/getMemory(u32, u32) => ~lib/typedarray/Uint8Array | null
104
118
  return __liftTypedArray(Uint8Array, exports.getMemory(address, length) >>> 0);
105
119
  },
106
120
  setMemory(address, data) {
107
121
  // assembly/api-debugger/setMemory(u32, ~lib/typedarray/Uint8Array) => bool
108
- data = __lowerTypedArray(Uint8Array, 10, 0, data) || __notnull();
122
+ data = __lowerTypedArray(Uint8Array, 12, 0, data) || __notnull();
109
123
  return exports.setMemory(address, data) != 0;
110
124
  },
111
- getAssembly(p) {
112
- // assembly/api-internal/getAssembly(assembly/program/Program) => ~lib/string/String
113
- p = __lowerInternref(p) || __notnull();
114
- return __liftString(exports.getAssembly(p) >>> 0);
115
- },
116
- buildMemory(builder, pages, chunks) {
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
118
- builder = __retain(__lowerInternref(builder) || __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();
121
- try {
122
- return __liftInternref(exports.buildMemory(builder, pages, chunks) >>> 0);
123
- } finally {
124
- __release(builder);
125
- __release(pages);
126
- }
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, options) {
136
- // assembly/api-internal/vmRunOnce(assembly/api-types/VmInput, assembly/api-types/VmRunOptions) => assembly/api-types/VmOutput
137
- input = __retain(__lowerInternref(input) || __notnull());
138
- options = __lowerRecord50(options) || __notnull();
139
- try {
140
- return __liftRecord51(exports.vmRunOnce(input, options) >>> 0);
141
- } finally {
142
- __release(input);
143
- }
144
- },
145
- vmExecute(int, logs) {
146
- // assembly/api-internal/vmExecute(assembly/interpreter/Interpreter, bool?) => void
147
- int = __lowerInternref(int) || __notnull();
148
- logs = logs ? 1 : 0;
149
- exports.__setArgumentsLength(arguments.length);
150
- exports.vmExecute(int, logs);
151
- },
152
- vmDestroy(int, dumpMemory) {
153
- // assembly/api-internal/vmDestroy(assembly/interpreter/Interpreter, bool?) => assembly/api-types/VmOutput
154
- int = __lowerInternref(int) || __notnull();
155
- dumpMemory = dumpMemory ? 1 : 0;
156
- exports.__setArgumentsLength(arguments.length);
157
- return __liftRecord51(exports.vmDestroy(int, dumpMemory) >>> 0);
158
- },
159
125
  InputKind: (values => (
160
126
  // assembly/api-utils/InputKind
161
127
  values[values.Generic = exports["InputKind.Generic"].valueOf()] = "Generic",
@@ -170,21 +136,21 @@ export async function instantiate(module, imports = {}) {
170
136
  ))({}),
171
137
  getGasCosts(input, kind, withMetadata) {
172
138
  // assembly/api-utils/getGasCosts(~lib/array/Array<u8>, i32, i32) => ~lib/array/Array<assembly/gas-costs/BlockGasCost>
173
- input = __lowerArray(__setU8, 6, 0, input) || __notnull();
174
- return __liftArray(pointer => __liftRecord56(__getU32(pointer)), 2, exports.getGasCosts(input, kind, withMetadata) >>> 0);
139
+ input = __lowerArray(__setU8, 7, 0, input) || __notnull();
140
+ return __liftArray(pointer => __liftRecord54(__getU32(pointer)), 2, exports.getGasCosts(input, kind, withMetadata) >>> 0);
175
141
  },
176
142
  disassemble(input, kind, withMetadata) {
177
143
  // assembly/api-utils/disassemble(~lib/array/Array<u8>, i32, i32) => ~lib/string/String
178
- input = __lowerArray(__setU8, 6, 0, input) || __notnull();
144
+ input = __lowerArray(__setU8, 7, 0, input) || __notnull();
179
145
  return __liftString(exports.disassemble(input, kind, withMetadata) >>> 0);
180
146
  },
181
147
  prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages) {
182
148
  // 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
183
- program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
184
- initialRegisters = __retain(__lowerArray(__setU64, 52, 3, initialRegisters) || __notnull());
185
- initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord44(value) || __notnull()); }, 45, 2, initialPageMap) || __notnull());
186
- initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord46(value) || __notnull()); }, 47, 2, initialMemory) || __notnull());
187
- args = __lowerArray(__setU8, 6, 0, args) || __notnull();
149
+ program = __retain(__lowerArray(__setU8, 7, 0, program) || __notnull());
150
+ initialRegisters = __retain(__lowerArray(__setU64, 56, 3, initialRegisters) || __notnull());
151
+ initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord50(value) || __notnull()); }, 51, 2, initialPageMap) || __notnull());
152
+ initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord52(value) || __notnull()); }, 53, 2, initialMemory) || __notnull());
153
+ args = __lowerArray(__setU8, 7, 0, args) || __notnull();
188
154
  try {
189
155
  return __liftInternref(exports.prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages) >>> 0);
190
156
  } finally {
@@ -202,7 +168,7 @@ export async function instantiate(module, imports = {}) {
202
168
  useSbrkGas = useSbrkGas ? 1 : 0;
203
169
  dumpMemory = dumpMemory ? 1 : 0;
204
170
  exports.__setArgumentsLength(arguments.length);
205
- return __liftRecord51(exports.runProgram(program, initialGas, programCounter, logs, useSbrkGas, dumpMemory) >>> 0);
171
+ return __liftRecord59(exports.runProgram(program, initialGas, programCounter, logs, useSbrkGas, dumpMemory) >>> 0);
206
172
  },
207
173
  pvmStart(program, useSbrkGas) {
208
174
  // assembly/api-utils/pvmStart(assembly/spi/StandardProgram, bool?) => u32
@@ -213,68 +179,65 @@ export async function instantiate(module, imports = {}) {
213
179
  },
214
180
  pvmDestroy(pvmId) {
215
181
  // assembly/api-utils/pvmDestroy(u32) => assembly/api-types/VmOutput | null
216
- return __liftRecord51(exports.pvmDestroy(pvmId) >>> 0);
182
+ return __liftRecord59(exports.pvmDestroy(pvmId) >>> 0);
217
183
  },
218
184
  pvmSetRegisters(pvmId, registers) {
219
185
  // assembly/api-utils/pvmSetRegisters(u32, ~lib/array/Array<u64>) => void
220
- registers = __lowerArray(__setU64, 52, 3, registers) || __notnull();
186
+ registers = __lowerArray(__setU64, 56, 3, registers) || __notnull();
221
187
  exports.pvmSetRegisters(pvmId, registers);
222
188
  },
223
189
  pvmReadMemory(pvmId, address, length) {
224
190
  // assembly/api-utils/pvmReadMemory(u32, u32, u32) => ~lib/typedarray/Uint8Array | null
225
191
  return __liftTypedArray(Uint8Array, exports.pvmReadMemory(pvmId, address, length) >>> 0);
226
192
  },
193
+ pvmGetPagePointer(pvmId, page) {
194
+ // assembly/api-utils/pvmGetPagePointer(u32, u32) => usize
195
+ return exports.pvmGetPagePointer(pvmId, page) >>> 0;
196
+ },
227
197
  pvmWriteMemory(pvmId, address, data) {
228
198
  // assembly/api-utils/pvmWriteMemory(u32, u32, ~lib/typedarray/Uint8Array) => bool
229
- data = __lowerTypedArray(Uint8Array, 10, 0, data) || __notnull();
199
+ data = __lowerTypedArray(Uint8Array, 12, 0, data) || __notnull();
230
200
  return exports.pvmWriteMemory(pvmId, address, data) != 0;
231
201
  },
232
202
  pvmResume(pvmId, gas, pc, logs) {
233
- // assembly/api-utils/pvmResume(u32, i64, u32, bool?) => assembly/api-types/VmPause | null
203
+ // assembly/api-utils/pvmResume(u32, u64, u32, bool?) => assembly/api-types/VmPause | null
234
204
  gas = gas || 0n;
235
205
  logs = logs ? 1 : 0;
236
206
  exports.__setArgumentsLength(arguments.length);
237
- return __liftRecord60(exports.pvmResume(pvmId, gas, pc, logs) >>> 0);
238
- },
239
- wrapAsProgram(bytecode) {
240
- // assembly/program-build/wrapAsProgram(~lib/typedarray/Uint8Array) => ~lib/typedarray/Uint8Array
241
- bytecode = __lowerTypedArray(Uint8Array, 10, 0, bytecode) || __notnull();
242
- return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
207
+ return __liftRecord65(exports.pvmResume(pvmId, gas, pc, logs) >>> 0);
243
208
  },
244
209
  }, exports);
245
- function __lowerRecord44(value) {
210
+ function __liftRecord54(pointer) {
211
+ // assembly/gas-costs/BlockGasCost
212
+ // Hint: Opt-out from lifting as a record by providing an empty constructor
213
+ if (!pointer) return null;
214
+ return {
215
+ pc: __getU32(pointer + 0),
216
+ gas: __getU64(pointer + 8),
217
+ };
218
+ }
219
+ function __lowerRecord50(value) {
246
220
  // assembly/api-types/InitialPage
247
221
  // Hint: Opt-out from lowering as a record by providing an empty constructor
248
222
  if (value == null) return 0;
249
- const pointer = exports.__pin(exports.__new(12, 44));
223
+ const pointer = exports.__pin(exports.__new(12, 50));
250
224
  __setU32(pointer + 0, value.address);
251
225
  __setU32(pointer + 4, value.length);
252
226
  __setU32(pointer + 8, value.access);
253
227
  exports.__unpin(pointer);
254
228
  return pointer;
255
229
  }
256
- function __lowerRecord46(value) {
230
+ function __lowerRecord52(value) {
257
231
  // assembly/api-types/InitialChunk
258
232
  // Hint: Opt-out from lowering as a record by providing an empty constructor
259
233
  if (value == null) return 0;
260
- const pointer = exports.__pin(exports.__new(8, 46));
234
+ const pointer = exports.__pin(exports.__new(8, 52));
261
235
  __setU32(pointer + 0, value.address);
262
- __setU32(pointer + 4, __lowerArray(__setU8, 6, 0, value.data) || __notnull());
263
- exports.__unpin(pointer);
264
- return pointer;
265
- }
266
- function __lowerRecord50(value) {
267
- // assembly/api-types/VmRunOptions
268
- // Hint: Opt-out from lowering as a record by providing an empty constructor
269
- if (value == null) return 0;
270
- const pointer = exports.__pin(exports.__new(3, 50));
271
- __setU8(pointer + 0, value.useSbrkGas ? 1 : 0);
272
- __setU8(pointer + 1, value.logs ? 1 : 0);
273
- __setU8(pointer + 2, value.dumpMemory ? 1 : 0);
236
+ __setU32(pointer + 4, __lowerArray(__setU8, 7, 0, value.data) || __notnull());
274
237
  exports.__unpin(pointer);
275
238
  return pointer;
276
239
  }
277
- function __liftRecord46(pointer) {
240
+ function __liftRecord52(pointer) {
278
241
  // assembly/api-types/InitialChunk
279
242
  // Hint: Opt-out from lifting as a record by providing an empty constructor
280
243
  if (!pointer) return null;
@@ -283,7 +246,7 @@ export async function instantiate(module, imports = {}) {
283
246
  data: __liftArray(__getU8, 0, __getU32(pointer + 4)),
284
247
  };
285
248
  }
286
- function __liftRecord51(pointer) {
249
+ function __liftRecord59(pointer) {
287
250
  // assembly/api-types/VmOutput
288
251
  // Hint: Opt-out from lifting as a record by providing an empty constructor
289
252
  if (!pointer) return null;
@@ -291,22 +254,13 @@ export async function instantiate(module, imports = {}) {
291
254
  status: __getI32(pointer + 0),
292
255
  exitCode: __getU32(pointer + 4),
293
256
  pc: __getU32(pointer + 8),
294
- gas: __getI64(pointer + 16),
257
+ gas: __getU64(pointer + 16),
295
258
  result: __liftArray(__getU8, 0, __getU32(pointer + 24)),
296
259
  registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 28)),
297
- memory: __liftArray(pointer => __liftRecord46(__getU32(pointer)), 2, __getU32(pointer + 32)),
298
- };
299
- }
300
- function __liftRecord56(pointer) {
301
- // assembly/gas-costs/BlockGasCost
302
- // Hint: Opt-out from lifting as a record by providing an empty constructor
303
- if (!pointer) return null;
304
- return {
305
- pc: __getU32(pointer + 0),
306
- gas: __getU64(pointer + 8),
260
+ memory: __liftArray(pointer => __liftRecord52(__getU32(pointer)), 2, __getU32(pointer + 32)),
307
261
  };
308
262
  }
309
- function __liftRecord60(pointer) {
263
+ function __liftRecord65(pointer) {
310
264
  // assembly/api-types/VmPause
311
265
  // Hint: Opt-out from lifting as a record by providing an empty constructor
312
266
  if (!pointer) return null;
@@ -315,7 +269,7 @@ export async function instantiate(module, imports = {}) {
315
269
  exitCode: __getU32(pointer + 4),
316
270
  pc: __getU32(pointer + 8),
317
271
  nextPc: __getU32(pointer + 12),
318
- gas: __getI64(pointer + 16),
272
+ gas: __getU64(pointer + 16),
319
273
  registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 24)),
320
274
  };
321
275
  }
@@ -457,14 +411,6 @@ export async function instantiate(module, imports = {}) {
457
411
  return __dataview.getUint32(pointer, true);
458
412
  }
459
413
  }
460
- function __getI64(pointer) {
461
- try {
462
- return __dataview.getBigInt64(pointer, true);
463
- } catch {
464
- __dataview = new DataView(memory.buffer);
465
- return __dataview.getBigInt64(pointer, true);
466
- }
467
- }
468
414
  function __getU64(pointer) {
469
415
  try {
470
416
  return __dataview.getBigUint64(pointer, true);
Binary file