diff --git a/artifacts/program_methods/amm.bin b/artifacts/program_methods/amm.bin index 55849a7b..d8749ada 100644 Binary files a/artifacts/program_methods/amm.bin and b/artifacts/program_methods/amm.bin differ diff --git a/artifacts/program_methods/associated_token_account.bin b/artifacts/program_methods/associated_token_account.bin index 924f201c..3c2f0622 100644 Binary files a/artifacts/program_methods/associated_token_account.bin and b/artifacts/program_methods/associated_token_account.bin differ diff --git a/artifacts/program_methods/authenticated_transfer.bin b/artifacts/program_methods/authenticated_transfer.bin index 5bafb6bf..56feb4b9 100644 Binary files a/artifacts/program_methods/authenticated_transfer.bin and b/artifacts/program_methods/authenticated_transfer.bin differ diff --git a/artifacts/program_methods/bridge.bin b/artifacts/program_methods/bridge.bin index bcb21df1..3eacbc9d 100644 Binary files a/artifacts/program_methods/bridge.bin and b/artifacts/program_methods/bridge.bin differ diff --git a/artifacts/program_methods/clock.bin b/artifacts/program_methods/clock.bin index 24fa1b9b..b755c262 100644 Binary files a/artifacts/program_methods/clock.bin and b/artifacts/program_methods/clock.bin differ diff --git a/artifacts/program_methods/faucet.bin b/artifacts/program_methods/faucet.bin index de2738ca..2399f4f8 100644 Binary files a/artifacts/program_methods/faucet.bin and b/artifacts/program_methods/faucet.bin differ diff --git a/artifacts/program_methods/pinata.bin b/artifacts/program_methods/pinata.bin index aaf24c3b..0f305832 100644 Binary files a/artifacts/program_methods/pinata.bin and b/artifacts/program_methods/pinata.bin differ diff --git a/artifacts/program_methods/pinata_token.bin b/artifacts/program_methods/pinata_token.bin index 87bb3627..e3751f5f 100644 Binary files a/artifacts/program_methods/pinata_token.bin and b/artifacts/program_methods/pinata_token.bin differ diff --git a/artifacts/program_methods/privacy_preserving_circuit.bin b/artifacts/program_methods/privacy_preserving_circuit.bin index ee8d3280..99cfd7ee 100644 Binary files a/artifacts/program_methods/privacy_preserving_circuit.bin and b/artifacts/program_methods/privacy_preserving_circuit.bin differ diff --git a/artifacts/program_methods/token.bin b/artifacts/program_methods/token.bin index 6a54f1c9..2a46dd89 100644 Binary files a/artifacts/program_methods/token.bin and b/artifacts/program_methods/token.bin differ diff --git a/artifacts/program_methods/vault.bin b/artifacts/program_methods/vault.bin index 652b91b2..31629aa3 100644 Binary files a/artifacts/program_methods/vault.bin and b/artifacts/program_methods/vault.bin differ diff --git a/artifacts/test_program_methods/faucet_chain_caller.bin b/artifacts/test_program_methods/faucet_chain_caller.bin index a30f6163..1f1e3158 100644 Binary files a/artifacts/test_program_methods/faucet_chain_caller.bin and b/artifacts/test_program_methods/faucet_chain_caller.bin differ diff --git a/integration_tests/tests/auth_transfer/public.rs b/integration_tests/tests/auth_transfer/public.rs index ab325669..69988d54 100644 --- a/integration_tests/tests/auth_transfer/public.rs +++ b/integration_tests/tests/auth_transfer/public.rs @@ -420,7 +420,7 @@ async fn cannot_execute_faucet_program() -> Result<()> { Program::faucet().id(), vec![faucet_account_id, recipient_vault_id], vec![], - faucet_core::Instruction::TransferVault { + faucet_core::Instruction::GenesisTransferVault { vault_program_id, recipient_id: recipient, amount, diff --git a/program_methods/guest/src/bin/faucet.rs b/program_methods/guest/src/bin/faucet.rs index 6e4068db..0026ab0b 100644 --- a/program_methods/guest/src/bin/faucet.rs +++ b/program_methods/guest/src/bin/faucet.rs @@ -32,7 +32,7 @@ fn main() { let post_states = unchanged_post_states(&pre_states_clone); let chained_calls = match instruction { - Instruction::TransferVault { + Instruction::GenesisTransferVault { vault_program_id, recipient_id, amount, @@ -62,7 +62,7 @@ fn main() { .with_pda_seeds(vec![faucet_core::compute_faucet_seed()]), ] } - Instruction::TransferDirect { amount } => { + Instruction::GenesisTransferDirect { amount } => { let [faucet, recipient] = pre_states .try_into() .expect("TransferDirect requires exactly 2 accounts"); diff --git a/programs/faucet/core/src/lib.rs b/programs/faucet/core/src/lib.rs index 2c358c49..4d90d5e5 100644 --- a/programs/faucet/core/src/lib.rs +++ b/programs/faucet/core/src/lib.rs @@ -8,10 +8,12 @@ const FAUCET_SEED_DOMAIN_SEPARATOR: [u8; 32] = *b"/LEZ/v0.3/FaucetSeed/000000000 pub enum Instruction { /// Transfers native tokens from system faucet to recipient's vault. /// + /// Executed only in genesis block by sequencer it-self. User transactions will be denied. + /// /// Required accounts (2): /// - Faucet PDA account /// - Recipient vault PDA account - TransferVault { + GenesisTransferVault { vault_program_id: ProgramId, recipient_id: AccountId, amount: u128, @@ -19,10 +21,12 @@ pub enum Instruction { /// Transfers native tokens from system faucet directly to a recipient account. /// + /// Executed only in genesis block by sequencer it-self. User transactions will be denied. + /// /// Required accounts (2): /// - Faucet PDA account /// - Recipient account - TransferDirect { amount: u128 }, + GenesisTransferDirect { amount: u128 }, } #[must_use] diff --git a/sequencer/core/src/lib.rs b/sequencer/core/src/lib.rs index 6de57806..13b455df 100644 --- a/sequencer/core/src/lib.rs +++ b/sequencer/core/src/lib.rs @@ -457,7 +457,7 @@ fn build_supply_account_genesis_transaction( faucet_program_id, vec![nssa::system_faucet_account_id(), recipient_vault_id], vec![], - faucet_core::Instruction::TransferVault { + faucet_core::Instruction::GenesisTransferVault { vault_program_id, recipient_id: *account_id, amount: balance, @@ -477,7 +477,7 @@ fn build_supply_bridge_account_genesis_transaction(balance: u128) -> PublicTrans faucet_program_id, vec![nssa::system_faucet_account_id(), bridge_account_id], vec![], - faucet_core::Instruction::TransferDirect { amount: balance }, + faucet_core::Instruction::GenesisTransferDirect { amount: balance }, ) .expect("Failed to serialize bridge genesis transfer instruction"); let witness_set = nssa::public_transaction::WitnessSet::from_raw_parts(vec![]); diff --git a/test_program_methods/guest/src/bin/faucet_chain_caller.rs b/test_program_methods/guest/src/bin/faucet_chain_caller.rs index afaba792..965abe1d 100644 --- a/test_program_methods/guest/src/bin/faucet_chain_caller.rs +++ b/test_program_methods/guest/src/bin/faucet_chain_caller.rs @@ -30,7 +30,7 @@ fn main() { let chained_calls = vec![ChainedCall { program_id: faucet_program_id, - instruction_data: to_vec(&faucet_core::Instruction::TransferVault { + instruction_data: to_vec(&faucet_core::Instruction::GenesisTransferVault { vault_program_id, recipient_id, amount,