Skip to content

Commit 9566b73

Browse files
committed
fix rust side
1 parent 41aa8b6 commit 9566b73

File tree

5 files changed

+50
-27
lines changed

5 files changed

+50
-27
lines changed

crates/boundless-cli/src/lib.rs

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ use risc0_zkvm::{
3636

3737
use boundless_market::{
3838
contracts::{
39-
AssessorJournal, AssessorReceipt, EIP712DomainSaltless,
40-
Fulfillment as BoundlessFulfillment, PredicateType, RequestInputType,
39+
boundless_market_contract::CallbackData, AssessorJournal, AssessorReceipt,
40+
EIP712DomainSaltless, Fulfillment as BoundlessFulfillment, PredicateType, RequestInputType,
4141
},
4242
input::GuestEnv,
4343
selector::{is_groth16_selector, SupportedSelectors},
@@ -306,16 +306,25 @@ impl DefaultProver {
306306
} else {
307307
order_inclusion_receipt.abi_encode_seal()?
308308
};
309-
let mut image_id_or_claim_digest = req.requirements.imageId;
310-
let mut journal = fills[i].journal.clone();
311309
let predicate_type = req.requirements.predicate.predicateType;
312-
if predicate_type == PredicateType::ClaimDigestMatch {
313-
image_id_or_claim_digest = <[u8; 32]>::from(claims[i].digest()).into();
314-
journal = vec![];
315-
}
310+
311+
let (claim_digest, callback_data) = match predicate_type {
312+
PredicateType::ClaimDigestMatch => (
313+
<[u8; 32]>::try_from(req.requirements.predicate.data.as_ref()).unwrap().into(),
314+
vec![],
315+
),
316+
_ => (
317+
<[u8; 32]>::from(claims[i].digest()).into(),
318+
CallbackData {
319+
imageId: req.requirements.imageId,
320+
journal: fills[i].journal.clone().into(),
321+
}
322+
.abi_encode(),
323+
),
324+
};
316325
let fulfillment = BoundlessFulfillment {
317-
imageIdOrClaimDigest: image_id_or_claim_digest,
318-
journal: journal.into(),
326+
claimDigest: claim_digest,
327+
callbackData: callback_data.into(),
319328
id: req.id,
320329
requestDigest: req.eip712_signing_hash(&self.domain.alloy_struct()),
321330
seal: order_seal.into(),

crates/boundless-market/src/contracts/boundless_market.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,7 @@ impl<P: Provider> BoundlessMarketService<P> {
10351035

10361036
if let Some((event, _)) = logs.first() {
10371037
return Ok((
1038-
event.fulfillment.journal.clone(),
1038+
event.fulfillment.callbackData.clone(), // TODO(ec2)
10391039
event.fulfillment.seal.clone(),
10401040
event.prover,
10411041
));

crates/boundless-market/test-utils/src/lib.rs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use anyhow::{Context, Ok, Result};
2727
use boundless_market::{
2828
contracts::{
2929
boundless_market::BoundlessMarketService,
30+
boundless_market_contract::CallbackData,
3031
bytecode::*,
3132
hit_points::{default_allowance, HitPointsService},
3233
AssessorCommitment, AssessorJournal, Fulfillment, PredicateType, ProofRequest,
@@ -439,18 +440,23 @@ pub fn mock_singleton(
439440
.abi_encode_seal()
440441
.unwrap();
441442

442-
let mut image_id_or_claim_digest = request.requirements.imageId;
443-
let mut journal = app_journal.bytes.into();
444443
let predicate_type = request.requirements.predicate.predicateType;
445-
if predicate_type == PredicateType::ClaimDigestMatch {
446-
image_id_or_claim_digest = <[u8; 32]>::from(app_claim_digest).into();
447-
journal = vec![].into();
444+
let (claim_digest, callback_data) = match predicate_type {
445+
PredicateType::ClaimDigestMatch => (<[u8; 32]>::from(app_claim_digest).into(), vec![]),
446+
_ => (
447+
<[u8; 32]>::from(app_claim_digest).into(),
448+
CallbackData {
449+
imageId: request.requirements.imageId,
450+
journal: app_journal.bytes.into(),
451+
}
452+
.abi_encode(),
453+
),
448454
};
449455
let fulfillment = Fulfillment {
450456
id: request.id,
451457
requestDigest: request_digest,
452-
imageIdOrClaimDigest: image_id_or_claim_digest,
453-
journal,
458+
claimDigest: claim_digest,
459+
callbackData: callback_data.into(),
454460
seal: set_inclusion_seal.into(),
455461
predicateType: predicate_type,
456462
};

crates/broker/src/submitter.rs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use anyhow::{anyhow, Context, Result};
2727
use boundless_market::{
2828
contracts::{
2929
boundless_market::{BoundlessMarketService, FulfillmentTx, MarketError, UnlockedRequest},
30+
boundless_market_contract::CallbackData,
3031
encode_seal, AssessorJournal, AssessorReceipt, Fulfillment, PredicateType,
3132
},
3233
selector::is_groth16_selector,
@@ -332,17 +333,24 @@ where
332333
let request_id = order_request.id;
333334
fulfillment_to_order_id.insert(request_id, order_id);
334335
let predicate_type = order_request.requirements.predicate.predicateType;
335-
let mut image_id_or_claim_digest = order_img_id;
336-
let mut journal = order_journal;
337-
if predicate_type == PredicateType::ClaimDigestMatch {
338-
image_id_or_claim_digest = <[u8; 32]>::from(order_claim_digest).into();
339-
journal = vec![];
336+
337+
let (claim_digest, callback_data) = match predicate_type {
338+
PredicateType::ClaimDigestMatch => (
339+
order_request.requirements.predicate.data.0.as_ref().try_into().unwrap(),
340+
vec![],
341+
),
342+
_ => (
343+
order_claim_digest,
344+
CallbackData { imageId: order_img_id, journal: order_journal.into() }
345+
.abi_encode(),
346+
),
340347
};
348+
341349
fulfillments.push(Fulfillment {
342350
id: request_id,
343351
requestDigest: request_digest,
344-
imageIdOrClaimDigest: image_id_or_claim_digest,
345-
journal: journal.into(),
352+
callbackData: callback_data.into(),
353+
claimDigest: <[u8; 32]>::from(claim_digest).into(),
346354
seal: seal.into(),
347355
predicateType: predicate_type,
348356
});

crates/indexer/src/db.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -407,8 +407,8 @@ impl IndexerDb for AnyDb {
407407
.bind(format!("{:x}", fill.requestDigest))
408408
.bind(format!("{:x}", fill.id))
409409
.bind(format!("{:x}", prover_address))
410-
.bind(format!("{:x}", fill.imageIdOrClaimDigest))
411-
.bind(format!("{:x}", fill.journal))
410+
.bind(format!("{:x}", fill.callbackData))
411+
.bind(format!("{:x}", fill.claimDigest))
412412
.bind(format!("{:x}", fill.seal))
413413
.bind(format!("{:x}", metadata.tx_hash))
414414
.bind(metadata.block_number as i64)

0 commit comments

Comments
 (0)