@fluffylabs/anan-as 1.1.6 → 1.2.0-1c29182

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 (106) hide show
  1. package/dist/bin/index.js +186 -53
  2. package/dist/bin/src/fuzz.js +1 -1
  3. package/dist/bin/src/test-json.js +2 -6
  4. package/dist/bin/src/trace-replay.js +8 -4
  5. package/dist/build/compiler-inline.js +1 -1
  6. package/dist/build/compiler.d.ts +17 -13
  7. package/dist/build/compiler.js +13 -21
  8. package/dist/build/compiler.wasm +0 -0
  9. package/dist/build/debug-inline.js +1 -1
  10. package/dist/build/debug-raw-inline.js +1 -1
  11. package/dist/build/debug-raw.d.ts +63 -112
  12. package/dist/build/debug-raw.js +86 -139
  13. package/dist/build/debug-raw.wasm +0 -0
  14. package/dist/build/debug.d.ts +63 -112
  15. package/dist/build/debug.js +91 -147
  16. package/dist/build/debug.wasm +0 -0
  17. package/dist/build/js/assembly/api-debugger.d.ts +55 -0
  18. package/dist/build/js/assembly/api-debugger.js +245 -0
  19. package/dist/build/js/assembly/api-internal.d.ts +13 -0
  20. package/dist/build/js/assembly/api-internal.js +191 -0
  21. package/dist/build/js/assembly/api-types.d.ts +45 -0
  22. package/dist/build/js/assembly/api-types.js +52 -0
  23. package/dist/build/js/assembly/api-utils.d.ts +79 -0
  24. package/dist/build/js/assembly/api-utils.js +221 -0
  25. package/dist/build/js/assembly/arguments.d.ts +44 -0
  26. package/dist/build/js/assembly/arguments.js +164 -0
  27. package/dist/build/js/assembly/codec.d.ts +24 -0
  28. package/dist/build/js/assembly/codec.js +139 -0
  29. package/dist/build/js/assembly/gas.d.ts +11 -0
  30. package/dist/build/js/assembly/gas.js +33 -0
  31. package/dist/build/js/assembly/index-shared.d.ts +4 -0
  32. package/dist/build/js/assembly/index-shared.js +4 -0
  33. package/dist/build/js/assembly/instructions/bit.d.ts +11 -0
  34. package/dist/build/js/assembly/instructions/bit.js +53 -0
  35. package/dist/build/js/assembly/instructions/branch.d.ts +17 -0
  36. package/dist/build/js/assembly/instructions/branch.js +120 -0
  37. package/dist/build/js/assembly/instructions/jump.d.ts +5 -0
  38. package/dist/build/js/assembly/instructions/jump.js +21 -0
  39. package/dist/build/js/assembly/instructions/load.d.ts +17 -0
  40. package/dist/build/js/assembly/instructions/load.js +134 -0
  41. package/dist/build/js/assembly/instructions/logic.d.ts +10 -0
  42. package/dist/build/js/assembly/instructions/logic.js +47 -0
  43. package/dist/build/js/assembly/instructions/math.d.ts +28 -0
  44. package/dist/build/js/assembly/instructions/math.js +225 -0
  45. package/dist/build/js/assembly/instructions/misc.d.ts +6 -0
  46. package/dist/build/js/assembly/instructions/misc.js +22 -0
  47. package/dist/build/js/assembly/instructions/mov.d.ts +6 -0
  48. package/dist/build/js/assembly/instructions/mov.js +35 -0
  49. package/dist/build/js/assembly/instructions/outcome.d.ts +30 -0
  50. package/dist/build/js/assembly/instructions/outcome.js +88 -0
  51. package/dist/build/js/assembly/instructions/rot.d.ts +15 -0
  52. package/dist/build/js/assembly/instructions/rot.js +66 -0
  53. package/dist/build/js/assembly/instructions/set.d.ts +7 -0
  54. package/dist/build/js/assembly/instructions/set.js +36 -0
  55. package/dist/build/js/assembly/instructions/shift.d.ts +19 -0
  56. package/dist/build/js/assembly/instructions/shift.js +121 -0
  57. package/dist/build/js/assembly/instructions/store.d.ts +17 -0
  58. package/dist/build/js/assembly/instructions/store.js +101 -0
  59. package/dist/build/js/assembly/instructions/utils.d.ts +25 -0
  60. package/dist/build/js/assembly/instructions/utils.js +91 -0
  61. package/dist/build/js/assembly/instructions-exe.d.ts +2 -0
  62. package/dist/build/js/assembly/instructions-exe.js +245 -0
  63. package/dist/build/js/assembly/instructions.d.ts +10 -0
  64. package/dist/build/js/assembly/instructions.js +252 -0
  65. package/dist/build/js/assembly/interpreter.d.ts +28 -0
  66. package/dist/build/js/assembly/interpreter.js +221 -0
  67. package/dist/build/js/assembly/math.d.ts +6 -0
  68. package/dist/build/js/assembly/math.js +22 -0
  69. package/dist/build/js/assembly/memory-page.d.ts +36 -0
  70. package/dist/build/js/assembly/memory-page.js +74 -0
  71. package/dist/build/js/assembly/memory.d.ts +83 -0
  72. package/dist/build/js/assembly/memory.js +482 -0
  73. package/dist/build/js/assembly/portable.d.ts +24 -0
  74. package/dist/build/js/assembly/portable.js +363 -0
  75. package/dist/build/js/assembly/program-build.d.ts +2 -0
  76. package/dist/build/js/assembly/program-build.js +104 -0
  77. package/dist/build/js/assembly/program.d.ts +85 -0
  78. package/dist/build/js/assembly/program.js +340 -0
  79. package/dist/build/js/assembly/registers.d.ts +6 -0
  80. package/dist/build/js/assembly/registers.js +9 -0
  81. package/dist/build/js/assembly/spi.d.ts +92 -0
  82. package/dist/build/js/assembly/spi.js +152 -0
  83. package/dist/build/js/portable/bootstrap.d.ts +1 -0
  84. package/dist/build/js/portable/bootstrap.js +5 -0
  85. package/dist/build/js/portable/index.d.ts +4 -0
  86. package/dist/build/js/portable/index.js +6 -0
  87. package/dist/build/js/portable-bundle.js +4496 -0
  88. package/dist/build/release-inline.js +1 -1
  89. package/dist/build/release-mini-inline.js +1 -1
  90. package/dist/build/release-mini.d.ts +63 -112
  91. package/dist/build/release-mini.js +91 -147
  92. package/dist/build/release-mini.wasm +0 -0
  93. package/dist/build/release-stub-inline.js +1 -1
  94. package/dist/build/release-stub.d.ts +63 -112
  95. package/dist/build/release-stub.js +91 -147
  96. package/dist/build/release-stub.wasm +0 -0
  97. package/dist/build/release.d.ts +63 -112
  98. package/dist/build/release.js +91 -147
  99. package/dist/build/release.wasm +0 -0
  100. package/dist/build/test-inline.js +1 -1
  101. package/dist/build/test.wasm +0 -0
  102. package/dist/test/test-gas-cost.js +2 -3
  103. package/dist/test/test-w3f-common.js +125 -0
  104. package/dist/test/test-w3f-portable.js +5 -0
  105. package/dist/test/test-w3f.js +3 -120
  106. package/package.json +24 -12
@@ -1,32 +1,47 @@
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: __Internref35): 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`
22
+ * @param useBlockGas `bool`
10
23
  */
11
- export declare function resetJAM(program: Array<number>, pc: number, initialGas: bigint, args: Array<number>, hasMetadata?: boolean): void;
24
+ export declare function resetJAM(program: Array<number>, pc: number, initialGas: bigint, args: Array<number>, hasMetadata?: boolean, useBlockGas?: boolean): void;
12
25
  /**
13
26
  * assembly/api-debugger/resetGeneric
14
27
  * @param program `~lib/array/Array<u8>`
15
28
  * @param flatRegisters `~lib/array/Array<u8>`
16
- * @param initialGas `i64`
29
+ * @param initialGas `u64`
17
30
  * @param hasMetadata `bool`
31
+ * @param useBlockGas `bool`
18
32
  */
19
- export declare function resetGeneric(program: Array<number>, flatRegisters: Array<number>, initialGas: bigint, hasMetadata?: boolean): void;
33
+ export declare function resetGeneric(program: Array<number>, flatRegisters: Array<number>, initialGas: bigint, hasMetadata?: boolean, useBlockGas?: boolean): void;
20
34
  /**
21
35
  * assembly/api-debugger/resetGenericWithMemory
22
36
  * @param program `~lib/array/Array<u8>`
23
37
  * @param flatRegisters `~lib/array/Array<u8>`
24
38
  * @param pageMap `~lib/typedarray/Uint8Array`
25
39
  * @param chunks `~lib/typedarray/Uint8Array`
26
- * @param initialGas `i64`
40
+ * @param initialGas `u64`
27
41
  * @param hasMetadata `bool`
42
+ * @param useBlockGas `bool`
28
43
  */
29
- export declare function resetGenericWithMemory(program: Array<number>, flatRegisters: Array<number>, pageMap: Uint8Array, chunks: Uint8Array, initialGas: bigint, hasMetadata?: boolean): void;
44
+ export declare function resetGenericWithMemory(program: Array<number>, flatRegisters: Array<number>, pageMap: Uint8Array, chunks: Uint8Array, initialGas: bigint, hasMetadata?: boolean, useBlockGas?: boolean): void;
30
45
  /**
31
46
  * assembly/api-debugger/nextStep
32
47
  * @returns `bool`
@@ -65,7 +80,7 @@ export declare function getExitArg(): number;
65
80
  export declare function getGasLeft(): bigint;
66
81
  /**
67
82
  * assembly/api-debugger/setGasLeft
68
- * @param gas `i64`
83
+ * @param gas `u64`
69
84
  */
70
85
  export declare function setGasLeft(gas: bigint): void;
71
86
  /**
@@ -84,6 +99,12 @@ export declare function setRegisters(flatRegisters: Array<number>): void;
84
99
  * @returns `~lib/typedarray/Uint8Array`
85
100
  */
86
101
  export declare function getPageDump(index: number): Uint8Array;
102
+ /**
103
+ * assembly/api-debugger/getPagePointer
104
+ * @param page `u32`
105
+ * @returns `usize`
106
+ */
107
+ export declare function getPagePointer(page: number): number;
87
108
  /**
88
109
  * assembly/api-debugger/getMemory
89
110
  * @param address `u32`
@@ -98,47 +119,6 @@ export declare function getMemory(address: number, length: number): Uint8Array |
98
119
  * @returns `bool`
99
120
  */
100
121
  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
122
  /** assembly/api-utils/InputKind */
143
123
  export declare enum InputKind {
144
124
  /** @type `i32` */
@@ -154,13 +134,13 @@ export declare enum HasMetadata {
154
134
  No,
155
135
  }
156
136
  /**
157
- * assembly/api-utils/getGasCosts
137
+ * assembly/api-utils/getBlockGasCosts
158
138
  * @param input `~lib/array/Array<u8>`
159
139
  * @param kind `i32`
160
140
  * @param withMetadata `i32`
161
- * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
141
+ * @returns `~lib/array/Array<assembly/api-utils/BlockGasCost>`
162
142
  */
163
- export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record56<never>>;
143
+ export declare function getBlockGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record58<never>>;
164
144
  /**
165
145
  * assembly/api-utils/disassemble
166
146
  * @param input `~lib/array/Array<u8>`
@@ -179,33 +159,32 @@ export declare function disassemble(input: Array<number>, kind: number, withMeta
179
159
  * @param initialMemory `~lib/array/Array<assembly/api-types/InitialChunk>`
180
160
  * @param args `~lib/array/Array<u8>`
181
161
  * @param preallocateMemoryPages `u32`
162
+ * @param useBlockGas `bool`
182
163
  * @returns `assembly/spi/StandardProgram`
183
164
  */
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;
165
+ export declare function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record54<undefined>>, initialMemory: Array<__Record56<undefined>>, args: Array<number>, preallocateMemoryPages: number, useBlockGas: boolean): __Internref51;
185
166
  /**
186
167
  * assembly/api-utils/runProgram
187
168
  * @param program `assembly/spi/StandardProgram`
188
169
  * @param initialGas `i64`
189
170
  * @param programCounter `u32`
190
171
  * @param logs `bool`
191
- * @param useSbrkGas `bool`
192
172
  * @param dumpMemory `bool`
193
173
  * @returns `assembly/api-types/VmOutput`
194
174
  */
195
- export declare function runProgram(program: __Internref40, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean, dumpMemory?: boolean): __Record51<never>;
175
+ export declare function runProgram(program: __Internref51, initialGas?: bigint, programCounter?: number, logs?: boolean, dumpMemory?: boolean): __Record62<never>;
196
176
  /**
197
177
  * assembly/api-utils/pvmStart
198
178
  * @param program `assembly/spi/StandardProgram`
199
- * @param useSbrkGas `bool`
200
179
  * @returns `u32`
201
180
  */
202
- export declare function pvmStart(program: __Internref40, useSbrkGas?: boolean): number;
181
+ export declare function pvmStart(program: __Internref51): number;
203
182
  /**
204
183
  * assembly/api-utils/pvmDestroy
205
184
  * @param pvmId `u32`
206
185
  * @returns `assembly/api-types/VmOutput | null`
207
186
  */
208
- export declare function pvmDestroy(pvmId: number): __Record51<never> | null;
187
+ export declare function pvmDestroy(pvmId: number): __Record62<never> | null;
209
188
  /**
210
189
  * assembly/api-utils/pvmSetRegisters
211
190
  * @param pvmId `u32`
@@ -220,6 +199,13 @@ export declare function pvmSetRegisters(pvmId: number, registers: Array<bigint>)
220
199
  * @returns `~lib/typedarray/Uint8Array | null`
221
200
  */
222
201
  export declare function pvmReadMemory(pvmId: number, address: number, length: number): Uint8Array | null;
202
+ /**
203
+ * assembly/api-utils/pvmGetPagePointer
204
+ * @param pvmId `u32`
205
+ * @param page `u32`
206
+ * @returns `usize`
207
+ */
208
+ export declare function pvmGetPagePointer(pvmId: number, page: number): number;
223
209
  /**
224
210
  * assembly/api-utils/pvmWriteMemory
225
211
  * @param pvmId `u32`
@@ -231,30 +217,26 @@ export declare function pvmWriteMemory(pvmId: number, address: number, data: Uin
231
217
  /**
232
218
  * assembly/api-utils/pvmResume
233
219
  * @param pvmId `u32`
234
- * @param gas `i64`
220
+ * @param gas `u64`
235
221
  * @param pc `u32`
236
222
  * @param logs `bool`
237
223
  * @returns `assembly/api-types/VmPause | null`
238
224
  */
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;
225
+ export declare function pvmResume(pvmId: number, gas: bigint, pc: number, logs?: boolean): __Record68<never> | null;
246
226
  /** assembly/program/Program */
247
- declare class __Internref26 extends Number {
248
- private __nominal26: symbol;
227
+ declare class __Internref35 extends Number {
228
+ private __nominal35: symbol;
249
229
  private __nominal0: symbol;
250
230
  }
251
- /** assembly/memory/MemoryBuilder */
252
- declare class __Internref41 extends Number {
253
- private __nominal41: symbol;
254
- private __nominal0: symbol;
231
+ /** assembly/api-utils/BlockGasCost */
232
+ declare interface __Record58<TOmittable> {
233
+ /** @type `u32` */
234
+ pc: number | TOmittable;
235
+ /** @type `u64` */
236
+ gas: bigint | TOmittable;
255
237
  }
256
238
  /** assembly/api-types/InitialPage */
257
- declare interface __Record44<TOmittable> {
239
+ declare interface __Record54<TOmittable> {
258
240
  /** @type `u32` */
259
241
  address: number | TOmittable;
260
242
  /** @type `u32` */
@@ -263,67 +245,36 @@ declare interface __Record44<TOmittable> {
263
245
  access: number | TOmittable;
264
246
  }
265
247
  /** assembly/api-types/InitialChunk */
266
- declare interface __Record46<TOmittable> {
248
+ declare interface __Record56<TOmittable> {
267
249
  /** @type `u32` */
268
250
  address: number | TOmittable;
269
251
  /** @type `~lib/array/Array<u8>` */
270
252
  data: Array<number>;
271
253
  }
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;
254
+ /** assembly/spi/StandardProgram */
255
+ declare class __Internref51 extends Number {
256
+ private __nominal51: symbol;
285
257
  private __nominal0: symbol;
286
258
  }
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
259
  /** assembly/api-types/VmOutput */
297
- declare interface __Record51<TOmittable> {
260
+ declare interface __Record62<TOmittable> {
298
261
  /** @type `i32` */
299
262
  status: number | TOmittable;
300
263
  /** @type `u32` */
301
264
  exitCode: number | TOmittable;
302
265
  /** @type `u32` */
303
266
  pc: number | TOmittable;
304
- /** @type `i64` */
267
+ /** @type `u64` */
305
268
  gas: bigint | TOmittable;
306
269
  /** @type `~lib/array/Array<u8>` */
307
270
  result: Array<number>;
308
271
  /** @type `~lib/array/Array<u64>` */
309
272
  registers: Array<bigint>;
310
273
  /** @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;
274
+ memory: Array<__Record56<never>>;
324
275
  }
325
276
  /** assembly/api-types/VmPause */
326
- declare interface __Record60<TOmittable> {
277
+ declare interface __Record68<TOmittable> {
327
278
  /** @type `i32` */
328
279
  status: number | TOmittable;
329
280
  /** @type `u32` */
@@ -332,7 +283,7 @@ declare interface __Record60<TOmittable> {
332
283
  pc: number | TOmittable;
333
284
  /** @type `u32` */
334
285
  nextPc: number | TOmittable;
335
- /** @type `i64` */
286
+ /** @type `u64` */
336
287
  gas: bigint | TOmittable;
337
288
  /** @type `~lib/array/Array<u64>` */
338
289
  registers: Array<bigint>;