Skip to content
This repository was archived by the owner on Mar 29, 2025. It is now read-only.

Commit 3b01dd6

Browse files
committed
fix(fixtures/utils): smo doesnt need a predicate
1 parent a9395ab commit 3b01dd6

File tree

2 files changed

+1
-54
lines changed

2 files changed

+1
-54
lines changed

fuel-zkvm-primitives-test-fixtures/src/opcodes.rs

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ async fn scaffold_contract_instruction(
128128
contract_id,
129129
contract_bytecode,
130130
state_size,
131-
predicate_metadata,
132131
}) = contract_metadata
133132
{
134133
db.storage_as_mut::<ContractsRawCode>()
@@ -174,19 +173,6 @@ async fn scaffold_contract_instruction(
174173
(asset, k / 2 + 1_000)
175174
}),
176175
)?;
177-
178-
if let Some(predicate_metadata) = predicate_metadata {
179-
// insert into coins table
180-
db.storage_as_mut::<Coins>().insert(
181-
&predicate_metadata.predicate_utxo_id,
182-
&CompressedCoin::V1(CompressedCoinV1 {
183-
owner: Address::from(predicate_metadata.predicate_owner),
184-
amount: predicate_metadata.coin_amount,
185-
asset_id: AssetId::zeroed(),
186-
tx_pointer: Default::default(),
187-
}),
188-
)?;
189-
}
190176
}
191177

192178
Ok(())
@@ -438,6 +424,6 @@ mod tests {
438424
contract_test!(SRW);
439425
contract_test!(SRWQ);
440426
contract_test!(SCWQ);
441-
// contract_test!(SMO); predicate based, fails with OOG on fuels sdk side
427+
contract_test!(SMO);
442428
contract_test!(CALL);
443429
}

fuel-zkvm-primitives-utils/src/vm/contract.rs

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,14 @@ use crate::vm::contract::utils::{
55
call_contract_once, call_contract_repeat, script_data, setup_instructions, u256_iterator_loop,
66
u256_iterator_loop_with_step,
77
};
8-
use fuel_core::chain_config::Randomize;
98
use fuel_core_types::fuel_asm::{op, GTFArgs, Instruction, RegId};
10-
use fuel_core_types::fuel_crypto::rand;
11-
use fuel_core_types::fuel_tx;
129
use fuel_core_types::fuel_tx::Address;
1310
use fuel_core_types::fuel_types::bytes::WORD_SIZE;
1411
use fuel_core_types::fuel_types::Bytes32;
1512
use fuels::prelude::AssetId;
1613
use fuels::prelude::ContractId;
17-
use fuels::tx::UtxoId;
1814
use fuels::types::input::Input as TxInput;
1915
use fuels::types::output::Output as TxOutput;
20-
use fuels_core::types::{bech32::Bech32Address, coin::Coin, coin_type::CoinType, input::Input};
2116
use std::str::FromStr;
2217
use std::sync::OnceLock;
2318

@@ -57,7 +52,6 @@ impl ContractInstructionMetadata {
5752
contract_id,
5853
contract_bytecode: contract_bytecode.into_iter().collect(),
5954
state_size: 1_000,
60-
predicate_metadata: None,
6155
};
6256

6357
ContractInstructionMetadata {
@@ -260,31 +254,6 @@ fn smo_metadata() -> &'static ContractInstructionMetadata {
260254
.chain(vec![2u8; 100]),
261255
);
262256

263-
let predicate_code = op::ret(RegId::ONE).to_bytes().to_vec();
264-
let predicate_owner =
265-
Bech32Address::from(fuel_tx::input::Input::predicate_owner(&predicate_code));
266-
let predicate_utxo_id = UtxoId::randomize(&mut rand::thread_rng());
267-
let coin_amount = 1_000_000;
268-
let predicate_input = Input::resource_predicate(
269-
CoinType::Coin(Coin {
270-
amount: coin_amount,
271-
asset_id: metadata.asset_id,
272-
owner: predicate_owner.clone(),
273-
utxo_id: predicate_utxo_id,
274-
..Default::default()
275-
}),
276-
predicate_code,
277-
vec![],
278-
);
279-
280-
metadata.contract_metadata.predicate_metadata = Some(PredicateMetadata {
281-
predicate_utxo_id,
282-
predicate_owner,
283-
coin_amount: 1_000_000,
284-
});
285-
286-
metadata.inputs.push(predicate_input);
287-
288257
metadata
289258
})
290259
}
@@ -453,19 +422,11 @@ impl AsRepr for ContractInstruction {
453422
}
454423
}
455424

456-
#[derive(Clone)]
457-
pub struct PredicateMetadata {
458-
pub predicate_utxo_id: UtxoId,
459-
pub predicate_owner: Bech32Address,
460-
pub coin_amount: u64,
461-
}
462-
463425
#[derive(Clone)]
464426
pub struct ContractMetadata {
465427
pub contract_id: ContractId,
466428
pub contract_bytecode: Vec<u8>,
467429
pub state_size: usize,
468-
pub predicate_metadata: Option<PredicateMetadata>,
469430
}
470431

471432
impl ContractInstruction {

0 commit comments

Comments
 (0)