@fluffylabs/anan-as 1.1.3-bac8f87 → 1.1.3-e3864a9

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 (57) hide show
  1. package/README.md +65 -7
  2. package/dist/bin/build-inline.js +70 -0
  3. package/dist/bin/fuzz.js +172 -0
  4. package/dist/bin/index.js +220 -0
  5. package/dist/bin/test-gas-cost.js +57 -0
  6. package/dist/bin/test-json.js +135 -0
  7. package/dist/bin/test-w3f.js +119 -0
  8. package/dist/bin/test.js +3 -0
  9. package/dist/build/compiler-inline.d.ts +11 -0
  10. package/dist/build/compiler-inline.js +22 -0
  11. package/dist/build/compiler.d.ts +26 -0
  12. package/dist/build/compiler.js +76 -0
  13. package/dist/build/compiler.wasm +0 -0
  14. package/{build → dist/build}/debug-inline.d.ts +1 -1
  15. package/dist/build/debug-inline.js +22 -0
  16. package/{build → dist/build}/debug-raw-inline.d.ts +1 -1
  17. package/dist/build/debug-raw-inline.js +22 -0
  18. package/{build → dist/build}/debug-raw.d.ts +100 -39
  19. package/{build → dist/build}/debug-raw.js +88 -37
  20. package/dist/build/debug-raw.wasm +0 -0
  21. package/{build → dist/build}/debug.d.ts +100 -39
  22. package/{build → dist/build}/debug.js +94 -39
  23. package/dist/build/debug.wasm +0 -0
  24. package/{build → dist/build}/release-inline.d.ts +1 -1
  25. package/dist/build/release-inline.js +22 -0
  26. package/{build → dist/build}/release-mini-inline.d.ts +1 -1
  27. package/dist/build/release-mini-inline.js +22 -0
  28. package/{build → dist/build}/release-mini.d.ts +100 -39
  29. package/{build → dist/build}/release-mini.js +94 -39
  30. package/dist/build/release-mini.wasm +0 -0
  31. package/{build → dist/build}/release-stub-inline.d.ts +1 -1
  32. package/dist/build/release-stub-inline.js +22 -0
  33. package/{build → dist/build}/release-stub.d.ts +100 -39
  34. package/{build → dist/build}/release-stub.js +94 -39
  35. package/dist/build/release-stub.wasm +0 -0
  36. package/{build → dist/build}/release.d.ts +100 -39
  37. package/{build → dist/build}/release.js +94 -39
  38. package/dist/build/release.wasm +0 -0
  39. package/{build → dist/build}/test-inline.d.ts +1 -1
  40. package/dist/build/test-inline.js +22 -0
  41. package/dist/build/test.wasm +0 -0
  42. package/dist/web/bump-version.js +7 -0
  43. package/package.json +46 -37
  44. package/build/debug-inline.js +0 -22
  45. package/build/debug-raw-inline.js +0 -22
  46. package/build/debug-raw.wasm +0 -0
  47. package/build/debug.wasm +0 -0
  48. package/build/release-inline.js +0 -22
  49. package/build/release-mini-inline.js +0 -22
  50. package/build/release-mini.wasm +0 -0
  51. package/build/release-stub-inline.js +0 -22
  52. package/build/release-stub.wasm +0 -0
  53. package/build/release.wasm +0 -0
  54. package/build/test-inline.js +0 -22
  55. package/build/test.wasm +0 -0
  56. /package/{build → dist/build}/test.d.ts +0 -0
  57. /package/{build → dist/build}/test.js +0 -0
@@ -1,22 +1,10 @@
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: __Internref26): 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;
16
4
  /**
17
5
  * assembly/api-debugger/resetJAM
18
6
  * @param program `~lib/array/Array<u8>`
19
- * @param pc `f64`
7
+ * @param pc `u32`
20
8
  * @param initialGas `i64`
21
9
  * @param args `~lib/array/Array<u8>`
22
10
  * @param hasMetadata `bool`
@@ -111,6 +99,34 @@ declare namespace __AdaptedExports {
111
99
  * @returns `bool`
112
100
  */
113
101
  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/runVm
110
+ * @param input `assembly/api-types/VmInput`
111
+ * @param logs `bool`
112
+ * @param useSbrkGas `bool`
113
+ * @returns `assembly/api-types/VmOutput`
114
+ */
115
+ export function runVm(input: __Internref48, logs?: boolean, useSbrkGas?: boolean): __Record49<never>;
116
+ /**
117
+ * assembly/api-internal/getOutputChunks
118
+ * @param memory `assembly/memory/Memory`
119
+ * @returns `~lib/array/Array<assembly/api-types/InitialChunk>`
120
+ */
121
+ export function getOutputChunks(memory: __Internref15): Array<__Record45<never>>;
122
+ /**
123
+ * assembly/api-internal/buildMemory
124
+ * @param builder `assembly/memory/MemoryBuilder`
125
+ * @param pages `~lib/array/Array<assembly/api-types/InitialPage>`
126
+ * @param chunks `~lib/array/Array<assembly/api-types/InitialChunk>`
127
+ * @returns `assembly/memory/Memory`
128
+ */
129
+ export function buildMemory(builder: __Internref40, pages: Array<__Record43<undefined>>, chunks: Array<__Record45<undefined>>): __Internref15;
114
130
  /** assembly/api-utils/InputKind */
115
131
  export enum InputKind {
116
132
  /** @type `i32` */
@@ -132,7 +148,7 @@ declare namespace __AdaptedExports {
132
148
  * @param withMetadata `i32`
133
149
  * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
134
150
  */
135
- export function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record50<never>>;
151
+ export function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record54<never>>;
136
152
  /**
137
153
  * assembly/api-utils/disassemble
138
154
  * @param input `~lib/array/Array<u8>`
@@ -147,12 +163,12 @@ declare namespace __AdaptedExports {
147
163
  * @param hasMetadata `i32`
148
164
  * @param program `~lib/array/Array<u8>`
149
165
  * @param initialRegisters `~lib/array/Array<u64>`
150
- * @param initialPageMap `~lib/array/Array<assembly/api-internal/InitialPage>`
151
- * @param initialMemory `~lib/array/Array<assembly/api-internal/InitialChunk>`
166
+ * @param initialPageMap `~lib/array/Array<assembly/api-types/InitialPage>`
167
+ * @param initialMemory `~lib/array/Array<assembly/api-types/InitialChunk>`
152
168
  * @param args `~lib/array/Array<u8>`
153
169
  * @returns `assembly/spi/StandardProgram`
154
170
  */
155
- export function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record46<undefined>>, initialMemory: Array<__Record48<undefined>>, args: Array<number>): __Internref42;
171
+ export function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record43<undefined>>, initialMemory: Array<__Record45<undefined>>, args: Array<number>): __Internref39;
156
172
  /**
157
173
  * assembly/api-utils/runProgram
158
174
  * @param program `assembly/spi/StandardProgram`
@@ -160,24 +176,71 @@ declare namespace __AdaptedExports {
160
176
  * @param programCounter `u32`
161
177
  * @param logs `bool`
162
178
  * @param useSbrkGas `bool`
163
- * @returns `assembly/api-internal/VmOutput`
179
+ * @returns `assembly/api-types/VmOutput`
164
180
  */
165
- export function runProgram(program: __Internref42, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean): __Record55<never>;
181
+ export function runProgram(program: __Internref39, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean): __Record49<never>;
182
+ /**
183
+ * assembly/api-utils/runJAM
184
+ * @param pc `u32`
185
+ * @param gas `i64`
186
+ * @param program `~lib/array/Array<u8>`
187
+ * @param args `~lib/array/Array<u8>`
188
+ * @param logs `bool`
189
+ * @param useSbrkGas `bool`
190
+ * @returns `assembly/api-types/ReturnValue`
191
+ */
192
+ export function runJAM(pc: number, gas: bigint, program: Array<number>, args: Array<number>, logs?: boolean, useSbrkGas?: boolean): __Record58<never>;
193
+ /**
194
+ * assembly/program-build/wrapAsProgram
195
+ * @param bytecode `~lib/typedarray/Uint8Array`
196
+ * @returns `~lib/typedarray/Uint8Array`
197
+ */
198
+ export function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
166
199
  }
167
200
  /** assembly/program/Program */
168
201
  declare class __Internref26 extends Number {
169
202
  private __nominal26: symbol;
170
203
  private __nominal0: symbol;
171
204
  }
172
- /** assembly/gas-costs/BlockGasCost */
173
- declare interface __Record50<TOmittable> {
205
+ /** assembly/api-types/VmInput */
206
+ declare class __Internref48 extends Number {
207
+ private __nominal48: symbol;
208
+ private __nominal0: symbol;
209
+ }
210
+ /** assembly/api-types/InitialChunk */
211
+ declare interface __Record45<TOmittable> {
212
+ /** @type `u32` */
213
+ address: number | TOmittable;
214
+ /** @type `~lib/array/Array<u8>` */
215
+ data: Array<number>;
216
+ }
217
+ /** assembly/api-types/VmOutput */
218
+ declare interface __Record49<TOmittable> {
219
+ /** @type `i32` */
220
+ status: number | TOmittable;
221
+ /** @type `~lib/array/Array<u64>` */
222
+ registers: Array<bigint>;
174
223
  /** @type `u32` */
175
224
  pc: number | TOmittable;
176
- /** @type `u64` */
225
+ /** @type `~lib/array/Array<assembly/api-types/InitialChunk>` */
226
+ memory: Array<__Record45<never>>;
227
+ /** @type `i64` */
177
228
  gas: bigint | TOmittable;
229
+ /** @type `u32` */
230
+ exitCode: number | TOmittable;
178
231
  }
179
- /** assembly/api-internal/InitialPage */
180
- declare interface __Record46<TOmittable> {
232
+ /** assembly/memory/Memory */
233
+ declare class __Internref15 extends Number {
234
+ private __nominal15: symbol;
235
+ private __nominal0: symbol;
236
+ }
237
+ /** assembly/memory/MemoryBuilder */
238
+ declare class __Internref40 extends Number {
239
+ private __nominal40: symbol;
240
+ private __nominal0: symbol;
241
+ }
242
+ /** assembly/api-types/InitialPage */
243
+ declare interface __Record43<TOmittable> {
181
244
  /** @type `u32` */
182
245
  address: number | TOmittable;
183
246
  /** @type `u32` */
@@ -185,32 +248,30 @@ declare interface __Record46<TOmittable> {
185
248
  /** @type `i32` */
186
249
  access: number | TOmittable;
187
250
  }
188
- /** assembly/api-internal/InitialChunk */
189
- declare interface __Record48<TOmittable> {
251
+ /** assembly/gas-costs/BlockGasCost */
252
+ declare interface __Record54<TOmittable> {
190
253
  /** @type `u32` */
191
- address: number | TOmittable;
192
- /** @type `~lib/array/Array<u8>` */
193
- data: Array<number>;
254
+ pc: number | TOmittable;
255
+ /** @type `u64` */
256
+ gas: bigint | TOmittable;
194
257
  }
195
258
  /** assembly/spi/StandardProgram */
196
- declare class __Internref42 extends Number {
197
- private __nominal42: symbol;
259
+ declare class __Internref39 extends Number {
260
+ private __nominal39: symbol;
198
261
  private __nominal0: symbol;
199
262
  }
200
- /** assembly/api-internal/VmOutput */
201
- declare interface __Record55<TOmittable> {
263
+ /** assembly/api-types/ReturnValue */
264
+ declare interface __Record58<TOmittable> {
202
265
  /** @type `i32` */
203
266
  status: number | TOmittable;
204
- /** @type `~lib/array/Array<u64>` */
205
- registers: Array<bigint>;
267
+ /** @type `u32` */
268
+ exitCode: number | TOmittable;
206
269
  /** @type `u32` */
207
270
  pc: number | TOmittable;
208
- /** @type `~lib/array/Array<assembly/api-internal/InitialChunk>` */
209
- memory: Array<__Record48<never>>;
210
271
  /** @type `i64` */
211
272
  gas: bigint | TOmittable;
212
- /** @type `u32` */
213
- exitCode: number | TOmittable;
273
+ /** @type `~lib/array/Array<u8>` */
274
+ result: Array<number>;
214
275
  }
215
276
  /** Instantiates the compiled WebAssembly module with the given imports. */
216
277
  export declare function instantiate(module: WebAssembly.Module, imports: {
@@ -22,18 +22,8 @@ export 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, 10, 0, bytecode) || __notnull();
33
- return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
34
- },
35
25
  resetJAM(program, pc, initialGas, args, hasMetadata) {
36
- // assembly/api-debugger/resetJAM(~lib/array/Array<u8>, f64, i64, ~lib/array/Array<u8>, bool?) => void
26
+ // assembly/api-debugger/resetJAM(~lib/array/Array<u8>, u32, i64, ~lib/array/Array<u8>, bool?) => void
37
27
  program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
38
28
  initialGas = initialGas || 0n;
39
29
  args = __lowerArray(__setU8, 6, 0, args) || __notnull();
@@ -118,6 +108,36 @@ export async function instantiate(module, imports = {}) {
118
108
  data = __lowerTypedArray(Uint8Array, 10, 0, data) || __notnull();
119
109
  return exports.setMemory(address, data) != 0;
120
110
  },
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
+ runVm(input, logs, useSbrkGas) {
117
+ // assembly/api-internal/runVm(assembly/api-types/VmInput, bool?, bool?) => assembly/api-types/VmOutput
118
+ input = __lowerInternref(input) || __notnull();
119
+ logs = logs ? 1 : 0;
120
+ useSbrkGas = useSbrkGas ? 1 : 0;
121
+ exports.__setArgumentsLength(arguments.length);
122
+ return __liftRecord49(exports.runVm(input, logs, useSbrkGas) >>> 0);
123
+ },
124
+ getOutputChunks(memory) {
125
+ // assembly/api-internal/getOutputChunks(assembly/memory/Memory) => ~lib/array/Array<assembly/api-types/InitialChunk>
126
+ memory = __lowerInternref(memory) || __notnull();
127
+ return __liftArray(pointer => __liftRecord45(__getU32(pointer)), 2, exports.getOutputChunks(memory) >>> 0);
128
+ },
129
+ buildMemory(builder, pages, chunks) {
130
+ // assembly/api-internal/buildMemory(assembly/memory/MemoryBuilder, ~lib/array/Array<assembly/api-types/InitialPage>, ~lib/array/Array<assembly/api-types/InitialChunk>) => assembly/memory/Memory
131
+ builder = __retain(__lowerInternref(builder) || __notnull());
132
+ pages = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord43(value) || __notnull()); }, 44, 2, pages) || __notnull());
133
+ chunks = __lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord45(value) || __notnull()); }, 46, 2, chunks) || __notnull();
134
+ try {
135
+ return __liftInternref(exports.buildMemory(builder, pages, chunks) >>> 0);
136
+ } finally {
137
+ __release(builder);
138
+ __release(pages);
139
+ }
140
+ },
121
141
  InputKind: (values => (
122
142
  // assembly/api-utils/InputKind
123
143
  values[values.Generic = exports["InputKind.Generic"].valueOf()] = "Generic",
@@ -133,7 +153,7 @@ export async function instantiate(module, imports = {}) {
133
153
  getGasCosts(input, kind, withMetadata) {
134
154
  // assembly/api-utils/getGasCosts(~lib/array/Array<u8>, i32, i32) => ~lib/array/Array<assembly/gas-costs/BlockGasCost>
135
155
  input = __lowerArray(__setU8, 6, 0, input) || __notnull();
136
- return __liftArray(pointer => __liftRecord50(__getU32(pointer)), 2, exports.getGasCosts(input, kind, withMetadata) >>> 0);
156
+ return __liftArray(pointer => __liftRecord54(__getU32(pointer)), 2, exports.getGasCosts(input, kind, withMetadata) >>> 0);
137
157
  },
138
158
  disassemble(input, kind, withMetadata) {
139
159
  // assembly/api-utils/disassemble(~lib/array/Array<u8>, i32, i32) => ~lib/string/String
@@ -141,11 +161,11 @@ export async function instantiate(module, imports = {}) {
141
161
  return __liftString(exports.disassemble(input, kind, withMetadata) >>> 0);
142
162
  },
143
163
  prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args) {
144
- // assembly/api-utils/prepareProgram(i32, i32, ~lib/array/Array<u8>, ~lib/array/Array<u64>, ~lib/array/Array<assembly/api-internal/InitialPage>, ~lib/array/Array<assembly/api-internal/InitialChunk>, ~lib/array/Array<u8>) => assembly/spi/StandardProgram
164
+ // 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>) => assembly/spi/StandardProgram
145
165
  program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
146
- initialRegisters = __retain(__lowerArray(__setU64, 52, 3, initialRegisters) || __notnull());
147
- initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord46(value) || __notnull()); }, 47, 2, initialPageMap) || __notnull());
148
- initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord48(value) || __notnull()); }, 49, 2, initialMemory) || __notnull());
166
+ initialRegisters = __retain(__lowerArray(__setU64, 50, 3, initialRegisters) || __notnull());
167
+ initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord43(value) || __notnull()); }, 44, 2, initialPageMap) || __notnull());
168
+ initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord45(value) || __notnull()); }, 46, 2, initialMemory) || __notnull());
149
169
  args = __lowerArray(__setU8, 6, 0, args) || __notnull();
150
170
  try {
151
171
  return __liftInternref(exports.prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args) >>> 0);
@@ -157,65 +177,96 @@ export async function instantiate(module, imports = {}) {
157
177
  }
158
178
  },
159
179
  runProgram(program, initialGas, programCounter, logs, useSbrkGas) {
160
- // assembly/api-utils/runProgram(assembly/spi/StandardProgram, i64?, u32?, bool?, bool?) => assembly/api-internal/VmOutput
180
+ // assembly/api-utils/runProgram(assembly/spi/StandardProgram, i64?, u32?, bool?, bool?) => assembly/api-types/VmOutput
161
181
  program = __lowerInternref(program) || __notnull();
162
182
  initialGas = initialGas || 0n;
163
183
  logs = logs ? 1 : 0;
164
184
  useSbrkGas = useSbrkGas ? 1 : 0;
165
185
  exports.__setArgumentsLength(arguments.length);
166
- return __liftRecord55(exports.runProgram(program, initialGas, programCounter, logs, useSbrkGas) >>> 0);
186
+ return __liftRecord49(exports.runProgram(program, initialGas, programCounter, logs, useSbrkGas) >>> 0);
187
+ },
188
+ runJAM(pc, gas, program, args, logs, useSbrkGas) {
189
+ // assembly/api-utils/runJAM(u32, i64, ~lib/array/Array<u8>, ~lib/array/Array<u8>, bool?, bool?) => assembly/api-types/ReturnValue
190
+ gas = gas || 0n;
191
+ program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
192
+ args = __lowerArray(__setU8, 6, 0, args) || __notnull();
193
+ logs = logs ? 1 : 0;
194
+ useSbrkGas = useSbrkGas ? 1 : 0;
195
+ try {
196
+ exports.__setArgumentsLength(arguments.length);
197
+ return __liftRecord58(exports.runJAM(pc, gas, program, args, logs, useSbrkGas) >>> 0);
198
+ } finally {
199
+ __release(program);
200
+ }
201
+ },
202
+ wrapAsProgram(bytecode) {
203
+ // assembly/program-build/wrapAsProgram(~lib/typedarray/Uint8Array) => ~lib/typedarray/Uint8Array
204
+ bytecode = __lowerTypedArray(Uint8Array, 10, 0, bytecode) || __notnull();
205
+ return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
167
206
  },
168
207
  }, exports);
169
- function __liftRecord50(pointer) {
170
- // assembly/gas-costs/BlockGasCost
208
+ function __liftRecord45(pointer) {
209
+ // assembly/api-types/InitialChunk
171
210
  // Hint: Opt-out from lifting as a record by providing an empty constructor
172
211
  if (!pointer) return null;
173
212
  return {
174
- pc: __getU32(pointer + 0),
175
- gas: __getU64(pointer + 8),
213
+ address: __getU32(pointer + 0),
214
+ data: __liftArray(__getU8, 0, __getU32(pointer + 4)),
176
215
  };
177
216
  }
178
- function __lowerRecord46(value) {
179
- // assembly/api-internal/InitialPage
217
+ function __liftRecord49(pointer) {
218
+ // assembly/api-types/VmOutput
219
+ // Hint: Opt-out from lifting as a record by providing an empty constructor
220
+ if (!pointer) return null;
221
+ return {
222
+ status: __getI32(pointer + 0),
223
+ registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 4)),
224
+ pc: __getU32(pointer + 8),
225
+ memory: __liftArray(pointer => __liftRecord45(__getU32(pointer)), 2, __getU32(pointer + 12)),
226
+ gas: __getI64(pointer + 16),
227
+ exitCode: __getU32(pointer + 24),
228
+ };
229
+ }
230
+ function __lowerRecord43(value) {
231
+ // assembly/api-types/InitialPage
180
232
  // Hint: Opt-out from lowering as a record by providing an empty constructor
181
233
  if (value == null) return 0;
182
- const pointer = exports.__pin(exports.__new(12, 46));
234
+ const pointer = exports.__pin(exports.__new(12, 43));
183
235
  __setU32(pointer + 0, value.address);
184
236
  __setU32(pointer + 4, value.length);
185
237
  __setU32(pointer + 8, value.access);
186
238
  exports.__unpin(pointer);
187
239
  return pointer;
188
240
  }
189
- function __lowerRecord48(value) {
190
- // assembly/api-internal/InitialChunk
241
+ function __lowerRecord45(value) {
242
+ // assembly/api-types/InitialChunk
191
243
  // Hint: Opt-out from lowering as a record by providing an empty constructor
192
244
  if (value == null) return 0;
193
- const pointer = exports.__pin(exports.__new(8, 48));
245
+ const pointer = exports.__pin(exports.__new(8, 45));
194
246
  __setU32(pointer + 0, value.address);
195
247
  __setU32(pointer + 4, __lowerArray(__setU8, 6, 0, value.data) || __notnull());
196
248
  exports.__unpin(pointer);
197
249
  return pointer;
198
250
  }
199
- function __liftRecord48(pointer) {
200
- // assembly/api-internal/InitialChunk
251
+ function __liftRecord54(pointer) {
252
+ // assembly/gas-costs/BlockGasCost
201
253
  // Hint: Opt-out from lifting as a record by providing an empty constructor
202
254
  if (!pointer) return null;
203
255
  return {
204
- address: __getU32(pointer + 0),
205
- data: __liftArray(__getU8, 0, __getU32(pointer + 4)),
256
+ pc: __getU32(pointer + 0),
257
+ gas: __getU64(pointer + 8),
206
258
  };
207
259
  }
208
- function __liftRecord55(pointer) {
209
- // assembly/api-internal/VmOutput
260
+ function __liftRecord58(pointer) {
261
+ // assembly/api-types/ReturnValue
210
262
  // Hint: Opt-out from lifting as a record by providing an empty constructor
211
263
  if (!pointer) return null;
212
264
  return {
213
265
  status: __getI32(pointer + 0),
214
- registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 4)),
266
+ exitCode: __getU32(pointer + 4),
215
267
  pc: __getU32(pointer + 8),
216
- memory: __liftArray(pointer => __liftRecord48(__getU32(pointer)), 2, __getU32(pointer + 12)),
217
268
  gas: __getI64(pointer + 16),
218
- exitCode: __getU32(pointer + 24),
269
+ result: __liftArray(__getU8, 0, __getU32(pointer + 24)),
219
270
  };
220
271
  }
221
272
  function __liftString(pointer) {
Binary file
@@ -1,21 +1,9 @@
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: __Internref26): 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;
15
3
  /**
16
4
  * assembly/api-debugger/resetJAM
17
5
  * @param program `~lib/array/Array<u8>`
18
- * @param pc `f64`
6
+ * @param pc `u32`
19
7
  * @param initialGas `i64`
20
8
  * @param args `~lib/array/Array<u8>`
21
9
  * @param hasMetadata `bool`
@@ -110,6 +98,34 @@ export declare function getMemory(address: number, length: number): Uint8Array |
110
98
  * @returns `bool`
111
99
  */
112
100
  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/runVm
109
+ * @param input `assembly/api-types/VmInput`
110
+ * @param logs `bool`
111
+ * @param useSbrkGas `bool`
112
+ * @returns `assembly/api-types/VmOutput`
113
+ */
114
+ export declare function runVm(input: __Internref48, logs?: boolean, useSbrkGas?: boolean): __Record49<never>;
115
+ /**
116
+ * assembly/api-internal/getOutputChunks
117
+ * @param memory `assembly/memory/Memory`
118
+ * @returns `~lib/array/Array<assembly/api-types/InitialChunk>`
119
+ */
120
+ export declare function getOutputChunks(memory: __Internref15): Array<__Record45<never>>;
121
+ /**
122
+ * assembly/api-internal/buildMemory
123
+ * @param builder `assembly/memory/MemoryBuilder`
124
+ * @param pages `~lib/array/Array<assembly/api-types/InitialPage>`
125
+ * @param chunks `~lib/array/Array<assembly/api-types/InitialChunk>`
126
+ * @returns `assembly/memory/Memory`
127
+ */
128
+ export declare function buildMemory(builder: __Internref40, pages: Array<__Record43<undefined>>, chunks: Array<__Record45<undefined>>): __Internref15;
113
129
  /** assembly/api-utils/InputKind */
114
130
  export declare enum InputKind {
115
131
  /** @type `i32` */
@@ -131,7 +147,7 @@ export declare enum HasMetadata {
131
147
  * @param withMetadata `i32`
132
148
  * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
133
149
  */
134
- export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record50<never>>;
150
+ export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record54<never>>;
135
151
  /**
136
152
  * assembly/api-utils/disassemble
137
153
  * @param input `~lib/array/Array<u8>`
@@ -146,12 +162,12 @@ export declare function disassemble(input: Array<number>, kind: number, withMeta
146
162
  * @param hasMetadata `i32`
147
163
  * @param program `~lib/array/Array<u8>`
148
164
  * @param initialRegisters `~lib/array/Array<u64>`
149
- * @param initialPageMap `~lib/array/Array<assembly/api-internal/InitialPage>`
150
- * @param initialMemory `~lib/array/Array<assembly/api-internal/InitialChunk>`
165
+ * @param initialPageMap `~lib/array/Array<assembly/api-types/InitialPage>`
166
+ * @param initialMemory `~lib/array/Array<assembly/api-types/InitialChunk>`
151
167
  * @param args `~lib/array/Array<u8>`
152
168
  * @returns `assembly/spi/StandardProgram`
153
169
  */
154
- export declare function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record46<undefined>>, initialMemory: Array<__Record48<undefined>>, args: Array<number>): __Internref42;
170
+ export declare function prepareProgram(kind: number, hasMetadata: number, program: Array<number>, initialRegisters: Array<bigint>, initialPageMap: Array<__Record43<undefined>>, initialMemory: Array<__Record45<undefined>>, args: Array<number>): __Internref39;
155
171
  /**
156
172
  * assembly/api-utils/runProgram
157
173
  * @param program `assembly/spi/StandardProgram`
@@ -159,23 +175,70 @@ export declare function prepareProgram(kind: number, hasMetadata: number, progra
159
175
  * @param programCounter `u32`
160
176
  * @param logs `bool`
161
177
  * @param useSbrkGas `bool`
162
- * @returns `assembly/api-internal/VmOutput`
178
+ * @returns `assembly/api-types/VmOutput`
163
179
  */
164
- export declare function runProgram(program: __Internref42, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean): __Record55<never>;
180
+ export declare function runProgram(program: __Internref39, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean): __Record49<never>;
181
+ /**
182
+ * assembly/api-utils/runJAM
183
+ * @param pc `u32`
184
+ * @param gas `i64`
185
+ * @param program `~lib/array/Array<u8>`
186
+ * @param args `~lib/array/Array<u8>`
187
+ * @param logs `bool`
188
+ * @param useSbrkGas `bool`
189
+ * @returns `assembly/api-types/ReturnValue`
190
+ */
191
+ export declare function runJAM(pc: number, gas: bigint, program: Array<number>, args: Array<number>, logs?: boolean, useSbrkGas?: boolean): __Record58<never>;
192
+ /**
193
+ * assembly/program-build/wrapAsProgram
194
+ * @param bytecode `~lib/typedarray/Uint8Array`
195
+ * @returns `~lib/typedarray/Uint8Array`
196
+ */
197
+ export declare function wrapAsProgram(bytecode: Uint8Array): Uint8Array;
165
198
  /** assembly/program/Program */
166
199
  declare class __Internref26 extends Number {
167
200
  private __nominal26: symbol;
168
201
  private __nominal0: symbol;
169
202
  }
170
- /** assembly/gas-costs/BlockGasCost */
171
- declare interface __Record50<TOmittable> {
203
+ /** assembly/api-types/VmInput */
204
+ declare class __Internref48 extends Number {
205
+ private __nominal48: symbol;
206
+ private __nominal0: symbol;
207
+ }
208
+ /** assembly/api-types/InitialChunk */
209
+ declare interface __Record45<TOmittable> {
210
+ /** @type `u32` */
211
+ address: number | TOmittable;
212
+ /** @type `~lib/array/Array<u8>` */
213
+ data: Array<number>;
214
+ }
215
+ /** assembly/api-types/VmOutput */
216
+ declare interface __Record49<TOmittable> {
217
+ /** @type `i32` */
218
+ status: number | TOmittable;
219
+ /** @type `~lib/array/Array<u64>` */
220
+ registers: Array<bigint>;
172
221
  /** @type `u32` */
173
222
  pc: number | TOmittable;
174
- /** @type `u64` */
223
+ /** @type `~lib/array/Array<assembly/api-types/InitialChunk>` */
224
+ memory: Array<__Record45<never>>;
225
+ /** @type `i64` */
175
226
  gas: bigint | TOmittable;
227
+ /** @type `u32` */
228
+ exitCode: number | TOmittable;
176
229
  }
177
- /** assembly/api-internal/InitialPage */
178
- declare interface __Record46<TOmittable> {
230
+ /** assembly/memory/Memory */
231
+ declare class __Internref15 extends Number {
232
+ private __nominal15: symbol;
233
+ private __nominal0: symbol;
234
+ }
235
+ /** assembly/memory/MemoryBuilder */
236
+ declare class __Internref40 extends Number {
237
+ private __nominal40: symbol;
238
+ private __nominal0: symbol;
239
+ }
240
+ /** assembly/api-types/InitialPage */
241
+ declare interface __Record43<TOmittable> {
179
242
  /** @type `u32` */
180
243
  address: number | TOmittable;
181
244
  /** @type `u32` */
@@ -183,30 +246,28 @@ declare interface __Record46<TOmittable> {
183
246
  /** @type `i32` */
184
247
  access: number | TOmittable;
185
248
  }
186
- /** assembly/api-internal/InitialChunk */
187
- declare interface __Record48<TOmittable> {
249
+ /** assembly/gas-costs/BlockGasCost */
250
+ declare interface __Record54<TOmittable> {
188
251
  /** @type `u32` */
189
- address: number | TOmittable;
190
- /** @type `~lib/array/Array<u8>` */
191
- data: Array<number>;
252
+ pc: number | TOmittable;
253
+ /** @type `u64` */
254
+ gas: bigint | TOmittable;
192
255
  }
193
256
  /** assembly/spi/StandardProgram */
194
- declare class __Internref42 extends Number {
195
- private __nominal42: symbol;
257
+ declare class __Internref39 extends Number {
258
+ private __nominal39: symbol;
196
259
  private __nominal0: symbol;
197
260
  }
198
- /** assembly/api-internal/VmOutput */
199
- declare interface __Record55<TOmittable> {
261
+ /** assembly/api-types/ReturnValue */
262
+ declare interface __Record58<TOmittable> {
200
263
  /** @type `i32` */
201
264
  status: number | TOmittable;
202
- /** @type `~lib/array/Array<u64>` */
203
- registers: Array<bigint>;
265
+ /** @type `u32` */
266
+ exitCode: number | TOmittable;
204
267
  /** @type `u32` */
205
268
  pc: number | TOmittable;
206
- /** @type `~lib/array/Array<assembly/api-internal/InitialChunk>` */
207
- memory: Array<__Record48<never>>;
208
269
  /** @type `i64` */
209
270
  gas: bigint | TOmittable;
210
- /** @type `u32` */
211
- exitCode: number | TOmittable;
271
+ /** @type `~lib/array/Array<u8>` */
272
+ result: Array<number>;
212
273
  }