@fluffylabs/anan-as 1.1.3-cc868cf → 1.1.3-e01d5ea
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 +65 -7
- package/dist/bin/build-inline.js +70 -0
- package/dist/bin/fuzz.js +172 -0
- package/dist/bin/index.js +220 -0
- package/dist/bin/test-gas-cost.js +57 -0
- package/dist/bin/test-json.js +135 -0
- package/dist/bin/test-w3f.js +119 -0
- package/dist/bin/test.js +3 -0
- package/dist/build/compiler-inline.d.ts +11 -0
- package/dist/build/compiler-inline.js +22 -0
- package/dist/build/compiler.d.ts +26 -0
- package/dist/build/compiler.js +76 -0
- package/dist/build/compiler.wasm +0 -0
- package/{build → dist/build}/debug-inline.d.ts +1 -1
- package/dist/build/debug-inline.js +22 -0
- package/{build → dist/build}/debug-raw-inline.d.ts +1 -1
- package/dist/build/debug-raw-inline.js +22 -0
- package/{build → dist/build}/debug-raw.d.ts +100 -39
- package/{build → dist/build}/debug-raw.js +88 -37
- package/dist/build/debug-raw.wasm +0 -0
- package/{build → dist/build}/debug.d.ts +100 -39
- package/{build → dist/build}/debug.js +94 -39
- package/dist/build/debug.wasm +0 -0
- package/{build → dist/build}/release-inline.d.ts +1 -1
- package/dist/build/release-inline.js +22 -0
- package/{build → dist/build}/release-mini-inline.d.ts +1 -1
- package/dist/build/release-mini-inline.js +22 -0
- package/{build → dist/build}/release-mini.d.ts +100 -39
- package/{build → dist/build}/release-mini.js +94 -39
- package/dist/build/release-mini.wasm +0 -0
- package/{build → dist/build}/release-stub-inline.d.ts +1 -1
- package/dist/build/release-stub-inline.js +22 -0
- package/{build → dist/build}/release-stub.d.ts +100 -39
- package/{build → dist/build}/release-stub.js +94 -39
- package/dist/build/release-stub.wasm +0 -0
- package/{build → dist/build}/release.d.ts +100 -39
- package/{build → dist/build}/release.js +94 -39
- package/dist/build/release.wasm +0 -0
- package/{build → dist/build}/test-inline.d.ts +1 -1
- package/dist/build/test-inline.js +22 -0
- package/dist/build/test.wasm +0 -0
- package/dist/web/bump-version.js +7 -0
- package/package.json +46 -37
- package/build/debug-inline.js +0 -22
- package/build/debug-raw-inline.js +0 -22
- package/build/debug-raw.wasm +0 -0
- package/build/debug.wasm +0 -0
- package/build/release-inline.js +0 -22
- package/build/release-mini-inline.js +0 -22
- package/build/release-mini.wasm +0 -0
- package/build/release-stub-inline.js +0 -22
- package/build/release-stub.wasm +0 -0
- package/build/release.wasm +0 -0
- package/build/test-inline.js +0 -22
- package/build/test.wasm +0 -0
- /package/{build → dist/build}/test.d.ts +0 -0
- /package/{build → dist/build}/test.js +0 -0
|
@@ -22,18 +22,8 @@ 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>,
|
|
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 @@ 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 @@ 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 =>
|
|
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 @@ 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-
|
|
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,
|
|
147
|
-
initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer,
|
|
148
|
-
initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer,
|
|
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 @@ 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-
|
|
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
|
|
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
|
|
170
|
-
// assembly/
|
|
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
|
-
|
|
175
|
-
|
|
213
|
+
address: __getU32(pointer + 0),
|
|
214
|
+
data: __liftArray(__getU8, 0, __getU32(pointer + 4)),
|
|
176
215
|
};
|
|
177
216
|
}
|
|
178
|
-
function
|
|
179
|
-
// assembly/api-
|
|
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,
|
|
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
|
|
190
|
-
// assembly/api-
|
|
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,
|
|
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
|
|
200
|
-
// assembly/
|
|
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
|
-
|
|
205
|
-
|
|
256
|
+
pc: __getU32(pointer + 0),
|
|
257
|
+
gas: __getU64(pointer + 8),
|
|
206
258
|
};
|
|
207
259
|
}
|
|
208
|
-
function
|
|
209
|
-
// assembly/api-
|
|
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
|
-
|
|
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
|
-
|
|
269
|
+
result: __liftArray(__getU8, 0, __getU32(pointer + 24)),
|
|
219
270
|
};
|
|
220
271
|
}
|
|
221
272
|
function __liftString(pointer) {
|
|
@@ -376,8 +427,6 @@ async function instantiate(module, imports = {}) {
|
|
|
376
427
|
}
|
|
377
428
|
export const {
|
|
378
429
|
memory,
|
|
379
|
-
getAssembly,
|
|
380
|
-
wrapAsProgram,
|
|
381
430
|
resetJAM,
|
|
382
431
|
resetGeneric,
|
|
383
432
|
resetGenericWithMemory,
|
|
@@ -394,12 +443,18 @@ export const {
|
|
|
394
443
|
getPageDump,
|
|
395
444
|
getMemory,
|
|
396
445
|
setMemory,
|
|
446
|
+
getAssembly,
|
|
447
|
+
runVm,
|
|
448
|
+
getOutputChunks,
|
|
449
|
+
buildMemory,
|
|
397
450
|
InputKind,
|
|
398
451
|
HasMetadata,
|
|
399
452
|
getGasCosts,
|
|
400
453
|
disassemble,
|
|
401
454
|
prepareProgram,
|
|
402
455
|
runProgram,
|
|
456
|
+
runJAM,
|
|
457
|
+
wrapAsProgram,
|
|
403
458
|
} = await (async url => instantiate(
|
|
404
459
|
await (async () => {
|
|
405
460
|
const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null);
|
|
Binary file
|