@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,10 +1,22 @@
1
1
  /** Exported memory */
2
2
  export declare const memory: WebAssembly.Memory;
3
+ /**
4
+ * assembly/api-internal/getAssembly
5
+ * @param p `assembly/program/Program`
6
+ * @returns `~lib/string/String`
7
+ */
8
+ export declare function getAssembly(p: __Internref31): string;
9
+ /**
10
+ * assembly/program-build/wrapAsProgram
11
+ * @param bytecode `~lib/typedarray/Uint8Array`
12
+ * @returns `~lib/typedarray/Uint8Array`
13
+ */
14
+ export declare function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
3
15
  /**
4
16
  * assembly/api-debugger/resetJAM
5
17
  * @param program `~lib/array/Array<u8>`
6
18
  * @param pc `u32`
7
- * @param initialGas `i64`
19
+ * @param initialGas `u64`
8
20
  * @param args `~lib/array/Array<u8>`
9
21
  * @param hasMetadata `bool`
10
22
  */
@@ -13,7 +25,7 @@ export declare function resetJAM(program: Array<number>, pc: number, initialGas:
13
25
  * assembly/api-debugger/resetGeneric
14
26
  * @param program `~lib/array/Array<u8>`
15
27
  * @param flatRegisters `~lib/array/Array<u8>`
16
- * @param initialGas `i64`
28
+ * @param initialGas `u64`
17
29
  * @param hasMetadata `bool`
18
30
  */
19
31
  export declare function resetGeneric(program: Array<number>, flatRegisters: Array<number>, initialGas: bigint, hasMetadata?: boolean): void;
@@ -23,7 +35,7 @@ export declare function resetGeneric(program: Array<number>, flatRegisters: Arra
23
35
  * @param flatRegisters `~lib/array/Array<u8>`
24
36
  * @param pageMap `~lib/typedarray/Uint8Array`
25
37
  * @param chunks `~lib/typedarray/Uint8Array`
26
- * @param initialGas `i64`
38
+ * @param initialGas `u64`
27
39
  * @param hasMetadata `bool`
28
40
  */
29
41
  export declare function resetGenericWithMemory(program: Array<number>, flatRegisters: Array<number>, pageMap: Uint8Array, chunks: Uint8Array, initialGas: bigint, hasMetadata?: boolean): void;
@@ -65,7 +77,7 @@ export declare function getExitArg(): number;
65
77
  export declare function getGasLeft(): bigint;
66
78
  /**
67
79
  * assembly/api-debugger/setGasLeft
68
- * @param gas `i64`
80
+ * @param gas `u64`
69
81
  */
70
82
  export declare function setGasLeft(gas: bigint): void;
71
83
  /**
@@ -84,6 +96,12 @@ export declare function setRegisters(flatRegisters: Array<number>): void;
84
96
  * @returns `~lib/typedarray/Uint8Array`
85
97
  */
86
98
  export declare function getPageDump(index: number): Uint8Array;
99
+ /**
100
+ * assembly/api-debugger/getPagePointer
101
+ * @param page `u32`
102
+ * @returns `usize`
103
+ */
104
+ export declare function getPagePointer(page: number): number;
87
105
  /**
88
106
  * assembly/api-debugger/getMemory
89
107
  * @param address `u32`
@@ -98,47 +116,6 @@ export declare function getMemory(address: number, length: number): Uint8Array |
98
116
  * @returns `bool`
99
117
  */
100
118
  export declare function setMemory(address: number, data: Uint8Array): boolean;
101
- /**
102
- * assembly/api-internal/getAssembly
103
- * @param p `assembly/program/Program`
104
- * @returns `~lib/string/String`
105
- */
106
- export declare function getAssembly(p: __Internref26): string;
107
- /**
108
- * assembly/api-internal/buildMemory
109
- * @param builder `assembly/memory/MemoryBuilder`
110
- * @param pages `~lib/array/Array<assembly/api-types/InitialPage>`
111
- * @param chunks `~lib/array/Array<assembly/api-types/InitialChunk>`
112
- * @returns `assembly/memory/Memory`
113
- */
114
- export declare function buildMemory(builder: __Internref41, pages: Array<__Record44<undefined>>, chunks: Array<__Record46<undefined>>): __Internref15;
115
- /**
116
- * assembly/api-internal/vmInit
117
- * @param input `assembly/api-types/VmInput`
118
- * @param useSbrkGas `bool`
119
- * @returns `assembly/interpreter/Interpreter`
120
- */
121
- export declare function vmInit(input: __Internref49, useSbrkGas?: boolean): __Internref25;
122
- /**
123
- * assembly/api-internal/vmRunOnce
124
- * @param input `assembly/api-types/VmInput`
125
- * @param options `assembly/api-types/VmRunOptions`
126
- * @returns `assembly/api-types/VmOutput`
127
- */
128
- export declare function vmRunOnce(input: __Internref49, options: __Record50<undefined>): __Record51<never>;
129
- /**
130
- * assembly/api-internal/vmExecute
131
- * @param int `assembly/interpreter/Interpreter`
132
- * @param logs `bool`
133
- */
134
- export declare function vmExecute(int: __Internref25, logs?: boolean): void;
135
- /**
136
- * assembly/api-internal/vmDestroy
137
- * @param int `assembly/interpreter/Interpreter`
138
- * @param dumpMemory `bool`
139
- * @returns `assembly/api-types/VmOutput`
140
- */
141
- export declare function vmDestroy(int: __Internref25, dumpMemory?: boolean): __Record51<never>;
142
119
  /** assembly/api-utils/InputKind */
143
120
  export declare enum InputKind {
144
121
  /** @type `i32` */
@@ -160,7 +137,7 @@ export declare enum HasMetadata {
160
137
  * @param withMetadata `i32`
161
138
  * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
162
139
  */
163
- export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record56<never>>;
140
+ export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record54<never>>;
164
141
  /**
165
142
  * assembly/api-utils/disassemble
166
143
  * @param input `~lib/array/Array<u8>`
@@ -181,7 +158,7 @@ export declare function disassemble(input: Array<number>, kind: number, withMeta
181
158
  * @param preallocateMemoryPages `u32`
182
159
  * @returns `assembly/spi/StandardProgram`
183
160
  */
184
- export declare 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;
161
+ export declare 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;
185
162
  /**
186
163
  * assembly/api-utils/runProgram
187
164
  * @param program `assembly/spi/StandardProgram`
@@ -192,20 +169,20 @@ export declare function prepareProgram(kind: number, hasMetadata: number, progra
192
169
  * @param dumpMemory `bool`
193
170
  * @returns `assembly/api-types/VmOutput`
194
171
  */
195
- export declare function runProgram(program: __Internref40, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean, dumpMemory?: boolean): __Record51<never>;
172
+ export declare function runProgram(program: __Internref47, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean, dumpMemory?: boolean): __Record59<never>;
196
173
  /**
197
174
  * assembly/api-utils/pvmStart
198
175
  * @param program `assembly/spi/StandardProgram`
199
176
  * @param useSbrkGas `bool`
200
177
  * @returns `u32`
201
178
  */
202
- export declare function pvmStart(program: __Internref40, useSbrkGas?: boolean): number;
179
+ export declare function pvmStart(program: __Internref47, useSbrkGas?: boolean): number;
203
180
  /**
204
181
  * assembly/api-utils/pvmDestroy
205
182
  * @param pvmId `u32`
206
183
  * @returns `assembly/api-types/VmOutput | null`
207
184
  */
208
- export declare function pvmDestroy(pvmId: number): __Record51<never> | null;
185
+ export declare function pvmDestroy(pvmId: number): __Record59<never> | null;
209
186
  /**
210
187
  * assembly/api-utils/pvmSetRegisters
211
188
  * @param pvmId `u32`
@@ -220,6 +197,13 @@ export declare function pvmSetRegisters(pvmId: number, registers: Array<bigint>)
220
197
  * @returns `~lib/typedarray/Uint8Array | null`
221
198
  */
222
199
  export declare function pvmReadMemory(pvmId: number, address: number, length: number): Uint8Array | null;
200
+ /**
201
+ * assembly/api-utils/pvmGetPagePointer
202
+ * @param pvmId `u32`
203
+ * @param page `u32`
204
+ * @returns `usize`
205
+ */
206
+ export declare function pvmGetPagePointer(pvmId: number, page: number): number;
223
207
  /**
224
208
  * assembly/api-utils/pvmWriteMemory
225
209
  * @param pvmId `u32`
@@ -231,30 +215,26 @@ export declare function pvmWriteMemory(pvmId: number, address: number, data: Uin
231
215
  /**
232
216
  * assembly/api-utils/pvmResume
233
217
  * @param pvmId `u32`
234
- * @param gas `i64`
218
+ * @param gas `u64`
235
219
  * @param pc `u32`
236
220
  * @param logs `bool`
237
221
  * @returns `assembly/api-types/VmPause | null`
238
222
  */
239
- export declare function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record60<never> | null;
240
- /**
241
- * assembly/program-build/wrapAsProgram
242
- * @param bytecode `~lib/typedarray/Uint8Array`
243
- * @returns `~lib/typedarray/Uint8Array`
244
- */
245
- export declare function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
223
+ export declare function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record65<never> | null;
246
224
  /** assembly/program/Program */
247
- declare class __Internref26 extends Number {
248
- private __nominal26: symbol;
225
+ declare class __Internref31 extends Number {
226
+ private __nominal31: symbol;
249
227
  private __nominal0: symbol;
250
228
  }
251
- /** assembly/memory/MemoryBuilder */
252
- declare class __Internref41 extends Number {
253
- private __nominal41: symbol;
254
- private __nominal0: symbol;
229
+ /** assembly/gas-costs/BlockGasCost */
230
+ declare interface __Record54<TOmittable> {
231
+ /** @type `u32` */
232
+ pc: number | TOmittable;
233
+ /** @type `u64` */
234
+ gas: bigint | TOmittable;
255
235
  }
256
236
  /** assembly/api-types/InitialPage */
257
- declare interface __Record44<TOmittable> {
237
+ declare interface __Record50<TOmittable> {
258
238
  /** @type `u32` */
259
239
  address: number | TOmittable;
260
240
  /** @type `u32` */
@@ -263,67 +243,36 @@ declare interface __Record44<TOmittable> {
263
243
  access: number | TOmittable;
264
244
  }
265
245
  /** assembly/api-types/InitialChunk */
266
- declare interface __Record46<TOmittable> {
246
+ declare interface __Record52<TOmittable> {
267
247
  /** @type `u32` */
268
248
  address: number | TOmittable;
269
249
  /** @type `~lib/array/Array<u8>` */
270
250
  data: Array<number>;
271
251
  }
272
- /** assembly/memory/Memory */
273
- declare class __Internref15 extends Number {
274
- private __nominal15: symbol;
275
- private __nominal0: symbol;
276
- }
277
- /** assembly/api-types/VmInput */
278
- declare class __Internref49 extends Number {
279
- private __nominal49: symbol;
280
- private __nominal0: symbol;
281
- }
282
- /** assembly/interpreter/Interpreter */
283
- declare class __Internref25 extends Number {
284
- private __nominal25: symbol;
252
+ /** assembly/spi/StandardProgram */
253
+ declare class __Internref47 extends Number {
254
+ private __nominal47: symbol;
285
255
  private __nominal0: symbol;
286
256
  }
287
- /** assembly/api-types/VmRunOptions */
288
- declare interface __Record50<TOmittable> {
289
- /** @type `bool` */
290
- useSbrkGas: boolean | TOmittable;
291
- /** @type `bool` */
292
- logs: boolean | TOmittable;
293
- /** @type `bool` */
294
- dumpMemory: boolean | TOmittable;
295
- }
296
257
  /** assembly/api-types/VmOutput */
297
- declare interface __Record51<TOmittable> {
258
+ declare interface __Record59<TOmittable> {
298
259
  /** @type `i32` */
299
260
  status: number | TOmittable;
300
261
  /** @type `u32` */
301
262
  exitCode: number | TOmittable;
302
263
  /** @type `u32` */
303
264
  pc: number | TOmittable;
304
- /** @type `i64` */
265
+ /** @type `u64` */
305
266
  gas: bigint | TOmittable;
306
267
  /** @type `~lib/array/Array<u8>` */
307
268
  result: Array<number>;
308
269
  /** @type `~lib/array/Array<u64>` */
309
270
  registers: Array<bigint>;
310
271
  /** @type `~lib/array/Array<assembly/api-types/InitialChunk>` */
311
- memory: Array<__Record46<never>>;
312
- }
313
- /** assembly/gas-costs/BlockGasCost */
314
- declare interface __Record56<TOmittable> {
315
- /** @type `u32` */
316
- pc: number | TOmittable;
317
- /** @type `u64` */
318
- gas: bigint | TOmittable;
319
- }
320
- /** assembly/spi/StandardProgram */
321
- declare class __Internref40 extends Number {
322
- private __nominal40: symbol;
323
- private __nominal0: symbol;
272
+ memory: Array<__Record52<never>>;
324
273
  }
325
274
  /** assembly/api-types/VmPause */
326
- declare interface __Record60<TOmittable> {
275
+ declare interface __Record65<TOmittable> {
327
276
  /** @type `i32` */
328
277
  status: number | TOmittable;
329
278
  /** @type `u32` */
@@ -332,7 +281,7 @@ declare interface __Record60<TOmittable> {
332
281
  pc: number | TOmittable;
333
282
  /** @type `u32` */
334
283
  nextPc: number | TOmittable;
335
- /** @type `i64` */
284
+ /** @type `u64` */
336
285
  gas: bigint | TOmittable;
337
286
  /** @type `~lib/array/Array<u64>` */
338
287
  registers: Array<bigint>;
@@ -22,11 +22,21 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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)),
260
+ memory: __liftArray(pointer => __liftRecord52(__getU32(pointer)), 2, __getU32(pointer + 32)),
298
261
  };
299
262
  }
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),
307
- };
308
- }
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 @@ 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 @@ 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);
@@ -477,6 +423,8 @@ async function instantiate(module, imports = {}) {
477
423
  }
478
424
  export const {
479
425
  memory,
426
+ getAssembly,
427
+ wrapAsProgram,
480
428
  resetJAM,
481
429
  resetGeneric,
482
430
  resetGenericWithMemory,
@@ -491,14 +439,9 @@ export const {
491
439
  getRegisters,
492
440
  setRegisters,
493
441
  getPageDump,
442
+ getPagePointer,
494
443
  getMemory,
495
444
  setMemory,
496
- getAssembly,
497
- buildMemory,
498
- vmInit,
499
- vmRunOnce,
500
- vmExecute,
501
- vmDestroy,
502
445
  InputKind,
503
446
  HasMetadata,
504
447
  getGasCosts,
@@ -509,9 +452,9 @@ export const {
509
452
  pvmDestroy,
510
453
  pvmSetRegisters,
511
454
  pvmReadMemory,
455
+ pvmGetPagePointer,
512
456
  pvmWriteMemory,
513
457
  pvmResume,
514
- wrapAsProgram,
515
458
  } = await (async url => instantiate(
516
459
  await (async () => {
517
460
  const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null);
Binary file