use algonaut::contract;
use algonaut_core::{Address, AppId};
use algonaut_model::algod::SuggestedParams;
use algonaut_transaction::account::Account;
use std::sync::Arc;
contract!("tests/fixtures/bytecode_deploy.arc56.json");
contract!("tests/fixtures/bytecode_bare.arc56.json");
#[allow(dead_code)]
async fn bytecode_deploy_has_create_method_params(
algod: &algonaut::Algod,
sender: Address,
signer: Arc<dyn algonaut_transaction::Signer>,
params: &SuggestedParams,
owner: Address,
seed: u64,
) -> ByteCodeDeploy {
ByteCodeDeploy::deploy(algod, sender, signer, params, owner, seed)
.await
.unwrap()
}
#[allow(dead_code)]
async fn bytecode_bare_deploy_has_no_extra_params(
algod: &algonaut::Algod,
sender: Address,
signer: Arc<dyn algonaut_transaction::Signer>,
params: &SuggestedParams,
) -> ByteCodeBare {
ByteCodeBare::deploy(algod, sender, signer, params)
.await
.unwrap()
}
#[test]
fn bytecode_clients_build_calls() {
let alice = Account::generate();
let address = alice.address();
let client = ByteCodeDeploy::new(AppId(1), address, Arc::new(alice));
let params = crate::contract_macro_arc56::mock_params();
let _call = client.ping().build(¶ms);
let bob = Account::generate();
let baddr = bob.address();
let bare = ByteCodeBare::new(AppId(2), baddr, Arc::new(bob));
let _call = bare.ping().build(¶ms);
}