@fluffylabs/anan-as 1.1.6 → 1.2.0-015845d
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 +188 -54
- package/dist/bin/src/fuzz.js +1 -1
- 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 +63 -112
- package/dist/build/debug-raw.js +86 -139
- package/dist/build/debug-raw.wasm +0 -0
- package/dist/build/debug.d.ts +63 -112
- package/dist/build/debug.js +91 -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 +63 -112
- package/dist/build/release-mini.js +91 -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 +63 -112
- package/dist/build/release-stub.js +91 -147
- package/dist/build/release-stub.wasm +0 -0
- package/dist/build/release.d.ts +63 -112
- package/dist/build/release.js +91 -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 +25 -13
|
@@ -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,70 +105,26 @@ 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) {
|
|
99
112
|
// assembly/api-debugger/getPageDump(u32) => ~lib/typedarray/Uint8Array
|
|
100
113
|
return __liftTypedArray(Uint8Array, exports.getPageDump(index) >>> 0);
|
|
101
114
|
},
|
|
115
|
+
getPagePointer(page) {
|
|
116
|
+
// assembly/api-debugger/getPagePointer(u32) => usize
|
|
117
|
+
return exports.getPagePointer(page) >>> 0;
|
|
118
|
+
},
|
|
102
119
|
getMemory(address, length) {
|
|
103
120
|
// assembly/api-debugger/getMemory(u32, u32) => ~lib/typedarray/Uint8Array | null
|
|
104
121
|
return __liftTypedArray(Uint8Array, exports.getMemory(address, length) >>> 0);
|
|
105
122
|
},
|
|
106
123
|
setMemory(address, data) {
|
|
107
124
|
// assembly/api-debugger/setMemory(u32, ~lib/typedarray/Uint8Array) => bool
|
|
108
|
-
data = __lowerTypedArray(Uint8Array,
|
|
125
|
+
data = __lowerTypedArray(Uint8Array, 15, 0, data) || __notnull();
|
|
109
126
|
return exports.setMemory(address, data) != 0;
|
|
110
127
|
},
|
|
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
|
-
buildMemory(builder, pages, chunks) {
|
|
117
|
-
// assembly/api-internal/buildMemory(assembly/memory/MemoryBuilder, ~lib/array/Array<assembly/api-types/InitialPage>, ~lib/array/Array<assembly/api-types/InitialChunk>) => assembly/memory/Memory
|
|
118
|
-
builder = __retain(__lowerInternref(builder) || __notnull());
|
|
119
|
-
pages = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord44(value) || __notnull()); }, 45, 2, pages) || __notnull());
|
|
120
|
-
chunks = __lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord46(value) || __notnull()); }, 47, 2, chunks) || __notnull();
|
|
121
|
-
try {
|
|
122
|
-
return __liftInternref(exports.buildMemory(builder, pages, chunks) >>> 0);
|
|
123
|
-
} finally {
|
|
124
|
-
__release(builder);
|
|
125
|
-
__release(pages);
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
vmInit(input, useSbrkGas) {
|
|
129
|
-
// assembly/api-internal/vmInit(assembly/api-types/VmInput, bool?) => assembly/interpreter/Interpreter
|
|
130
|
-
input = __lowerInternref(input) || __notnull();
|
|
131
|
-
useSbrkGas = useSbrkGas ? 1 : 0;
|
|
132
|
-
exports.__setArgumentsLength(arguments.length);
|
|
133
|
-
return __liftInternref(exports.vmInit(input, useSbrkGas) >>> 0);
|
|
134
|
-
},
|
|
135
|
-
vmRunOnce(input, options) {
|
|
136
|
-
// assembly/api-internal/vmRunOnce(assembly/api-types/VmInput, assembly/api-types/VmRunOptions) => assembly/api-types/VmOutput
|
|
137
|
-
input = __retain(__lowerInternref(input) || __notnull());
|
|
138
|
-
options = __lowerRecord50(options) || __notnull();
|
|
139
|
-
try {
|
|
140
|
-
return __liftRecord51(exports.vmRunOnce(input, options) >>> 0);
|
|
141
|
-
} finally {
|
|
142
|
-
__release(input);
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
vmExecute(int, logs) {
|
|
146
|
-
// assembly/api-internal/vmExecute(assembly/interpreter/Interpreter, bool?) => void
|
|
147
|
-
int = __lowerInternref(int) || __notnull();
|
|
148
|
-
logs = logs ? 1 : 0;
|
|
149
|
-
exports.__setArgumentsLength(arguments.length);
|
|
150
|
-
exports.vmExecute(int, logs);
|
|
151
|
-
},
|
|
152
|
-
vmDestroy(int, dumpMemory) {
|
|
153
|
-
// assembly/api-internal/vmDestroy(assembly/interpreter/Interpreter, bool?) => assembly/api-types/VmOutput
|
|
154
|
-
int = __lowerInternref(int) || __notnull();
|
|
155
|
-
dumpMemory = dumpMemory ? 1 : 0;
|
|
156
|
-
exports.__setArgumentsLength(arguments.length);
|
|
157
|
-
return __liftRecord51(exports.vmDestroy(int, dumpMemory) >>> 0);
|
|
158
|
-
},
|
|
159
128
|
InputKind: (values => (
|
|
160
129
|
// assembly/api-utils/InputKind
|
|
161
130
|
values[values.Generic = exports["InputKind.Generic"].valueOf()] = "Generic",
|
|
@@ -168,25 +137,26 @@ async function instantiate(module, imports = {}) {
|
|
|
168
137
|
values[values.No = exports["HasMetadata.No"].valueOf()] = "No",
|
|
169
138
|
values
|
|
170
139
|
))({}),
|
|
171
|
-
|
|
172
|
-
// assembly/api-utils/
|
|
173
|
-
input = __lowerArray(__setU8,
|
|
174
|
-
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);
|
|
175
144
|
},
|
|
176
145
|
disassemble(input, kind, withMetadata) {
|
|
177
146
|
// assembly/api-utils/disassemble(~lib/array/Array<u8>, i32, i32) => ~lib/string/String
|
|
178
|
-
input = __lowerArray(__setU8,
|
|
147
|
+
input = __lowerArray(__setU8, 32, 0, input) || __notnull();
|
|
179
148
|
return __liftString(exports.disassemble(input, kind, withMetadata) >>> 0);
|
|
180
149
|
},
|
|
181
|
-
prepareProgram(kind, hasMetadata, program, initialRegisters, initialPageMap, initialMemory, args, preallocateMemoryPages) {
|
|
182
|
-
// 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
|
|
183
|
-
program = __retain(__lowerArray(__setU8,
|
|
184
|
-
initialRegisters = __retain(__lowerArray(__setU64,
|
|
185
|
-
initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer,
|
|
186
|
-
initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer,
|
|
187
|
-
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;
|
|
188
158
|
try {
|
|
189
|
-
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);
|
|
190
160
|
} finally {
|
|
191
161
|
__release(program);
|
|
192
162
|
__release(initialRegisters);
|
|
@@ -194,87 +164,81 @@ async function instantiate(module, imports = {}) {
|
|
|
194
164
|
__release(initialMemory);
|
|
195
165
|
}
|
|
196
166
|
},
|
|
197
|
-
runProgram(program, initialGas, programCounter, logs,
|
|
198
|
-
// 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
|
|
199
169
|
program = __lowerInternref(program) || __notnull();
|
|
200
170
|
initialGas = initialGas || 0n;
|
|
201
171
|
logs = logs ? 1 : 0;
|
|
202
|
-
useSbrkGas = useSbrkGas ? 1 : 0;
|
|
203
172
|
dumpMemory = dumpMemory ? 1 : 0;
|
|
204
173
|
exports.__setArgumentsLength(arguments.length);
|
|
205
|
-
return
|
|
174
|
+
return __liftRecord62(exports.runProgram(program, initialGas, programCounter, logs, dumpMemory) >>> 0);
|
|
206
175
|
},
|
|
207
|
-
pvmStart(program
|
|
208
|
-
// assembly/api-utils/pvmStart(assembly/spi/StandardProgram
|
|
176
|
+
pvmStart(program) {
|
|
177
|
+
// assembly/api-utils/pvmStart(assembly/spi/StandardProgram) => u32
|
|
209
178
|
program = __lowerInternref(program) || __notnull();
|
|
210
|
-
|
|
211
|
-
exports.__setArgumentsLength(arguments.length);
|
|
212
|
-
return exports.pvmStart(program, useSbrkGas) >>> 0;
|
|
179
|
+
return exports.pvmStart(program) >>> 0;
|
|
213
180
|
},
|
|
214
181
|
pvmDestroy(pvmId) {
|
|
215
182
|
// assembly/api-utils/pvmDestroy(u32) => assembly/api-types/VmOutput | null
|
|
216
|
-
return
|
|
183
|
+
return __liftRecord62(exports.pvmDestroy(pvmId) >>> 0);
|
|
217
184
|
},
|
|
218
185
|
pvmSetRegisters(pvmId, registers) {
|
|
219
186
|
// assembly/api-utils/pvmSetRegisters(u32, ~lib/array/Array<u64>) => void
|
|
220
|
-
registers = __lowerArray(__setU64,
|
|
187
|
+
registers = __lowerArray(__setU64, 60, 3, registers) || __notnull();
|
|
221
188
|
exports.pvmSetRegisters(pvmId, registers);
|
|
222
189
|
},
|
|
223
190
|
pvmReadMemory(pvmId, address, length) {
|
|
224
191
|
// assembly/api-utils/pvmReadMemory(u32, u32, u32) => ~lib/typedarray/Uint8Array | null
|
|
225
192
|
return __liftTypedArray(Uint8Array, exports.pvmReadMemory(pvmId, address, length) >>> 0);
|
|
226
193
|
},
|
|
194
|
+
pvmGetPagePointer(pvmId, page) {
|
|
195
|
+
// assembly/api-utils/pvmGetPagePointer(u32, u32) => usize
|
|
196
|
+
return exports.pvmGetPagePointer(pvmId, page) >>> 0;
|
|
197
|
+
},
|
|
227
198
|
pvmWriteMemory(pvmId, address, data) {
|
|
228
199
|
// assembly/api-utils/pvmWriteMemory(u32, u32, ~lib/typedarray/Uint8Array) => bool
|
|
229
|
-
data = __lowerTypedArray(Uint8Array,
|
|
200
|
+
data = __lowerTypedArray(Uint8Array, 15, 0, data) || __notnull();
|
|
230
201
|
return exports.pvmWriteMemory(pvmId, address, data) != 0;
|
|
231
202
|
},
|
|
232
203
|
pvmResume(pvmId, gas, pc, logs) {
|
|
233
|
-
// assembly/api-utils/pvmResume(u32,
|
|
204
|
+
// assembly/api-utils/pvmResume(u32, u64, u32, bool?) => assembly/api-types/VmPause | null
|
|
234
205
|
gas = gas || 0n;
|
|
235
206
|
logs = logs ? 1 : 0;
|
|
236
207
|
exports.__setArgumentsLength(arguments.length);
|
|
237
|
-
return
|
|
238
|
-
},
|
|
239
|
-
wrapAsProgram(bytecode) {
|
|
240
|
-
// assembly/program-build/wrapAsProgram(~lib/typedarray/Uint8Array) => ~lib/typedarray/Uint8Array
|
|
241
|
-
bytecode = __lowerTypedArray(Uint8Array, 10, 0, bytecode) || __notnull();
|
|
242
|
-
return __liftTypedArray(Uint8Array, exports.wrapAsProgram(bytecode) >>> 0);
|
|
208
|
+
return __liftRecord68(exports.pvmResume(pvmId, gas, pc, logs) >>> 0);
|
|
243
209
|
},
|
|
244
210
|
}, exports);
|
|
245
|
-
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) {
|
|
246
221
|
// assembly/api-types/InitialPage
|
|
247
222
|
// Hint: Opt-out from lowering as a record by providing an empty constructor
|
|
248
223
|
if (value == null) return 0;
|
|
249
|
-
const pointer = exports.__pin(exports.__new(12,
|
|
224
|
+
const pointer = exports.__pin(exports.__new(12, 54));
|
|
250
225
|
__setU32(pointer + 0, value.address);
|
|
251
226
|
__setU32(pointer + 4, value.length);
|
|
252
227
|
__setU32(pointer + 8, value.access);
|
|
253
228
|
exports.__unpin(pointer);
|
|
254
229
|
return pointer;
|
|
255
230
|
}
|
|
256
|
-
function
|
|
231
|
+
function __lowerRecord56(value) {
|
|
257
232
|
// assembly/api-types/InitialChunk
|
|
258
233
|
// Hint: Opt-out from lowering as a record by providing an empty constructor
|
|
259
234
|
if (value == null) return 0;
|
|
260
|
-
const pointer = exports.__pin(exports.__new(8,
|
|
235
|
+
const pointer = exports.__pin(exports.__new(8, 56));
|
|
261
236
|
__setU32(pointer + 0, value.address);
|
|
262
|
-
__setU32(pointer + 4, __lowerArray(__setU8,
|
|
263
|
-
exports.__unpin(pointer);
|
|
264
|
-
return pointer;
|
|
265
|
-
}
|
|
266
|
-
function __lowerRecord50(value) {
|
|
267
|
-
// assembly/api-types/VmRunOptions
|
|
268
|
-
// Hint: Opt-out from lowering as a record by providing an empty constructor
|
|
269
|
-
if (value == null) return 0;
|
|
270
|
-
const pointer = exports.__pin(exports.__new(3, 50));
|
|
271
|
-
__setU8(pointer + 0, value.useSbrkGas ? 1 : 0);
|
|
272
|
-
__setU8(pointer + 1, value.logs ? 1 : 0);
|
|
273
|
-
__setU8(pointer + 2, value.dumpMemory ? 1 : 0);
|
|
237
|
+
__setU32(pointer + 4, __lowerArray(__setU8, 32, 0, value.data) || __notnull());
|
|
274
238
|
exports.__unpin(pointer);
|
|
275
239
|
return pointer;
|
|
276
240
|
}
|
|
277
|
-
function
|
|
241
|
+
function __liftRecord56(pointer) {
|
|
278
242
|
// assembly/api-types/InitialChunk
|
|
279
243
|
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
280
244
|
if (!pointer) return null;
|
|
@@ -283,7 +247,7 @@ async function instantiate(module, imports = {}) {
|
|
|
283
247
|
data: __liftArray(__getU8, 0, __getU32(pointer + 4)),
|
|
284
248
|
};
|
|
285
249
|
}
|
|
286
|
-
function
|
|
250
|
+
function __liftRecord62(pointer) {
|
|
287
251
|
// assembly/api-types/VmOutput
|
|
288
252
|
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
289
253
|
if (!pointer) return null;
|
|
@@ -291,22 +255,13 @@ async function instantiate(module, imports = {}) {
|
|
|
291
255
|
status: __getI32(pointer + 0),
|
|
292
256
|
exitCode: __getU32(pointer + 4),
|
|
293
257
|
pc: __getU32(pointer + 8),
|
|
294
|
-
gas:
|
|
258
|
+
gas: __getU64(pointer + 16),
|
|
295
259
|
result: __liftArray(__getU8, 0, __getU32(pointer + 24)),
|
|
296
260
|
registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 28)),
|
|
297
|
-
memory: __liftArray(pointer =>
|
|
261
|
+
memory: __liftArray(pointer => __liftRecord56(__getU32(pointer)), 2, __getU32(pointer + 32)),
|
|
298
262
|
};
|
|
299
263
|
}
|
|
300
|
-
function
|
|
301
|
-
// assembly/gas-costs/BlockGasCost
|
|
302
|
-
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
303
|
-
if (!pointer) return null;
|
|
304
|
-
return {
|
|
305
|
-
pc: __getU32(pointer + 0),
|
|
306
|
-
gas: __getU64(pointer + 8),
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
function __liftRecord60(pointer) {
|
|
264
|
+
function __liftRecord68(pointer) {
|
|
310
265
|
// assembly/api-types/VmPause
|
|
311
266
|
// Hint: Opt-out from lifting as a record by providing an empty constructor
|
|
312
267
|
if (!pointer) return null;
|
|
@@ -315,7 +270,7 @@ async function instantiate(module, imports = {}) {
|
|
|
315
270
|
exitCode: __getU32(pointer + 4),
|
|
316
271
|
pc: __getU32(pointer + 8),
|
|
317
272
|
nextPc: __getU32(pointer + 12),
|
|
318
|
-
gas:
|
|
273
|
+
gas: __getU64(pointer + 16),
|
|
319
274
|
registers: __liftArray(pointer => BigInt.asUintN(64, __getU64(pointer)), 3, __getU32(pointer + 24)),
|
|
320
275
|
};
|
|
321
276
|
}
|
|
@@ -457,14 +412,6 @@ async function instantiate(module, imports = {}) {
|
|
|
457
412
|
return __dataview.getUint32(pointer, true);
|
|
458
413
|
}
|
|
459
414
|
}
|
|
460
|
-
function __getI64(pointer) {
|
|
461
|
-
try {
|
|
462
|
-
return __dataview.getBigInt64(pointer, true);
|
|
463
|
-
} catch {
|
|
464
|
-
__dataview = new DataView(memory.buffer);
|
|
465
|
-
return __dataview.getBigInt64(pointer, true);
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
415
|
function __getU64(pointer) {
|
|
469
416
|
try {
|
|
470
417
|
return __dataview.getBigUint64(pointer, true);
|
|
@@ -482,6 +429,8 @@ export const {
|
|
|
482
429
|
__unpin,
|
|
483
430
|
__collect,
|
|
484
431
|
__rtti_base,
|
|
432
|
+
getAssembly,
|
|
433
|
+
wrapAsProgram,
|
|
485
434
|
resetJAM,
|
|
486
435
|
resetGeneric,
|
|
487
436
|
resetGenericWithMemory,
|
|
@@ -496,17 +445,12 @@ export const {
|
|
|
496
445
|
getRegisters,
|
|
497
446
|
setRegisters,
|
|
498
447
|
getPageDump,
|
|
448
|
+
getPagePointer,
|
|
499
449
|
getMemory,
|
|
500
450
|
setMemory,
|
|
501
|
-
getAssembly,
|
|
502
|
-
buildMemory,
|
|
503
|
-
vmInit,
|
|
504
|
-
vmRunOnce,
|
|
505
|
-
vmExecute,
|
|
506
|
-
vmDestroy,
|
|
507
451
|
InputKind,
|
|
508
452
|
HasMetadata,
|
|
509
|
-
|
|
453
|
+
getBlockGasCosts,
|
|
510
454
|
disassemble,
|
|
511
455
|
prepareProgram,
|
|
512
456
|
runProgram,
|
|
@@ -514,9 +458,9 @@ export const {
|
|
|
514
458
|
pvmDestroy,
|
|
515
459
|
pvmSetRegisters,
|
|
516
460
|
pvmReadMemory,
|
|
461
|
+
pvmGetPagePointer,
|
|
517
462
|
pvmWriteMemory,
|
|
518
463
|
pvmResume,
|
|
519
|
-
wrapAsProgram,
|
|
520
464
|
} = await (async url => instantiate(
|
|
521
465
|
await (async () => {
|
|
522
466
|
const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null);
|
|
Binary file
|