@@ -75,7 +75,7 @@ const SIMPLE_TOKENS: &str = "(define-map tokens { account: principal } { balance
75
75
(token-credit! to amount)))))
76
76
(define-public (faucet)
77
77
(let ((original-sender tx-sender))
78
- (as-contract (print (token-transfer (print original-sender) u1)))))
78
+ (as-contract (print (token-transfer (print original-sender) u1)))))
79
79
(define-public (mint-after (block-to-release uint))
80
80
(if (>= block-height block-to-release)
81
81
(faucet)
@@ -119,7 +119,7 @@ fn test_get_block_info_eval(
119
119
Ok ( Value :: none ( ) ) ,
120
120
] ;
121
121
122
- let placeholder_context = ContractContext :: new (
122
+ let mut placeholder_context = ContractContext :: new (
123
123
QualifiedContractIdentifier :: transient ( ) ,
124
124
ClarityVersion :: Clarity2 ,
125
125
) ;
@@ -138,7 +138,7 @@ fn test_get_block_info_eval(
138
138
)
139
139
. unwrap ( ) ;
140
140
141
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
141
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
142
142
eprintln ! ( "{}" , contracts[ i] ) ;
143
143
let eval_result = env. eval_read_only ( & contract_identifier, "(test-func)" ) ;
144
144
match expected[ i] {
@@ -172,13 +172,13 @@ fn test_contract_caller(epoch: StacksEpochId, mut env_factory: MemoryEnvironment
172
172
(as-contract (contract-call? .contract-a get-caller)))" ;
173
173
174
174
let p1 = execute ( "'SZ2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKQ9H6DPR" ) ;
175
- let placeholder_context = ContractContext :: new (
175
+ let mut placeholder_context = ContractContext :: new (
176
176
QualifiedContractIdentifier :: transient ( ) ,
177
177
ClarityVersion :: Clarity2 ,
178
178
) ;
179
179
180
180
{
181
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
181
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
182
182
env. initialize_contract (
183
183
QualifiedContractIdentifier :: local ( "contract-a" ) . unwrap ( ) ,
184
184
contract_a,
@@ -200,7 +200,7 @@ fn test_contract_caller(epoch: StacksEpochId, mut env_factory: MemoryEnvironment
200
200
let mut env = owned_env. get_exec_environment (
201
201
Some ( p1. clone ( ) . expect_principal ( ) . unwrap ( ) ) ,
202
202
None ,
203
- & placeholder_context,
203
+ & mut placeholder_context,
204
204
) ;
205
205
assert_eq ! (
206
206
env. execute_contract(
@@ -312,7 +312,7 @@ fn test_tx_sponsor(epoch: StacksEpochId, mut env_factory: MemoryEnvironmentGener
312
312
. expect_principal ( )
313
313
. unwrap ( ) ;
314
314
let p2 = execute ( "'SM2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKQVX8X0G" ) ;
315
- let placeholder_context = ContractContext :: new (
315
+ let mut placeholder_context = ContractContext :: new (
316
316
QualifiedContractIdentifier :: transient ( ) ,
317
317
ClarityVersion :: Clarity2 ,
318
318
) ;
@@ -324,8 +324,11 @@ fn test_tx_sponsor(epoch: StacksEpochId, mut env_factory: MemoryEnvironmentGener
324
324
} ;
325
325
326
326
{
327
- let mut env =
328
- owned_env. get_exec_environment ( Some ( p1. clone ( ) ) , sponsor. clone ( ) , & placeholder_context) ;
327
+ let mut env = owned_env. get_exec_environment (
328
+ Some ( p1. clone ( ) ) ,
329
+ sponsor. clone ( ) ,
330
+ & mut placeholder_context,
331
+ ) ;
329
332
env. initialize_contract (
330
333
QualifiedContractIdentifier :: local ( "contract-a" ) . unwrap ( ) ,
331
334
contract_a,
@@ -342,16 +345,19 @@ fn test_tx_sponsor(epoch: StacksEpochId, mut env_factory: MemoryEnvironmentGener
342
345
343
346
// Sponsor is equal to some(principal) in this code block.
344
347
{
345
- let mut env =
346
- owned_env. get_exec_environment ( Some ( p1. clone ( ) ) , sponsor. clone ( ) , & placeholder_context) ;
348
+ let mut env = owned_env. get_exec_environment (
349
+ Some ( p1. clone ( ) ) ,
350
+ sponsor. clone ( ) ,
351
+ & mut placeholder_context,
352
+ ) ;
347
353
tx_sponsor_contract_asserts ( & mut env, sponsor) ;
348
354
}
349
355
350
356
// Sponsor is none in this code block.
351
357
{
352
358
let sponsor = None ;
353
359
let mut env =
354
- owned_env. get_exec_environment ( Some ( p1) , sponsor. clone ( ) , & placeholder_context) ;
360
+ owned_env. get_exec_environment ( Some ( p1) , sponsor. clone ( ) , & mut placeholder_context) ;
355
361
tx_sponsor_contract_asserts ( & mut env, sponsor) ;
356
362
}
357
363
}
@@ -375,13 +381,13 @@ fn test_fully_qualified_contract_call(
375
381
(as-contract (contract-call? .contract-a get-caller)))" ;
376
382
377
383
let p1 = execute ( "'SZ2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKQ9H6DPR" ) ;
378
- let placeholder_context = ContractContext :: new (
384
+ let mut placeholder_context = ContractContext :: new (
379
385
QualifiedContractIdentifier :: transient ( ) ,
380
386
ClarityVersion :: Clarity2 ,
381
387
) ;
382
388
383
389
{
384
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
390
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
385
391
env. initialize_contract (
386
392
QualifiedContractIdentifier :: local ( "contract-a" ) . unwrap ( ) ,
387
393
contract_a,
@@ -403,7 +409,7 @@ fn test_fully_qualified_contract_call(
403
409
let mut env = owned_env. get_exec_environment (
404
410
Some ( p1. clone ( ) . expect_principal ( ) . unwrap ( ) ) ,
405
411
None ,
406
- & placeholder_context,
412
+ & mut placeholder_context,
407
413
) ;
408
414
assert_eq ! (
409
415
env. execute_contract(
@@ -480,7 +486,7 @@ fn test_simple_naming_system(epoch: StacksEpochId, mut env_factory: MemoryEnviro
480
486
\" not enough balance\" )
481
487
(err 1) (err 3)))))
482
488
483
- (define-public (register
489
+ (define-public (register
484
490
(recipient-principal principal)
485
491
(name int)
486
492
(salt int))
@@ -514,13 +520,13 @@ fn test_simple_naming_system(epoch: StacksEpochId, mut env_factory: MemoryEnviro
514
520
let name_hash_expensive_0 = execute ( "(hash160 1)" ) ;
515
521
let name_hash_expensive_1 = execute ( "(hash160 2)" ) ;
516
522
let name_hash_cheap_0 = execute ( "(hash160 100001)" ) ;
517
- let placeholder_context = ContractContext :: new (
523
+ let mut placeholder_context = ContractContext :: new (
518
524
QualifiedContractIdentifier :: transient ( ) ,
519
525
ClarityVersion :: Clarity2 ,
520
526
) ;
521
527
522
528
{
523
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
529
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
524
530
525
531
let contract_identifier = QualifiedContractIdentifier :: local ( "tokens" ) . unwrap ( ) ;
526
532
env. initialize_contract ( contract_identifier, tokens_contract, ASTRules :: PrecheckSize )
@@ -535,7 +541,7 @@ fn test_simple_naming_system(epoch: StacksEpochId, mut env_factory: MemoryEnviro
535
541
let mut env = owned_env. get_exec_environment (
536
542
Some ( p2. clone ( ) . expect_principal ( ) . unwrap ( ) ) ,
537
543
None ,
538
- & placeholder_context,
544
+ & mut placeholder_context,
539
545
) ;
540
546
541
547
assert ! ( is_err_code(
@@ -554,7 +560,7 @@ fn test_simple_naming_system(epoch: StacksEpochId, mut env_factory: MemoryEnviro
554
560
let mut env = owned_env. get_exec_environment (
555
561
Some ( p1. clone ( ) . expect_principal ( ) . unwrap ( ) ) ,
556
562
None ,
557
- & placeholder_context,
563
+ & mut placeholder_context,
558
564
) ;
559
565
assert ! ( is_committed(
560
566
& env. execute_contract(
@@ -582,7 +588,7 @@ fn test_simple_naming_system(epoch: StacksEpochId, mut env_factory: MemoryEnviro
582
588
let mut env = owned_env. get_exec_environment (
583
589
Some ( p2. clone ( ) . expect_principal ( ) . unwrap ( ) ) ,
584
590
None ,
585
- & placeholder_context,
591
+ & mut placeholder_context,
586
592
) ;
587
593
assert ! ( is_err_code(
588
594
& env. execute_contract(
@@ -601,7 +607,7 @@ fn test_simple_naming_system(epoch: StacksEpochId, mut env_factory: MemoryEnviro
601
607
let mut env = owned_env. get_exec_environment (
602
608
Some ( p1. expect_principal ( ) . unwrap ( ) ) ,
603
609
None ,
604
- & placeholder_context,
610
+ & mut placeholder_context,
605
611
) ;
606
612
assert ! ( is_committed(
607
613
& env. execute_contract(
@@ -619,7 +625,7 @@ fn test_simple_naming_system(epoch: StacksEpochId, mut env_factory: MemoryEnviro
619
625
let mut env = owned_env. get_exec_environment (
620
626
Some ( p2. clone ( ) . expect_principal ( ) . unwrap ( ) ) ,
621
627
None ,
622
- & placeholder_context,
628
+ & mut placeholder_context,
623
629
) ;
624
630
assert ! ( is_committed(
625
631
& env. execute_contract(
@@ -684,15 +690,15 @@ fn test_simple_contract_call(epoch: StacksEpochId, mut env_factory: MemoryEnviro
684
690
(contract-call? .factorial-contract compute 8008))
685
691
" ;
686
692
687
- let placeholder_context = ContractContext :: new (
693
+ let mut placeholder_context = ContractContext :: new (
688
694
QualifiedContractIdentifier :: transient ( ) ,
689
695
ClarityVersion :: Clarity2 ,
690
696
) ;
691
697
692
698
let mut env = owned_env. get_exec_environment (
693
699
Some ( get_principal ( ) . expect_principal ( ) . unwrap ( ) ) ,
694
700
None ,
695
- & placeholder_context,
701
+ & mut placeholder_context,
696
702
) ;
697
703
698
704
let contract_identifier = QualifiedContractIdentifier :: local ( "factorial-contract" ) . unwrap ( ) ;
@@ -752,10 +758,9 @@ fn test_aborts(epoch: StacksEpochId, mut env_factory: MemoryEnvironmentGenerator
752
758
(ok 1)
753
759
(err 1))))
754
760
755
-
756
761
(define-private (get-data (id int))
757
762
(default-to 0
758
- (get value
763
+ (get value
759
764
(map-get? data (tuple (id id))))))
760
765
" ;
761
766
@@ -770,12 +775,12 @@ fn test_aborts(epoch: StacksEpochId, mut env_factory: MemoryEnvironmentGenerator
770
775
(contract-call? .contract-1 modify-data 105 105)
771
776
(err 1)))
772
777
" ;
773
- let placeholder_context = ContractContext :: new (
778
+ let mut placeholder_context = ContractContext :: new (
774
779
QualifiedContractIdentifier :: transient ( ) ,
775
780
ClarityVersion :: Clarity2 ,
776
781
) ;
777
782
778
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
783
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
779
784
780
785
let contract_identifier = QualifiedContractIdentifier :: local ( "contract-1" ) . unwrap ( ) ;
781
786
env. initialize_contract ( contract_identifier, contract_1, ASTRules :: PrecheckSize )
@@ -884,12 +889,12 @@ fn test_aborts(epoch: StacksEpochId, mut env_factory: MemoryEnvironmentGenerator
884
889
fn test_factorial_contract ( epoch : StacksEpochId , mut env_factory : MemoryEnvironmentGenerator ) {
885
890
let mut owned_env = env_factory. get_env ( epoch) ;
886
891
887
- let placeholder_context = ContractContext :: new (
892
+ let mut placeholder_context = ContractContext :: new (
888
893
QualifiedContractIdentifier :: transient ( ) ,
889
894
ClarityVersion :: Clarity2 ,
890
895
) ;
891
896
892
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
897
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
893
898
894
899
let contract_identifier = QualifiedContractIdentifier :: local ( "factorial" ) . unwrap ( ) ;
895
900
env. initialize_contract (
@@ -1012,7 +1017,7 @@ fn test_at_unknown_block(
1012
1017
fn test_as_max_len ( epoch : StacksEpochId , mut tl_env_factory : TopLevelMemoryEnvironmentGenerator ) {
1013
1018
let mut owned_env = tl_env_factory. get_env ( epoch) ;
1014
1019
let contract = "(define-data-var token-ids (list 10 uint) (list))
1015
- (var-set token-ids
1020
+ (var-set token-ids
1016
1021
(unwrap! (as-max-len? (append (var-get token-ids) u1) u10) (err 10)))" ;
1017
1022
1018
1023
owned_env
@@ -1027,11 +1032,11 @@ fn test_as_max_len(epoch: StacksEpochId, mut tl_env_factory: TopLevelMemoryEnvir
1027
1032
1028
1033
#[ test]
1029
1034
fn test_ast_stack_depth ( ) {
1030
- let program = "(+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1031
- (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1032
- (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1033
- (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1034
- (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1035
+ let program = "(+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1036
+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1037
+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1038
+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1039
+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1035
1040
1 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1)
1036
1041
1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1)
1037
1042
1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1)
@@ -1072,23 +1077,23 @@ fn test_cc_stack_depth(
1072
1077
mut env_factory : MemoryEnvironmentGenerator ,
1073
1078
) {
1074
1079
let mut owned_env = env_factory. get_env ( epoch) ;
1075
- let contract_one = "(define-public (foo)
1076
- (ok (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1077
- (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1080
+ let contract_one = "(define-public (foo)
1081
+ (ok (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1082
+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1078
1083
1 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1)
1079
1084
1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1)))" ;
1080
1085
let contract_two =
1081
- "(define-private (bar)
1082
- (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1083
- (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1086
+ "(define-private (bar)
1087
+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1088
+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+ (+
1084
1089
(unwrap-panic (contract-call? .c-foo foo ) )
1085
1090
1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1)
1086
1091
1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1) 1))
1087
1092
(bar)
1088
1093
" ;
1089
- let placeholder_context =
1094
+ let mut placeholder_context =
1090
1095
ContractContext :: new ( QualifiedContractIdentifier :: transient ( ) , version) ;
1091
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
1096
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
1092
1097
1093
1098
let contract_identifier = QualifiedContractIdentifier :: local ( "c-foo" ) . unwrap ( ) ;
1094
1099
env. initialize_contract ( contract_identifier, contract_one, ASTRules :: PrecheckSize )
@@ -1127,9 +1132,9 @@ fn test_cc_trait_stack_depth(
1127
1132
(bar .c-foo)
1128
1133
" ;
1129
1134
1130
- let placeholder_context =
1135
+ let mut placeholder_context =
1131
1136
ContractContext :: new ( QualifiedContractIdentifier :: transient ( ) , version) ;
1132
- let mut env = owned_env. get_exec_environment ( None , None , & placeholder_context) ;
1137
+ let mut env = owned_env. get_exec_environment ( None , None , & mut placeholder_context) ;
1133
1138
1134
1139
let contract_identifier = QualifiedContractIdentifier :: local ( "c-foo" ) . unwrap ( ) ;
1135
1140
env. initialize_contract ( contract_identifier, contract_one, ASTRules :: PrecheckSize )
@@ -1150,15 +1155,15 @@ fn test_eval_with_non_existing_contract(
1150
1155
) {
1151
1156
let mut owned_env = env_factory. get_env ( epoch) ;
1152
1157
1153
- let placeholder_context = ContractContext :: new (
1158
+ let mut placeholder_context = ContractContext :: new (
1154
1159
QualifiedContractIdentifier :: transient ( ) ,
1155
1160
ClarityVersion :: Clarity2 ,
1156
1161
) ;
1157
1162
1158
1163
let mut env = owned_env. get_exec_environment (
1159
1164
Some ( get_principal ( ) . expect_principal ( ) . unwrap ( ) ) ,
1160
1165
None ,
1161
- & placeholder_context,
1166
+ & mut placeholder_context,
1162
1167
) ;
1163
1168
1164
1169
let result = env. eval_read_only (
0 commit comments