Typeberry by Fluffy Labs - v0.4.0
    Preparing search index...

    A piece of work done within a core.

    `P = (j ∈ Y, h ∈ NS, u ∈ H, p ∈ Y, x ∈ X, w ∈ ⟦I⟧1∶I)

    https://graypaper.fluffylabs.dev/#/579bd12/197000197200

    Hierarchy (View Summary)

    Index

    Properties

    authCodeHash: OpaqueHash & pvm.WithOpaque<"CodeHash">

    u: authorization code hash

    authCodeHost: number & WithBytesRepresentation<4> & pvm.WithOpaque<
        "ServiceId[u32]",
    >

    h: index of the service that hosts the authorization code

    authorization: BytesBlob

    j: simple blob acting as an authorization token

    context: RefineContext

    x: context in which the refine function should run

    w: sequence of work items.

    Constrained by I=16: https://graypaper.fluffylabs.dev/#/579bd12/416600416800

    parametrization: BytesBlob

    p: authorization parametrization blob

    Codec: Descriptor<
        WorkPackage,
        ViewOf<
            WorkPackage,
            {
                authCodeHash: Descriptor<
                    Bytes<32> & pvm.WithOpaque<"CodeHash">,
                    Bytes<32>,
                >;
                authCodeHost: Descriptor<
                    number & WithBytesRepresentation<4> & pvm.WithOpaque<
                        "ServiceId[u32]",
                    >,
                    Bytes<4>,
                >;
                authorization: Descriptor<BytesBlob, BytesBlob>;
                context: Descriptor<
                    RefineContext,
                    ViewOf<
                        RefineContext,
                        {
                            anchor: Descriptor<
                                Bytes<32> & pvm.WithOpaque<"HeaderHash">,
                                Bytes<32>,
                            >;
                            beefyRoot: Descriptor<
                                Bytes<32> & pvm.WithOpaque<"BeefyHash">,
                                Bytes<32>,
                            >;
                            lookupAnchor: Descriptor<
                                Bytes<32> & pvm.WithOpaque<"HeaderHash">,
                                Bytes<32>,
                            >;
                            lookupAnchorSlot: Descriptor<
                                number & WithBytesRepresentation<4> & pvm.WithOpaque<
                                    "TimeSlot[u32]",
                                >,
                                Bytes<4>,
                            >;
                            prerequisites: Descriptor<
                                (Bytes<32> & pvm.WithOpaque<"WorkPackageHash">)[],
                                SequenceView<
                                    Bytes<32> & pvm.WithOpaque<"WorkPackageHash">,
                                    Bytes<32>,
                                >,
                            >;
                            stateRoot: Descriptor<
                                Bytes<32> & pvm.WithOpaque<"StateRootHash">,
                                Bytes<32>,
                            >;
                        },
                    >,
                >;
                items: Descriptor<
                    FixedSizeArray<WorkItem, U8>,
                    SequenceView<
                        WorkItem,
                        ViewOf<
                            WorkItem,
                            {
                                accumulateGasLimit: Descriptor<
                                    bigint & WithBytesRepresentation<8> & pvm.WithOpaque<
                                        "ServiceGas[u64]",
                                    >,
                                    Bytes<8>,
                                >;
                                codeHash: Descriptor<
                                    Bytes<32> & pvm.WithOpaque<"CodeHash">,
                                    Bytes<32>,
                                >;
                                exportCount: Descriptor<U16, Bytes<2>>;
                                extrinsic: Descriptor<
                                    WorkItemExtrinsicSpec[],
                                    SequenceView<
                                        WorkItemExtrinsicSpec,
                                        ViewOf<WorkItemExtrinsicSpec, { hash: ...; len: ... }>,
                                    >,
                                >;
                                importSegments: Descriptor<
                                    readonly ImportSpec[] & pvm.WithOpaque<"Less than 2048">,
                                    SequenceView<
                                        ImportSpec,
                                        ViewOf<ImportSpec, { index: ...; treeRoot: ... }>,
                                    >,
                                >;
                                payload: Descriptor<BytesBlob, BytesBlob>;
                                refineGasLimit: Descriptor<
                                    bigint & WithBytesRepresentation<8> & pvm.WithOpaque<
                                        "ServiceGas[u64]",
                                    >,
                                    Bytes<8>,
                                >;
                                service: Descriptor<
                                    number & WithBytesRepresentation<4> & pvm.WithOpaque<
                                        "ServiceId[u32]",
                                    >,
                                    Bytes<4>,
                                >;
                            },
                        >,
                    >,
                >;
                parametrization: Descriptor<BytesBlob, BytesBlob>;
            },
        >,
    > = ...

    Methods