diff --git a/stackslib/src/chainstate/tests/consensus.rs b/stackslib/src/chainstate/tests/consensus.rs index 851ded28e5..55cc74d53c 100644 --- a/stackslib/src/chainstate/tests/consensus.rs +++ b/stackslib/src/chainstate/tests/consensus.rs @@ -779,10 +779,19 @@ impl ConsensusTest<'_> { /// Creates a new `ConsensusTest` with the given test name and initial balances. pub fn new(test_name: &str, initial_balances: Vec<(PrincipalData, u64)>) -> Self { // Set up chainstate to start at Epoch 3.0 - // We don't really ever want the reward cycle to force a new signer set... - // so for now just set the cycle length to a high value (100) let mut boot_plan = NakamotoBootPlan::new(test_name) - .with_pox_constants(100, 3) + // These are the minimum values found for the fastest test execution. + // + // If changing these values, ensure the following conditions are met: + // 1. Min 6 reward blocks (test framework limitation). + // 2. Epoch 3.0 starts in the reward phase. + // 3. Tests bypass mainnet's prepare_length >= 3 (allowing 1). + // - Current boot sequence: + // - Cycle 3: Signers at height 27 register for 12 reward cycles + // - Cycle 4: Epoch 3.0 starts at height 30 + // Tests generate 1 bitcoin block per epoch transition after 3.0 + // staying within the registration window + .with_pox_constants(7, 1) .with_initial_balances(initial_balances) .with_private_key(FAUCET_PRIV_KEY.clone()); let epochs = epoch_3_0_onwards( diff --git a/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__append_stx_transfers_success.snap b/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__append_stx_transfers_success.snap index fe3789d26c..ce2b97cfed 100644 --- a/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__append_stx_transfers_success.snap +++ b/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__append_stx_transfers_success.snap @@ -4,7 +4,7 @@ expression: result --- [ Success(ExpectedBlockOutput( - marf_hash: "95999ab12ae2162f2dd25c4a7f7807017b3b5d20f28a53248e37c9864f923718", + marf_hash: "095b12065b5aa5f0cc29dc004b16507be9fb7964a1d656e891a232931db1810a", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -62,7 +62,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "30fa36b4dc9398e9792996eb65440cb6c7f05212566782502c2677f5c7793e6f", + marf_hash: "84fd4d4a87d53924cb9743c1f5448b42d6a4b08f3c8b50feb6f49415ec8dc644", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( diff --git a/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__chainstate_error_expression_stack_depth_too_deep.snap b/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__chainstate_error_expression_stack_depth_too_deep.snap index 704e5073bc..916969048c 100644 --- a/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__chainstate_error_expression_stack_depth_too_deep.snap +++ b/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__chainstate_error_expression_stack_depth_too_deep.snap @@ -3,11 +3,11 @@ source: stackslib/src/chainstate/tests/consensus.rs expression: result --- [ - Failure("Invalid Stacks block 7e31cbb71c79284d65fcf9ed65e7263e6320f267f8b29eb31aca3a8fcb65302b: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), - Failure("Invalid Stacks block 1204d27abf8c5274ca561a1f9d14c7d64c3f802ff2b78a164d7d29eb8808d547: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), - Failure("Invalid Stacks block 435d0c567d8f970c7fde521b4b22e270e78ffbb8c8b09e33bbc6d5b4e7d0257f: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), - Failure("Invalid Stacks block c391035a8457de4600bb9d48e2d4fd7e54a553f4143758db09740f0fc61374df: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), - Failure("Invalid Stacks block 01082196750dcd7f830d841338a95a1400a96f35e91135d3992db57fd907dba7: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), - Failure("Invalid Stacks block 1044b36b10f92b9ee71a0424d5e6c1e52d3059a5d9f512499b1b6ecc54ce85a3: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), - Failure("Invalid Stacks block a3eaa78beaae7d208893cadb3a11541b6d1f85c8473ba39e1886ed041dce13a6: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), + Failure("Invalid Stacks block 4283815e1f66aa52f455cfe8a415c8ff1c3d28794b83a08384534e30650554e2: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), + Failure("Invalid Stacks block b97c37a0da184764a8eb0769d6c8a9af0a6c98b0e6c950423d324286a349bf0c: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), + Failure("Invalid Stacks block 121b03507be0248b0abd05ccf93403e3c50bd8969e8b1c4d2d3f215fd6243576: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), + Failure("Invalid Stacks block 322a20636ec464a2931d73e6e7d8d30f53d991c7b8671fb9111e257c4c223e29: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), + Failure("Invalid Stacks block 21f04d05a17d11025270fe3dc95dc67aac9a01f8853a139a9d126308b69104e5: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), + Failure("Invalid Stacks block 6e0c907eae08ccabff1b2c36a15a072d81c895462a934d9a745006c009690ace: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), + Failure("Invalid Stacks block 75ff54adb614d195487f2a0bb1706fde20bc366d3e8e1459f1cae14d542546c0: ClarityError(Parse(ParseError { err: ExpressionStackDepthTooDeep, pre_expressions: None, diagnostic: Diagnostic { level: Error, message: \"AST has too deep of an expression nesting. The maximum stack depth is 64\", spans: [], suggestion: None } }))"), ] diff --git a/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__successfully_deploy_and_call.snap b/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__successfully_deploy_and_call.snap index ca48c4b881..c1c2d843ca 100644 --- a/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__successfully_deploy_and_call.snap +++ b/stackslib/src/chainstate/tests/snapshots/blockstack_lib__chainstate__tests__consensus__successfully_deploy_and_call.snap @@ -4,7 +4,7 @@ expression: result --- [ Success(ExpectedBlockOutput( - marf_hash: "7dc0aaa26bad4b0300a451df39c8ce76beff0b49da2db3fce47d63b87509c32e", + marf_hash: "a590886094b514abf4406e1a5c3a26978e4b7e8dd159aa310382be65b632db1a", evaluated_epoch: Epoch30, transactions: [ ExpectedTransactionOutput( @@ -32,7 +32,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "4e611b18dc48b4ad2825a92431834e3bab0c69393e99a0fd6e5c18c4023a7705", + marf_hash: "dc0aabf612da63b0140560522efdb8ce896660315cdd2fa09adbf9369da7abb7", evaluated_epoch: Epoch30, transactions: [ ExpectedTransactionOutput( @@ -60,7 +60,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "46da815cdf0c9816d304feb9771763a4ff424b8362e559bbe0981305e6efd889", + marf_hash: "82e841d52ca2e9d1c226cf961006eff1e6257ce6c714cbeb198f05536708a7b3", evaluated_epoch: Epoch30, transactions: [ ExpectedTransactionOutput( @@ -88,7 +88,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "5fa759b7495ff89f5274d907b105f9afdfaa7f78942952b60a53b2c921e19607", + marf_hash: "3c02272c7a6681809ba820cd27eae4cf6a947ffbb94472c19858a54e8f3ae262", evaluated_epoch: Epoch31, transactions: [ ExpectedTransactionOutput( @@ -116,7 +116,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "159b15f8004355f25117d9a35d11a55f38c80c7886b9cba5ed63a454fc9a0112", + marf_hash: "29aad28c9ea29def9bca1065d0aa00e2fd3c55777382f3200f17a4a3d6367a31", evaluated_epoch: Epoch31, transactions: [ ExpectedTransactionOutput( @@ -144,7 +144,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "ed275e6d1c8a6cf8afa1c0836aa00fb02e63b3a3cd263137ed4627e8fa23d50c", + marf_hash: "50a8d6594da285e03915111a3d405675069606fbd45f263c0da68b8ed2def295", evaluated_epoch: Epoch31, transactions: [ ExpectedTransactionOutput( @@ -172,7 +172,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "68b0d2bb6af72ff3d906da9fb1647f82b689fb7eefb88bff0c3d7324811bc7ff", + marf_hash: "969f0c7e8124e21997bb02259043885d0f0b6825244832b3bd02e15079b02358", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -200,7 +200,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "2df07ee1b39c63c331bd882265dd335326f179cb46ac59229238f70a55af7926", + marf_hash: "2afc4a781e1f87d793e3e876fbb7eb90b00c34d34f88b03ed04adebf7e1d2a34", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -228,7 +228,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "8b4b06c870fd5b66e33fe4f1496509cc182827c2e175851d31b85ef00e161625", + marf_hash: "e8bbd5ff2cfab0812da17d25cdb468e87da8ca43b3dd6bf0cb20f5ffb9b5c434", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -256,7 +256,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "ed3ac24606bfab532195a58a924461dadda0c0e5e52c58d50004293f10a9ffa8", + marf_hash: "8e1fa3c731374492b0d95090c1df2a37016685a2e8aa0d8838392f325c363da8", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -284,7 +284,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "af5b3fcf2446019e5179753ca3d5a9c87bfd4992db44f23ff265d713051684fc", + marf_hash: "18433deeefcbf8171b64dbe2e954662884dc87276df423111a24bbd0b3ee7f8d", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -312,7 +312,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "ab1b2f5cc50cbc4a44efacfa273bebc6a8613324e8c41fd092cd99813f7a5641", + marf_hash: "e78662e11643b6bb442bc661e4b5e6e885563144f51c2a77268f67c5db3f3584", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -340,7 +340,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "38b0d2fe231731c95ab452ed2e048abfafaf163416a6304af8845d5963fb4347", + marf_hash: "73f22023951bb8a04e5ccb7c569b979fcaa5a56590c14442a5dcfab5ea5607b5", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -368,7 +368,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "34f0b0577b92091983d86b293c3c78ce83a129fa94bc125bec5c8ebf08f91308", + marf_hash: "027a3d14203b456780ea26eafecd9ab5261b7601ad711793772c7c6e0fa02e59", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -396,7 +396,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "a9cf5345902cba7d1529cc72f23a1ceed8d0addcbc2d608163513233fcf76f1d", + marf_hash: "57409ac5f17d76a2fb7bb5a96f6df5eda1d3689a23c626f7fbc104addf1cf32f", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -424,7 +424,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "c290afd1e6546e3efa21a1403dd0cd2845a9b5dffd288c907ef2ff40b5328e5f", + marf_hash: "e5a30cda5e2d36eac5711d89e95b1ed54242fbf7ceb4c85c7bf9306766fd9ca0", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -452,7 +452,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "d616f061a5fb3377b12d60a6af69d280bfc3df72f5d00bf4dff0063003a39500", + marf_hash: "a3bcc31b429da98ee5235387601d803cb305a3db4af5fdb7ba9c3f5bcc0d41b2", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -480,7 +480,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "677f80720b7d3ab147d595942e54ab6d1c16bf91628ca1d9b9fbf18a4456ca3f", + marf_hash: "ef8e8f6580de93248e1d1cc2f87bbdbefb3ddb86d403c2101b4620c5449365c9", evaluated_epoch: Epoch32, transactions: [ ExpectedTransactionOutput( @@ -508,7 +508,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "3539942bb7564287a51bd097fe7cdfb9eaa53ede9d9a663020ea78fe121de30a", + marf_hash: "38a8f28f1e3fefc43a38f84dc1791b082e0e0485594a52f06fe1308c519d3336", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -536,7 +536,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "68ca796dc9f88eeb00499b4a1ad5c8e7228bed0ea57c1af1632f835a13b0994f", + marf_hash: "5f3f3254cdda89fa216c1d65db1651c0d07cf35546d90a5cfab4bb67706dd322", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -564,7 +564,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "780edfe9dd24914ce2758ba0c4ffb84db6a22ae7ad6ddf78d86bf74da9dbf12c", + marf_hash: "fcbd175bb6eebab2f11944dec89551ab91b61556dcecadd159ede09d268ed20f", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -592,7 +592,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "ee5328e8f72017cc9a896280a5d9c6efb22ee0e1f5daec777ef8c96125e9f58d", + marf_hash: "cf3ce058c2bb36af66d1b10601ecb199844748e4d3a7a3e8bd74bb61634061a2", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -620,7 +620,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "14473254bf7f8d4ec1fa9d4796bc3d965c93156c66228505ff537691e99d7197", + marf_hash: "634e97e600c79304fe44e9e321802fc994a7f9d06a6f8e37d30ea4511b003e69", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -648,7 +648,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "bf701aa24dd21b45da9ebb1068ffb0ce685e45feab3587c00fa10df9982d9ce3", + marf_hash: "85cafa36a1e414404b8fe8803d0f25fb15f0b95ce9409117808632719660c48c", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -676,7 +676,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "3552edb6ace6b7219d9b7c8991cafbce2167e9f7a66691ffa15dc0e01f2caee1", + marf_hash: "c0939834a96f607582e250b4be680efd7cf2f1d89ec8409317236aa4268ff11d", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -704,7 +704,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "455eaf60321e701681d74b802768ef1996825e094ffde5bcb39c9bc7b358ba11", + marf_hash: "7e3bc89f4f80cc392cd0ebddab5ab5958a1279995809d1803729098e94481431", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -732,7 +732,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "246828fd4ab7cbbdd36c5559b06715662fd29b718af016d91a23101985b5f918", + marf_hash: "d5f11dacb02acf78898e99122f9683e56f65b56669921f7ff4ba51e584628217", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -760,7 +760,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "ec7fa4cac0b8dfe2e9febb574823dfde63b949b20a539543accadbb57db80e5c", + marf_hash: "f8ab58d9665439bcfbfc753593f94dddb11e1bac4d8987bce0b78819fd179633", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -788,7 +788,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "d693bef23c7cf10554770310e748f36f351f0b584b95e4d153308a2748ea88e0", + marf_hash: "ddc153d05ab9ae0d4493495db42639a40a63f5a2e106f3885a5d520a0886c8d3", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -816,7 +816,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "59966cbe73d2f8af9864d282abdb4b9667268d2ecf71b31d6592463e0a3ef779", + marf_hash: "82a7a177456bf6167394a18c28d202778143bed833b1f36593f8f6d9650036fc", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -844,7 +844,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "0f5e1f6d0abf4f847355fc43e0dd91b17bfee42d5959a5012a1aeda7f6a489e7", + marf_hash: "f345911217eefdfe2be7758b93a636570ca3789dd1d1b4c21d504824ea7521fa", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -872,7 +872,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "e63a5434198229d3d4d8fe673cc1d4775c4703cd388e23ab35d1bde65c932824", + marf_hash: "60820a72ff037030f3ca671da33826e5c2aaa7a4879f4d1bfcc588aee57ffd34", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -900,7 +900,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "43cf4533cf166af9599710ff0474071c284b851a9ff9df1f835a0fe17a2e0e04", + marf_hash: "a72f90d536cc70ca84abbd298204830afe27abd284fbd3a60b5b0059f616ff45", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -928,7 +928,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "bfc87bcbef2f3e2f013bccae348fecedf36aa3d26329a36541d2d8824a05688d", + marf_hash: "d133b26622ba4072dcd51b738709092d7040a225464cefc5f693ce9a7b55a54c", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput( @@ -956,7 +956,7 @@ expression: result ), )), Success(ExpectedBlockOutput( - marf_hash: "73f00b7098abc4d2b3163d4efb3317af8909af96937149a8733bf48b98252562", + marf_hash: "19cf5df2dab4cb0d66d92edc65fd3a4872375313661e98771ba48404d7246f3e", evaluated_epoch: Epoch33, transactions: [ ExpectedTransactionOutput(