@fluffylabs/anan-as 1.2.0 → 1.3.0-39d3435
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/dist/bin/index.js +138 -5
- package/dist/bin/src/fuzz.js +2 -2
- package/dist/bin/src/test-json.js +2 -6
- package/dist/bin/src/trace-parse.js +1 -0
- package/dist/bin/src/trace-replay.js +14 -9
- package/dist/bin/src/tracer.js +16 -13
- package/dist/bin/src/utils.js +2 -2
- package/dist/build/compiler-inline.js +1 -1
- package/dist/build/compiler.d.ts +17 -13
- package/dist/build/compiler.js +13 -21
- package/dist/build/compiler.wasm +0 -0
- package/dist/build/debug-inline.js +1 -1
- package/dist/build/debug-raw-inline.js +1 -1
- package/dist/build/debug-raw.d.ts +50 -112
- package/dist/build/debug-raw.js +78 -139
- package/dist/build/debug-raw.wasm +0 -0
- package/dist/build/debug.d.ts +50 -112
- package/dist/build/debug.js +81 -147
- package/dist/build/debug.wasm +0 -0
- package/dist/build/js/assembly/api-debugger.d.ts +55 -0
- package/dist/build/js/assembly/api-debugger.js +245 -0
- package/dist/build/js/assembly/api-internal.d.ts +13 -0
- package/dist/build/js/assembly/api-internal.js +191 -0
- package/dist/build/js/assembly/api-types.d.ts +45 -0
- package/dist/build/js/assembly/api-types.js +52 -0
- package/dist/build/js/assembly/api-utils.d.ts +79 -0
- package/dist/build/js/assembly/api-utils.js +221 -0
- package/dist/build/js/assembly/arguments.d.ts +44 -0
- package/dist/build/js/assembly/arguments.js +164 -0
- package/dist/build/js/assembly/codec.d.ts +24 -0
- package/dist/build/js/assembly/codec.js +139 -0
- package/dist/build/js/assembly/gas.d.ts +11 -0
- package/dist/build/js/assembly/gas.js +33 -0
- package/dist/build/js/assembly/index-shared.d.ts +4 -0
- package/dist/build/js/assembly/index-shared.js +4 -0
- package/dist/build/js/assembly/instructions/bit.d.ts +11 -0
- package/dist/build/js/assembly/instructions/bit.js +53 -0
- package/dist/build/js/assembly/instructions/branch.d.ts +17 -0
- package/dist/build/js/assembly/instructions/branch.js +120 -0
- package/dist/build/js/assembly/instructions/jump.d.ts +5 -0
- package/dist/build/js/assembly/instructions/jump.js +21 -0
- package/dist/build/js/assembly/instructions/load.d.ts +17 -0
- package/dist/build/js/assembly/instructions/load.js +134 -0
- package/dist/build/js/assembly/instructions/logic.d.ts +10 -0
- package/dist/build/js/assembly/instructions/logic.js +47 -0
- package/dist/build/js/assembly/instructions/math.d.ts +28 -0
- package/dist/build/js/assembly/instructions/math.js +225 -0
- package/dist/build/js/assembly/instructions/misc.d.ts +6 -0
- package/dist/build/js/assembly/instructions/misc.js +22 -0
- package/dist/build/js/assembly/instructions/mov.d.ts +6 -0
- package/dist/build/js/assembly/instructions/mov.js +35 -0
- package/dist/build/js/assembly/instructions/outcome.d.ts +30 -0
- package/dist/build/js/assembly/instructions/outcome.js +88 -0
- package/dist/build/js/assembly/instructions/rot.d.ts +15 -0
- package/dist/build/js/assembly/instructions/rot.js +66 -0
- package/dist/build/js/assembly/instructions/set.d.ts +7 -0
- package/dist/build/js/assembly/instructions/set.js +36 -0
- package/dist/build/js/assembly/instructions/shift.d.ts +19 -0
- package/dist/build/js/assembly/instructions/shift.js +121 -0
- package/dist/build/js/assembly/instructions/store.d.ts +17 -0
- package/dist/build/js/assembly/instructions/store.js +101 -0
- package/dist/build/js/assembly/instructions/utils.d.ts +25 -0
- package/dist/build/js/assembly/instructions/utils.js +91 -0
- package/dist/build/js/assembly/instructions-exe.d.ts +2 -0
- package/dist/build/js/assembly/instructions-exe.js +245 -0
- package/dist/build/js/assembly/instructions.d.ts +10 -0
- package/dist/build/js/assembly/instructions.js +252 -0
- package/dist/build/js/assembly/interpreter.d.ts +28 -0
- package/dist/build/js/assembly/interpreter.js +221 -0
- package/dist/build/js/assembly/math.d.ts +6 -0
- package/dist/build/js/assembly/math.js +22 -0
- package/dist/build/js/assembly/memory-page.d.ts +36 -0
- package/dist/build/js/assembly/memory-page.js +74 -0
- package/dist/build/js/assembly/memory.d.ts +83 -0
- package/dist/build/js/assembly/memory.js +482 -0
- package/dist/build/js/assembly/portable.d.ts +24 -0
- package/dist/build/js/assembly/portable.js +363 -0
- package/dist/build/js/assembly/program-build.d.ts +2 -0
- package/dist/build/js/assembly/program-build.js +104 -0
- package/dist/build/js/assembly/program.d.ts +85 -0
- package/dist/build/js/assembly/program.js +340 -0
- package/dist/build/js/assembly/registers.d.ts +6 -0
- package/dist/build/js/assembly/registers.js +9 -0
- package/dist/build/js/assembly/spi.d.ts +92 -0
- package/dist/build/js/assembly/spi.js +152 -0
- package/dist/build/js/portable/bootstrap.d.ts +1 -0
- package/dist/build/js/portable/bootstrap.js +6 -0
- package/dist/build/js/portable/index.d.ts +4 -0
- package/dist/build/js/portable/index.js +6 -0
- package/dist/build/js/portable-bundle.js +4497 -0
- package/dist/build/release-inline.js +1 -1
- package/dist/build/release-mini-inline.js +1 -1
- package/dist/build/release-mini.d.ts +50 -112
- package/dist/build/release-mini.js +81 -147
- package/dist/build/release-mini.wasm +0 -0
- package/dist/build/release-stub-inline.js +1 -1
- package/dist/build/release-stub.d.ts +50 -112
- package/dist/build/release-stub.js +81 -147
- package/dist/build/release-stub.wasm +0 -0
- package/dist/build/release.d.ts +50 -112
- package/dist/build/release.js +81 -147
- package/dist/build/release.wasm +0 -0
- package/dist/build/test-inline.js +1 -1
- package/dist/build/test.wasm +0 -0
- package/dist/test/test-gas-cost.js +2 -3
- package/dist/test/test-trace-format.js +166 -0
- package/dist/test/test-w3f-common.js +125 -0
- package/dist/test/test-w3f-portable.js +5 -0
- package/dist/test/test-w3f.js +3 -120
- package/package.json +22 -11
|
@@ -22,43 +22,56 @@ 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
|
-
|
|
26
|
-
// assembly/api-
|
|
27
|
-
|
|
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, 15, 0, bytecode) || __notnull();
|
|
33
|
+
return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
|
|
34
|
+
},
|
|
35
|
+
resetJAM(program, pc, initialGas, args, hasMetadata, useBlockGas) {
|
|
36
|
+
// assembly/api-debugger/resetJAM(~lib/array/Array<u8>, u32, u64, ~lib/array/Array<u8>, bool?, bool?) => void
|
|
37
|
+
program = __retain(__lowerArray(__setU8, 32, 0, program) || __notnull());
|
|
28
38
|
initialGas = initialGas || 0n;
|
|
29
|
-
args = __lowerArray(__setU8,
|
|
39
|
+
args = __lowerArray(__setU8, 32, 0, args) || __notnull();
|
|
30
40
|
hasMetadata = hasMetadata ? 1 : 0;
|
|
41
|
+
useBlockGas = useBlockGas ? 1 : 0;
|
|
31
42
|
try {
|
|
32
43
|
exports.__setArgumentsLength(arguments.length);
|
|
33
|
-
exports.resetJAM(program, pc, initialGas, args, hasMetadata);
|
|
44
|
+
exports.resetJAM(program, pc, initialGas, args, hasMetadata, useBlockGas);
|
|
34
45
|
} finally {
|
|
35
46
|
__release(program);
|
|
36
47
|
}
|
|
37
48
|
},
|
|
38
|
-
resetGeneric(program, flatRegisters, initialGas, hasMetadata) {
|
|
39
|
-
// assembly/api-debugger/resetGeneric(~lib/array/Array<u8>, ~lib/array/Array<u8>,
|
|
40
|
-
program = __retain(__lowerArray(__setU8,
|
|
41
|
-
flatRegisters = __lowerArray(__setU8,
|
|
49
|
+
resetGeneric(program, flatRegisters, initialGas, hasMetadata, useBlockGas) {
|
|
50
|
+
// assembly/api-debugger/resetGeneric(~lib/array/Array<u8>, ~lib/array/Array<u8>, u64, bool?, bool?) => void
|
|
51
|
+
program = __retain(__lowerArray(__setU8, 32, 0, program) || __notnull());
|
|
52
|
+
flatRegisters = __lowerArray(__setU8, 32, 0, flatRegisters) || __notnull();
|
|
42
53
|
initialGas = initialGas || 0n;
|
|
43
54
|
hasMetadata = hasMetadata ? 1 : 0;
|
|
55
|
+
useBlockGas = useBlockGas ? 1 : 0;
|
|
44
56
|
try {
|
|
45
57
|
exports.__setArgumentsLength(arguments.length);
|
|
46
|
-
exports.resetGeneric(program, flatRegisters, initialGas, hasMetadata);
|
|
58
|
+
exports.resetGeneric(program, flatRegisters, initialGas, hasMetadata, useBlockGas);
|
|
47
59
|
} finally {
|
|
48
60
|
__release(program);
|
|
49
61
|
}
|
|
50
62
|
},
|
|
51
|
-
resetGenericWithMemory(program, flatRegisters, pageMap, chunks, initialGas, hasMetadata) {
|
|
52
|
-
// assembly/api-debugger/resetGenericWithMemory(~lib/array/Array<u8>, ~lib/array/Array<u8>, ~lib/typedarray/Uint8Array, ~lib/typedarray/Uint8Array,
|
|
53
|
-
program = __retain(__lowerArray(__setU8,
|
|
54
|
-
flatRegisters = __retain(__lowerArray(__setU8,
|
|
55
|
-
pageMap = __retain(__lowerTypedArray(Uint8Array,
|
|
56
|
-
chunks = __lowerTypedArray(Uint8Array,
|
|
63
|
+
resetGenericWithMemory(program, flatRegisters, pageMap, chunks, initialGas, hasMetadata, useBlockGas) {
|
|
64
|
+
// assembly/api-debugger/resetGenericWithMemory(~lib/array/Array<u8>, ~lib/array/Array<u8>, ~lib/typedarray/Uint8Array, ~lib/typedarray/Uint8Array, u64, bool?, bool?) => void
|
|
65
|
+
program = __retain(__lowerArray(__setU8, 32, 0, program) || __notnull());
|
|
66
|
+
flatRegisters = __retain(__lowerArray(__setU8, 32, 0, flatRegisters) || __notnull());
|
|
67
|
+
pageMap = __retain(__lowerTypedArray(Uint8Array, 15, 0, pageMap) || __notnull());
|
|
68
|
+
chunks = __lowerTypedArray(Uint8Array, 15, 0, chunks) || __notnull();
|
|
57
69
|
initialGas = initialGas || 0n;
|
|
58
70
|
hasMetadata = hasMetadata ? 1 : 0;
|
|
71
|
+
useBlockGas = useBlockGas ? 1 : 0;
|
|
59
72
|
try {
|
|
60
73
|
exports.__setArgumentsLength(arguments.length);
|
|
61
|
-
exports.resetGenericWithMemory(program, flatRegisters, pageMap, chunks, initialGas, hasMetadata);
|
|
74
|
+
exports.resetGenericWithMemory(program, flatRegisters, pageMap, chunks, initialGas, hasMetadata, useBlockGas);
|
|
62
75
|
} finally {
|
|
63
76
|
__release(program);
|
|
64
77
|
__release(flatRegisters);
|
|
@@ -82,7 +95,7 @@ async function instantiate(module, imports = {}) {
|
|
|
82
95
|
return exports.getExitArg() >>> 0;
|
|
83
96
|
},
|
|
84
97
|
setGasLeft(gas) {
|
|
85
|
-
// assembly/api-debugger/setGasLeft(
|
|
98
|
+
// assembly/api-debugger/setGasLeft(u64) => void
|
|
86
99
|
gas = gas || 0n;
|
|
87
100
|
exports.setGasLeft(gas);
|
|
88
101
|
},
|
|
@@ -92,7 +105,7 @@ async function instantiate(module, imports = {}) {
|
|
|
92
105
|
},
|
|
93
106
|
setRegisters(flatRegisters) {
|
|
94
107
|
// assembly/api-debugger/setRegisters(~lib/array/Array<u8>) => void
|
|
95
|
-
flatRegisters = __lowerArray(__setU8,
|
|
108
|
+
flatRegisters = __lowerArray(__setU8, 32, 0, flatRegisters) || __notnull();
|
|
96
109
|
exports.setRegisters(flatRegisters);
|
|
97
110
|
},
|
|
98
111
|
getPageDump(index) {
|
|
@@ -109,57 +122,9 @@ async function instantiate(module, imports = {}) {
|
|
|
109
122
|
},
|
|
110
123
|
setMemory(address, data) {
|
|
111
124
|
// assembly/api-debugger/setMemory(u32, ~lib/typedarray/Uint8Array) => bool
|
|
112
|
-
data = __lowerTypedArray(Uint8Array,
|
|
125
|
+
data = __lowerTypedArray(Uint8Array, 15, 0, data) || __notnull();
|
|
113
126
|
return exports.setMemory(address, data) != 0;
|
|
114
127
|
},
|
|
115
|
-
getAssembly(p) {
|
|
116
|
-
// assembly/api-internal/getAssembly(assembly/program/Program) => ~lib/string/String
|
|
117
|
-
p = __lowerInternref(p) || __notnull();
|
|
118
|
-
return __liftString(exports.getAssembly(p) >>> 0);
|
|
119
|
-
},
|
|
120
|
-
buildMemory(builder, pages, chunks) {
|
|
121
|
-
// assembly/api-internal/buildMemory(assembly/memory/MemoryBuilder, ~lib/array/Array<assembly/api-types/InitialPage>, ~lib/array/Array<assembly/api-types/InitialChunk>) => assembly/memory/Memory
|
|
122
|
-
builder = __retain(__lowerInternref(builder) || __notnull());
|
|
123
|
-
pages = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord44(value) || __notnull()); }, 45, 2, pages) || __notnull());
|
|
124
|
-
chunks = __lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord46(value) || __notnull()); }, 47, 2, chunks) || __notnull();
|
|
125
|
-
try {
|
|
126
|
-
return __liftInternref(exports.buildMemory(builder, pages, chunks) >>> 0);
|
|
127
|
-
} finally {
|
|
128
|
-
__release(builder);
|
|
129
|
-
__release(pages);
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
vmInit(input, useSbrkGas) {
|
|
133
|
-
// assembly/api-internal/vmInit(assembly/api-types/VmInput, bool?) => assembly/interpreter/Interpreter
|
|
134
|
-
input = __lowerInternref(input) || __notnull();
|
|
135
|
-
useSbrkGas = useSbrkGas ? 1 : 0;
|
|
136
|
-
exports.__setArgumentsLength(arguments.length);
|
|
137
|
-
return __liftInternref(exports.vmInit(input, useSbrkGas) >>> 0);
|
|
138
|
-
},
|
|
139
|
-
vmRunOnce(input, options) {
|
|
140
|
-
// assembly/api-internal/vmRunOnce(assembly/api-types/VmInput, assembly/api-types/VmRunOptions) => assembly/api-types/VmOutput
|
|
141
|
-
input = __retain(__lowerInternref(input) || __notnull());
|
|
142
|
-
options = __lowerRecord50(options) || __notnull();
|
|
143
|
-
try {
|
|
144
|
-
return __liftRecord51(exports.vmRunOnce(input, options) >>> 0);
|
|
145
|
-
} finally {
|
|
146
|
-
__release(input);
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
vmExecute(int, logs) {
|
|
150
|
-
// assembly/api-internal/vmExecute(assembly/interpreter/Interpreter, bool?) => void
|
|
151
|
-
int = __lowerInternref(int) || __notnull();
|
|
152
|
-
logs = logs ? 1 : 0;
|
|
153
|
-
exports.__setArgumentsLength(arguments.length);
|
|
154
|
-
exports.vmExecute(int, logs);
|
|
155
|
-
},
|
|
156
|
-
vmDestroy(int, dumpMemory) {
|
|
157
|
-
// assembly/api-internal/vmDestroy(assembly/interpreter/Interpreter, bool?) => assembly/api-types/VmOutput
|
|
158
|
-
int = __lowerInternref(int) || __notnull();
|
|
159
|
-
dumpMemory = dumpMemory ? 1 : 0;
|
|
160
|
-
exports.__setArgumentsLength(arguments.length);
|
|
161
|
-
return __liftRecord51(exports.vmDestroy(int, dumpMemory) >>> 0);
|
|
162
|
-
},
|
|
163
128
|
InputKind: (values => (
|
|
164
129
|
// assembly/api-utils/InputKind
|
|
165
130
|
values[values.Generic = exports["InputKind.Generic"].valueOf()] = "Generic",
|
|
@@ -172,25 +137,26 @@ async function instantiate(module, imports = {}) {
|
|
|
172
137
|
values[values.No = exports["HasMetadata.No"].valueOf()] = "No",
|
|
173
138
|
values
|
|
174
139
|
))({}),
|
|
175
|
-
|
|
176
|
-
// assembly/api-utils/
|
|
177
|
-
input = __lowerArray(__setU8,
|
|
178
|
-
return __liftArray(pointer =>
|
|
140
|
+
getBlockGasCosts(input, kind, withMetadata) {
|
|
141
|
+
// assembly/api-utils/getBlockGasCosts(~lib/array/Array<u8>, i32, i32) => ~lib/array/Array<assembly/api-utils/BlockGasCost>
|
|
142
|
+
input = __lowerArray(__setU8, 32, 0, input) || __notnull();
|
|
143
|
+
return __liftArray(pointer => __liftRecord58(__getU32(pointer)), 2, exports.getBlockGasCosts(input, kind, withMetadata) >>> 0);
|
|
179
144
|
},
|
|
180
145
|
disassemble(input, kind, withMetadata) {
|
|
181
146
|
// assembly/api-utils/disassemble(~lib/array/Array<u8>, i32, i32) => ~lib/string/String
|
|
182
|
-
input = __lowerArray(__setU8,
|
|
147
|
+
input = __lowerArray(__setU8, 32, 0, input) || __notnull();
|
|
183
148
|
return __liftString(exports.disassemble(input, kind, withMetadata) >>> 0);
|
|
184
149
|
},
|
|
185
|
-
prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages) {
|
|
186
|
-
// 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>, u32) => assembly/spi/StandardProgram
|
|
187
|
-
program = __retain(__lowerArray(__setU8,
|
|
188
|
-
initialRegisters = __retain(__lowerArray(__setU64,
|
|
189
|
-
initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer,
|
|
190
|
-
initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer,
|
|
191
|
-
args = __lowerArray(__setU8,
|
|
150
|
+
prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages, useBlockGas) {
|
|
151
|
+
// 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>, u32, bool) => assembly/spi/StandardProgram
|
|
152
|
+
program = __retain(__lowerArray(__setU8, 32, 0, program) || __notnull());
|
|
153
|
+
initialRegisters = __retain(__lowerArray(__setU64, 60, 3, initialRegisters) || __notnull());
|
|
154
|
+
initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord54(value) || __notnull()); }, 55, 2, initialPageMap) || __notnull());
|
|
155
|
+
initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord56(value) || __notnull()); }, 57, 2, initialMemory) || __notnull());
|
|
156
|
+
args = __lowerArray(__setU8, 32, 0, args) || __notnull();
|
|
157
|
+
useBlockGas = useBlockGas ? 1 : 0;
|
|
192
158
|
try {
|
|
193
|
-
return __liftInternref(exports.prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages) >>> 0);
|
|
159
|
+
return __liftInternref(exports.prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages, useBlockGas) >>> 0);
|
|
194
160
|
} finally {
|
|
195
161
|
__release(program);
|
|
196
162
|
__release(initialRegisters);
|
|
@@ -198,30 +164,27 @@ async function instantiate(module, imports = {}) {
|
|
|
198
164
|
__release(initialMemory);
|
|
199
165
|
}
|
|
200
166
|
},
|
|
201
|
-
runProgram(program, initialGas, programCounter, logs,
|
|
202
|
-
// assembly/api-utils/runProgram(assembly/spi/StandardProgram, i64?, u32?, bool?, bool
|
|
167
|
+
runProgram(program, initialGas, programCounter, logs, dumpMemory) {
|
|
168
|
+
// assembly/api-utils/runProgram(assembly/spi/StandardProgram, i64?, u32?, bool?, bool?) => assembly/api-types/VmOutput
|
|
203
169
|
program = __lowerInternref(program) || __notnull();
|
|
204
170
|
initialGas = initialGas || 0n;
|
|
205
171
|
logs = logs ? 1 : 0;
|
|
206
|
-
useSbrkGas = useSbrkGas ? 1 : 0;
|
|
207
172
|
dumpMemory = dumpMemory ? 1 : 0;
|
|
208
173
|
exports.__setArgumentsLength(arguments.length);
|
|
209
|
-
return
|
|
174
|
+
return __liftRecord62(exports.runProgram(program, initialGas, programCounter, logs, dumpMemory) >>> 0);
|
|
210
175
|
},
|
|
211
|
-
pvmStart(program
|
|
212
|
-
// assembly/api-utils/pvmStart(assembly/spi/StandardProgram
|
|
176
|
+
pvmStart(program) {
|
|
177
|
+
// assembly/api-utils/pvmStart(assembly/spi/StandardProgram) => u32
|
|
213
178
|
program = __lowerInternref(program) || __notnull();
|
|
214
|
-
|
|
215
|
-
exports.__setArgumentsLength(arguments.length);
|
|
216
|
-
return exports.pvmStart(program, useSbrkGas) >>> 0;
|
|
179
|
+
return exports.pvmStart(program) >>> 0;
|
|
217
180
|
},
|
|
218
181
|
pvmDestroy(pvmId) {
|
|
219
182
|
// assembly/api-utils/pvmDestroy(u32) => assembly/api-types/VmOutput | null
|
|
220
|
-
return
|
|
183
|
+
return __liftRecord62(exports.pvmDestroy(pvmId) >>> 0);
|
|
221
184
|
},
|
|
222
185
|
pvmSetRegisters(pvmId, registers) {
|
|
223
186
|
// assembly/api-utils/pvmSetRegisters(u32, ~lib/array/Array<u64>) => void
|
|
224
|
-
registers = __lowerArray(__setU64,
|
|
187
|
+
registers = __lowerArray(__setU64, 60, 3, registers) || __notnull();
|
|
225
188
|
exports.pvmSetRegisters(pvmId, registers);
|
|
226
189
|
},
|
|
227
190
|
pvmReadMemory(pvmId, address, length) {
|
|
@@ -234,55 +197,48 @@ async function instantiate(module, imports = {}) {
|
|
|
234
197
|
},
|
|
235
198
|
pvmWriteMemory(pvmId, address, data) {
|
|
236
199
|
// assembly/api-utils/pvmWriteMemory(u32, u32, ~lib/typedarray/Uint8Array) => bool
|
|
237
|
-
data = __lowerTypedArray(Uint8Array,
|
|
200
|
+
data = __lowerTypedArray(Uint8Array, 15, 0, data) || __notnull();
|
|
238
201
|
return exports.pvmWriteMemory(pvmId, address, data) != 0;
|
|
239
202
|
},
|
|
240
203
|
pvmResume(pvmId, gas, pc, logs) {
|
|
241
|
-
// assembly/api-utils/pvmResume(u32,
|
|
204
|
+
// assembly/api-utils/pvmResume(u32, u64, u32, bool?) => assembly/api-types/VmPause | null
|
|
242
205
|
gas = gas || 0n;
|
|
243
206
|
logs = logs ? 1 : 0;
|
|
244
207
|
exports.__setArgumentsLength(arguments.length);
|
|
245
|
-
return
|
|
246
|
-
},
|
|
247
|
-
wrapAsProgram(bytecode) {
|
|
248
|
-
// assembly/program-build/wrapAsProgram(~lib/typedarray/Uint8Array) => ~lib/typedarray/Uint8Array
|
|
249
|
-
bytecode = __lowerTypedArray(Uint8Array, 10, 0, bytecode) || __notnull();
|
|
250
|
-
return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
|
|
208
|
+
return __liftRecord68(exports.pvmResume(pvmId, gas, pc, logs) >>> 0);
|
|
251
209
|
},
|
|
252
210
|
}, exports);
|
|
253
|
-
function
|
|
211
|
+
function __liftRecord58(pointer) {
|
|
212
|
+
// assembly/api-utils/BlockGasCost
|
|
213
|
+
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
214
|
+
if (!pointer) return null;
|
|
215
|
+
return {
|
|
216
|
+
pc: __getU32(pointer + 0),
|
|
217
|
+
gas: __getU64(pointer + 8),
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
function __lowerRecord54(value) {
|
|
254
221
|
// assembly/api-types/InitialPage
|
|
255
222
|
// Hint: Opt-out from lowering as a record by providing an empty constructor
|
|
256
223
|
if (value == null) return 0;
|
|
257
|
-
const pointer = exports.__pin(exports.__new(12,
|
|
224
|
+
const pointer = exports.__pin(exports.__new(12, 54));
|
|
258
225
|
__setU32(pointer + 0, value.address);
|
|
259
226
|
__setU32(pointer + 4, value.length);
|
|
260
227
|
__setU32(pointer + 8, value.access);
|
|
261
228
|
exports.__unpin(pointer);
|
|
262
229
|
return pointer;
|
|
263
230
|
}
|
|
264
|
-
function
|
|
231
|
+
function __lowerRecord56(value) {
|
|
265
232
|
// assembly/api-types/InitialChunk
|
|
266
233
|
// Hint: Opt-out from lowering as a record by providing an empty constructor
|
|
267
234
|
if (value == null) return 0;
|
|
268
|
-
const pointer = exports.__pin(exports.__new(8,
|
|
235
|
+
const pointer = exports.__pin(exports.__new(8, 56));
|
|
269
236
|
__setU32(pointer + 0, value.address);
|
|
270
|
-
__setU32(pointer + 4, __lowerArray(__setU8,
|
|
271
|
-
exports.__unpin(pointer);
|
|
272
|
-
return pointer;
|
|
273
|
-
}
|
|
274
|
-
function __lowerRecord50(value) {
|
|
275
|
-
// assembly/api-types/VmRunOptions
|
|
276
|
-
// Hint: Opt-out from lowering as a record by providing an empty constructor
|
|
277
|
-
if (value == null) return 0;
|
|
278
|
-
const pointer = exports.__pin(exports.__new(3, 50));
|
|
279
|
-
__setU8(pointer + 0, value.useSbrkGas ? 1 : 0);
|
|
280
|
-
__setU8(pointer + 1, value.logs ? 1 : 0);
|
|
281
|
-
__setU8(pointer + 2, value.dumpMemory ? 1 : 0);
|
|
237
|
+
__setU32(pointer + 4, __lowerArray(__setU8, 32, 0, value.data) || __notnull());
|
|
282
238
|
exports.__unpin(pointer);
|
|
283
239
|
return pointer;
|
|
284
240
|
}
|
|
285
|
-
function
|
|
241
|
+
function __liftRecord56(pointer) {
|
|
286
242
|
// assembly/api-types/InitialChunk
|
|
287
243
|
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
288
244
|
if (!pointer) return null;
|
|
@@ -291,7 +247,7 @@ async function instantiate(module, imports = {}) {
|
|
|
291
247
|
data: __liftArray(__getU8, 0, __getU32(pointer + 4)),
|
|
292
248
|
};
|
|
293
249
|
}
|
|
294
|
-
function
|
|
250
|
+
function __liftRecord62(pointer) {
|
|
295
251
|
// assembly/api-types/VmOutput
|
|
296
252
|
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
297
253
|
if (!pointer) return null;
|
|
@@ -299,22 +255,13 @@ async function instantiate(module, imports = {}) {
|
|
|
299
255
|
status: __getI32(pointer + 0),
|
|
300
256
|
exitCode: __getU32(pointer + 4),
|
|
301
257
|
pc: __getU32(pointer + 8),
|
|
302
|
-
gas:
|
|
258
|
+
gas: __getU64(pointer + 16),
|
|
303
259
|
result: __liftArray(__getU8, 0, __getU32(pointer + 24)),
|
|
304
260
|
registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 28)),
|
|
305
|
-
memory: __liftArray(pointer =>
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
function __liftRecord56(pointer) {
|
|
309
|
-
// assembly/gas-costs/BlockGasCost
|
|
310
|
-
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
311
|
-
if (!pointer) return null;
|
|
312
|
-
return {
|
|
313
|
-
pc: __getU32(pointer + 0),
|
|
314
|
-
gas: __getU64(pointer + 8),
|
|
261
|
+
memory: __liftArray(pointer => __liftRecord56(__getU32(pointer)), 2, __getU32(pointer + 32)),
|
|
315
262
|
};
|
|
316
263
|
}
|
|
317
|
-
function
|
|
264
|
+
function __liftRecord68(pointer) {
|
|
318
265
|
// assembly/api-types/VmPause
|
|
319
266
|
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
320
267
|
if (!pointer) return null;
|
|
@@ -323,7 +270,7 @@ async function instantiate(module, imports = {}) {
|
|
|
323
270
|
exitCode: __getU32(pointer + 4),
|
|
324
271
|
pc: __getU32(pointer + 8),
|
|
325
272
|
nextPc: __getU32(pointer + 12),
|
|
326
|
-
gas:
|
|
273
|
+
gas: __getU64(pointer + 16),
|
|
327
274
|
registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 24)),
|
|
328
275
|
};
|
|
329
276
|
}
|
|
@@ -465,14 +412,6 @@ async function instantiate(module, imports = {}) {
|
|
|
465
412
|
return __dataview.getUint32(pointer, true);
|
|
466
413
|
}
|
|
467
414
|
}
|
|
468
|
-
function __getI64(pointer) {
|
|
469
|
-
try {
|
|
470
|
-
return __dataview.getBigInt64(pointer, true);
|
|
471
|
-
} catch {
|
|
472
|
-
__dataview = new DataView(memory.buffer);
|
|
473
|
-
return __dataview.getBigInt64(pointer, true);
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
415
|
function __getU64(pointer) {
|
|
477
416
|
try {
|
|
478
417
|
return __dataview.getBigUint64(pointer, true);
|
|
@@ -490,6 +429,8 @@ export const {
|
|
|
490
429
|
__unpin,
|
|
491
430
|
__collect,
|
|
492
431
|
__rtti_base,
|
|
432
|
+
getAssembly,
|
|
433
|
+
wrapAsProgram,
|
|
493
434
|
resetJAM,
|
|
494
435
|
resetGeneric,
|
|
495
436
|
resetGenericWithMemory,
|
|
@@ -507,15 +448,9 @@ export const {
|
|
|
507
448
|
getPagePointer,
|
|
508
449
|
getMemory,
|
|
509
450
|
setMemory,
|
|
510
|
-
getAssembly,
|
|
511
|
-
buildMemory,
|
|
512
|
-
vmInit,
|
|
513
|
-
vmRunOnce,
|
|
514
|
-
vmExecute,
|
|
515
|
-
vmDestroy,
|
|
516
451
|
InputKind,
|
|
517
452
|
HasMetadata,
|
|
518
|
-
|
|
453
|
+
getBlockGasCosts,
|
|
519
454
|
disassemble,
|
|
520
455
|
prepareProgram,
|
|
521
456
|
runProgram,
|
|
@@ -526,7 +461,6 @@ export const {
|
|
|
526
461
|
pvmGetPagePointer,
|
|
527
462
|
pvmWriteMemory,
|
|
528
463
|
pvmResume,
|
|
529
|
-
wrapAsProgram,
|
|
530
464
|
} = await (async url => instantiate(
|
|
531
465
|
await (async () => {
|
|
532
466
|
const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null);
|
|
Binary file
|