@typeberry/lib 0.4.0-2473e55 → 0.4.0-248b604
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/index.cjs +164 -165
- package/index.d.ts +936 -936
- package/index.js +139 -139
- package/package.json +1 -1
package/index.cjs
CHANGED
|
@@ -19,7 +19,11 @@ var TestSuite;
|
|
|
19
19
|
})(TestSuite || (TestSuite = {}));
|
|
20
20
|
const ALL_VERSIONS_IN_ORDER = [GpVersion.V0_6_7, GpVersion.V0_7_0, GpVersion.V0_7_1, GpVersion.V0_7_2];
|
|
21
21
|
const DEFAULT_SUITE = TestSuite.W3F_DAVXY;
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Current version is set to track the jam-conformance testing.
|
|
24
|
+
* Since we are currently at 0.7.1 not 0.7.2, we set our default version accordingly.
|
|
25
|
+
*/
|
|
26
|
+
const DEFAULT_VERSION = GpVersion.V0_7_1;
|
|
23
27
|
const env$1 = typeof process === "undefined" ? {} : process.env;
|
|
24
28
|
let CURRENT_VERSION = parseCurrentVersion(env$1.GP_VERSION) ?? DEFAULT_VERSION;
|
|
25
29
|
let CURRENT_SUITE = parseCurrentSuite(env$1.TEST_SUITE) ?? DEFAULT_SUITE;
|
|
@@ -582,7 +586,7 @@ function isResult(x) {
|
|
|
582
586
|
* as an afterthought.
|
|
583
587
|
*/
|
|
584
588
|
|
|
585
|
-
var index$
|
|
589
|
+
var index$u = /*#__PURE__*/Object.freeze({
|
|
586
590
|
__proto__: null,
|
|
587
591
|
get CURRENT_SUITE () { return CURRENT_SUITE; },
|
|
588
592
|
get CURRENT_VERSION () { return CURRENT_VERSION; },
|
|
@@ -739,7 +743,7 @@ class Ordering {
|
|
|
739
743
|
}
|
|
740
744
|
}
|
|
741
745
|
|
|
742
|
-
var index$
|
|
746
|
+
var index$t = /*#__PURE__*/Object.freeze({
|
|
743
747
|
__proto__: null,
|
|
744
748
|
Ordering: Ordering
|
|
745
749
|
});
|
|
@@ -991,7 +995,7 @@ function u8ArraySameLengthEqual(self, other) {
|
|
|
991
995
|
}
|
|
992
996
|
const bytesBlobComparator = (a, b) => a.compare(b);
|
|
993
997
|
|
|
994
|
-
var index$
|
|
998
|
+
var index$s = /*#__PURE__*/Object.freeze({
|
|
995
999
|
__proto__: null,
|
|
996
1000
|
BitVec: BitVec,
|
|
997
1001
|
Bytes: Bytes,
|
|
@@ -1093,7 +1097,7 @@ const minU64 = (a, ...values) => values.reduce((min, value) => (value > min ? mi
|
|
|
1093
1097
|
/** Get the biggest value between U64 a and values given as input parameters. */
|
|
1094
1098
|
const maxU64 = (a, ...values) => values.reduce((max, value) => (value < max ? max : value), a);
|
|
1095
1099
|
|
|
1096
|
-
var index$
|
|
1100
|
+
var index$r = /*#__PURE__*/Object.freeze({
|
|
1097
1101
|
__proto__: null,
|
|
1098
1102
|
isU16: isU16,
|
|
1099
1103
|
isU32: isU32,
|
|
@@ -2532,7 +2536,7 @@ function sequenceViewFixLen(type, { fixedLength }) {
|
|
|
2532
2536
|
}, skipper);
|
|
2533
2537
|
}
|
|
2534
2538
|
|
|
2535
|
-
var index$
|
|
2539
|
+
var index$q = /*#__PURE__*/Object.freeze({
|
|
2536
2540
|
__proto__: null,
|
|
2537
2541
|
Decoder: Decoder,
|
|
2538
2542
|
Descriptor: Descriptor,
|
|
@@ -3733,7 +3737,7 @@ var keyDerivation = /*#__PURE__*/Object.freeze({
|
|
|
3733
3737
|
trivialSeed: trivialSeed
|
|
3734
3738
|
});
|
|
3735
3739
|
|
|
3736
|
-
var index$
|
|
3740
|
+
var index$p = /*#__PURE__*/Object.freeze({
|
|
3737
3741
|
__proto__: null,
|
|
3738
3742
|
BANDERSNATCH_KEY_BYTES: BANDERSNATCH_KEY_BYTES,
|
|
3739
3743
|
BANDERSNATCH_PROOF_BYTES: BANDERSNATCH_PROOF_BYTES,
|
|
@@ -4371,7 +4375,7 @@ var keccak = /*#__PURE__*/Object.freeze({
|
|
|
4371
4375
|
// TODO [ToDr] (#213) this should most likely be moved to a separate
|
|
4372
4376
|
// package to avoid pulling in unnecessary deps.
|
|
4373
4377
|
|
|
4374
|
-
var index$
|
|
4378
|
+
var index$o = /*#__PURE__*/Object.freeze({
|
|
4375
4379
|
__proto__: null,
|
|
4376
4380
|
Blake2b: Blake2b,
|
|
4377
4381
|
HASH_SIZE: HASH_SIZE,
|
|
@@ -5008,7 +5012,7 @@ class TruncatedHashDictionary {
|
|
|
5008
5012
|
}
|
|
5009
5013
|
}
|
|
5010
5014
|
|
|
5011
|
-
var index$
|
|
5015
|
+
var index$n = /*#__PURE__*/Object.freeze({
|
|
5012
5016
|
__proto__: null,
|
|
5013
5017
|
ArrayView: ArrayView,
|
|
5014
5018
|
FixedSizeArray: FixedSizeArray,
|
|
@@ -5195,7 +5199,7 @@ var PvmBackend;
|
|
|
5195
5199
|
PvmBackend[PvmBackend["Ananas"] = 1] = "Ananas";
|
|
5196
5200
|
})(PvmBackend || (PvmBackend = {}));
|
|
5197
5201
|
|
|
5198
|
-
var index$
|
|
5202
|
+
var index$m = /*#__PURE__*/Object.freeze({
|
|
5199
5203
|
__proto__: null,
|
|
5200
5204
|
Bootnode: Bootnode,
|
|
5201
5205
|
ChainSpec: ChainSpec,
|
|
@@ -6702,7 +6706,7 @@ function reencodeAsView(codec, object, chainSpec) {
|
|
|
6702
6706
|
return Decoder.decodeObject(codec.View, encoded, chainSpec);
|
|
6703
6707
|
}
|
|
6704
6708
|
|
|
6705
|
-
var index$
|
|
6709
|
+
var index$l = /*#__PURE__*/Object.freeze({
|
|
6706
6710
|
__proto__: null,
|
|
6707
6711
|
Block: Block,
|
|
6708
6712
|
EpochMarker: EpochMarker,
|
|
@@ -6974,7 +6978,7 @@ var json;
|
|
|
6974
6978
|
json.object = object;
|
|
6975
6979
|
})(json || (json = {}));
|
|
6976
6980
|
|
|
6977
|
-
var index$
|
|
6981
|
+
var index$k = /*#__PURE__*/Object.freeze({
|
|
6978
6982
|
__proto__: null,
|
|
6979
6983
|
get json () { return json; },
|
|
6980
6984
|
parseFromJson: parseFromJson
|
|
@@ -7244,7 +7248,7 @@ const blockFromJson = (spec) => json.object({
|
|
|
7244
7248
|
extrinsic: getExtrinsicFromJson(spec),
|
|
7245
7249
|
}, ({ header, extrinsic }) => Block.create({ header, extrinsic }));
|
|
7246
7250
|
|
|
7247
|
-
var index$
|
|
7251
|
+
var index$j = /*#__PURE__*/Object.freeze({
|
|
7248
7252
|
__proto__: null,
|
|
7249
7253
|
blockFromJson: blockFromJson,
|
|
7250
7254
|
disputesExtrinsicFromJson: disputesExtrinsicFromJson,
|
|
@@ -7738,7 +7742,7 @@ class Logger {
|
|
|
7738
7742
|
}
|
|
7739
7743
|
}
|
|
7740
7744
|
|
|
7741
|
-
var index$
|
|
7745
|
+
var index$i = /*#__PURE__*/Object.freeze({
|
|
7742
7746
|
__proto__: null,
|
|
7743
7747
|
get Level () { return Level; },
|
|
7744
7748
|
Logger: Logger,
|
|
@@ -7953,7 +7957,7 @@ function isJsonObject(value) {
|
|
|
7953
7957
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
7954
7958
|
}
|
|
7955
7959
|
|
|
7956
|
-
var index$
|
|
7960
|
+
var index$h = /*#__PURE__*/Object.freeze({
|
|
7957
7961
|
__proto__: null,
|
|
7958
7962
|
DEFAULT_CONFIG: DEFAULT_CONFIG,
|
|
7959
7963
|
DEV_CONFIG: DEV_CONFIG,
|
|
@@ -9747,7 +9751,7 @@ const serviceDataCodec = codec$1.dictionary(codec$1.u32.asOpaque(), serviceEntri
|
|
|
9747
9751
|
sortKeys: (a, b) => a - b,
|
|
9748
9752
|
});
|
|
9749
9753
|
|
|
9750
|
-
var index$
|
|
9754
|
+
var index$g = /*#__PURE__*/Object.freeze({
|
|
9751
9755
|
__proto__: null,
|
|
9752
9756
|
AUTHORIZATION_QUEUE_SIZE: AUTHORIZATION_QUEUE_SIZE,
|
|
9753
9757
|
AccumulationOutput: AccumulationOutput,
|
|
@@ -10818,7 +10822,7 @@ const bitLookup = [
|
|
|
10818
10822
|
[0b00000000, 8],
|
|
10819
10823
|
];
|
|
10820
10824
|
|
|
10821
|
-
var index$
|
|
10825
|
+
var index$f = /*#__PURE__*/Object.freeze({
|
|
10822
10826
|
__proto__: null,
|
|
10823
10827
|
BranchNode: BranchNode,
|
|
10824
10828
|
InMemoryTrie: InMemoryTrie,
|
|
@@ -11185,7 +11189,7 @@ function loadState(spec, blake2b, entries) {
|
|
|
11185
11189
|
* hashmap of `key -> value` entries.
|
|
11186
11190
|
*/
|
|
11187
11191
|
|
|
11188
|
-
var index$
|
|
11192
|
+
var index$e = /*#__PURE__*/Object.freeze({
|
|
11189
11193
|
__proto__: null,
|
|
11190
11194
|
SerializedService: SerializedService,
|
|
11191
11195
|
SerializedState: SerializedState,
|
|
@@ -11434,7 +11438,7 @@ class InMemoryStates {
|
|
|
11434
11438
|
async close() { }
|
|
11435
11439
|
}
|
|
11436
11440
|
|
|
11437
|
-
var index$
|
|
11441
|
+
var index$d = /*#__PURE__*/Object.freeze({
|
|
11438
11442
|
__proto__: null,
|
|
11439
11443
|
InMemoryBlocks: InMemoryBlocks,
|
|
11440
11444
|
InMemorySerializedStates: InMemorySerializedStates,
|
|
@@ -11798,7 +11802,7 @@ const initEc = async () => {
|
|
|
11798
11802
|
await init.reedSolomon();
|
|
11799
11803
|
};
|
|
11800
11804
|
|
|
11801
|
-
var index$
|
|
11805
|
+
var index$c = /*#__PURE__*/Object.freeze({
|
|
11802
11806
|
__proto__: null,
|
|
11803
11807
|
N_CHUNKS_REDUNDANCY: N_CHUNKS_REDUNDANCY,
|
|
11804
11808
|
N_CHUNKS_REQUIRED: N_CHUNKS_REQUIRED,
|
|
@@ -12232,7 +12236,7 @@ class FuzzTarget {
|
|
|
12232
12236
|
}
|
|
12233
12237
|
}
|
|
12234
12238
|
|
|
12235
|
-
var index$
|
|
12239
|
+
var index$b = /*#__PURE__*/Object.freeze({
|
|
12236
12240
|
__proto__: null,
|
|
12237
12241
|
AncestryItem: AncestryItem,
|
|
12238
12242
|
ErrorMessage: ErrorMessage,
|
|
@@ -12250,9 +12254,9 @@ var index$c = /*#__PURE__*/Object.freeze({
|
|
|
12250
12254
|
stateRootCodec: stateRootCodec
|
|
12251
12255
|
});
|
|
12252
12256
|
|
|
12253
|
-
var index$
|
|
12257
|
+
var index$a = /*#__PURE__*/Object.freeze({
|
|
12254
12258
|
__proto__: null,
|
|
12255
|
-
v1: index$
|
|
12259
|
+
v1: index$b
|
|
12256
12260
|
});
|
|
12257
12261
|
|
|
12258
12262
|
/** Size of the transfer memo. */
|
|
@@ -13115,42 +13119,6 @@ class HostCallsManager {
|
|
|
13115
13119
|
}
|
|
13116
13120
|
}
|
|
13117
13121
|
|
|
13118
|
-
/** Create a new gas counter instance depending on the gas value. */
|
|
13119
|
-
function gasCounter(gas) {
|
|
13120
|
-
return new GasCounterU64(tryAsU64(gas));
|
|
13121
|
-
}
|
|
13122
|
-
class GasCounterU64 {
|
|
13123
|
-
gas;
|
|
13124
|
-
initialGas;
|
|
13125
|
-
constructor(gas) {
|
|
13126
|
-
this.gas = gas;
|
|
13127
|
-
this.initialGas = tryAsGas(gas);
|
|
13128
|
-
}
|
|
13129
|
-
set(g) {
|
|
13130
|
-
this.gas = tryAsU64(g);
|
|
13131
|
-
}
|
|
13132
|
-
get() {
|
|
13133
|
-
return tryAsGas(this.gas);
|
|
13134
|
-
}
|
|
13135
|
-
sub(g) {
|
|
13136
|
-
const result = this.gas - tryAsU64(g);
|
|
13137
|
-
if (result >= 0n) {
|
|
13138
|
-
this.gas = tryAsU64(result);
|
|
13139
|
-
return false;
|
|
13140
|
-
}
|
|
13141
|
-
this.gas = tryAsU64(0n);
|
|
13142
|
-
return true;
|
|
13143
|
-
}
|
|
13144
|
-
used() {
|
|
13145
|
-
const gasConsumed = tryAsU64(this.initialGas) - this.gas;
|
|
13146
|
-
// In we have less than zero left we assume that all gas has been consumed.
|
|
13147
|
-
if (gasConsumed < 0) {
|
|
13148
|
-
return this.initialGas;
|
|
13149
|
-
}
|
|
13150
|
-
return tryAsGas(gasConsumed);
|
|
13151
|
-
}
|
|
13152
|
-
}
|
|
13153
|
-
|
|
13154
13122
|
const tryAsMemoryIndex = (index) => {
|
|
13155
13123
|
check `${index >= 0 && index <= MAX_MEMORY_INDEX} Incorrect memory index: ${index}!`;
|
|
13156
13124
|
return asOpaqueType(index);
|
|
@@ -13873,7 +13841,7 @@ function getRegisters(argsLength) {
|
|
|
13873
13841
|
return regs;
|
|
13874
13842
|
}
|
|
13875
13843
|
|
|
13876
|
-
var index$
|
|
13844
|
+
var index$9 = /*#__PURE__*/Object.freeze({
|
|
13877
13845
|
__proto__: null,
|
|
13878
13846
|
MemorySegment: MemorySegment,
|
|
13879
13847
|
SpiMemory: SpiMemory,
|
|
@@ -13932,7 +13900,7 @@ function extractCodeAndMetadata(blobWithMetadata) {
|
|
|
13932
13900
|
return { metadata, code };
|
|
13933
13901
|
}
|
|
13934
13902
|
|
|
13935
|
-
var index$
|
|
13903
|
+
var index$8 = /*#__PURE__*/Object.freeze({
|
|
13936
13904
|
__proto__: null,
|
|
13937
13905
|
Program: Program,
|
|
13938
13906
|
extractCodeAndMetadata: extractCodeAndMetadata
|
|
@@ -14896,6 +14864,42 @@ class BasicBlocks {
|
|
|
14896
14864
|
}
|
|
14897
14865
|
}
|
|
14898
14866
|
|
|
14867
|
+
/** Create a new gas counter instance depending on the gas value. */
|
|
14868
|
+
function gasCounter(gas) {
|
|
14869
|
+
return new GasCounterU64(tryAsU64(gas));
|
|
14870
|
+
}
|
|
14871
|
+
class GasCounterU64 {
|
|
14872
|
+
gas;
|
|
14873
|
+
initialGas;
|
|
14874
|
+
constructor(gas) {
|
|
14875
|
+
this.gas = gas;
|
|
14876
|
+
this.initialGas = tryAsGas(gas);
|
|
14877
|
+
}
|
|
14878
|
+
set(g) {
|
|
14879
|
+
this.gas = tryAsU64(g);
|
|
14880
|
+
}
|
|
14881
|
+
get() {
|
|
14882
|
+
return tryAsGas(this.gas);
|
|
14883
|
+
}
|
|
14884
|
+
sub(g) {
|
|
14885
|
+
const result = this.gas - tryAsU64(g);
|
|
14886
|
+
if (result >= 0n) {
|
|
14887
|
+
this.gas = tryAsU64(result);
|
|
14888
|
+
return false;
|
|
14889
|
+
}
|
|
14890
|
+
this.gas = tryAsU64(0n);
|
|
14891
|
+
return true;
|
|
14892
|
+
}
|
|
14893
|
+
used() {
|
|
14894
|
+
const gasConsumed = tryAsU64(this.initialGas) - this.gas;
|
|
14895
|
+
// In we have less than zero left we assume that all gas has been consumed.
|
|
14896
|
+
if (gasConsumed < 0) {
|
|
14897
|
+
return this.initialGas;
|
|
14898
|
+
}
|
|
14899
|
+
return tryAsGas(gasConsumed);
|
|
14900
|
+
}
|
|
14901
|
+
}
|
|
14902
|
+
|
|
14899
14903
|
const instructionGasMap = (() => {
|
|
14900
14904
|
const instructionGasMap = new Array(HIGHEST_INSTRUCTION_NUMBER + 1);
|
|
14901
14905
|
for (let i = 0; i < HIGHEST_INSTRUCTION_NUMBER + 1; i++) {
|
|
@@ -16804,8 +16808,77 @@ class Interpreter {
|
|
|
16804
16808
|
}
|
|
16805
16809
|
}
|
|
16806
16810
|
|
|
16807
|
-
|
|
16811
|
+
class DebuggerAdapter {
|
|
16812
|
+
pvm;
|
|
16813
|
+
constructor(useSbrkGas = false) {
|
|
16814
|
+
this.pvm = new Interpreter({ useSbrkGas });
|
|
16815
|
+
}
|
|
16816
|
+
resetGeneric(rawProgram, flatRegisters, initialGas) {
|
|
16817
|
+
this.pvm.resetGeneric(rawProgram, 0, tryAsGas(initialGas), new Registers(flatRegisters));
|
|
16818
|
+
}
|
|
16819
|
+
reset(rawProgram, pc, gas, maybeRegisters, maybeMemory) {
|
|
16820
|
+
this.pvm.resetGeneric(rawProgram, pc, tryAsGas(gas), maybeRegisters, maybeMemory);
|
|
16821
|
+
}
|
|
16822
|
+
getPageDump(pageNumber) {
|
|
16823
|
+
const page = this.pvm.getMemoryPage(pageNumber);
|
|
16824
|
+
if (page === null) {
|
|
16825
|
+
// page wasn't allocated so we return an empty page
|
|
16826
|
+
return safeAllocUint8Array(PAGE_SIZE$1);
|
|
16827
|
+
}
|
|
16828
|
+
if (page.length === PAGE_SIZE$1) {
|
|
16829
|
+
// page was allocated and has a proper size so we can simply return it
|
|
16830
|
+
return page;
|
|
16831
|
+
}
|
|
16832
|
+
// page was allocated but it is shorter than PAGE_SIZE so we have to extend it
|
|
16833
|
+
const fullPage = safeAllocUint8Array(PAGE_SIZE$1);
|
|
16834
|
+
fullPage.set(page);
|
|
16835
|
+
return fullPage;
|
|
16836
|
+
}
|
|
16837
|
+
setMemory(address, value) {
|
|
16838
|
+
this.pvm.memory.storeFrom(tryAsMemoryIndex(address), value);
|
|
16839
|
+
}
|
|
16840
|
+
getExitArg() {
|
|
16841
|
+
return this.pvm.getExitParam() ?? 0;
|
|
16842
|
+
}
|
|
16843
|
+
getStatus() {
|
|
16844
|
+
return this.pvm.getStatus();
|
|
16845
|
+
}
|
|
16846
|
+
nextStep() {
|
|
16847
|
+
return this.pvm.nextStep() === Status.OK;
|
|
16848
|
+
}
|
|
16849
|
+
nSteps(steps) {
|
|
16850
|
+
check `${steps >>> 0 > 0} Expected a positive integer got ${steps}`;
|
|
16851
|
+
for (let i = 0; i < steps; i++) {
|
|
16852
|
+
const isOk = this.nextStep();
|
|
16853
|
+
if (!isOk) {
|
|
16854
|
+
return false;
|
|
16855
|
+
}
|
|
16856
|
+
}
|
|
16857
|
+
return true;
|
|
16858
|
+
}
|
|
16859
|
+
getRegisters() {
|
|
16860
|
+
return this.pvm.registers.getAllU64();
|
|
16861
|
+
}
|
|
16862
|
+
setRegisters(registers) {
|
|
16863
|
+
this.pvm.registers.copyFrom(new Registers(registers));
|
|
16864
|
+
}
|
|
16865
|
+
getProgramCounter() {
|
|
16866
|
+
return this.pvm.getPC();
|
|
16867
|
+
}
|
|
16868
|
+
setNextProgramCounter(nextPc) {
|
|
16869
|
+
this.pvm.setNextPC(nextPc);
|
|
16870
|
+
}
|
|
16871
|
+
getGasLeft() {
|
|
16872
|
+
return BigInt(this.pvm.gas.get());
|
|
16873
|
+
}
|
|
16874
|
+
setGasLeft(gas) {
|
|
16875
|
+
this.pvm.gas.set(tryAsGas(gas));
|
|
16876
|
+
}
|
|
16877
|
+
}
|
|
16878
|
+
|
|
16879
|
+
var index$7 = /*#__PURE__*/Object.freeze({
|
|
16808
16880
|
__proto__: null,
|
|
16881
|
+
DebuggerAdapter: DebuggerAdapter,
|
|
16809
16882
|
Interpreter: Interpreter,
|
|
16810
16883
|
Memory: Memory,
|
|
16811
16884
|
MemoryBuilder: MemoryBuilder,
|
|
@@ -17395,7 +17468,7 @@ class InterpreterInstanceManager {
|
|
|
17395
17468
|
}
|
|
17396
17469
|
}
|
|
17397
17470
|
|
|
17398
|
-
var index$
|
|
17471
|
+
var index$6 = /*#__PURE__*/Object.freeze({
|
|
17399
17472
|
__proto__: null,
|
|
17400
17473
|
HostCallMemory: HostCallMemory,
|
|
17401
17474
|
HostCallRegisters: HostCallRegisters,
|
|
@@ -17488,7 +17561,7 @@ const codecServiceAccountInfoWithThresholdBalance = codec$1.object({
|
|
|
17488
17561
|
parentService: codec$1.u32.convert((x) => x, tryAsServiceId),
|
|
17489
17562
|
}, "ServiceAccountInfoWithThresholdBalance");
|
|
17490
17563
|
|
|
17491
|
-
var index$
|
|
17564
|
+
var index$5 = /*#__PURE__*/Object.freeze({
|
|
17492
17565
|
__proto__: null,
|
|
17493
17566
|
AccumulationStateUpdate: AccumulationStateUpdate,
|
|
17494
17567
|
CURRENT_SERVICE_ID: CURRENT_SERVICE_ID,
|
|
@@ -17643,82 +17716,9 @@ class Mountain {
|
|
|
17643
17716
|
}
|
|
17644
17717
|
}
|
|
17645
17718
|
|
|
17646
|
-
var index$5 = /*#__PURE__*/Object.freeze({
|
|
17647
|
-
__proto__: null,
|
|
17648
|
-
MerkleMountainRange: MerkleMountainRange
|
|
17649
|
-
});
|
|
17650
|
-
|
|
17651
|
-
class DebuggerAdapter {
|
|
17652
|
-
pvm;
|
|
17653
|
-
constructor(useSbrkGas = false) {
|
|
17654
|
-
this.pvm = new Interpreter({ useSbrkGas });
|
|
17655
|
-
}
|
|
17656
|
-
resetGeneric(rawProgram, flatRegisters, initialGas) {
|
|
17657
|
-
this.pvm.resetGeneric(rawProgram, 0, tryAsGas(initialGas), new Registers(flatRegisters));
|
|
17658
|
-
}
|
|
17659
|
-
reset(rawProgram, pc, gas, maybeRegisters, maybeMemory) {
|
|
17660
|
-
this.pvm.resetGeneric(rawProgram, pc, tryAsGas(gas), maybeRegisters, maybeMemory);
|
|
17661
|
-
}
|
|
17662
|
-
getPageDump(pageNumber) {
|
|
17663
|
-
const page = this.pvm.getMemoryPage(pageNumber);
|
|
17664
|
-
if (page === null) {
|
|
17665
|
-
// page wasn't allocated so we return an empty page
|
|
17666
|
-
return safeAllocUint8Array(PAGE_SIZE$1);
|
|
17667
|
-
}
|
|
17668
|
-
if (page.length === PAGE_SIZE$1) {
|
|
17669
|
-
// page was allocated and has a proper size so we can simply return it
|
|
17670
|
-
return page;
|
|
17671
|
-
}
|
|
17672
|
-
// page was allocated but it is shorter than PAGE_SIZE so we have to extend it
|
|
17673
|
-
const fullPage = safeAllocUint8Array(PAGE_SIZE$1);
|
|
17674
|
-
fullPage.set(page);
|
|
17675
|
-
return fullPage;
|
|
17676
|
-
}
|
|
17677
|
-
setMemory(address, value) {
|
|
17678
|
-
this.pvm.memory.storeFrom(tryAsMemoryIndex(address), value);
|
|
17679
|
-
}
|
|
17680
|
-
getExitArg() {
|
|
17681
|
-
return this.pvm.getExitParam() ?? 0;
|
|
17682
|
-
}
|
|
17683
|
-
getStatus() {
|
|
17684
|
-
return this.pvm.getStatus();
|
|
17685
|
-
}
|
|
17686
|
-
nextStep() {
|
|
17687
|
-
return this.pvm.nextStep() === Status.OK;
|
|
17688
|
-
}
|
|
17689
|
-
nSteps(steps) {
|
|
17690
|
-
check `${steps >>> 0 > 0} Expected a positive integer got ${steps}`;
|
|
17691
|
-
for (let i = 0; i < steps; i++) {
|
|
17692
|
-
const isOk = this.nextStep();
|
|
17693
|
-
if (!isOk) {
|
|
17694
|
-
return false;
|
|
17695
|
-
}
|
|
17696
|
-
}
|
|
17697
|
-
return true;
|
|
17698
|
-
}
|
|
17699
|
-
getRegisters() {
|
|
17700
|
-
return this.pvm.registers.getAllU64();
|
|
17701
|
-
}
|
|
17702
|
-
setRegisters(registers) {
|
|
17703
|
-
this.pvm.registers.copyFrom(new Registers(registers));
|
|
17704
|
-
}
|
|
17705
|
-
getProgramCounter() {
|
|
17706
|
-
return this.pvm.getPC();
|
|
17707
|
-
}
|
|
17708
|
-
setNextProgramCounter(nextPc) {
|
|
17709
|
-
this.pvm.setNextPC(nextPc);
|
|
17710
|
-
}
|
|
17711
|
-
getGasLeft() {
|
|
17712
|
-
return BigInt(this.pvm.gas.get());
|
|
17713
|
-
}
|
|
17714
|
-
setGasLeft(gas) {
|
|
17715
|
-
this.pvm.gas.set(tryAsGas(gas));
|
|
17716
|
-
}
|
|
17717
|
-
}
|
|
17718
|
-
|
|
17719
17719
|
var index$4 = /*#__PURE__*/Object.freeze({
|
|
17720
17720
|
__proto__: null,
|
|
17721
|
-
|
|
17721
|
+
MerkleMountainRange: MerkleMountainRange
|
|
17722
17722
|
});
|
|
17723
17723
|
|
|
17724
17724
|
const ENTROPY_BYTES = 32;
|
|
@@ -18360,34 +18360,33 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
18360
18360
|
TransitionHasher: TransitionHasher
|
|
18361
18361
|
});
|
|
18362
18362
|
|
|
18363
|
-
exports.block = index$
|
|
18364
|
-
exports.block_json = index$
|
|
18365
|
-
exports.bytes = index$
|
|
18366
|
-
exports.codec = index$
|
|
18367
|
-
exports.collections = index$
|
|
18368
|
-
exports.config = index$
|
|
18369
|
-
exports.config_node = index$
|
|
18370
|
-
exports.crypto = index$
|
|
18371
|
-
exports.database = index$
|
|
18372
|
-
exports.erasure_coding = index$
|
|
18373
|
-
exports.fuzz_proto = index$
|
|
18374
|
-
exports.hash = index$
|
|
18375
|
-
exports.jam_host_calls = index$
|
|
18376
|
-
exports.json_parser = index$
|
|
18377
|
-
exports.logger = index$
|
|
18378
|
-
exports.mmr = index$
|
|
18379
|
-
exports.numbers = index$
|
|
18380
|
-
exports.ordering = index$
|
|
18381
|
-
exports.pvm = index$
|
|
18382
|
-
exports.pvm_host_calls = index$
|
|
18383
|
-
exports.
|
|
18384
|
-
exports.
|
|
18385
|
-
exports.pvm_spi_decoder = index$a;
|
|
18363
|
+
exports.block = index$l;
|
|
18364
|
+
exports.block_json = index$j;
|
|
18365
|
+
exports.bytes = index$s;
|
|
18366
|
+
exports.codec = index$q;
|
|
18367
|
+
exports.collections = index$n;
|
|
18368
|
+
exports.config = index$m;
|
|
18369
|
+
exports.config_node = index$h;
|
|
18370
|
+
exports.crypto = index$p;
|
|
18371
|
+
exports.database = index$d;
|
|
18372
|
+
exports.erasure_coding = index$c;
|
|
18373
|
+
exports.fuzz_proto = index$a;
|
|
18374
|
+
exports.hash = index$o;
|
|
18375
|
+
exports.jam_host_calls = index$5;
|
|
18376
|
+
exports.json_parser = index$k;
|
|
18377
|
+
exports.logger = index$i;
|
|
18378
|
+
exports.mmr = index$4;
|
|
18379
|
+
exports.numbers = index$r;
|
|
18380
|
+
exports.ordering = index$t;
|
|
18381
|
+
exports.pvm = index$7;
|
|
18382
|
+
exports.pvm_host_calls = index$6;
|
|
18383
|
+
exports.pvm_program = index$8;
|
|
18384
|
+
exports.pvm_spi_decoder = index$9;
|
|
18386
18385
|
exports.shuffling = index$3;
|
|
18387
|
-
exports.state = index$
|
|
18386
|
+
exports.state = index$g;
|
|
18388
18387
|
exports.state_json = index$2;
|
|
18389
|
-
exports.state_merkleization = index$
|
|
18388
|
+
exports.state_merkleization = index$e;
|
|
18390
18389
|
exports.state_vectors = index$1;
|
|
18391
18390
|
exports.transition = index;
|
|
18392
|
-
exports.trie = index$
|
|
18393
|
-
exports.utils = index$
|
|
18391
|
+
exports.trie = index$f;
|
|
18392
|
+
exports.utils = index$u;
|