Typeberry by Fluffy Labs - v0.5.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 & WithOpaque<"CodeHash">

    u: authorization code hash

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

    Methods