Skip to content

BM-1249: [WIP] Smart contracts and guests for Boundless integration of support Proof of Verifiable Work (PoVW) #847

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

Draft
wants to merge 84 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 74 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
b817cf3
add wip PoVW contracts
nategraf Jun 26, 2025
7d3a27d
add a note
nategraf Jun 27, 2025
be1ce2a
update contracts to reflect additional work
nategraf Jun 27, 2025
0c5f5ab
wip draft of the mint calculator
nategraf Jun 28, 2025
5e889ea
Merge branch 'main' of github.com:boundless-xyz/boundless into victor…
nategraf Jun 30, 2025
b0237eb
update lock files
nategraf Jun 30, 2025
1e54148
ignore generated solidity files
nategraf Jun 30, 2025
af26593
finish up the logic of the mint-calculator
nategraf Jun 30, 2025
83ad9c2
use fixed-point number in Mint.sol and swtich to binary
nategraf Jun 30, 2025
aee87e5
update open-zeppelin to 5.3 to get Math.mulShr
nategraf Jun 30, 2025
5b05f5c
add a note
nategraf Jun 30, 2025
d939438
set PoVW contract address at runtime
nategraf Jun 30, 2025
9491125
Merge branch 'main' of github.com:boundless-xyz/boundless into victor…
nategraf Jun 30, 2025
6da0de4
add the outline for the first test for the mint-calculator
nategraf Jun 30, 2025
3a0d473
some progress setting up an integration test for PoVW
nategraf Jul 1, 2025
4cc6416
Merge branch 'main' of github.com:boundless-xyz/boundless into victor…
nategraf Jul 14, 2025
5bfa441
update epoch length to 7 days
nategraf Jul 15, 2025
88d0887
rename id to workLogId
nategraf Jul 15, 2025
d9cb760
Merge branch 'main' of github.com:boundless-xyz/boundless into victor…
nategraf Jul 15, 2025
66261d4
add stub for log-updater
nategraf Jul 15, 2025
8029db7
rename LOG_BUILDER_ID to LOG_UPDATER_ID
nategraf Jul 15, 2025
d564716
adjust dev profile opt level
nategraf Jul 17, 2025
213c9e8
setup scaffolding for log-updater tests
nategraf Jul 17, 2025
530cf14
first draft of the log updater guest
nategraf Jul 17, 2025
46c1759
split off log-updater library, add a basic test, and run cargo fmt
nategraf Jul 17, 2025
4d625ba
dont use Result return from main
nategraf Jul 18, 2025
3a930a2
add a basic rejection test
nategraf Jul 18, 2025
b527698
add Journal and EIP712 to PoVW contract
nategraf Jul 18, 2025
4d8a471
add test setup module to tests
nategraf Jul 18, 2025
39fbd2c
add a todo list
nategraf Jul 18, 2025
c4a79f2
fix initialCommit on new work logs
nategraf Jul 18, 2025
88b0d17
partial implementation of contract_integration test
nategraf Jul 18, 2025
9c0d64a
some progress on the test
nategraf Jul 18, 2025
65a7d7c
fix missing update of total work for the epoch
nategraf Jul 18, 2025
c2f584c
finish up basic integration test for contracts
nategraf Jul 18, 2025
87b200d
add a check that a fresh epoch starts
nategraf Jul 18, 2025
52b701c
extract code from mint_calculator main
nategraf Jul 18, 2025
8870a9b
fix off-by-one error
nategraf Jul 18, 2025
15d72c0
hack up a multiblock version of Steel env
nategraf Jul 19, 2025
5f64f4d
draft a preflight verify function
nategraf Jul 21, 2025
9b32528
fix guest build issues
nategraf Jul 21, 2025
189678f
draft for mint_calculator input builder
nategraf Jul 21, 2025
c95cad6
update some notes
nategraf Jul 21, 2025
bb171e9
use ANVIL_CHAIN_SPEC for mint_calculator to allow test
nategraf Jul 21, 2025
dd57592
use the encoded bytes in calldata to make calling mint from Rust less…
nategraf Jul 22, 2025
7bb9934
add mint interface to mint_calculator.rs
nategraf Jul 22, 2025
b2a6f76
use the mint interface in TextCtx
nategraf Jul 22, 2025
ee9c587
remove duplicate execute_guest function
nategraf Jul 22, 2025
5029238
fix issue with first mint of empty log
nategraf Jul 22, 2025
d49b0ee
add a first draft of an integration test for the mint contract
nategraf Jul 22, 2025
0776eb6
a bit of cleanup
nategraf Jul 22, 2025
c605e89
rename setup to common
nategraf Jul 22, 2025
51b733a
some more cleanup
nategraf Jul 22, 2025
c757a7a
minor update
nategraf Jul 22, 2025
d890108
extract some logic from log_updater test into common
nategraf Jul 22, 2025
9498a9c
remove unused imports
nategraf Jul 22, 2025
8c6be65
extract run_mint to common code
nategraf Jul 22, 2025
87694da
add additional tests for multiple updates to PoVW
nategraf Jul 22, 2025
6402e32
increase precision of FixedPoint
nategraf Jul 22, 2025
08fdede
implement additional tests
nategraf Jul 22, 2025
87eed7e
add additional rejection tests
nategraf Jul 22, 2025
8a3ab6e
add a test to measure the gas usage
nategraf Jul 22, 2025
eb7b327
adjust a note on a test
nategraf Jul 22, 2025
f5a5e85
switch to postcard for mint-calculator input
nategraf Jul 23, 2025
9606bd4
run cargo fmt
nategraf Jul 23, 2025
d768946
update some todos
nategraf Jul 24, 2025
10333b0
add valueRecipient; update comments and field names
nategraf Jul 24, 2025
cb7ea72
fix missing use of valueRecipient
nategraf Jul 24, 2025
d22701b
make EPOCH_REWARD public
nategraf Jul 24, 2025
bc36397
update tests
nategraf Jul 24, 2025
b0f5ebe
adjust a todo
nategraf Jul 24, 2025
e35d36d
Merge branch 'main' of github.com:boundless-xyz/boundless into victor…
nategraf Jul 24, 2025
508da0d
update gas snapshots
nategraf Jul 24, 2025
c763c36
run cargo fmt
nategraf Jul 24, 2025
e977ba5
rename Mint.sol to PovwMint.sol
nategraf Jul 24, 2025
85ec5f4
rename PoVW.sol to PovwAccounting.sol
nategraf Jul 24, 2025
6090df5
fix some typos
nategraf Jul 24, 2025
20bebb1
fix clippy warnings
nategraf Aug 1, 2025
84f922c
Merge branch 'main' of github.com:boundless-xyz/boundless into victor…
nategraf Aug 5, 2025
044d6c3
update risc0-ethereum dependency to latest victor/patch-jul18
nategraf Aug 6, 2025
9accaf0
add mapping of chains IDs to specs to the mint-calculator guest
nategraf Aug 6, 2025
27b9426
add test that the commit is rejected when wrong chain spec is used
nategraf Aug 6, 2025
2d0eee2
adjust a note
nategraf Aug 6, 2025
bc14c13
skip zero-values updates in mint-calculator
nategraf Aug 6, 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: 5 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,17 @@ CLAUDE.md


# Ignore generated files
contracts/src/SetBuilderImageID.sol
contracts/src/libraries/AssessorImageID.sol
contracts/src/EchoImageID.sol
contracts/src/ResolveImageID.sol
contracts/src/SetBuilderImageID.sol
contracts/src/libraries/AssessorImageID.sol
contracts/src/libraries/PovwImageID.sol
contracts/src/libraries/UtilImageID.sol
contracts/test/SetBuilderElf.sol
contracts/test/AssessorElf.sol
contracts/test/EchoElf.sol
contracts/test/PovwElf.sol
contracts/test/ResolveElf.sol
contracts/test/SetBuilderElf.sol
contracts/test/UtilElf.sol

# Lints & Format Caches
Expand Down
Loading
Loading