Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1d98c77
Update CHANGELOG
davxy Jun 25, 2025
d039d17
Merge pull request #49 from davxy/master
gavofyork Jun 26, 2025
a1a1ab9
Update `ServiceInfo` (all fields are fixed-length now).
igankevich Jul 15, 2025
f0f263e
Prepare CHANGELOG
davxy Jul 16, 2025
9dbd20f
Merge pull request #86 from igankevich/ivan/update-service-info-0.6.7
davxy Jul 16, 2025
0716508
Add new items to ServiceInfo
davxy Jul 18, 2025
6812f5c
Revision
davxy Jul 18, 2025
517511d
CHANGELOG update
davxy Jul 19, 2025
c78e5e7
Regen
davxy Jul 21, 2025
09f000c
Privileges for core assignments is now a sequence, one per core
davxy Jul 26, 2025
963f41f
Last acc outs in state; History stores mmr root
davxy Jul 28, 2025
9e80674
ASN.1 update
davxy Jul 28, 2025
0dd83a2
Privileges: per core assignment
davxy Jul 28, 2025
139c5cf
Regen
davxy Jul 28, 2025
fa623e7
Regen
davxy Jul 30, 2025
018a464
Regen
davxy Jul 30, 2025
0b2dda1
CHANGELOG
davxy Jul 30, 2025
21bd98a
Regen
davxy Aug 1, 2025
a6854fc
Regen fallback traces
davxy Aug 1, 2025
3026c94
Regen safrole traces
davxy Aug 1, 2025
06176b5
Regen reports-l0 traces
davxy Aug 1, 2025
a1ba85e
Regen reports-l1 traces
davxy Aug 1, 2025
dbe6fdc
Regen reports-l1 traces
davxy Aug 1, 2025
2e3085c
Fix: same_code_different_services
davxy Aug 2, 2025
23229e4
Apply review suggestion
davxy Aug 2, 2025
6bad3e1
Regen traces
davxy Aug 2, 2025
e6e976a
Update safrole traces json
davxy Aug 2, 2025
f774e67
Rename dirs and provide 'light' variants of report related traces
davxy Aug 3, 2025
dd2c677
Fix wrong "last accumulation slot"
davxy Aug 3, 2025
6843b47
Regen STF vectors
davxy Aug 3, 2025
07f13ed
Rename dirs
davxy Aug 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 49 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,55 @@
## v0.6.6 [Unreleased]
## [0.6.7] - 31-07-2025

### Changed

* Rearrange the inner PVM page admin
(GP [#402](https://github.com/gavofyork/graypaper/pull/402))
* PVM pages can change access without clearing
(GP [#404](https://github.com/gavofyork/graypaper/pull/404))
* Renumber host-calls [#715](https://github.com/paritytech/polkajam/pull/715)
(GP [#408](https://github.com/gavofyork/graypaper/pull/408))
* `info` host call uses fixed length types
(GP [#410](https://github.com/gavofyork/graypaper/pull/410))
* Accounts storage deposit offset and additional metadata
(GP [#397](https://github.com/gavofyork/graypaper/pull/397)
and [#400](https://github.com/gavofyork/graypaper/pull/400))
* Core assignment privileges is a sequence, one item per core
(GP [#393](https://github.com/gavofyork/graypaper/pull/393))
* Most recent accumulation outputs are stored in state; Recent blocks history now stores
the MMR roots only, the full MMR structure relative to the last accumulation is kept
separately (GP [#405](https://github.com/gavofyork/graypaper/pull/405))
* New bundle size limit (GP [#407](https://github.com/gavofyork/graypaper/pull/407))

## [0.6.6] - 25-06-2025

### Changed

- Codebase reorganization
- Binary to JSON conversion scripts and utilities
* Extended the `fetch` host call with new variants.
* Updated numeric identifiers used in `fetch`.
* Updated numeric identifiers for PVM errors.
* PVM wrangled operands changed.
* Removed the traces `000...000.bin/json` step, as it was not a valid trace step
and was intended to be handled specially for genesis. Since it shared the same
format as regular trace steps, it could be ambiguous or misleading.
* Introduced an explicit `genesis.bin` file containing the genesis state and header.
* The *authorizer trace* field has been moved to the end of the accumulation
operand encoding (C.29)

### Deviations

* `fetch` host call for protocol parameters ($\omega_{10}=0$) has been implemented
according to this (currently) unreleased change: https://github.com/gavofyork/graypaper/pull/414
For the `fetch` hostcall id we're still using 18 as per GP 0.6.6. The picked
change only concerns the value returned for w_10=0

### Extra

* Codebase reorganization
* Binary to JSON conversion scripts and utilities
* CI: ASN.1 verification

## v0.6.5 [02-06-2025]
## [0.6.5] - 02-06-2025

- First Release
9 changes: 2 additions & 7 deletions lib/full-const.asn
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,17 @@ Constants DEFINITIONS ::= BEGIN
-- True constants

validators-count INTEGER ::= 1023
cores-count INTEGER ::= 341
core-count INTEGER ::= 341
epoch-length INTEGER ::= 600

max-tickets-per-block INTEGER ::= 16
tickets-per-validator INTEGER ::= 2

max-blocks-history INTEGER ::= 8

auth-pool-max-size INTEGER ::= 8
auth-queue-size INTEGER ::= 80

-- Derived constants

-- ceil(validators-count * 2/3 + 1)
validators-super-majority INTEGER ::= 683
-- floor((cores-count + 7) / 8)
-- floor((core-count + 7) / 8)
avail-bitfield-bytes INTEGER ::= 43

END
47 changes: 35 additions & 12 deletions lib/jam-types.asn
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,21 @@

JamTypes DEFINITIONS ::= BEGIN

--------------------------------------------------------------------------------
-- Constants
--------------------------------------------------------------------------------

IMPORTS
-- Constants
validators-count, epoch-length, cores-count,
validators-count, epoch-length, core-count,
validators-super-majority, avail-bitfield-bytes,
max-blocks-history, max-tickets-per-block,
auth-pool-max-size, auth-queue-size
FROM Constants;

max-blocks-history INTEGER ::= 8
auth-pool-max-size INTEGER ::= 8
auth-queue-size INTEGER::= 80

--------------------------------------------------------------------------------
-- Simple Types
--
Expand Down Expand Up @@ -138,8 +145,16 @@ ServiceInfo ::= SEQUENCE {
min-memo-gas Gas,
-- Total bytes stored by the service
bytes U64,
-- Offset of storage footprint only above which a minimum deposit is needed.
deposit-offset U64,
-- Number of items stored by the service
items U32
items U32,
-- Creation time slot
creation-slot U32,
-- Most recent accumulation time slot
last-accumulation-slot U32,
-- Parent service identifier
parent-service U32
}

--------------------------------------------------------------------------------
Expand All @@ -166,7 +181,7 @@ AvailabilityAssignmentsItem ::= CHOICE {
}

-- Assignments for all cores in the system
AvailabilityAssignments ::= SEQUENCE (SIZE(cores-count)) OF AvailabilityAssignmentsItem
AvailabilityAssignments ::= SEQUENCE (SIZE(core-count)) OF AvailabilityAssignmentsItem

--------------------------------------------------------------------------------
-- Refine Context
Expand Down Expand Up @@ -211,12 +226,12 @@ AuthorizerHash ::= OpaqueHash
-- Pool of authorizer hashes for a core
AuthPool ::= SEQUENCE (SIZE(0..auth-pool-max-size)) OF AuthorizerHash
-- Pools of authorizers for all cores
AuthPools ::= SEQUENCE (SIZE(cores-count)) OF AuthPool
AuthPools ::= SEQUENCE (SIZE(core-count)) OF AuthPool

-- Queue of authorizer hashes for a core
AuthQueue ::= SEQUENCE (SIZE(auth-queue-size)) OF AuthorizerHash
-- Queues of authorizers for all cores
AuthQueues ::= SEQUENCE (SIZE(cores-count)) OF AuthQueue
AuthQueues ::= SEQUENCE (SIZE(core-count)) OF AuthQueue

--------------------------------------------------------------------------------
-- Work Package
Expand Down Expand Up @@ -405,9 +420,9 @@ ReportedWorkPackage ::= SEQUENCE {
BlockInfo ::= SEQUENCE {
-- Hash of the block header
header-hash HeaderHash,
-- Merkle Mountain Range
mmr Mmr,
-- Posterior state root at this block
-- Merkle Mountain Range root
beefy-root OpaqueHash,
-- Posterior state root
state-root StateRoot,
-- Work packages reported in this block
reported SEQUENCE OF ReportedWorkPackage
Expand All @@ -416,6 +431,14 @@ BlockInfo ::= SEQUENCE {
-- History of recent blocks
BlocksHistory ::= SEQUENCE (SIZE(0..max-blocks-history)) OF BlockInfo

-- Imported Blocks Information
RecentBlocks ::= SEQUENCE {
-- Recent blocks history
history BlocksHistory,
-- MMR
mmr Mmr
}

--------------------------------------------------------------------------------
-- Statistics
--
Expand Down Expand Up @@ -463,7 +486,7 @@ CoreActivityRecord ::= SEQUENCE {
}

-- Statistics for all cores
CoresStatistics ::= SEQUENCE (SIZE(cores-count)) OF CoreActivityRecord
CoresStatistics ::= SEQUENCE (SIZE(core-count)) OF CoreActivityRecord

-- Record of a service's activity
ServiceActivityRecord ::= SEQUENCE {
Expand Down Expand Up @@ -693,7 +716,7 @@ ReportGuarantee ::= SEQUENCE {
}

-- Extrinsic containing guarantees for work reports
GuaranteesExtrinsic ::= SEQUENCE (SIZE(0..cores-count)) OF ReportGuarantee
GuaranteesExtrinsic ::= SEQUENCE (SIZE(0..core-count)) OF ReportGuarantee

--------------------------------------------------------------------------------
-- Accumulation
Expand Down Expand Up @@ -735,7 +758,7 @@ Privileges ::= SEQUENCE {
-- Service ID with blessing privileges
bless ServiceId,
-- Service ID with assignment privileges
assign ServiceId,
assign SEQUENCE (SIZE(core-count)) OF ServiceId,
-- Service ID with designation privileges
designate ServiceId,
-- Services that are always accumulated
Expand Down
9 changes: 2 additions & 7 deletions lib/tiny-const.asn
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,17 @@ Constants DEFINITIONS ::= BEGIN
-- True constants

validators-count INTEGER ::= 6
cores-count INTEGER ::= 2
core-count INTEGER ::= 2
epoch-length INTEGER ::= 12

max-tickets-per-block INTEGER ::= 3
tickets-per-validator INTEGER ::= 3

max-blocks-history INTEGER ::= 8

auth-pool-max-size INTEGER ::= 8
auth-queue-size INTEGER::= 80

-- Derived constants

-- ceil(validators-count * 2/3 + 1)
validators-super-majority INTEGER ::= 5
-- floor((cores-count + 7) / 8)
-- floor((core-count + 7) / 8)
avail-bitfield-bytes INTEGER ::= 1

END
4 changes: 3 additions & 1 deletion scripts/convert-all.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
#!/usr/bin/env bash

set -euo pipefail

# Get the directory containing this script
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
Expand Down
4 changes: 3 additions & 1 deletion scripts/validate-all.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
#!/usr/bin/env bash

set -euo pipefail

# Get the directory containing this script
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
Expand Down
Binary file modified stf/accumulate/full/accumulate_ready_queued_reports-1.bin
Binary file not shown.
Loading