Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RGB v0.12 consensus refactoring #282

Open
wants to merge 98 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
cd0af8d
wip on fungible non-confidential state
dr-orlovsky Oct 13, 2024
ff5af2e
epic: remove concealed state and state type differentiation
dr-orlovsky Oct 14, 2024
0bec2da
operation: add strict serialization for the state data
dr-orlovsky Oct 15, 2024
545d653
operation: improve TypedAssigns API
dr-orlovsky Oct 15, 2024
942035f
operation: implement ExposedSeal for all BlindSeal types
dr-orlovsky Oct 15, 2024
90e76b3
vm: use SmallBlob for global data
dr-orlovsky Oct 15, 2024
8267ce2
operation: introduce StateData type
dr-orlovsky Oct 15, 2024
7542450
operation: improve and document state APIs
dr-orlovsky Oct 17, 2024
afd1cf4
operation: use hex encoding for StateData
dr-orlovsky Oct 17, 2024
2d8914b
operation: switch to base64 encoding for StateData
dr-orlovsky Oct 17, 2024
b59f1ca
operation: use custom alphabet for StateData Base64 encoding
dr-orlovsky Oct 17, 2024
e92e5b1
operation: test state serialization limits
dr-orlovsky Oct 17, 2024
9c6f3fe
operation: implement Default for State and StateData
dr-orlovsky Oct 17, 2024
78ee971
vm: remove outdated macroasm related to Pedersen commitments
dr-orlovsky Oct 17, 2024
9baa6b6
vm: epic revisioning
dr-orlovsky Oct 18, 2024
b28eeb8
vm: refactor module structure
dr-orlovsky Oct 18, 2024
352442e
vm: test bytecode and assemble roundrip
dr-orlovsky Oct 18, 2024
d6bba7a
schema: add to_u16 const methods to type ids
dr-orlovsky Oct 18, 2024
22be374
vm: use new ExecStep::Fail
dr-orlovsky Oct 18, 2024
ba88557
operation: add support for the future computed state
dr-orlovsky Oct 19, 2024
6a58a7a
vm: doc fix invalid instruction description
dr-orlovsky Oct 22, 2024
01c7873
(starky): distinguish verifiable from non-verifiable state
dr-orlovsky Oct 22, 2024
1012dff
(starky): remove semantic type validation
dr-orlovsky Oct 22, 2024
71f6719
(starky): move schema verification logic to VM. Upgrade state
dr-orlovsky Oct 23, 2024
6f4da37
v0.12 refactoring wip
dr-orlovsky Nov 2, 2024
5cd001f
v0.12 VM refactoring
dr-orlovsky Nov 2, 2024
e96f5a5
chore: refactor modules into two groups
dr-orlovsky Nov 3, 2024
7f910ee
v0.12 RGB ISA
dr-orlovsky Nov 3, 2024
f5c2f36
v0.12: fully abstract from single-use seal details
dr-orlovsky Nov 3, 2024
cf80355
chore: update to new baid64 and strict types v2.8
dr-orlovsky Nov 4, 2024
ca49a7d
state: make all state to use same-sized field elements
dr-orlovsky Nov 4, 2024
6399a71
chore: release v0.12.0-beta.1
dr-orlovsky Nov 4, 2024
3c5e24a
refactor with ultrasonic machine
dr-orlovsky Nov 14, 2024
5332cfc
stl: update and fix
dr-orlovsky Nov 15, 2024
e21330b
chore: release v0.12.0-beta.2
dr-orlovsky Nov 15, 2024
0054858
contract: make layer 1 generic parameter
dr-orlovsky Nov 15, 2024
8680f82
contract: add reserved bytes to the contract header
dr-orlovsky Nov 15, 2024
fdf1699
verify: generalize over used single-use seal type
dr-orlovsky Nov 15, 2024
8a14be4
verify: support plain conversion to Bytes32 for single-use seal message
dr-orlovsky Nov 15, 2024
023cbc4
verify: unify used traits
dr-orlovsky Nov 15, 2024
9d58a11
move contract to ultrasonic
dr-orlovsky Nov 17, 2024
f71c86f
update to changed seal protocol
dr-orlovsky Nov 18, 2024
52a770d
remove unneeded stl components
dr-orlovsky Nov 19, 2024
d9a9e06
simplify verification API
dr-orlovsky Nov 27, 2024
b2f6696
chore: update dependencies
dr-orlovsky Nov 28, 2024
d82c5ec
chore: release v0.12.0-beta.3
dr-orlovsky Nov 29, 2024
804bae0
update license plates
dr-orlovsky Dec 4, 2024
06a9bde
remove unused BP compoenents after Capabilities update
dr-orlovsky Dec 7, 2024
059dc25
chore: fix commit_verify being optional
dr-orlovsky Dec 7, 2024
d424d84
use failable iterator
dr-orlovsky Dec 15, 2024
fddd4d2
make no_std
dr-orlovsky Dec 15, 2024
7284831
use closure instead of iterator
dr-orlovsky Dec 15, 2024
4672298
support multiple witnesses per operation
dr-orlovsky Dec 15, 2024
c63bf51
differentiate retrieve and apply error cases
dr-orlovsky Dec 15, 2024
06f0c92
better support strict encoding
dr-orlovsky Dec 15, 2024
7ecae1a
improve error type in evaluate method
dr-orlovsky Dec 15, 2024
c3a67f4
differentiate OpAux from Transaction
dr-orlovsky Dec 16, 2024
f1944d1
refactor verification using state machines and witness treams
dr-orlovsky Dec 16, 2024
9a884f4
move seals module from standard library
dr-orlovsky Dec 16, 2024
231e05a
add prime seals const
dr-orlovsky Dec 16, 2024
c61f000
make verification non-failing due to external errors
dr-orlovsky Dec 16, 2024
e51a59b
pass codex and repo to verifyer using API, not arguments
dr-orlovsky Dec 16, 2024
2faf529
seals: move SealType from standard library
dr-orlovsky Dec 16, 2024
05df8b0
seals: support serde for SealType
dr-orlovsky Dec 16, 2024
f95a75c
seals: make u32 convertor for SealType failable
dr-orlovsky Dec 16, 2024
e422aa3
re-export single-use seal types
dr-orlovsky Dec 21, 2024
8e59e16
update to use more MMB types
dr-orlovsky Dec 22, 2024
86cfd57
differentiate unknown seal definition error
dr-orlovsky Dec 22, 2024
64d44fd
fix verification of genesis id
dr-orlovsky Dec 23, 2024
7e5f494
do not keep closed seal information
dr-orlovsky Dec 23, 2024
35751b6
fix the way how genesis is verified
dr-orlovsky Dec 23, 2024
4224b8c
fix how the seals are verified
dr-orlovsky Dec 23, 2024
7ac0fd9
compute AuthTokens using TxoSealDef
dr-orlovsky Dec 23, 2024
a67daed
rename SonicSeal into RgbSeal
dr-orlovsky Dec 23, 2024
5dbad49
release v0.12.0-beta.4
dr-orlovsky Dec 23, 2024
e7748f4
seals: make serde naming match display/from_str naming
dr-orlovsky Jan 10, 2025
7ba2b70
unify seal types
dr-orlovsky Jan 13, 2025
2be7f6c
Merge pull request #284 from RGB-WG/refactor/consensus
dr-orlovsky Jan 15, 2025
3f86c29
fix bug in resolving seals
dr-orlovsky Jan 29, 2025
0aada40
distinguish seal definitions from sources
dr-orlovsky Jan 29, 2025
ed716ba
fix SealDef/SealSrc relations in readers
dr-orlovsky Jan 30, 2025
c5a5896
fix seal type in VerificationError
dr-orlovsky Jan 30, 2025
43d885f
use witness id in seal resolver
dr-orlovsky Jan 30, 2025
0aabcc4
add RgbSealDef::to_src method
dr-orlovsky Jan 30, 2025
667d9f3
re-order steps of verification
dr-orlovsky Jan 30, 2025
6c28001
chore: fix clippy lint
dr-orlovsky Jan 30, 2025
a8e1293
chore: fix no-defaults builds
dr-orlovsky Jan 30, 2025
0cd02a7
account for defined seals for genesis and state extensions
dr-orlovsky Jan 30, 2025
f7ba241
chore: fix liquid build
dr-orlovsky Jan 30, 2025
b818ad1
add test to make codecov succeed
dr-orlovsky Jan 30, 2025
4a020e0
Merge pull request #286 from RGB-WG/wtxoseal
dr-orlovsky Jan 30, 2025
3cc8ac2
skip already known operations
dr-orlovsky Feb 13, 2025
19b90d4
fix accounting for seals from known operations
dr-orlovsky Feb 13, 2025
8405926
improve verification flow
dr-orlovsky Feb 13, 2025
20bc42a
ensure witnesses are processed in a correct way for known operations
dr-orlovsky Feb 13, 2025
4a74f0b
make RgbSealDef Eq
dr-orlovsky Feb 13, 2025
7e77c5e
extend error information for the seals mismatch
dr-orlovsky Feb 13, 2025
6603689
chore: release v0.12.0-beta.5
dr-orlovsky Feb 15, 2025
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
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ on:
branches:
- master
tags:
- 'v\d+\.*'
- 'v[0-9]+.*'
pull_request:
branches:
- master
- develop
- 'v\d+(\.\d+)*'
- 'v[0-9]+.?*'

env:
CARGO_TERM_COLOR: always
Expand All @@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
feature: [ stl, serde ]
feature: [ bitcoin, liquid, prime, serde ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -57,7 +57,7 @@ jobs:
strategy:
fail-fast: false
matrix:
toolchain: [ nightly, beta, stable, 1.77.0 ]
toolchain: [ nightly, beta, stable, 1.81.0 ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ on:
branches:
- master
tags:
- 'v\d+\.*'
- 'v[0-9]+.*'
pull_request:
branches:
- master
- develop
- 'v\d+(\.\d+)*'
- 'v[0-9]+.?*'

env:
CARGO_TERM_COLOR: always
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches:
- master
- develop
- 'v\d+(\.\d+)*'
- 'v[0-9]+.?*'

env:
CARGO_TERM_COLOR: always
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ on:
branches:
- master
tags:
- 'v\d+\.*'
- 'v[0-9]+.*'
pull_request:
branches:
- master
- develop
- 'v\d+(\.\d+)*'
- 'v[0-9]+.?*'

env:
CARGO_TERM_COLOR: always
Expand Down
12 changes: 7 additions & 5 deletions .rustfmt.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
edition = "2021"
style_edition = "2021"

max_width = 100
array_width = 100
attr_fn_like_width = 100
max_width = 120
array_width = 120
attr_fn_like_width = 120
comment_width = 100
fn_call_width = 100
single_line_if_else_max_width = 100
chain_width = 60
fn_call_width = 120
single_line_if_else_max_width = 120
struct_lit_width = 60

fn_single_line = true
format_code_in_doc_comments = true
Expand Down
Loading