@fluffylabs/anan-as 1.1.6 → 1.2.0-015845d

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