Skip to content

Commit b96ca24

Browse files
committed
test: improved contract deploy and call methods taking into account tx fee, #5971
1 parent da50e51 commit b96ca24

File tree

2 files changed

+26
-22
lines changed

2 files changed

+26
-22
lines changed

testnet/stacks-node/src/tests/signer/mod.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,7 @@ impl<S: Signer<T> + Send + 'static, T: SignerEventTrait + 'static> SignerTest<Sp
458458
pub fn submit_contract_deploy(
459459
&self,
460460
sender_sk: &StacksPrivateKey,
461+
tx_fee: u64,
461462
contract_code: &str,
462463
contract_name: &str,
463464
) -> Result<(String, u64), String> {
@@ -468,7 +469,7 @@ impl<S: Signer<T> + Send + 'static, T: SignerEventTrait + 'static> SignerTest<Sp
468469
let contract_tx = make_contract_publish(
469470
&sender_sk,
470471
sender_nonce,
471-
1000000,
472+
tx_fee,
472473
self.running_nodes.conf.burnchain.chain_id,
473474
contract_name,
474475
contract_code,
@@ -485,6 +486,7 @@ impl<S: Signer<T> + Send + 'static, T: SignerEventTrait + 'static> SignerTest<Sp
485486
pub fn submit_contract_call(
486487
&self,
487488
sender_sk: &StacksPrivateKey,
489+
tx_fee: u64,
488490
contract_name: &str,
489491
contract_func: &str,
490492
contract_args: &[Value],
@@ -495,7 +497,7 @@ impl<S: Signer<T> + Send + 'static, T: SignerEventTrait + 'static> SignerTest<Sp
495497
let contract_call_tx = make_contract_call(
496498
&sender_sk,
497499
sender_nonce,
498-
1000,
500+
tx_fee,
499501
self.running_nodes.conf.burnchain.chain_id,
500502
&sender_addr,
501503
contract_name,
@@ -529,7 +531,7 @@ impl<S: Signer<T> + Send + 'static, T: SignerEventTrait + 'static> SignerTest<Sp
529531
(ok (var-set local-burn-block-ht burn-block-height)))
530532
";
531533
let (txid, sender_nonce) =
532-
self.submit_contract_deploy(sender_sk, burn_height_contract, "burn-height-local")?;
534+
self.submit_contract_deploy(sender_sk, 1000, burn_height_contract, "burn-height-local")?;
533535

534536
self.wait_for_nonce_increase(&to_addr(&sender_sk), sender_nonce)?;
535537
Ok(txid)
@@ -542,7 +544,7 @@ impl<S: Signer<T> + Send + 'static, T: SignerEventTrait + 'static> SignerTest<Sp
542544
sender_sk: &StacksPrivateKey,
543545
) -> Result<String, String> {
544546
let (txid, sender_nonce) =
545-
self.submit_contract_call(sender_sk, "burn-height-local", "run-update", &[])?;
547+
self.submit_contract_call(sender_sk, 1000, "burn-height-local", "run-update", &[])?;
546548

547549
self.wait_for_nonce_increase(&to_addr(&sender_sk), sender_nonce)?;
548550
Ok(txid)

testnet/stacks-node/src/tests/signer/v0.rs

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3113,9 +3113,11 @@ fn tx_replay_forking_test() {
31133113
let sender_addr = tests::to_addr(&sender_sk);
31143114
let send_amt = 100;
31153115
let send_fee = 180;
3116+
let deploy_fee = 1000000;
3117+
let call_fee = 1000;
31163118
let signer_test: SignerTest<SpawnedSigner> = SignerTest::new_with_config_modifications(
31173119
num_signers,
3118-
vec![(sender_addr, (send_amt + send_fee) * 10)],
3120+
vec![(sender_addr, (send_amt + send_fee) * 10 + deploy_fee + call_fee)],
31193121
|c| {
31203122
c.validate_with_replay_tx = true;
31213123
},
@@ -3246,14 +3248,14 @@ fn tx_replay_forking_test() {
32463248
signer_test.mine_nakamoto_block(Duration::from_secs(30), true);
32473249

32483250
let (contract_deploy_txid, deploy_nonce) = signer_test
3249-
.submit_contract_deploy(&sender_sk, contract_code, contract_name)
3251+
.submit_contract_deploy(&sender_sk, deploy_fee, contract_code, contract_name)
32503252
.expect("Failed to submit contract deploy");
32513253
signer_test
32523254
.wait_for_nonce_increase(&sender_addr, deploy_nonce)
32533255
.expect("Failed to wait for nonce increase");
32543256

32553257
let (contract_call_txid, contract_call_nonce) = signer_test
3256-
.submit_contract_call(&sender_sk, contract_name, "call-fn", &[])
3258+
.submit_contract_call(&sender_sk, call_fee, contract_name, "call-fn", &[])
32573259
.expect("Failed to submit contract call");
32583260
signer_test
32593261
.wait_for_nonce_increase(&sender_addr, contract_call_nonce)
@@ -4835,12 +4837,12 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending() {
48354837
let num_signers = 5;
48364838
let sender_sk = Secp256k1PrivateKey::random();
48374839
let sender_addr = tests::to_addr(&sender_sk);
4838-
let send_amt = 1000;
4839-
let send_fee = 1000000;
4840-
let num_txs = 3;
4840+
let deploy_fee = 1000000;
4841+
let call_fee = 1000;
4842+
let call_num = 2;
48414843
let signer_test: SignerTest<SpawnedSigner> = SignerTest::new_with_config_modifications(
48424844
num_signers,
4843-
vec![(sender_addr, (send_amt + send_fee) * num_txs)],
4845+
vec![(sender_addr, deploy_fee + call_fee * call_num)],
48444846
|c| {
48454847
c.validate_with_replay_tx = true;
48464848
c.tenure_idle_timeout = Duration::from_secs(10);
@@ -4872,7 +4874,7 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending() {
48724874
// First, just deploy the contract in its own tenure
48734875
let contract_code = make_big_read_count_contract(HELIUM_BLOCK_LIMIT_20, 50);
48744876
let (_deploy_txid, deploy_nonce) = signer_test
4875-
.submit_contract_deploy(&sender_sk, contract_code.as_str(), "big-contract")
4877+
.submit_contract_deploy(&sender_sk, deploy_fee, contract_code.as_str(), "big-contract")
48764878
.unwrap();
48774879
signer_test
48784880
.wait_for_nonce_increase(&sender_addr, deploy_nonce)
@@ -4884,15 +4886,15 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending() {
48844886
// Then, sumbmit 2 Contract Calls that require Tenure Extension to be addressed.
48854887
info!("---- Submit big tx1 to be mined ----");
48864888
let (txid1, txid1_nonce) = signer_test
4887-
.submit_contract_call(&sender_sk, "big-contract", "big-tx", &vec![])
4889+
.submit_contract_call(&sender_sk, call_fee, "big-contract", "big-tx", &vec![])
48884890
.unwrap();
48894891
signer_test
48904892
.wait_for_nonce_increase(&sender_addr, txid1_nonce)
48914893
.expect("Timed out waiting for nonce to increase");
48924894

48934895
info!("---- Submit big tx2 to be mined ----");
48944896
let (txid2, txid2_nonce) = signer_test
4895-
.submit_contract_call(&sender_sk, "big-contract", "big-tx", &vec![])
4897+
.submit_contract_call(&sender_sk, call_fee, "big-contract", "big-tx", &vec![])
48964898
.unwrap();
48974899

48984900
// Tenure Extend happen because of tenure budget exceeded
@@ -5054,9 +5056,9 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending_and_new_tx_submitted
50545056
let num_signers = 5;
50555057
let sender1_sk = Secp256k1PrivateKey::random();
50565058
let sender1_addr = tests::to_addr(&sender1_sk);
5057-
let send1_amt = 1000;
5058-
let send1_fee = 1000000;
5059-
let send1_txs = 3;
5059+
let send1_deploy_fee = 1000000;
5060+
let send1_call_fee = 1000;
5061+
let send1_call_num = 2;
50605062
let sender2_sk = Secp256k1PrivateKey::random();
50615063
let sender2_addr = tests::to_addr(&sender2_sk);
50625064
let send2_amt = 100;
@@ -5065,7 +5067,7 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending_and_new_tx_submitted
50655067
let signer_test: SignerTest<SpawnedSigner> = SignerTest::new_with_config_modifications(
50665068
num_signers,
50675069
vec![
5068-
(sender1_addr, (send1_amt + send1_fee) * send1_txs),
5070+
(sender1_addr, send1_deploy_fee + send1_call_fee * send1_call_num),
50695071
(sender2_addr, (send2_amt + send2_fee) * send2_txs),
50705072
],
50715073
|c| {
@@ -5098,7 +5100,7 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending_and_new_tx_submitted
50985100
// First, just deploy the contract in its own tenure
50995101
let contract_code = make_big_read_count_contract(HELIUM_BLOCK_LIMIT_20, 50);
51005102
let (_deploy_txid, deploy_nonce) = signer_test
5101-
.submit_contract_deploy(&sender1_sk, contract_code.as_str(), "big-contract")
5103+
.submit_contract_deploy(&sender1_sk, send1_deploy_fee, contract_code.as_str(), "big-contract")
51025104
.unwrap();
51035105
signer_test
51045106
.wait_for_nonce_increase(&sender1_addr, deploy_nonce)
@@ -5110,7 +5112,7 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending_and_new_tx_submitted
51105112
// Then, sumbmit 2 Contract Calls that require Tenure Extension to be addressed.
51115113
info!("---- Waiting for first big tx to be mined ----");
51125114
let (txid1, txid1_nonce) = signer_test
5113-
.submit_contract_call(&sender1_sk, "big-contract", "big-tx", &vec![])
5115+
.submit_contract_call(&sender1_sk, send1_call_fee,"big-contract", "big-tx", &vec![])
51145116
.unwrap();
51155117

51165118
signer_test
@@ -5119,7 +5121,7 @@ fn tx_replay_with_fork_middle_replay_while_tenure_extending_and_new_tx_submitted
51195121

51205122
info!("---- Waiting for second big tx to be mined ----");
51215123
let (txid2, txid2_nonce) = signer_test
5122-
.submit_contract_call(&sender1_sk, "big-contract", "big-tx", &vec![])
5124+
.submit_contract_call(&sender1_sk, send1_call_fee, "big-contract", "big-tx", &vec![])
51235125
.unwrap();
51245126

51255127
// Tenure Extend happen because of tenure budget exceeded
@@ -17180,7 +17182,7 @@ fn bitcoin_reorg_extended_tenure() {
1718017182

1718117183
miners
1718217184
.signer_test
17183-
.submit_contract_call(&miners.sender_sk, "burn-height-local", "run-update", &[])
17185+
.submit_contract_call(&miners.sender_sk, 1000,"burn-height-local", "run-update", &[])
1718417186
.unwrap();
1718517187

1718617188
let rc = miners.signer_test.get_current_reward_cycle();

0 commit comments

Comments
 (0)