@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.
- package/README.md +21 -18
- package/build/debug-inline.js +16 -0
- package/build/debug-raw-inline.js +16 -0
- package/build/debug-raw.d.ts +9 -1
- package/build/debug-raw.js +6 -2
- package/build/debug-raw.wasm +0 -0
- package/build/debug.d.ts +9 -1
- package/build/debug.js +7 -2
- package/build/debug.wasm +0 -0
- package/build/release-inline.js +16 -0
- package/build/release-mini-inline.js +16 -0
- package/build/release-mini.d.ts +9 -1
- package/build/release-mini.js +7 -2
- package/build/release-mini.wasm +0 -0
- package/build/release-stub-inline.js +16 -0
- package/build/release-stub.d.ts +218 -0
- package/build/{release-raw.js → release-stub.js} +46 -3
- package/build/release-stub.wasm +0 -0
- package/build/release.d.ts +9 -1
- package/build/release.js +7 -2
- package/build/release.wasm +0 -0
- package/build/test-inline.js +16 -0
- package/package.json +34 -14
- package/build/release-raw.d.ts +0 -210
- package/build/release-raw.wasm +0 -0
- package/build/tests.d.ts +0 -24
- package/build/tests.js +0 -104
- package/build/tests.wasm +0 -0
|
@@ -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
|
-
|
|
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) =>
|
|
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
|
package/build/release.d.ts
CHANGED
|
@@ -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):
|
|
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) =>
|
|
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,
|
package/build/release.wasm
CHANGED
|
Binary file
|