Skip to content

Commit dfced24

Browse files
authored
Switch to @typeberry/lib (#409)
* Switch to typeberry/lib * Attempts to reduce bundle size. * Fix build. * Update lock.
1 parent cbb2c3b commit dfced24

File tree

23 files changed

+131
-141
lines changed

23 files changed

+131
-141
lines changed

package-lock.json

Lines changed: 16 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"@radix-ui/react-tooltip": "^1.1.7",
3232
"@reduxjs/toolkit": "^2.9.0",
3333
"@tanstack/react-virtual": "^3.10.9",
34-
"@typeberry/pvm-debugger-adapter": "0.1.0-267e8a5",
34+
"@typeberry/lib": "^0.0.5",
3535
"@typeberry/spectool-wasm": "0.23.0",
3636
"@uiw/react-codemirror": "^4.25.1",
3737
"class-variance-authority": "^0.7.1",

src/components/Instructions/BasicBlocks/CollapsibleInstructionsTable.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { NumeralSystem } from "@/context/NumeralSystem";
1010
import workersReducer from "@/store/workers/workersSlice";
1111
import debuggerReducer from "@/store/debugger/debuggerSlice";
1212
import { TooltipProvider } from "@/components/ui/tooltip";
13-
import { ArgumentType } from "@typeberry/pvm-debugger-adapter";
13+
import { pvm } from "@typeberry/lib";
1414

1515
// Mock the utils module to avoid program decoding issues
1616
vi.mock("../utils", async () => {
@@ -53,7 +53,7 @@ function createMockInstruction(
5353
instructionCode: 1,
5454
instructionBytes: new Uint8Array([1, 2, 3]),
5555
args: {
56-
type: ArgumentType.NO_ARGUMENTS,
56+
type: pvm.ArgumentType.NO_ARGUMENTS,
5757
noOfBytesToSkip: 3,
5858
},
5959
block: {

src/components/Instructions/BasicBlocks/blockUtils.test.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, it, expect } from "vitest";
2-
import { Args } from "@typeberry/pvm-debugger-adapter";
2+
import { pvm } from "@typeberry/lib";
33
import {
44
groupInstructionsByBlocks,
55
getVisibleInstructionCount,
@@ -26,7 +26,10 @@ function createMockInstruction(
2626
gas: 100,
2727
instructionCode: 1,
2828
instructionBytes: new Uint8Array([1, 2, 3]),
29-
args: {} as Args,
29+
args: {
30+
type: pvm.ArgumentType.NO_ARGUMENTS,
31+
noOfBytesToSkip: 3,
32+
},
3033
block: {
3134
isStart,
3235
isEnd,

src/components/Instructions/utils.tsx

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { NumeralSystem } from "@/context/NumeralSystem";
2-
import { ArgumentType, Args, ProgramDecoder, BasicBlocks } from "@typeberry/pvm-debugger-adapter";
1+
import { NumeralSystem } from "@/context/NumeralSystem.tsx";
2+
import { pvm } from "@typeberry/lib";
33
import { ArgumentBitLengths, ArgsDecoder } from "@/packages/pvm/pvm/args-decoder";
44

55
export const valueToNumeralSystem = (
@@ -31,25 +31,25 @@ export enum argType {
3131
export const getArgumentBitLengths = (
3232
argsDecoder: ArgsDecoder,
3333
pc: number,
34-
argType: ArgumentType,
34+
argType: pvm.ArgumentType,
3535
): ArgumentBitLengths => {
3636
return argsDecoder.calculateArgumentBitLengths(pc, argType);
3737
};
3838

3939
export const decodeAndGetArgsDecoder = (program: number[]) => {
4040
// Create an instance of ArgsDecoder to calculate bit lengths
41-
const programDecoder = new ProgramDecoder(new Uint8Array(program));
41+
const programDecoder = new pvm.ProgramDecoder(new Uint8Array(program));
4242
const code = programDecoder.getCode();
4343
const mask = programDecoder.getMask();
44-
const blocks = new BasicBlocks();
44+
const blocks = new pvm.BasicBlocks();
4545
blocks.reset(code, mask);
4646
const argsDecoder = new ArgsDecoder();
4747
argsDecoder.reset(code, mask);
4848
return argsDecoder;
4949
};
5050

5151
export const mapInstructionsArgsByType = (
52-
args: Args | null,
52+
args: pvm.Args | null,
5353
numeralSystem: NumeralSystem,
5454
counter: number,
5555
argsDecoder: ArgsDecoder,
@@ -68,12 +68,12 @@ export const mapInstructionsArgsByType = (
6868

6969
// Calculate bit lengths for the current instruction
7070
const bitLengths =
71-
args.type !== ArgumentType.NO_ARGUMENTS ? getArgumentBitLengths(argsDecoder, counter, args.type) : undefined;
71+
args.type !== pvm.ArgumentType.NO_ARGUMENTS ? getArgumentBitLengths(argsDecoder, counter, args.type) : undefined;
7272

7373
switch (args.type) {
74-
case ArgumentType.NO_ARGUMENTS:
74+
case pvm.ArgumentType.NO_ARGUMENTS:
7575
return [];
76-
case ArgumentType.ONE_IMMEDIATE:
76+
case pvm.ArgumentType.ONE_IMMEDIATE:
7777
return [
7878
{
7979
type: argType.IMMEDIATE,
@@ -83,7 +83,7 @@ export const mapInstructionsArgsByType = (
8383
hiddenFromDetails: bitLengths?.immediateDecoderBits === 0,
8484
},
8585
];
86-
case ArgumentType.TWO_IMMEDIATES:
86+
case pvm.ArgumentType.TWO_IMMEDIATES:
8787
return [
8888
{
8989
type: argType.IMMEDIATE_LENGTH,
@@ -107,7 +107,7 @@ export const mapInstructionsArgsByType = (
107107
hiddenFromDetails: bitLengths?.secondImmediateDecoderBits === 0,
108108
},
109109
];
110-
case ArgumentType.ONE_OFFSET:
110+
case pvm.ArgumentType.ONE_OFFSET:
111111
return [
112112
{
113113
type: argType.OFFSET,
@@ -117,7 +117,7 @@ export const mapInstructionsArgsByType = (
117117
hiddenFromDetails: bitLengths?.offsetBits === 0,
118118
},
119119
];
120-
case ArgumentType.ONE_REGISTER_ONE_IMMEDIATE:
120+
case pvm.ArgumentType.ONE_REGISTER_ONE_IMMEDIATE:
121121
return [
122122
{
123123
type: argType.REGISTER,
@@ -134,7 +134,7 @@ export const mapInstructionsArgsByType = (
134134
hiddenFromDetails: bitLengths?.immediateDecoderBits === 0,
135135
},
136136
];
137-
case ArgumentType.ONE_REGISTER_TWO_IMMEDIATES:
137+
case pvm.ArgumentType.ONE_REGISTER_TWO_IMMEDIATES:
138138
return [
139139
{
140140
type: argType.REGISTER,
@@ -165,7 +165,7 @@ export const mapInstructionsArgsByType = (
165165
hiddenFromDetails: bitLengths?.secondImmediateDecoderBits === 0,
166166
},
167167
];
168-
case ArgumentType.ONE_REGISTER_ONE_IMMEDIATE_ONE_OFFSET:
168+
case pvm.ArgumentType.ONE_REGISTER_ONE_IMMEDIATE_ONE_OFFSET:
169169
return [
170170
{
171171
type: argType.REGISTER,
@@ -196,7 +196,7 @@ export const mapInstructionsArgsByType = (
196196
hiddenFromDetails: bitLengths?.offsetBits === 0,
197197
},
198198
];
199-
case ArgumentType.ONE_REGISTER_ONE_EXTENDED_WIDTH_IMMEDIATE:
199+
case pvm.ArgumentType.ONE_REGISTER_ONE_EXTENDED_WIDTH_IMMEDIATE:
200200
return [
201201
{
202202
type: argType.REGISTER,
@@ -213,7 +213,7 @@ export const mapInstructionsArgsByType = (
213213
hiddenFromDetails: bitLengths?.immediateDecoderBits === 0,
214214
},
215215
];
216-
case ArgumentType.TWO_REGISTERS:
216+
case pvm.ArgumentType.TWO_REGISTERS:
217217
return [
218218
{
219219
type: argType.REGISTER,
@@ -230,7 +230,7 @@ export const mapInstructionsArgsByType = (
230230
argumentBitLength: bitLengths?.secondRegisterIndexBits || 4,
231231
},
232232
];
233-
case ArgumentType.TWO_REGISTERS_ONE_IMMEDIATE:
233+
case pvm.ArgumentType.TWO_REGISTERS_ONE_IMMEDIATE:
234234
return [
235235
{
236236
type: argType.REGISTER,
@@ -254,7 +254,7 @@ export const mapInstructionsArgsByType = (
254254
hiddenFromDetails: bitLengths?.immediateDecoderBits === 0,
255255
},
256256
];
257-
case ArgumentType.TWO_REGISTERS_ONE_OFFSET:
257+
case pvm.ArgumentType.TWO_REGISTERS_ONE_OFFSET:
258258
return [
259259
{
260260
type: argType.REGISTER,
@@ -278,7 +278,7 @@ export const mapInstructionsArgsByType = (
278278
hiddenFromDetails: bitLengths?.offsetBits === 0,
279279
},
280280
];
281-
case ArgumentType.TWO_REGISTERS_TWO_IMMEDIATES:
281+
case pvm.ArgumentType.TWO_REGISTERS_TWO_IMMEDIATES:
282282
return [
283283
{
284284
type: argType.REGISTER,
@@ -316,7 +316,7 @@ export const mapInstructionsArgsByType = (
316316
hiddenFromDetails: bitLengths?.secondImmediateDecoderBits === 0,
317317
},
318318
];
319-
case ArgumentType.THREE_REGISTERS:
319+
case pvm.ArgumentType.THREE_REGISTERS:
320320
return [
321321
{
322322
type: argType.REGISTER,
@@ -346,7 +346,7 @@ export const mapInstructionsArgsByType = (
346346
};
347347

348348
export const getASMInstructionValueHtml = (
349-
args: Args,
349+
args: pvm.Args,
350350
numeralSystem: number,
351351
counter: number,
352352
argsDecoder: ArgsDecoder,

src/components/MemoryPreview/utils.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { NumeralSystem } from "@/context/NumeralSystem";
22
import { WorkerState } from "@/store/workers/workersSlice";
33
import { valueToNumeralSystem } from "../Instructions/utils";
4-
import { block } from "@typeberry/pvm-debugger-adapter";
5-
6-
const codec = block.codec;
4+
import { codec } from "@typeberry/lib";
75

86
export type FindMemoryForWorkerType = (
97
worker: WorkerState,

src/components/ProgramLoader/ProgramFileUpload.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useDropzone } from "react-dropzone";
22
import { ProgramUploadFileInput, ProgramUploadFileOutput } from "./types";
33
import { mapUploadFileInputToOutput } from "./utils";
4-
import { bytes, ProgramDecoder } from "@typeberry/pvm-debugger-adapter";
4+
import { bytes, pvm } from "@typeberry/lib";
55
import { ExpectedState, MemoryChunkItem, PageMapItem, RegistersArray } from "@/types/pvm.ts";
66
import { SafeParseReturnType, z } from "zod";
77
import { useAppSelector } from "@/store/hooks";
@@ -144,7 +144,7 @@ function loadFileFromUint8Array(
144144
// Finally try to load program as a Generic
145145
let program = null;
146146
try {
147-
program = new ProgramDecoder(uint8Array);
147+
program = new pvm.ProgramDecoder(uint8Array);
148148
} catch (e) {
149149
console.warn("not a generic PVM", e);
150150
}

src/components/ProgramTextLoader/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Textarea } from "@/components/ui/textarea.tsx";
22
import React, { useMemo, useState } from "react";
33
import classNames from "classnames";
4-
import { bytes } from "@typeberry/pvm-debugger-adapter";
4+
import { bytes } from "@typeberry/lib";
55
import { logger } from "@/utils/loggerService";
66
import { useAppSelector } from "@/store/hooks.ts";
77
import { selectIsProgramInvalid } from "@/store/debugger/debuggerSlice.ts";

src/lib/utils.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { clsx, type ClassValue } from "clsx";
22
import { twMerge } from "tailwind-merge";
3-
import { MemorySegment, SpiMemory } from "@typeberry/pvm-debugger-adapter";
3+
import { pvm } from "@typeberry/lib";
44
import { MemoryChunkItem, PageMapItem } from "@/types/pvm.ts";
55

66
export function cn(...inputs: ClassValue[]) {
@@ -76,7 +76,7 @@ function pageAlignUp(v: number) {
7676
return (((v + PAGE_SIZE - 1) >> PAGE_SHIFT) << PAGE_SHIFT) >>> 0;
7777
}
7878

79-
function asChunks(mem: MemorySegment[]): MemoryChunkItem[] {
79+
function asChunks(mem: pvm.MemorySegment[]): MemoryChunkItem[] {
8080
const items = [];
8181
for (const segment of mem) {
8282
if (segment.data === null) {
@@ -101,7 +101,7 @@ function asChunks(mem: MemorySegment[]): MemoryChunkItem[] {
101101
return items;
102102
}
103103

104-
function asPageMap(mem: MemorySegment[], isWriteable: boolean): PageMapItem[] {
104+
function asPageMap(mem: pvm.MemorySegment[], isWriteable: boolean): PageMapItem[] {
105105
const items = [];
106106
for (const segment of mem) {
107107
const pageOffset = segment.start % PAGE_SIZE;
@@ -118,10 +118,10 @@ function asPageMap(mem: MemorySegment[], isWriteable: boolean): PageMapItem[] {
118118
return items;
119119
}
120120

121-
export function getAsPageMap(mem: SpiMemory): PageMapItem[] {
121+
export function getAsPageMap(mem: pvm.SpiMemory): PageMapItem[] {
122122
return asPageMap(mem.readable, false).concat(asPageMap(mem.writeable, true));
123123
}
124124

125-
export function getAsChunks(mem: SpiMemory): MemoryChunkItem[] {
125+
export function getAsChunks(mem: pvm.SpiMemory): MemoryChunkItem[] {
126126
return asChunks(mem.readable).concat(asChunks(mem.writeable));
127127
}

0 commit comments

Comments
 (0)