@fluffylabs/anan-as 1.1.6 → 1.2.0-1917c4d

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