@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
@@ -6,11 +6,23 @@ export declare function __pin(ptr: number): number;
6
6
  export declare function __unpin(ptr: number): void;
7
7
  export declare function __collect(): void;
8
8
  export declare const __rtti_base: number;
9
+ /**
10
+ * assembly/api-internal/getAssembly
11
+ * @param p `assembly/program/Program`
12
+ * @returns `~lib/string/String`
13
+ */
14
+ export declare function getAssembly(p: __Internref31): string;
15
+ /**
16
+ * assembly/program-build/wrapAsProgram
17
+ * @param bytecode `~lib/typedarray/Uint8Array`
18
+ * @returns `~lib/typedarray/Uint8Array`
19
+ */
20
+ export declare function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
9
21
  /**
10
22
  * assembly/api-debugger/resetJAM
11
23
  * @param program `~lib/array/Array<u8>`
12
24
  * @param pc `u32`
13
- * @param initialGas `i64`
25
+ * @param initialGas `u64`
14
26
  * @param args `~lib/array/Array<u8>`
15
27
  * @param hasMetadata `bool`
16
28
  */
@@ -19,7 +31,7 @@ export declare function resetJAM(program: Array<number>, pc: number, initialGas:
19
31
  * assembly/api-debugger/resetGeneric
20
32
  * @param program `~lib/array/Array<u8>`
21
33
  * @param flatRegisters `~lib/array/Array<u8>`
22
- * @param initialGas `i64`
34
+ * @param initialGas `u64`
23
35
  * @param hasMetadata `bool`
24
36
  */
25
37
  export declare function resetGeneric(program: Array<number>, flatRegisters: Array<number>, initialGas: bigint, hasMetadata?: boolean): void;
@@ -29,7 +41,7 @@ export declare function resetGeneric(program: Array<number>, flatRegisters: Arra
29
41
  * @param flatRegisters `~lib/array/Array<u8>`
30
42
  * @param pageMap `~lib/typedarray/Uint8Array`
31
43
  * @param chunks `~lib/typedarray/Uint8Array`
32
- * @param initialGas `i64`
44
+ * @param initialGas `u64`
33
45
  * @param hasMetadata `bool`
34
46
  */
35
47
  export declare function resetGenericWithMemory(program: Array<number>, flatRegisters: Array<number>, pageMap: Uint8Array, chunks: Uint8Array, initialGas: bigint, hasMetadata?: boolean): void;
@@ -71,7 +83,7 @@ export declare function getExitArg(): number;
71
83
  export declare function getGasLeft(): bigint;
72
84
  /**
73
85
  * assembly/api-debugger/setGasLeft
74
- * @param gas `i64`
86
+ * @param gas `u64`
75
87
  */
76
88
  export declare function setGasLeft(gas: bigint): void;
77
89
  /**
@@ -90,6 +102,12 @@ export declare function setRegisters(flatRegisters: Array<number>): void;
90
102
  * @returns `~lib/typedarray/Uint8Array`
91
103
  */
92
104
  export declare function getPageDump(index: number): Uint8Array;
105
+ /**
106
+ * assembly/api-debugger/getPagePointer
107
+ * @param page `u32`
108
+ * @returns `usize`
109
+ */
110
+ export declare function getPagePointer(page: number): number;
93
111
  /**
94
112
  * assembly/api-debugger/getMemory
95
113
  * @param address `u32`
@@ -104,47 +122,6 @@ export declare function getMemory(address: number, length: number): Uint8Array |
104
122
  * @returns `bool`
105
123
  */
106
124
  export declare function setMemory(address: number, data: Uint8Array): boolean;
107
- /**
108
- * assembly/api-internal/getAssembly
109
- * @param p `assembly/program/Program`
110
- * @returns `~lib/string/String`
111
- */
112
- export declare function getAssembly(p: __Internref26): string;
113
- /**
114
- * assembly/api-internal/buildMemory
115
- * @param builder `assembly/memory/MemoryBuilder`
116
- * @param pages `~lib/array/Array<assembly/api-types/InitialPage>`
117
- * @param chunks `~lib/array/Array<assembly/api-types/InitialChunk>`
118
- * @returns `assembly/memory/Memory`
119
- */
120
- export declare function buildMemory(builder: __Internref41, pages: Array<__Record44<undefined>>, chunks: Array<__Record46<undefined>>): __Internref15;
121
- /**
122
- * assembly/api-internal/vmInit
123
- * @param input `assembly/api-types/VmInput`
124
- * @param useSbrkGas `bool`
125
- * @returns `assembly/interpreter/Interpreter`
126
- */
127
- export declare function vmInit(input: __Internref49, useSbrkGas?: boolean): __Internref25;
128
- /**
129
- * assembly/api-internal/vmRunOnce
130
- * @param input `assembly/api-types/VmInput`
131
- * @param options `assembly/api-types/VmRunOptions`
132
- * @returns `assembly/api-types/VmOutput`
133
- */
134
- export declare function vmRunOnce(input: __Internref49, options: __Record50<undefined>): __Record51<never>;
135
- /**
136
- * assembly/api-internal/vmExecute
137
- * @param int `assembly/interpreter/Interpreter`
138
- * @param logs `bool`
139
- */
140
- export declare function vmExecute(int: __Internref25, logs?: boolean): void;
141
- /**
142
- * assembly/api-internal/vmDestroy
143
- * @param int `assembly/interpreter/Interpreter`
144
- * @param dumpMemory `bool`
145
- * @returns `assembly/api-types/VmOutput`
146
- */
147
- export declare function vmDestroy(int: __Internref25, dumpMemory?: boolean): __Record51<never>;
148
125
  /** assembly/api-utils/InputKind */
149
126
  export declare enum InputKind {
150
127
  /** @type `i32` */
@@ -166,7 +143,7 @@ export declare enum HasMetadata {
166
143
  * @param withMetadata `i32`
167
144
  * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
168
145
  */
169
- export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record56<never>>;
146
+ export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record54<never>>;
170
147
  /**
171
148
  * assembly/api-utils/disassemble
172
149
  * @param input `~lib/array/Array<u8>`
@@ -187,7 +164,7 @@ export declare function disassemble(input: Array<number>, kind: number, withMeta
187
164
  * @param preallocateMemoryPages `u32`
188
165
  * @returns `assembly/spi/StandardProgram`
189
166
  */
190
- 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;
167
+ 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;
191
168
  /**
192
169
  * assembly/api-utils/runProgram
193
170
  * @param program `assembly/spi/StandardProgram`
@@ -198,20 +175,20 @@ export declare function prepareProgram(kind: number, hasMetadata: number, progra
198
175
  * @param dumpMemory `bool`
199
176
  * @returns `assembly/api-types/VmOutput`
200
177
  */
201
- export declare function runProgram(program: __Internref40, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean, dumpMemory?: boolean): __Record51<never>;
178
+ export declare function runProgram(program: __Internref47, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean, dumpMemory?: boolean): __Record59<never>;
202
179
  /**
203
180
  * assembly/api-utils/pvmStart
204
181
  * @param program `assembly/spi/StandardProgram`
205
182
  * @param useSbrkGas `bool`
206
183
  * @returns `u32`
207
184
  */
208
- export declare function pvmStart(program: __Internref40, useSbrkGas?: boolean): number;
185
+ export declare function pvmStart(program: __Internref47, useSbrkGas?: boolean): number;
209
186
  /**
210
187
  * assembly/api-utils/pvmDestroy
211
188
  * @param pvmId `u32`
212
189
  * @returns `assembly/api-types/VmOutput | null`
213
190
  */
214
- export declare function pvmDestroy(pvmId: number): __Record51<never> | null;
191
+ export declare function pvmDestroy(pvmId: number): __Record59<never> | null;
215
192
  /**
216
193
  * assembly/api-utils/pvmSetRegisters
217
194
  * @param pvmId `u32`
@@ -226,6 +203,13 @@ export declare function pvmSetRegisters(pvmId: number, registers: Array<bigint>)
226
203
  * @returns `~lib/typedarray/Uint8Array | null`
227
204
  */
228
205
  export declare function pvmReadMemory(pvmId: number, address: number, length: number): Uint8Array | null;
206
+ /**
207
+ * assembly/api-utils/pvmGetPagePointer
208
+ * @param pvmId `u32`
209
+ * @param page `u32`
210
+ * @returns `usize`
211
+ */
212
+ export declare function pvmGetPagePointer(pvmId: number, page: number): number;
229
213
  /**
230
214
  * assembly/api-utils/pvmWriteMemory
231
215
  * @param pvmId `u32`
@@ -237,30 +221,26 @@ export declare function pvmWriteMemory(pvmId: number, address: number, data: Uin
237
221
  /**
238
222
  * assembly/api-utils/pvmResume
239
223
  * @param pvmId `u32`
240
- * @param gas `i64`
224
+ * @param gas `u64`
241
225
  * @param pc `u32`
242
226
  * @param logs `bool`
243
227
  * @returns `assembly/api-types/VmPause | null`
244
228
  */
245
- export declare function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record60<never> | null;
246
- /**
247
- * assembly/program-build/wrapAsProgram
248
- * @param bytecode `~lib/typedarray/Uint8Array`
249
- * @returns `~lib/typedarray/Uint8Array`
250
- */
251
- export declare function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
229
+ export declare function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record65<never> | null;
252
230
  /** assembly/program/Program */
253
- declare class __Internref26 extends Number {
254
- private __nominal26: symbol;
231
+ declare class __Internref31 extends Number {
232
+ private __nominal31: symbol;
255
233
  private __nominal0: symbol;
256
234
  }
257
- /** assembly/memory/MemoryBuilder */
258
- declare class __Internref41 extends Number {
259
- private __nominal41: symbol;
260
- private __nominal0: symbol;
235
+ /** assembly/gas-costs/BlockGasCost */
236
+ declare interface __Record54<TOmittable> {
237
+ /** @type `u32` */
238
+ pc: number | TOmittable;
239
+ /** @type `u64` */
240
+ gas: bigint | TOmittable;
261
241
  }
262
242
  /** assembly/api-types/InitialPage */
263
- declare interface __Record44<TOmittable> {
243
+ declare interface __Record50<TOmittable> {
264
244
  /** @type `u32` */
265
245
  address: number | TOmittable;
266
246
  /** @type `u32` */
@@ -269,67 +249,36 @@ declare interface __Record44<TOmittable> {
269
249
  access: number | TOmittable;
270
250
  }
271
251
  /** assembly/api-types/InitialChunk */
272
- declare interface __Record46<TOmittable> {
252
+ declare interface __Record52<TOmittable> {
273
253
  /** @type `u32` */
274
254
  address: number | TOmittable;
275
255
  /** @type `~lib/array/Array<u8>` */
276
256
  data: Array<number>;
277
257
  }
278
- /** assembly/memory/Memory */
279
- declare class __Internref15 extends Number {
280
- private __nominal15: symbol;
281
- private __nominal0: symbol;
282
- }
283
- /** assembly/api-types/VmInput */
284
- declare class __Internref49 extends Number {
285
- private __nominal49: symbol;
286
- private __nominal0: symbol;
287
- }
288
- /** assembly/interpreter/Interpreter */
289
- declare class __Internref25 extends Number {
290
- private __nominal25: symbol;
258
+ /** assembly/spi/StandardProgram */
259
+ declare class __Internref47 extends Number {
260
+ private __nominal47: symbol;
291
261
  private __nominal0: symbol;
292
262
  }
293
- /** assembly/api-types/VmRunOptions */
294
- declare interface __Record50<TOmittable> {
295
- /** @type `bool` */
296
- useSbrkGas: boolean | TOmittable;
297
- /** @type `bool` */
298
- logs: boolean | TOmittable;
299
- /** @type `bool` */
300
- dumpMemory: boolean | TOmittable;
301
- }
302
263
  /** assembly/api-types/VmOutput */
303
- declare interface __Record51<TOmittable> {
264
+ declare interface __Record59<TOmittable> {
304
265
  /** @type `i32` */
305
266
  status: number | TOmittable;
306
267
  /** @type `u32` */
307
268
  exitCode: number | TOmittable;
308
269
  /** @type `u32` */
309
270
  pc: number | TOmittable;
310
- /** @type `i64` */
271
+ /** @type `u64` */
311
272
  gas: bigint | TOmittable;
312
273
  /** @type `~lib/array/Array<u8>` */
313
274
  result: Array<number>;
314
275
  /** @type `~lib/array/Array<u64>` */
315
276
  registers: Array<bigint>;
316
277
  /** @type `~lib/array/Array<assembly/api-types/InitialChunk>` */
317
- memory: Array<__Record46<never>>;
318
- }
319
- /** assembly/gas-costs/BlockGasCost */
320
- declare interface __Record56<TOmittable> {
321
- /** @type `u32` */
322
- pc: number | TOmittable;
323
- /** @type `u64` */
324
- gas: bigint | TOmittable;
325
- }
326
- /** assembly/spi/StandardProgram */
327
- declare class __Internref40 extends Number {
328
- private __nominal40: symbol;
329
- private __nominal0: symbol;
278
+ memory: Array<__Record52<never>>;
330
279
  }
331
280
  /** assembly/api-types/VmPause */
332
- declare interface __Record60<TOmittable> {
281
+ declare interface __Record65<TOmittable> {
333
282
  /** @type `i32` */
334
283
  status: number | TOmittable;
335
284
  /** @type `u32` */
@@ -338,7 +287,7 @@ declare interface __Record60<TOmittable> {
338
287
  pc: number | TOmittable;
339
288
  /** @type `u32` */
340
289
  nextPc: number | TOmittable;
341
- /** @type `i64` */
290
+ /** @type `u64` */
342
291
  gas: bigint | TOmittable;
343
292
  /** @type `~lib/array/Array<u64>` */
344
293
  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);
@@ -482,6 +428,8 @@ export const {
482
428
  __unpin,
483
429
  __collect,
484
430
  __rtti_base,
431
+ getAssembly,
432
+ wrapAsProgram,
485
433
  resetJAM,
486
434
  resetGeneric,
487
435
  resetGenericWithMemory,
@@ -496,14 +444,9 @@ export const {
496
444
  getRegisters,
497
445
  setRegisters,
498
446
  getPageDump,
447
+ getPagePointer,
499
448
  getMemory,
500
449
  setMemory,
501
- getAssembly,
502
- buildMemory,
503
- vmInit,
504
- vmRunOnce,
505
- vmExecute,
506
- vmDestroy,
507
450
  InputKind,
508
451
  HasMetadata,
509
452
  getGasCosts,
@@ -514,9 +457,9 @@ export const {
514
457
  pvmDestroy,
515
458
  pvmSetRegisters,
516
459
  pvmReadMemory,
460
+ pvmGetPagePointer,
517
461
  pvmWriteMemory,
518
462
  pvmResume,
519
- wrapAsProgram,
520
463
  } = await (async url => instantiate(
521
464
  await (async () => {
522
465
  const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null);
Binary file