Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
435e8c4
initial deployment
capossele May 21, 2025
4c36ef5
update commit
capossele May 21, 2025
d798851
use verifier rather than estop
capossele May 21, 2025
a1d3222
fix bytecode
capossele May 22, 2025
575d8b5
clean up
capossele May 22, 2025
1ebbc60
tmp
capossele May 22, 2025
924c53f
Merge remote-tracking branch 'origin/main' into angelo/base-deployment
capossele May 23, 2025
2e2156a
Merge remote-tracking branch 'origin/main' into angelo/base-deployment
capossele May 26, 2025
63d873a
fix cli
capossele May 26, 2025
da0cc55
fix comment
capossele May 26, 2025
661daa6
drop burn
capossele May 26, 2025
7cd90bb
add base deployment
capossele May 27, 2025
a672a0a
drop hp
capossele May 28, 2025
918934a
Merge remote-tracking branch 'origin/main' into angelo/base-deployment
capossele May 29, 2025
4a8b78e
add new staging deployments
capossele May 29, 2025
48822c6
tmp
capossele May 29, 2025
ebbccd1
Merge branch 'main' into angelo/claim-digest
capossele Jun 3, 2025
0985ba3
artifacts
capossele Jun 3, 2025
9b25d47
fmt
capossele Jun 3, 2025
e4dbfd4
use predicateType
capossele Jun 3, 2025
00f1078
clean up
capossele Jun 3, 2025
3c43edf
add no journal test
capossele Jun 3, 2025
28cf40e
point bonsai sdk to shrink-bitvm2 branch
ec2 Aug 1, 2025
78e786b
implement shrink methods on Prover trait
ec2 Aug 1, 2025
f344330
selector
ec2 Aug 1, 2025
00572d1
Merge branch 'main' into ec2/bitvm
ec2 Aug 4, 2025
7dd797c
Add flag in Filfillment solidity struct to indicate is imageId is cla…
ec2 Aug 4, 2025
25c7b42
Merge branch 'main' into angelo/claim-digest
ec2 Aug 4, 2025
85e5d25
Merge branch 'angelo/claim-digest' into ec2/bitvm
ec2 Aug 4, 2025
131f7ea
add to deploy
ec2 Aug 4, 2025
82074f8
with_shrink_bitvm2_proof
ec2 Aug 5, 2025
5b1da5c
debug logging
ec2 Aug 5, 2025
553e17f
i think it works?
ec2 Aug 6, 2025
608021f
add test, but it fails
ec2 Aug 6, 2025
5ee26d8
work-ish
ec2 Aug 6, 2025
1eac4b3
Ok things work. But how do we enforce guests to hash journal?
ec2 Aug 6, 2025
edc3a8b
fulfil test
ec2 Aug 6, 2025
5ef81c4
move shrink bitvm2 in separate crate
ec2 Aug 6, 2025
0acf554
complete some todos in boundless cli
ec2 Aug 6, 2025
3f8701e
enforce 32byte journal if shrink bitvm2
ec2 Aug 6, 2025
232028e
bitvm2 contract deploy test-utils
ec2 Aug 6, 2025
9e91f85
fix submit batch claim digest for shrink bvm2
ec2 Aug 7, 2025
8ac0398
test-utils deploy bvm2 verifier
ec2 Aug 7, 2025
0513cba
should work with example now
ec2 Aug 7, 2025
adc5aa6
example should work
ec2 Aug 7, 2025
495c51f
submitter: use claim digest provided in the predicate
ec2 Aug 7, 2025
3ff03e7
some comments
ec2 Aug 11, 2025
7b905ef
Merge branch 'main' into angelo/claim-digest
ec2 Aug 11, 2025
27d0dc0
remove receipt verification from assessor-guest
ec2 Aug 11, 2025
41aa8b6
add CallbackData
ec2 Aug 11, 2025
9566b73
fix rust side
ec2 Aug 12, 2025
50167b3
forge fmt
ec2 Aug 12, 2025
f5ffd54
Merge branch 'ec2/claim-digest' into ec2/bitvm
ec2 Aug 12, 2025
c3fa6f8
update bytecode
ec2 Aug 12, 2025
fc6bd7f
fix rust tests
ec2 Aug 12, 2025
e2013f8
counter example with claim digest match predicate
ec2 Aug 12, 2025
7d42ffe
Merge branch 'ec2/claim-digest' into ec2/bitvm
ec2 Aug 12, 2025
a1c45df
modify counter example because claim digest match doesnt support call…
ec2 Aug 12, 2025
eaa391f
remove image id from requirements and put it in the predicate data
ec2 Aug 12, 2025
0032fa2
still need to figure out how to get the image id from request in broker
ec2 Aug 12, 2025
c90f973
tests build, but not all pass
ec2 Aug 13, 2025
4ae5304
fix requirements type solidity signature
ec2 Aug 13, 2025
ea907a8
fix request builder
ec2 Aug 13, 2025
1937e1b
cargo tests pass
ec2 Aug 13, 2025
69abfb7
satisfy some compiler warnings
ec2 Aug 13, 2025
5df52a5
fix sol test
ec2 Aug 13, 2025
7864baa
Merge branch 'main' into ec2/claim-digest
ec2 Aug 13, 2025
ac3c914
fix more compiler warnings
ec2 Aug 13, 2025
fc2bcac
Merge branch 'ec2/claim-digest' into ec2/bitvm
ec2 Aug 13, 2025
f051834
skip finalizer predicate check
ec2 Aug 13, 2025
3e0d070
debugging still
ec2 Aug 13, 2025
8d8a0c8
fix composition example
ec2 Aug 13, 2025
d3c9ace
fix smart-contract-requestor example
ec2 Aug 13, 2025
2ba252f
clippy
ec2 Aug 13, 2025
8833ded
fix deployment
ec2 Aug 13, 2025
267b93d
Merge branch 'ec2/claim-digest' into ec2/bitvm
ec2 Aug 13, 2025
e161dff
fix some naming
ec2 Aug 13, 2025
de0d3e2
composition
ec2 Aug 13, 2025
03aab22
Merge branch 'ec2/claim-digest' into ec2/bitvm
ec2 Aug 13, 2025
3dd55ef
fix boundless cli test
ec2 Aug 13, 2025
3b54725
remove some comments
ec2 Aug 13, 2025
7f2172e
fix boundless-cli test
ec2 Aug 13, 2025
04f6f99
do not push assumption receipts into the assessor in aggregator
ec2 Aug 13, 2025
586162d
ShrinkReceiptClaim type
ec2 Aug 14, 2025
0600765
fix comments
ec2 Aug 14, 2025
88b981b
Merge branch 'main' into ec2/claim-digest
ec2 Aug 14, 2025
d294e34
rename FulfillmentData to FulfillmentClaimData
ec2 Aug 14, 2025
dd44c54
Add callbacktype enum
ec2 Aug 14, 2025
d70bc72
fix test domain
ec2 Aug 14, 2025
de7225e
fix clippy
ec2 Aug 14, 2025
3778944
check claim digest if journal is available and not a claim digest match
ec2 Aug 14, 2025
de25a03
remove callbacktype
ec2 Aug 18, 2025
1b34bad
only add callback if journal is provided
ec2 Aug 18, 2025
f913a5b
remove fulfillment data type from request
ec2 Aug 19, 2025
e476f12
callbackdata -> fulfillmentdata
ec2 Aug 19, 2025
84a7f87
fix tests
ec2 Aug 19, 2025
a7a620e
Merge branch 'main' into ec2/claim-digest
ec2 Aug 19, 2025
8afc791
Merge branch 'ec2/claim-digest' into ec2/bitvm
ec2 Aug 19, 2025
ad6341a
fix some comments
ec2 Aug 20, 2025
e035c37
fix artifacts
ec2 Aug 20, 2025
72facee
Merge branch 'main' into ec2/claim-digest
ec2 Aug 20, 2025
a3eefd5
fix composition example
ec2 Aug 20, 2025
6c2042a
remove predicatetype from fulfillment. it is already checked in guest.
ec2 Aug 26, 2025
996aeea
remove the recalculation of claimdigest on chain
ec2 Aug 26, 2025
af98376
remove predicate type commit from assessor journal
ec2 Aug 26, 2025
41e9c12
fix naming
ec2 Aug 26, 2025
fbfa045
Merge branch 'main' into ec2/claim-digest
ec2 Aug 26, 2025
5397a31
lint check
ec2 Aug 26, 2025
6088fef
move fill data decode into library
ec2 Aug 26, 2025
a5b9639
docs
ec2 Aug 26, 2025
1f0656b
adds check in request builder when callback is asked for
ec2 Aug 26, 2025
1984481
fix some todos
ec2 Aug 26, 2025
9008ed8
fix proof request validate
ec2 Aug 26, 2025
b055519
update indexer db
ec2 Aug 26, 2025
7e93950
uncomment submission order test
ec2 Aug 26, 2025
9d750f4
fix order request test
ec2 Aug 26, 2025
0960f4d
Merge branch 'ec2/claim-digest' into ec2/bitvm
ec2 Aug 26, 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
4 changes: 2 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
"rust-analyzer.linkedProjects": [
"./Cargo.toml",
"./crates/distributor/Cargo.toml",
// "./crates/guest/assessor/assessor-guest/Cargo.toml",
"./crates/guest/assessor/assessor-guest/Cargo.toml",
// "./crates/guest/util/echo/Cargo.toml",
// "./crates/guest/util/identity/Cargo.toml",
// "./examples/counter/Cargo.toml",
"./examples/counter/Cargo.toml",
// "./examples/smart-contract-requestor/Cargo.toml",
// "./examples/counter-with-callback/Cargo.toml"
],
Expand Down
109 changes: 103 additions & 6 deletions Cargo.lock

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

8 changes: 6 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ members = [
"crates/indexer",
"crates/ops-lambdas/indexer-monitor",
"crates/order-generator",
"crates/order-stream",
"crates/order-stream", "crates/shrink_bitvm2",
"crates/slasher",
"documentation/doc-test",
]
Expand All @@ -34,6 +34,7 @@ distributor = { path = "crates/distributor" }
guest-assessor = { path = "crates/guest/assessor" }
guest-util = { path = "crates/guest/util" }
order-stream = { path = "crates/order-stream" }
shrink_bitvm2 = { path = "crates/shrink_bitvm2" }

async-stream = "0.3"
alloy = { version = "1.0.24", default-features = false }
Expand All @@ -47,7 +48,7 @@ aws-sdk-s3 = "1.34" # used for minio for max compatibility
axum = "0.8"
axum-extra = { version = "0.10" }
bincode = "1.3"
bonsai-sdk = { version = "1.4", features = ["non_blocking"] }
bonsai-sdk = { git = "https://github.com/risc0/risc0", branch = "flaub/shrink-bitvm2", features = ["non_blocking", "shrink_bitvm2"] }
bs58 = "0.5"
bytemuck = "1.16"
clap = { version = "4.5", features = ["derive", "env"] }
Expand Down Expand Up @@ -97,3 +98,6 @@ lto = true
# [profile.release]
# lto = "fat"
# codegen-units = 1

[patch.crates-io]
risc0-ethereum-contracts = { path = "/home/etu/risc0-ethereum/contracts" }
14 changes: 7 additions & 7 deletions contracts/deployment-test/Deploymnet.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {Input, InputType} from "../src/types/Input.sol";
import {Requirements} from "../src/types/Requirements.sol";
import {Offer} from "../src/types/Offer.sol";
import {ProofRequest} from "../src/types/ProofRequest.sol";
import {Predicate, PredicateType} from "../src/types/Predicate.sol";
import {PredicateLibrary} from "../src/types/Predicate.sol";
import {RequestId, RequestIdLibrary} from "../src/types/RequestId.sol";
import {RequestLock} from "../src/types/RequestLock.sol";

Expand Down Expand Up @@ -105,7 +105,10 @@ contract DeploymentTest is Test {
function testRouterIsDeployed() external view {
require(address(verifier) != address(0), "no verifier (router) address is set");
require(keccak256(address(verifier).code) != keccak256(bytes("")), "verifier code is empty");
require(address(verifier) == address(BoundlessMarket(address(boundlessMarket)).VERIFIER()), "verifier address does not match boundless market");
require(
address(verifier) == address(BoundlessMarket(address(boundlessMarket)).VERIFIER()),
"verifier address does not match boundless market"
);
}

function testSetVerifierIsDeployed() external view {
Expand Down Expand Up @@ -191,9 +194,7 @@ contract DeploymentTest is Test {
vm.expectEmit(true, true, true, false);
emit IBoundlessMarket.ProofDelivered(request.id, address(testProver), result.fills[0]);

boundlessMarket.priceAndFulfill(
requests, clientSignatures, result.fills, result.assessorReceipt
);
boundlessMarket.priceAndFulfill(requests, clientSignatures, result.fills, result.assessorReceipt);
Fulfillment memory fill = result.fills[0];
assertTrue(boundlessMarket.requestIsFulfilled(fill.id), "Request should have fulfilled status");
}
Expand Down Expand Up @@ -230,8 +231,7 @@ contract Client {

function defaultRequirements() public pure returns (Requirements memory) {
return Requirements({
imageId: bytes32(APP_IMAGE_ID),
predicate: Predicate({predicateType: PredicateType.PrefixMatch, data: hex"53797374"}),
predicate: PredicateLibrary.createPrefixMatchPredicate(bytes32(APP_IMAGE_ID), hex"53797374"),
callback: Callback({gasLimit: 0, addr: address(0)}),
selector: bytes4(0)
});
Expand Down
11 changes: 11 additions & 0 deletions contracts/scripts/Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import "forge-std/Test.sol";
import {IRiscZeroSelectable} from "risc0/IRiscZeroSelectable.sol";
import {IRiscZeroVerifier} from "risc0/IRiscZeroVerifier.sol";
import {ControlID, RiscZeroGroth16Verifier} from "risc0/groth16/RiscZeroGroth16Verifier.sol";
import {RiscZeroBitvm2Groth16Verifier} from "risc0/bitvm/RiscZeroBitvm2Groth16Verifier.sol";
import {RiscZeroSetVerifier} from "risc0/RiscZeroSetVerifier.sol";
import {RiscZeroVerifierRouter} from "risc0/RiscZeroVerifierRouter.sol";
import {RiscZeroCheats} from "risc0/test/RiscZeroCheats.sol";
Expand Down Expand Up @@ -66,6 +67,16 @@ contract Deploy is Script, RiscZeroCheats {
IRiscZeroSelectable selectable = IRiscZeroSelectable(address(_verifier));
bytes4 selector = selectable.SELECTOR();
verifierRouter.addVerifier(selector, _verifier);
console2.log("Added Groth16 verifier to router with selector");
console2.logBytes4(selector);


IRiscZeroVerifier _bitvm2_verifier = deployRiscZeroBitvm2Verifier();
IRiscZeroSelectable bitvm2_selectable = IRiscZeroSelectable(address(_bitvm2_verifier));
bytes4 bitvm_selector = bitvm2_selectable.SELECTOR();
verifierRouter.addVerifier(bitvm_selector, _bitvm2_verifier);
console2.log("Added BitVM2 verifier to router with selector");
console2.logBytes4(bitvm_selector);

// TODO: Create a more robust way of getting a URI for guests, and ensure that it is
// in-sync with the configured image ID.
Expand Down
Loading
Loading