@fluffylabs/anan-as 1.0.0 → 1.1.0

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.
@@ -0,0 +1,218 @@
1
+ /** Exported memory */
2
+ export declare const memory: WebAssembly.Memory;
3
+ // Exported runtime interface
4
+ export declare function __new(size: number, id: number): number;
5
+ export declare function __pin(ptr: number): number;
6
+ export declare function __unpin(ptr: number): void;
7
+ export declare function __collect(): void;
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: __Internref26): 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;
21
+ /**
22
+ * assembly/api-debugger/resetJAM
23
+ * @param program `~lib/array/Array<u8>`
24
+ * @param pc `f64`
25
+ * @param initialGas `i64`
26
+ * @param args `~lib/array/Array<u8>`
27
+ * @param hasMetadata `bool`
28
+ */
29
+ export declare function resetJAM(program: Array<number>, pc: number, initialGas: bigint, args: Array<number>, hasMetadata?: boolean): void;
30
+ /**
31
+ * assembly/api-debugger/resetGeneric
32
+ * @param program `~lib/array/Array<u8>`
33
+ * @param flatRegisters `~lib/array/Array<u8>`
34
+ * @param initialGas `i64`
35
+ * @param hasMetadata `bool`
36
+ */
37
+ export declare function resetGeneric(program: Array<number>, flatRegisters: Array<number>, initialGas: bigint, hasMetadata?: boolean): void;
38
+ /**
39
+ * assembly/api-debugger/resetGenericWithMemory
40
+ * @param program `~lib/array/Array<u8>`
41
+ * @param flatRegisters `~lib/array/Array<u8>`
42
+ * @param pageMap `~lib/typedarray/Uint8Array`
43
+ * @param chunks `~lib/typedarray/Uint8Array`
44
+ * @param initialGas `i64`
45
+ * @param hasMetadata `bool`
46
+ */
47
+ export declare function resetGenericWithMemory(program: Array<number>, flatRegisters: Array<number>, pageMap: Uint8Array, chunks: Uint8Array, initialGas: bigint, hasMetadata?: boolean): void;
48
+ /**
49
+ * assembly/api-debugger/nextStep
50
+ * @returns `bool`
51
+ */
52
+ export declare function nextStep(): boolean;
53
+ /**
54
+ * assembly/api-debugger/nSteps
55
+ * @param steps `u32`
56
+ * @returns `bool`
57
+ */
58
+ export declare function nSteps(steps: number): boolean;
59
+ /**
60
+ * assembly/api-debugger/getProgramCounter
61
+ * @returns `u32`
62
+ */
63
+ export declare function getProgramCounter(): number;
64
+ /**
65
+ * assembly/api-debugger/setNextProgramCounter
66
+ * @param pc `u32`
67
+ */
68
+ export declare function setNextProgramCounter(pc: number): void;
69
+ /**
70
+ * assembly/api-debugger/getStatus
71
+ * @returns `u8`
72
+ */
73
+ export declare function getStatus(): number;
74
+ /**
75
+ * assembly/api-debugger/getExitArg
76
+ * @returns `u32`
77
+ */
78
+ export declare function getExitArg(): number;
79
+ /**
80
+ * assembly/api-debugger/getGasLeft
81
+ * @returns `i64`
82
+ */
83
+ export declare function getGasLeft(): bigint;
84
+ /**
85
+ * assembly/api-debugger/setGasLeft
86
+ * @param gas `i64`
87
+ */
88
+ export declare function setGasLeft(gas: bigint): void;
89
+ /**
90
+ * assembly/api-debugger/getRegisters
91
+ * @returns `~lib/typedarray/Uint8Array`
92
+ */
93
+ export declare function getRegisters(): Uint8Array;
94
+ /**
95
+ * assembly/api-debugger/setRegisters
96
+ * @param flatRegisters `~lib/array/Array<u8>`
97
+ */
98
+ export declare function setRegisters(flatRegisters: Array<number>): void;
99
+ /**
100
+ * assembly/api-debugger/getPageDump
101
+ * @param index `u32`
102
+ * @returns `~lib/typedarray/Uint8Array`
103
+ */
104
+ export declare function getPageDump(index: number): Uint8Array;
105
+ /**
106
+ * assembly/api-debugger/getMemory
107
+ * @param address `u32`
108
+ * @param length `u32`
109
+ * @returns `~lib/typedarray/Uint8Array | null`
110
+ */
111
+ export declare function getMemory(address: number, length: number): Uint8Array | null;
112
+ /**
113
+ * assembly/api-debugger/setMemory
114
+ * @param address `u32`
115
+ * @param data `~lib/typedarray/Uint8Array`
116
+ * @returns `bool`
117
+ */
118
+ export declare function setMemory(address: number, data: Uint8Array): boolean;
119
+ /** assembly/api-utils/InputKind */
120
+ export declare enum InputKind {
121
+ /** @type `i32` */
122
+ Generic,
123
+ /** @type `i32` */
124
+ SPI,
125
+ }
126
+ /** assembly/api-utils/HasMetadata */
127
+ export declare enum HasMetadata {
128
+ /** @type `i32` */
129
+ Yes,
130
+ /** @type `i32` */
131
+ No,
132
+ }
133
+ /**
134
+ * assembly/api-utils/getGasCosts
135
+ * @param input `~lib/array/Array<u8>`
136
+ * @param kind `i32`
137
+ * @param withMetadata `i32`
138
+ * @returns `~lib/array/Array<assembly/gas-costs/BlockGasCost>`
139
+ */
140
+ export declare function getGasCosts(input: Array<number>, kind: number, withMetadata: number): Array<__Record50<never>>;
141
+ /**
142
+ * assembly/api-utils/disassemble
143
+ * @param input `~lib/array/Array<u8>`
144
+ * @param kind `i32`
145
+ * @param withMetadata `i32`
146
+ * @returns `~lib/string/String`
147
+ */
148
+ export declare function disassemble(input: Array<number>, kind: number, withMetadata: number): string;
149
+ /**
150
+ * assembly/api-utils/prepareProgram
151
+ * @param kind `i32`
152
+ * @param hasMetadata `i32`
153
+ * @param program `~lib/array/Array<u8>`
154
+ * @param initialRegisters `~lib/array/Array<u64>`
155
+ * @param initialPageMap `~lib/array/Array<assembly/api-internal/InitialPage>`
156
+ * @param initialMemory `~lib/array/Array<assembly/api-internal/InitialChunk>`
157
+ * @param args `~lib/array/Array<u8>`
158
+ * @returns `assembly/spi/StandardProgram`
159
+ */
160
+ 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;
161
+ /**
162
+ * assembly/api-utils/runProgram
163
+ * @param program `assembly/spi/StandardProgram`
164
+ * @param initialGas `i64`
165
+ * @param programCounter `u32`
166
+ * @param logs `bool`
167
+ * @param useSbrkGas `bool`
168
+ * @returns `assembly/api-internal/VmOutput`
169
+ */
170
+ export declare function runProgram(program: __Internref42, initialGas?: bigint, programCounter?: number, logs?: boolean, useSbrkGas?: boolean): __Record55<never>;
171
+ /** assembly/program/Program */
172
+ declare class __Internref26 extends Number {
173
+ private __nominal26: symbol;
174
+ private __nominal0: symbol;
175
+ }
176
+ /** assembly/gas-costs/BlockGasCost */
177
+ declare interface __Record50<TOmittable> {
178
+ /** @type `u32` */
179
+ pc: number | TOmittable;
180
+ /** @type `u64` */
181
+ gas: bigint | TOmittable;
182
+ }
183
+ /** assembly/api-internal/InitialPage */
184
+ declare interface __Record46<TOmittable> {
185
+ /** @type `u32` */
186
+ address: number | TOmittable;
187
+ /** @type `u32` */
188
+ length: number | TOmittable;
189
+ /** @type `i32` */
190
+ access: number | TOmittable;
191
+ }
192
+ /** assembly/api-internal/InitialChunk */
193
+ declare interface __Record48<TOmittable> {
194
+ /** @type `u32` */
195
+ address: number | TOmittable;
196
+ /** @type `~lib/array/Array<u8>` */
197
+ data: Array<number>;
198
+ }
199
+ /** assembly/spi/StandardProgram */
200
+ declare class __Internref42 extends Number {
201
+ private __nominal42: symbol;
202
+ private __nominal0: symbol;
203
+ }
204
+ /** assembly/api-internal/VmOutput */
205
+ declare interface __Record55<TOmittable> {
206
+ /** @type `i32` */
207
+ status: number | TOmittable;
208
+ /** @type `~lib/array/Array<u64>` */
209
+ registers: Array<bigint>;
210
+ /** @type `u32` */
211
+ pc: number | TOmittable;
212
+ /** @type `~lib/array/Array<assembly/api-internal/InitialChunk>` */
213
+ memory: Array<__Record48<never>>;
214
+ /** @type `i64` */
215
+ gas: bigint | TOmittable;
216
+ /** @type `u32` */
217
+ exitCode: number | TOmittable;
218
+ }
@@ -1,4 +1,4 @@
1
- export async function instantiate(module, imports = {}) {
1
+ async function instantiate(module, imports = {}) {
2
2
  const adaptedImports = {
3
3
  env: Object.setPrototypeOf({
4
4
  abort(message, fileName, lineNumber, columnNumber) {
@@ -109,10 +109,14 @@ export async function instantiate(module, imports = {}) {
109
109
  // assembly/api-debugger/getPageDump(u32) => ~lib/typedarray/Uint8Array
110
110
  return __liftTypedArray(Uint8Array, exports.getPageDump(index) >>> 0);
111
111
  },
112
+ getMemory(address, length) {
113
+ // assembly/api-debugger/getMemory(u32, u32) => ~lib/typedarray/Uint8Array | null
114
+ return __liftTypedArray(Uint8Array, exports.getMemory(address, length) >>> 0);
115
+ },
112
116
  setMemory(address, data) {
113
- // assembly/api-debugger/setMemory(u32, ~lib/typedarray/Uint8Array) => void
117
+ // assembly/api-debugger/setMemory(u32, ~lib/typedarray/Uint8Array) => bool
114
118
  data = __lowerTypedArray(Uint8Array, 10, 0, data) || __notnull();
115
- exports.setMemory(address, data);
119
+ return exports.setMemory(address, data) != 0;
116
120
  },
117
121
  InputKind: (values => (
118
122
  // assembly/api-utils/InputKind
@@ -370,3 +374,42 @@ export async function instantiate(module, imports = {}) {
370
374
  }
371
375
  return adaptedExports;
372
376
  }
377
+ export const {
378
+ memory,
379
+ __new,
380
+ __pin,
381
+ __unpin,
382
+ __collect,
383
+ __rtti_base,
384
+ getAssembly,
385
+ wrapAsProgram,
386
+ resetJAM,
387
+ resetGeneric,
388
+ resetGenericWithMemory,
389
+ nextStep,
390
+ nSteps,
391
+ getProgramCounter,
392
+ setNextProgramCounter,
393
+ getStatus,
394
+ getExitArg,
395
+ getGasLeft,
396
+ setGasLeft,
397
+ getRegisters,
398
+ setRegisters,
399
+ getPageDump,
400
+ getMemory,
401
+ setMemory,
402
+ InputKind,
403
+ HasMetadata,
404
+ getGasCosts,
405
+ disassemble,
406
+ prepareProgram,
407
+ runProgram,
408
+ } = await (async url => instantiate(
409
+ await (async () => {
410
+ const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null);
411
+ if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); }
412
+ else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); }
413
+ })(), {
414
+ }
415
+ ))(new URL("release-stub.wasm", import.meta.url));
Binary file
@@ -96,12 +96,20 @@ export declare function setRegisters(flatRegisters: Array<number>): void;
96
96
  * @returns `~lib/typedarray/Uint8Array`
97
97
  */
98
98
  export declare function getPageDump(index: number): Uint8Array;
99
+ /**
100
+ * assembly/api-debugger/getMemory
101
+ * @param address `u32`
102
+ * @param length `u32`
103
+ * @returns `~lib/typedarray/Uint8Array | null`
104
+ */
105
+ export declare function getMemory(address: number, length: number): Uint8Array | null;
99
106
  /**
100
107
  * assembly/api-debugger/setMemory
101
108
  * @param address `u32`
102
109
  * @param data `~lib/typedarray/Uint8Array`
110
+ * @returns `bool`
103
111
  */
104
- export declare function setMemory(address: number, data: Uint8Array): void;
112
+ export declare function setMemory(address: number, data: Uint8Array): boolean;
105
113
  /** assembly/api-utils/InputKind */
106
114
  export declare enum InputKind {
107
115
  /** @type `i32` */
package/build/release.js CHANGED
@@ -109,10 +109,14 @@ async function instantiate(module, imports = {}) {
109
109
  // assembly/api-debugger/getPageDump(u32) => ~lib/typedarray/Uint8Array
110
110
  return __liftTypedArray(Uint8Array, exports.getPageDump(index) >>> 0);
111
111
  },
112
+ getMemory(address, length) {
113
+ // assembly/api-debugger/getMemory(u32, u32) => ~lib/typedarray/Uint8Array | null
114
+ return __liftTypedArray(Uint8Array, exports.getMemory(address, length) >>> 0);
115
+ },
112
116
  setMemory(address, data) {
113
- // assembly/api-debugger/setMemory(u32, ~lib/typedarray/Uint8Array) => void
117
+ // assembly/api-debugger/setMemory(u32, ~lib/typedarray/Uint8Array) => bool
114
118
  data = __lowerTypedArray(Uint8Array, 10, 0, data) || __notnull();
115
- exports.setMemory(address, data);
119
+ return exports.setMemory(address, data) != 0;
116
120
  },
117
121
  InputKind: (values => (
118
122
  // assembly/api-utils/InputKind
@@ -388,6 +392,7 @@ export const {
388
392
  getRegisters,
389
393
  setRegisters,
390
394
  getPageDump,
395
+ getMemory,
391
396
  setMemory,
392
397
  InputKind,
393
398
  HasMetadata,
Binary file