Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8b89034
feat(server): add the coinage domain layer and selection
TorstenStueber Aug 3, 2026
e83bbcd
feat(server): add the coinage record store
TorstenStueber Aug 3, 2026
6365e18
fix(server): harmonize the coinage layer with pallet-coinage
TorstenStueber Aug 3, 2026
fadf024
feat(server): add coinage key derivation and pallet call construction
TorstenStueber Aug 3, 2026
724957c
feat(server): encode the AsCoinage transaction extension
TorstenStueber Aug 3, 2026
8138f2e
feat(server): resolve unload tokens and choose the unload fee mode
TorstenStueber Aug 3, 2026
3465fd4
docs: collect coinage RFC and design-doc corrections
TorstenStueber Aug 3, 2026
bb2d6bf
test(server): add end-to-end scenarios over the coinage base layer
TorstenStueber Aug 3, 2026
126686a
test(server): check the coinage layer's assumptions against a live ru…
TorstenStueber Aug 3, 2026
156687e
feat(server): generate ring-VRF proofs for entries and unload tokens
TorstenStueber Aug 3, 2026
dd7989e
feat(server): observe coinage chain state into the record store
TorstenStueber Aug 3, 2026
730cd1a
feat(server): assemble unsigned coinage extrinsics
TorstenStueber Aug 3, 2026
74513c0
docs: record the coinage base layer's implementation status
TorstenStueber Aug 3, 2026
672bef0
fix(codegen): refresh the host-callbacks golden for CoinageState
TorstenStueber Aug 4, 2026
85b7acc
docs: make coinage-layer.md the authoritative coinage specification
TorstenStueber Aug 4, 2026
f73a370
feat(server): submit coinage extrinsics and grade the outcome
TorstenStueber Aug 4, 2026
704e502
feat(server): model the chain's failure lock on a coin
TorstenStueber Aug 4, 2026
1685002
feat(server): make coinage extrinsics mortal
TorstenStueber Aug 4, 2026
e36fc04
feat(server): persist the coinage record store
TorstenStueber Aug 4, 2026
efc5c77
feat(server): bring the coinage layer up from entropy and metadata
TorstenStueber Aug 4, 2026
3973f6e
feat(server): add the durable operation log and its ordering rules
TorstenStueber Aug 4, 2026
373bb84
feat(server): resolve in-flight transactions against finalized state
TorstenStueber Aug 4, 2026
3bdf7df
feat(server): model the chain's failure lock on a recycler alias
TorstenStueber Aug 4, 2026
817d8ff
feat(server): read a purse's chain state and apply it
TorstenStueber Aug 4, 2026
cfec4cc
docs: record the coinage layer's state and the remaining plan
TorstenStueber Aug 4, 2026
4ff0976
docs: record that the coinage branch does not bisect
TorstenStueber Aug 4, 2026
7e641b6
feat(server): implement the coinage layer's §8 primitive API
TorstenStueber Aug 4, 2026
0c6e60f
docs: record what remains before the coinage layer runs
TorstenStueber Aug 4, 2026
93c4fe3
feat(server): implement the paid unload-token ring
TorstenStueber Aug 5, 2026
6c5ee1b
feat(server): buy paid unload tokens and add the maintenance tick
TorstenStueber Aug 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,055 changes: 1,055 additions & 0 deletions docs/design/coinage-layer.md

Large diffs are not rendered by default.

543 changes: 543 additions & 0 deletions docs/issue-drafts/coinage-implementation-status.md

Large diffs are not rendered by default.

464 changes: 464 additions & 0 deletions docs/issue-drafts/coinage-rfc-notes.md

Large diffs are not rendered by default.

14 changes: 13 additions & 1 deletion rust/crates/truapi-codegen/tests/golden/host-callbacks.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions rust/crates/truapi-platform/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,15 @@ pub enum CoreStorageKey {
},
/// Last processed SSO pairing response statement for the pairing device.
LastProcessedPairingStatement,
/// The coinage layer's durable record store: purses, coins, recycler
/// entries, open operations and their derivation-index counters.
///
/// One slot for the whole store rather than a slot per record, so a write is
/// atomic and the host needs no key enumeration. New variants belong at the
/// end of this enum: the key reaches hosts SCALE-encoded, so its discriminant
/// is persisted, and inserting above this point would remap every slot a
/// deployed host has already written.
CoinageState,
}

impl CoreStorageKey {
Expand Down
Loading