@typeberry/lib 0.5.2 → 0.5.3
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/package.json +2 -2
- package/packages/core/collections/blob-dictionary.d.ts.map +1 -1
- package/packages/core/collections/blob-dictionary.js +3 -3
- package/packages/core/crypto/bandersnatch.d.ts +2 -1
- package/packages/core/crypto/bandersnatch.d.ts.map +1 -1
- package/packages/core/crypto/bandersnatch.js +9 -2
- package/packages/core/crypto/key-derivation.test.js +8 -7
- package/packages/core/networking/package.json +1 -1
- package/packages/core/pvm-host-calls/bin.js +6 -6
- package/packages/core/pvm-host-calls/ecalli-io-tracker.d.ts +32 -0
- package/packages/core/pvm-host-calls/ecalli-io-tracker.d.ts.map +1 -0
- package/packages/core/pvm-host-calls/ecalli-io-tracker.js +14 -0
- package/packages/core/pvm-host-calls/ecalli-trace-logger.d.ts +139 -0
- package/packages/core/pvm-host-calls/ecalli-trace-logger.d.ts.map +1 -0
- package/packages/core/pvm-host-calls/ecalli-trace-logger.js +209 -0
- package/packages/core/pvm-host-calls/ecalli-trace-logger.test.d.ts +2 -0
- package/packages/core/pvm-host-calls/ecalli-trace-logger.test.d.ts.map +1 -0
- package/packages/core/pvm-host-calls/ecalli-trace-logger.test.js +231 -0
- package/packages/core/pvm-host-calls/host-call-memory.d.ts +2 -0
- package/packages/core/pvm-host-calls/host-call-memory.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/host-call-memory.js +12 -2
- package/packages/core/pvm-host-calls/host-call-registers.d.ts +6 -0
- package/packages/core/pvm-host-calls/host-call-registers.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/host-call-registers.js +24 -0
- package/packages/core/pvm-host-calls/host-calls-executor.d.ts +31 -0
- package/packages/core/pvm-host-calls/host-calls-executor.d.ts.map +1 -0
- package/packages/core/pvm-host-calls/host-calls-executor.js +137 -0
- package/packages/core/pvm-host-calls/host-calls.d.ts +20 -26
- package/packages/core/pvm-host-calls/host-calls.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/host-calls.js +40 -112
- package/packages/core/pvm-host-calls/index.d.ts +7 -6
- package/packages/core/pvm-host-calls/index.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/index.js +7 -6
- package/packages/core/pvm-host-calls/{interpreter-instance-manager.d.ts → pvm-instance-manager.d.ts} +3 -3
- package/packages/core/pvm-host-calls/pvm-instance-manager.d.ts.map +1 -0
- package/packages/core/pvm-host-calls/{interpreter-instance-manager.js → pvm-instance-manager.js} +2 -2
- package/packages/core/telemetry/package.json +1 -1
- package/packages/jam/node/main-importer.d.ts.map +1 -1
- package/packages/jam/node/main-importer.js +3 -1
- package/packages/jam/node/package.json +1 -1
- package/packages/jam/safrole/bandersnatch-vrf.d.ts +2 -0
- package/packages/jam/safrole/bandersnatch-vrf.d.ts.map +1 -1
- package/packages/jam/safrole/bandersnatch-vrf.js +11 -0
- package/packages/jam/safrole/bandersnatch-vrf.test.js +3 -3
- package/packages/jam/safrole/bandersnatch-wasm.d.ts +1 -0
- package/packages/jam/safrole/bandersnatch-wasm.d.ts.map +1 -1
- package/packages/jam/safrole/bandersnatch-wasm.js +8 -5
- package/packages/jam/safrole/safrole-seal.d.ts +1 -3
- package/packages/jam/safrole/safrole-seal.d.ts.map +1 -1
- package/packages/jam/safrole/safrole-seal.js +14 -25
- package/packages/jam/safrole/safrole-seal.test.js +4 -10
- package/packages/jam/transition/accumulate/pvm-executor.d.ts.map +1 -1
- package/packages/jam/transition/accumulate/pvm-executor.js +2 -2
- package/packages/jam/transition/disputes/disputes.d.ts.map +1 -1
- package/packages/jam/transition/disputes/disputes.js +5 -4
- package/packages/workers/block-authorship/package.json +1 -1
- package/packages/workers/importer/package.json +1 -1
- package/packages/core/pvm-host-calls/host-calls-manager.d.ts +0 -23
- package/packages/core/pvm-host-calls/host-calls-manager.d.ts.map +0 -1
- package/packages/core/pvm-host-calls/host-calls-manager.js +0 -44
- package/packages/core/pvm-host-calls/interpreter-instance-manager.d.ts.map +0 -1
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type Gas } from "#@typeberry/pvm-interface";
|
|
2
|
-
import { type HostCallHandler, type HostCallIndex, type PvmExecution } from "./host-call-handler.js";
|
|
3
|
-
import type { HostCallRegisters } from "./host-call-registers.js";
|
|
4
|
-
/** Container for all available host calls. */
|
|
5
|
-
export declare class HostCallsManager {
|
|
6
|
-
private readonly hostCalls;
|
|
7
|
-
private readonly missing;
|
|
8
|
-
constructor({ missing, handlers, }: {
|
|
9
|
-
missing: HostCallHandler;
|
|
10
|
-
handlers?: HostCallHandler[];
|
|
11
|
-
});
|
|
12
|
-
/** Get a host call by index. */
|
|
13
|
-
get(hostCallIndex: HostCallIndex): HostCallHandler;
|
|
14
|
-
traceHostCall(context: string, hostCallIndex: HostCallIndex, hostCallHandler: HostCallHandler, registers: HostCallRegisters, gas: Gas): void;
|
|
15
|
-
}
|
|
16
|
-
export declare class NoopMissing implements HostCallHandler {
|
|
17
|
-
index: number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"HostCallIndex[U32]">;
|
|
18
|
-
basicGasCost: number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"SmallGas[U32]">;
|
|
19
|
-
currentServiceId: import("@typeberry/numbers").U32;
|
|
20
|
-
tracedRegisters: never[];
|
|
21
|
-
execute(): Promise<undefined | PvmExecution>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=host-calls-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-calls-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/core/pvm-host-calls/host-calls-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAiB,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,8CAA8C;AAC9C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAEb,EACV,OAAO,EACP,QAAa,GACd,EAAE;QACD,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;KAC9B;IASD,gCAAgC;IAChC,GAAG,CAAC,aAAa,EAAE,aAAa,GAAG,eAAe;IAIlD,aAAa,CACX,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EAAE,GAAG;CAcX;AAED,qBAAa,WAAY,YAAW,eAAe;IACjD,KAAK,iIAAmC;IACxC,YAAY,4HAAoB;IAChC,gBAAgB,mCAAe;IAC/B,eAAe,UAAM;IAEf,OAAO,IAAI,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;CAGnD"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Logger } from "#@typeberry/logger";
|
|
2
|
-
import { tryAsU32 } from "#@typeberry/numbers";
|
|
3
|
-
import { tryAsSmallGas } from "#@typeberry/pvm-interface";
|
|
4
|
-
import { check } from "#@typeberry/utils";
|
|
5
|
-
import { tryAsHostCallIndex, } from "./host-call-handler.js";
|
|
6
|
-
const logger = Logger.new(import.meta.filename, "host-calls-pvm");
|
|
7
|
-
/** Container for all available host calls. */
|
|
8
|
-
export class HostCallsManager {
|
|
9
|
-
hostCalls = new Map();
|
|
10
|
-
missing;
|
|
11
|
-
constructor({ missing, handlers = [], }) {
|
|
12
|
-
this.missing = missing;
|
|
13
|
-
for (const handler of handlers) {
|
|
14
|
-
check `${this.hostCalls.get(handler.index) === undefined} Overwriting host call handler at index ${handler.index}`;
|
|
15
|
-
this.hostCalls.set(handler.index, handler);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/** Get a host call by index. */
|
|
19
|
-
get(hostCallIndex) {
|
|
20
|
-
return this.hostCalls.get(hostCallIndex) ?? this.missing;
|
|
21
|
-
}
|
|
22
|
-
traceHostCall(context, hostCallIndex, hostCallHandler, registers, gas) {
|
|
23
|
-
const { currentServiceId } = hostCallHandler;
|
|
24
|
-
const requested = hostCallIndex !== hostCallHandler.index ? ` (${hostCallIndex})` : "";
|
|
25
|
-
const name = `${hostCallHandler.constructor.name}:${hostCallHandler.index}`;
|
|
26
|
-
const registerValues = hostCallHandler.tracedRegisters
|
|
27
|
-
.map((idx) => [idx.toString().padStart(2, "0"), registers.get(idx)])
|
|
28
|
-
.filter((v) => v[1] !== 0n)
|
|
29
|
-
.map(([idx, value]) => {
|
|
30
|
-
return `r${idx}=${value} (0x${value.toString(16)})`;
|
|
31
|
-
})
|
|
32
|
-
.join(", ");
|
|
33
|
-
logger.insane `[${currentServiceId}] ${context} ${name}${requested}. Gas: ${gas}. Regs: ${registerValues}.`;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
export class NoopMissing {
|
|
37
|
-
index = tryAsHostCallIndex(2 ** 32 - 1);
|
|
38
|
-
basicGasCost = tryAsSmallGas(0);
|
|
39
|
-
currentServiceId = tryAsU32(0);
|
|
40
|
-
tracedRegisters = [];
|
|
41
|
-
async execute() {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter-instance-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/core/pvm-host-calls/interpreter-instance-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAQhE,qBAAa,0BAA0B;IAGjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF9C,OAAO,CAAC,YAAY,CAAmB;IAEvC,OAAO;WAEM,GAAG,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAmBxE,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAU7C,eAAe,CAAC,GAAG,EAAE,eAAe;CAOrC"}
|