@fluffylabs/anan-as 1.1.6 → 1.2.0-1917c4d

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.
Files changed (109) hide show
  1. package/dist/bin/index.js +186 -53
  2. package/dist/bin/src/fuzz.js +1 -1
  3. package/dist/bin/src/test-json.js +2 -6
  4. package/dist/bin/src/trace-parse.js +1 -0
  5. package/dist/bin/src/trace-replay.js +14 -9
  6. package/dist/bin/src/tracer.js +16 -13
  7. package/dist/build/compiler-inline.js +1 -1
  8. package/dist/build/compiler.d.ts +17 -13
  9. package/dist/build/compiler.js +13 -21
  10. package/dist/build/compiler.wasm +0 -0
  11. package/dist/build/debug-inline.js +1 -1
  12. package/dist/build/debug-raw-inline.js +1 -1
  13. package/dist/build/debug-raw.d.ts +63 -112
  14. package/dist/build/debug-raw.js +86 -139
  15. package/dist/build/debug-raw.wasm +0 -0
  16. package/dist/build/debug.d.ts +63 -112
  17. package/dist/build/debug.js +91 -147
  18. package/dist/build/debug.wasm +0 -0
  19. package/dist/build/js/assembly/api-debugger.d.ts +55 -0
  20. package/dist/build/js/assembly/api-debugger.js +245 -0
  21. package/dist/build/js/assembly/api-internal.d.ts +13 -0
  22. package/dist/build/js/assembly/api-internal.js +191 -0
  23. package/dist/build/js/assembly/api-types.d.ts +45 -0
  24. package/dist/build/js/assembly/api-types.js +52 -0
  25. package/dist/build/js/assembly/api-utils.d.ts +79 -0
  26. package/dist/build/js/assembly/api-utils.js +221 -0
  27. package/dist/build/js/assembly/arguments.d.ts +44 -0
  28. package/dist/build/js/assembly/arguments.js +164 -0
  29. package/dist/build/js/assembly/codec.d.ts +24 -0
  30. package/dist/build/js/assembly/codec.js +139 -0
  31. package/dist/build/js/assembly/gas.d.ts +11 -0
  32. package/dist/build/js/assembly/gas.js +33 -0
  33. package/dist/build/js/assembly/index-shared.d.ts +4 -0
  34. package/dist/build/js/assembly/index-shared.js +4 -0
  35. package/dist/build/js/assembly/instructions/bit.d.ts +11 -0
  36. package/dist/build/js/assembly/instructions/bit.js +53 -0
  37. package/dist/build/js/assembly/instructions/branch.d.ts +17 -0
  38. package/dist/build/js/assembly/instructions/branch.js +120 -0
  39. package/dist/build/js/assembly/instructions/jump.d.ts +5 -0
  40. package/dist/build/js/assembly/instructions/jump.js +21 -0
  41. package/dist/build/js/assembly/instructions/load.d.ts +17 -0
  42. package/dist/build/js/assembly/instructions/load.js +134 -0
  43. package/dist/build/js/assembly/instructions/logic.d.ts +10 -0
  44. package/dist/build/js/assembly/instructions/logic.js +47 -0
  45. package/dist/build/js/assembly/instructions/math.d.ts +28 -0
  46. package/dist/build/js/assembly/instructions/math.js +225 -0
  47. package/dist/build/js/assembly/instructions/misc.d.ts +6 -0
  48. package/dist/build/js/assembly/instructions/misc.js +22 -0
  49. package/dist/build/js/assembly/instructions/mov.d.ts +6 -0
  50. package/dist/build/js/assembly/instructions/mov.js +35 -0
  51. package/dist/build/js/assembly/instructions/outcome.d.ts +30 -0
  52. package/dist/build/js/assembly/instructions/outcome.js +88 -0
  53. package/dist/build/js/assembly/instructions/rot.d.ts +15 -0
  54. package/dist/build/js/assembly/instructions/rot.js +66 -0
  55. package/dist/build/js/assembly/instructions/set.d.ts +7 -0
  56. package/dist/build/js/assembly/instructions/set.js +36 -0
  57. package/dist/build/js/assembly/instructions/shift.d.ts +19 -0
  58. package/dist/build/js/assembly/instructions/shift.js +121 -0
  59. package/dist/build/js/assembly/instructions/store.d.ts +17 -0
  60. package/dist/build/js/assembly/instructions/store.js +101 -0
  61. package/dist/build/js/assembly/instructions/utils.d.ts +25 -0
  62. package/dist/build/js/assembly/instructions/utils.js +91 -0
  63. package/dist/build/js/assembly/instructions-exe.d.ts +2 -0
  64. package/dist/build/js/assembly/instructions-exe.js +245 -0
  65. package/dist/build/js/assembly/instructions.d.ts +10 -0
  66. package/dist/build/js/assembly/instructions.js +252 -0
  67. package/dist/build/js/assembly/interpreter.d.ts +28 -0
  68. package/dist/build/js/assembly/interpreter.js +221 -0
  69. package/dist/build/js/assembly/math.d.ts +6 -0
  70. package/dist/build/js/assembly/math.js +22 -0
  71. package/dist/build/js/assembly/memory-page.d.ts +36 -0
  72. package/dist/build/js/assembly/memory-page.js +74 -0
  73. package/dist/build/js/assembly/memory.d.ts +83 -0
  74. package/dist/build/js/assembly/memory.js +482 -0
  75. package/dist/build/js/assembly/portable.d.ts +24 -0
  76. package/dist/build/js/assembly/portable.js +363 -0
  77. package/dist/build/js/assembly/program-build.d.ts +2 -0
  78. package/dist/build/js/assembly/program-build.js +104 -0
  79. package/dist/build/js/assembly/program.d.ts +85 -0
  80. package/dist/build/js/assembly/program.js +340 -0
  81. package/dist/build/js/assembly/registers.d.ts +6 -0
  82. package/dist/build/js/assembly/registers.js +9 -0
  83. package/dist/build/js/assembly/spi.d.ts +92 -0
  84. package/dist/build/js/assembly/spi.js +152 -0
  85. package/dist/build/js/portable/bootstrap.d.ts +1 -0
  86. package/dist/build/js/portable/bootstrap.js +5 -0
  87. package/dist/build/js/portable/index.d.ts +4 -0
  88. package/dist/build/js/portable/index.js +6 -0
  89. package/dist/build/js/portable-bundle.js +4496 -0
  90. package/dist/build/release-inline.js +1 -1
  91. package/dist/build/release-mini-inline.js +1 -1
  92. package/dist/build/release-mini.d.ts +63 -112
  93. package/dist/build/release-mini.js +91 -147
  94. package/dist/build/release-mini.wasm +0 -0
  95. package/dist/build/release-stub-inline.js +1 -1
  96. package/dist/build/release-stub.d.ts +63 -112
  97. package/dist/build/release-stub.js +91 -147
  98. package/dist/build/release-stub.wasm +0 -0
  99. package/dist/build/release.d.ts +63 -112
  100. package/dist/build/release.js +91 -147
  101. package/dist/build/release.wasm +0 -0
  102. package/dist/build/test-inline.js +1 -1
  103. package/dist/build/test.wasm +0 -0
  104. package/dist/test/test-gas-cost.js +2 -3
  105. package/dist/test/test-trace-format.js +166 -0
  106. package/dist/test/test-w3f-common.js +125 -0
  107. package/dist/test/test-w3f-portable.js +5 -0
  108. package/dist/test/test-w3f.js +3 -120
  109. package/package.json +24 -12
@@ -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
- resetJAM(program, pc, initialGas, args, hasMetadata) {
26
- // assembly/api-debugger/resetJAM(~lib/array/Array<u8>, u32, i64, ~lib/array/Array<u8>, bool?) => void
27
- program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
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, 6, 0, args) || __notnull();
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>, i64, bool?) => void
40
- program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
41
- flatRegisters = __lowerArray(__setU8, 6, 0, flatRegisters) || __notnull();
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, i64, bool?) => void
53
- program = __retain(__lowerArray(__setU8, 6, 0, program) || __notnull());
54
- flatRegisters = __retain(__lowerArray(__setU8, 6, 0, flatRegisters) || __notnull());
55
- pageMap = __retain(__lowerTypedArray(Uint8Array, 10, 0, pageMap) || __notnull());
56
- chunks = __lowerTypedArray(Uint8Array, 10, 0, chunks) || __notnull();
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(i64) => void
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, 6, 0, flatRegisters) || __notnull();
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, 10, 0, data) || __notnull();
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
- getGasCosts(input, kind, withMetadata) {
172
- // assembly/api-utils/getGasCosts(~lib/array/Array<u8>, i32, i32) => ~lib/array/Array<assembly/gas-costs/BlockGasCost>
173
- input = __lowerArray(__setU8, 6, 0, input) || __notnull();
174
- return __liftArray(pointer => __liftRecord56(__getU32(pointer)), 2, exports.getGasCosts(input, kind, withMetadata) >>> 0);
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, 6, 0, input) || __notnull();
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, 6, 0, program) || __notnull());
184
- initialRegisters = __retain(__lowerArray(__setU64, 52, 3, initialRegisters) || __notnull());
185
- initialPageMap = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord44(value) || __notnull()); }, 45, 2, initialPageMap) || __notnull());
186
- initialMemory = __retain(__lowerArray((pointer, value) => { __setU32(pointer, __lowerRecord46(value) || __notnull()); }, 47, 2, initialMemory) || __notnull());
187
- args = __lowerArray(__setU8, 6, 0, args) || __notnull();
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, useSbrkGas, dumpMemory) {
198
- // assembly/api-utils/runProgram(assembly/spi/StandardProgram, i64?, u32?, bool?, bool?, bool?) => assembly/api-types/VmOutput
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 __liftRecord51(exports.runProgram(program, initialGas, programCounter, logs, useSbrkGas, dumpMemory) >>> 0);
174
+ return __liftRecord62(exports.runProgram(program, initialGas, programCounter, logs, dumpMemory) >>> 0);
206
175
  },
207
- pvmStart(program, useSbrkGas) {
208
- // assembly/api-utils/pvmStart(assembly/spi/StandardProgram, bool?) => u32
176
+ pvmStart(program) {
177
+ // assembly/api-utils/pvmStart(assembly/spi/StandardProgram) => u32
209
178
  program = __lowerInternref(program) || __notnull();
210
- useSbrkGas = useSbrkGas ? 1 : 0;
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 __liftRecord51(exports.pvmDestroy(pvmId) >>> 0);
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, 52, 3, registers) || __notnull();
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, 10, 0, data) || __notnull();
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, i64, u32, bool?) => assembly/api-types/VmPause | null
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 __liftRecord60(exports.pvmResume(pvmId, gas, pc, logs) >>> 0);
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 __lowerRecord44(value) {
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, 44));
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 __lowerRecord46(value) {
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, 46));
235
+ const pointer = exports.__pin(exports.__new(8, 56));
261
236
  __setU32(pointer + 0, value.address);
262
- __setU32(pointer + 4, __lowerArray(__setU8, 6, 0, value.data) || __notnull());
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 __liftRecord46(pointer) {
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 __liftRecord51(pointer) {
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: __getI64(pointer + 16),
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 => __liftRecord46(__getU32(pointer)), 2, __getU32(pointer + 32)),
261
+ memory: __liftArray(pointer => __liftRecord56(__getU32(pointer)), 2, __getU32(pointer + 32)),
298
262
  };
299
263
  }
300
- function __liftRecord56(pointer) {
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: __getI64(pointer + 16),
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
- getGasCosts,
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