diff --git a/Makefile b/Makefile index 77d513a..c059871 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Source the gitignored .env for the smoke recipes. LOAD_ENV = pre=$$(export -p); set -a; [ -f .env ] && . ./.env; set +a; eval "$$pre"; -PYTHON ?= python3.13 +PYTHON ?= python3 VENV = script/smoke/.venv # `smoke` is the package at script/smoke/, so its parent (script) is on the path. SMOKE_RUN = $(LOAD_ENV) PYTHONPATH=script $(VENV)/bin/python -m smoke diff --git a/lcov.info b/lcov.info new file mode 100644 index 0000000..7661bf5 --- /dev/null +++ b/lcov.info @@ -0,0 +1,1290 @@ +TN: +SF:src/lib/B20FactoryLib.sol +DA:83,512 +FN:83,B20FactoryLib.encodeStablecoinCreateParams +FNDA:512,B20FactoryLib.encodeStablecoinCreateParams +DA:89,512 +DA:107,512 +FN:107,B20FactoryLib.encodeAssetCreateParams +FNDA:512,B20FactoryLib.encodeAssetCreateParams +DA:112,512 +DA:127,9475 +FN:127,B20FactoryLib.encodeStablecoinEventParams +FNDA:9475,B20FactoryLib.encodeStablecoinEventParams +DA:128,9475 +DA:139,256 +FN:139,B20FactoryLib.encodeUpdateSupplyCap +FNDA:256,B20FactoryLib.encodeUpdateSupplyCap +DA:140,256 +DA:145,256 +FN:145,B20FactoryLib.encodeUpdateContractURI +FNDA:256,B20FactoryLib.encodeUpdateContractURI +DA:146,256 +DA:151,256 +FN:151,B20FactoryLib.encodeUpdateName +FNDA:256,B20FactoryLib.encodeUpdateName +DA:152,256 +DA:159,256 +FN:159,B20FactoryLib.encodeUpdatePolicy +FNDA:256,B20FactoryLib.encodeUpdatePolicy +DA:160,256 +DA:167,6746 +FN:167,B20FactoryLib.encodeGrantRole +FNDA:6746,B20FactoryLib.encodeGrantRole +DA:168,6746 +DA:175,256 +FN:175,B20FactoryLib.encodeRevokeRole +FNDA:256,B20FactoryLib.encodeRevokeRole +DA:176,256 +DA:183,256 +FN:183,B20FactoryLib.encodeSetRoleAdmin +FNDA:256,B20FactoryLib.encodeSetRoleAdmin +DA:184,256 +DA:191,256 +FN:191,B20FactoryLib.encodeBatchMint +FNDA:256,B20FactoryLib.encodeBatchMint +DA:196,256 +DA:203,1150 +FN:203,B20FactoryLib.encodeUpdateExtraMetadata +FNDA:1150,B20FactoryLib.encodeUpdateExtraMetadata +DA:204,1150 +DA:209,256 +FN:209,B20FactoryLib.encodeUpdateMultiplier +FNDA:256,B20FactoryLib.encodeUpdateMultiplier +DA:210,256 +DA:222,513 +FN:222,B20FactoryLib.buildRoleGrants.0 +FNDA:513,B20FactoryLib.buildRoleGrants.0 +DA:223,513 +DA:224,513 +DA:225,513 +DA:226,513 +DA:227,513 +DA:228,513 +DA:229,513 +DA:231,513 +DA:232,513 +DA:233,513 +DA:234,513 +DA:235,513 +DA:236,513 +DA:237,513 +DA:239,513 +DA:246,513 +FN:246,B20FactoryLib.buildRoleGrants.1 +FNDA:513,B20FactoryLib.buildRoleGrants.1 +DA:247,513 +DA:248,513 +DA:249,513 +DA:250,513 +DA:251,513 +DA:252,513 +DA:253,513 +DA:254,513 +DA:256,513 +DA:257,513 +DA:258,513 +DA:259,513 +DA:260,513 +DA:261,513 +DA:262,513 +DA:263,513 +DA:265,513 +DA:277,2051 +FN:277,B20FactoryLib.buildRoleGrants.2 +FNDA:2051,B20FactoryLib.buildRoleGrants.2 +DA:282,2051 +BRDA:282,0,0,256 +DA:284,1795 +DA:285,1795 +DA:286,10590 +BRDA:286,1,0,6490 +DA:289,1795 +DA:290,1795 +DA:291,1795 +DA:292,10590 +BRDA:292,2,0,6490 +DA:293,6490 +DA:306,514 +FN:306,B20FactoryLib.buildExtraMetadataUpdates +FNDA:514,B20FactoryLib.buildExtraMetadataUpdates +DA:311,514 +BRDA:311,3,0,256 +DA:312,256 +DA:315,258 +DA:316,258 +DA:317,894 +DA:326,769 +FN:326,B20FactoryLib.concat +FNDA:769,B20FactoryLib.concat +DA:327,769 +DA:328,769 +DA:329,769 +DA:330,1829 +DA:332,769 +DA:333,1843 +FNF:18 +FNH:18 +LF:83 +LH:83 +BRF:4 +BRH:4 +end_of_record +TN: +SF:test/lib/mocks/MockActivationRegistry.sol +DA:52,2145 +FN:52,MockActivationRegistry.admin +FNDA:2145,MockActivationRegistry.admin +DA:53,2145 +DA:61,3328 +FN:61,MockActivationRegistry.isActivated +FNDA:3328,MockActivationRegistry.isActivated +DA:62,3328 +DA:66,15730 +FN:66,MockActivationRegistry.checkActivated +FNDA:15730,MockActivationRegistry.checkActivated +DA:67,15730 +BRDA:67,0,0,512 +DA:75,5098 +FN:75,MockActivationRegistry.activate +FNDA:5098,MockActivationRegistry.activate +DA:76,5098 +BRDA:76,1,0,512 +DA:77,4586 +DA:78,256 +BRDA:78,2,0,256 +DA:79,4330 +DA:80,4330 +DA:84,3072 +FN:84,MockActivationRegistry.deactivate +FNDA:3072,MockActivationRegistry.deactivate +DA:85,3072 +BRDA:85,3,0,512 +DA:86,2560 +DA:91,2560 +BRDA:91,4,0,256 +DA:92,2304 +DA:93,2304 +FNF:5 +FNH:5 +LF:18 +LH:18 +BRF:5 +BRH:5 +end_of_record +TN: +SF:test/lib/mocks/MockActivationRegistryStorage.sol +DA:51,1793 +FN:51,MockActivationRegistryStorage.slotOf +FNDA:1793,MockActivationRegistryStorage.slotOf +DA:52,1793 +DA:55,26204 +FN:55,MockActivationRegistryStorage.layout +FNDA:26204,MockActivationRegistryStorage.layout +DA:57,26204 +DA:63,1 +FN:63,MockActivationRegistryStorage.derivedLocation +FNDA:1,MockActivationRegistryStorage.derivedLocation +DA:64,1 +DA:74,1793 +FN:74,MockActivationRegistryStorage.featuresBaseSlot +FNDA:1793,MockActivationRegistryStorage.featuresBaseSlot +DA:75,1793 +DA:86,1792 +FN:86,MockActivationRegistryStorage.featureSlot +FNDA:1792,MockActivationRegistryStorage.featureSlot +DA:87,1792 +FNF:5 +FNH:5 +LF:10 +LH:10 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/lib/mocks/MockB20.sol +DA:115,6144 +FN:115,MockB20.whenNotPaused +FNDA:6144,MockB20.whenNotPaused +DA:116,6144 +BRDA:116,0,0,768 +DA:125,1536 +FN:125,MockB20.onlyRole +FNDA:1536,MockB20.onlyRole +DA:126,1536 +DA:135,2049 +FN:135,MockB20.onlyRoleAdmin +FNDA:2049,MockB20.onlyRoleAdmin +DA:136,2049 +BRDA:136,1,0,2049 +DA:144,2309 +FN:144,MockB20.name +FNDA:2309,MockB20.name +DA:145,2309 +DA:148,1538 +FN:148,MockB20.symbol +FNDA:1538,MockB20.symbol +DA:149,1538 +DA:161,5122 +FN:161,MockB20.totalSupply +FNDA:5122,MockB20.totalSupply +DA:162,5122 +DA:165,8962 +FN:165,MockB20.balanceOf +FNDA:8962,MockB20.balanceOf +DA:166,8962 +DA:169,3841 +FN:169,MockB20.allowance +FNDA:3841,MockB20.allowance +DA:170,3841 +DA:177,6656 +FN:177,MockB20.transfer +FNDA:6656,MockB20.transfer +DA:178,5120 +DA:179,2816 +DA:180,1280 +DA:183,6144 +FN:183,MockB20.transferFrom +FNDA:6144,MockB20.transferFrom +DA:188,5376 +DA:189,4352 +BRDA:189,2,0,4352 +DA:193,4352 +DA:194,3328 +BRDA:194,3,0,2816 +DA:199,2816 +DA:200,2816 +BRDA:200,4,0,512 +DA:201,512 +DA:205,2816 +DA:206,2048 +DA:209,7425 +FN:209,MockB20.approve +FNDA:7425,MockB20.approve +DA:210,7425 +BRDA:210,5,0,512 +DA:211,6913 +BRDA:211,6,0,256 +DA:212,6657 +DA:213,6657 +DA:214,6657 +DA:221,2816 +FN:221,MockB20.transferWithMemo +FNDA:2816,MockB20.transferWithMemo +DA:226,2304 +DA:227,1792 +DA:228,1024 +DA:229,1024 +DA:232,3328 +FN:232,MockB20.transferFromWithMemo +FNDA:3328,MockB20.transferFromWithMemo +DA:237,3072 +DA:238,2560 +BRDA:238,7,0,2560 +DA:239,2560 +DA:240,1792 +BRDA:240,8,0,1536 +DA:241,1536 +DA:242,1536 +BRDA:242,9,0,256 +DA:243,256 +DA:247,1536 +DA:248,1280 +DA:249,1280 +DA:256,3074 +FN:256,MockB20.updateName +FNDA:3074,MockB20.updateName +DA:257,2560 +DA:258,2560 +DA:259,2560 +DA:262,1792 +FN:262,MockB20.updateSymbol +FNDA:1792,MockB20.updateSymbol +DA:263,1280 +DA:264,1280 +DA:271,16638 +FN:271,MockB20.mint +FNDA:16638,MockB20.mint +DA:272,14078 +BRDA:272,10,0,1536 +DA:273,12542 +DA:276,2304 +FN:276,MockB20.mintWithMemo +FNDA:2304,MockB20.mintWithMemo +DA:281,1536 +BRDA:281,11,0,256 +DA:282,1280 +DA:283,768 +DA:286,2560 +FN:286,MockB20.burn +FNDA:2560,MockB20.burn +DA:287,1280 +DA:290,1792 +FN:290,MockB20.burnWithMemo +FNDA:1792,MockB20.burnWithMemo +DA:295,1024 +DA:296,768 +DA:299,3328 +FN:299,MockB20.burnBlocked +FNDA:3328,MockB20.burnBlocked +DA:304,1536 +BRDA:304,12,0,1536 +DA:309,1536 +DA:310,1536 +BRDA:310,13,0,512 +DA:311,512 +DA:314,1024 +DA:315,768 +DA:322,36639 +FN:322,MockB20.hasRole +FNDA:36639,MockB20.hasRole +DA:323,165764 +DA:326,1025 +FN:326,MockB20.getRoleAdmin +FNDA:1025,MockB20.getRoleAdmin +DA:332,1025 +DA:335,64154 +FN:335,MockB20.grantRole +FNDA:64154,MockB20.grantRole +DA:336,63130 +DA:339,1793 +FN:339,MockB20.revokeRole +FNDA:1793,MockB20.revokeRole +DA:347,1281 +DA:348,1281 +BRDA:348,14,0,1 +DA:349,1 +DA:351,1280 +DA:354,2049 +FN:354,MockB20.renounceRole +FNDA:2049,MockB20.renounceRole +DA:355,2049 +BRDA:355,15,0,512 +DA:361,1537 +DA:362,1537 +BRDA:362,16,0,257 +DA:364,257 +DA:366,1280 +DA:369,1539 +FN:369,MockB20.renounceLastAdmin +FNDA:1539,MockB20.renounceLastAdmin +DA:370,1539 +DA:371,1539 +BRDA:371,17,0,512 +DA:372,512 +DA:374,1027 +BRDA:374,18,0,256 +DA:375,771 +DA:376,771 +DA:377,771 +DA:378,771 +DA:381,2049 +FN:381,MockB20.setRoleAdmin +FNDA:2049,MockB20.setRoleAdmin +DA:387,1537 +DA:388,1537 +DA:389,1537 +DA:396,4 +FN:396,MockB20.pausedFeatures +FNDA:4,MockB20.pausedFeatures +DA:397,4 +DA:398,4 +DA:400,4 +DA:401,4 +DA:402,12 +BRDA:402,19,0,5 +DA:404,4 +DA:405,4 +DA:406,4 +DA:407,12 +BRDA:407,20,0,5 +DA:409,5 +DA:412,4 +DA:415,779 +FN:415,MockB20.isPaused +FNDA:779,MockB20.isPaused +DA:416,778 +DA:419,9750 +FN:419,MockB20.pause +FNDA:9750,MockB20.pause +DA:420,9238 +BRDA:420,21,0,257 +DA:421,8981 +DA:422,8981 +DA:423,8982 +DA:425,8981 +DA:428,2309 +FN:428,MockB20.unpause +FNDA:2309,MockB20.unpause +DA:429,1797 +BRDA:429,22,0,257 +DA:430,1540 +DA:431,1540 +DA:432,1540 +DA:434,1540 +DA:441,2569 +FN:441,MockB20.policyId +FNDA:2569,MockB20.policyId +DA:442,2569 +DA:445,14349 +FN:445,MockB20.updatePolicy +FNDA:14349,MockB20.updatePolicy +DA:448,13325 +DA:452,13068 +BRDA:452,23,0,256 +DA:453,256 +DA:455,12812 +DA:456,12812 +DA:467,15894 +FN:467,MockB20._readPolicyId +FNDA:15894,MockB20._readPolicyId +DA:468,15894 +DA:469,15894 +BRDA:469,24,0,6125 +DA:470,9769 +BRDA:470,25,0,3250 +DA:471,6519 +BRDA:471,26,0,3187 +DA:472,3332 +BRDA:472,27,0,2819 +DA:473,513 +DA:484,12812 +FN:484,MockB20._writePolicyId +FNDA:12812,MockB20._writePolicyId +DA:485,12812 +DA:488,12812 +BRDA:488,28,0,5322 +BRDA:488,28,1,2285 +DA:489,5322 +DA:490,7490 +BRDA:490,29,0,2614 +BRDA:490,29,1,2285 +DA:491,2614 +DA:492,4876 +BRDA:492,30,0,2591 +BRDA:492,30,1,2285 +DA:493,2591 +DA:495,2285 +DA:503,1282 +FN:503,MockB20.supplyCap +FNDA:1282,MockB20.supplyCap +DA:504,1282 +DA:507,4609 +FN:507,MockB20.updateSupplyCap +FNDA:4609,MockB20.updateSupplyCap +DA:508,4097 +DA:509,4097 +BRDA:509,31,0,256 +DA:510,3841 +DA:511,3841 +DA:512,3841 +DA:535,4610 +FN:535,MockB20.DOMAIN_SEPARATOR +FNDA:4610,MockB20.DOMAIN_SEPARATOR +DA:536,7171 +DA:547,3332 +FN:547,MockB20.nonces +FNDA:3332,MockB20.nonces +DA:548,3332 +DA:551,3073 +FN:551,MockB20.permit +FNDA:3073,MockB20.permit +DA:554,3073 +BRDA:554,32,0,512 +DA:556,2561 +DA:557,2561 +DA:559,2561 +DA:560,2561 +DA:562,2561 +DA:563,2561 +BRDA:563,33,0,1024 +DA:564,1024 +DA:568,1537 +DA:570,1537 +DA:571,1537 +DA:574,514 +FN:574,MockB20.eip712Domain +FNDA:514,MockB20.eip712Domain +DA:590,514 +DA:591,514 +DA:592,514 +DA:593,514 +DA:594,514 +DA:595,514 +DA:596,514 +DA:603,514 +FN:603,MockB20.contractURI +FNDA:514,MockB20.contractURI +DA:604,514 +DA:607,1537 +FN:607,MockB20.updateContractURI +FNDA:1537,MockB20.updateContractURI +DA:608,1025 +DA:609,1025 +DA:620,177111 +FN:620,MockB20._isPrivileged +FNDA:177111,MockB20._isPrivileged +DA:621,177111 +DA:626,75323 +FN:626,MockB20._requireRole +FNDA:75323,MockB20._requireRole +DA:627,75323 +BRDA:627,34,0,75323 +DA:628,74299 +BRDA:628,35,0,10754 +DA:629,10754 +DA:644,55338 +FN:644,MockB20._requireRoleAdmin +FNDA:55338,MockB20._requireRoleAdmin +DA:652,55338 +BRDA:652,36,0,512 +DA:653,512 +DA:655,54826 +DA:656,54826 +BRDA:656,37,0,1536 +DA:659,49167 +FN:659,MockB20._isPaused +FNDA:49167,MockB20._isPaused +DA:660,49167 +DA:663,63130 +FN:663,MockB20._grantRole +FNDA:63130,MockB20._grantRole +DA:664,63130 +DA:665,63130 +BRDA:665,38,0,62874 +DA:666,62874 +DA:667,62874 +BRDA:667,39,0,13940 +DA:668,62874 +DA:672,2560 +FN:672,MockB20._revokeRole +FNDA:2560,MockB20._revokeRole +DA:673,2560 +DA:674,2048 +BRDA:674,40,0,2048 +DA:675,2048 +DA:676,2048 +BRDA:676,41,0,768 +DA:677,2048 +DA:681,6912 +FN:681,MockB20._consumeAllowance +FNDA:6912,MockB20._consumeAllowance +DA:682,6912 +DA:683,6912 +BRDA:683,42,0,6643 +DA:684,6643 +BRDA:684,43,0,1792 +DA:686,4851 +DA:695,15872 +FN:695,MockB20._requireNonZeroActors +FNDA:15872,MockB20._requireNonZeroActors +DA:696,15872 +BRDA:696,44,0,2304 +DA:697,13568 +BRDA:697,45,0,2048 +DA:709,8960 +FN:709,MockB20._transfer +FNDA:8960,MockB20._transfer +DA:710,8960 +BRDA:710,46,0,8960 +DA:716,8960 +DA:717,8960 +BRDA:717,47,0,1536 +DA:718,1536 +DA:720,7424 +BRDA:720,48,0,1024 +DA:721,1024 +DA:725,6400 +DA:726,6400 +DA:727,6400 +BRDA:727,49,0,768 +DA:729,5632 +DA:730,5632 +DA:732,5632 +DA:741,16384 +FN:741,MockB20._mint +FNDA:16384,MockB20._mint +DA:742,16384 +BRDA:742,50,0,16384 +DA:743,16384 +DA:744,16384 +BRDA:744,51,0,1024 +DA:745,1024 +DA:749,15360 +DA:750,15360 +DA:751,15360 +BRDA:751,52,0,1024 +DA:752,14336 +DA:754,14336 +DA:756,14336 +DA:765,3328 +FN:765,MockB20._burnRaw +FNDA:3328,MockB20._burnRaw +DA:766,3328 +DA:767,3328 +DA:768,3328 +BRDA:768,53,0,768 +DA:770,2560 +DA:771,2560 +DA:773,2560 +FNF:54 +FNH:54 +LF:259 +LH:259 +BRF:57 +BRH:57 +end_of_record +TN: +SF:test/lib/mocks/MockB20Asset.sol +DA:78,1283 +FN:78,MockB20Asset.decimals +FNDA:1283,MockB20Asset.decimals +DA:79,1283 +DA:86,3848 +FN:86,MockB20Asset.announce +FNDA:3848,MockB20Asset.announce +DA:92,3080 +DA:93,512 +BRDA:93,0,0,512 +DA:98,2568 +DA:100,2568 +DA:102,2568 +DA:103,519 +DA:104,6 +DA:105,6 +BRDA:105,1,0,2 +DA:108,2053 +DA:111,1026 +FN:111,MockB20Asset.isAnnouncementIdUsed +FNDA:1026,MockB20Asset.isAnnouncementIdUsed +DA:112,1026 +DA:119,514 +FN:119,MockB20Asset.multiplier +FNDA:514,MockB20Asset.multiplier +DA:120,514 +DA:123,1792 +FN:123,MockB20Asset.toScaledBalance +FNDA:1792,MockB20Asset.toScaledBalance +DA:124,1792 +DA:127,1792 +FN:127,MockB20Asset.toRawBalance +FNDA:1792,MockB20Asset.toRawBalance +DA:128,1792 +DA:131,1280 +FN:131,MockB20Asset.scaledBalanceOf +FNDA:1280,MockB20Asset.scaledBalanceOf +DA:132,1280 +DA:135,5123 +FN:135,MockB20Asset.updateMultiplier +FNDA:5123,MockB20Asset.updateMultiplier +DA:136,4355 +DA:137,4355 +DA:148,2823 +FN:148,MockB20Asset.batchMint +FNDA:2823,MockB20Asset.batchMint +DA:153,1541 +BRDA:153,2,0,2 +DA:154,1539 +BRDA:154,3,0,2 +DA:155,1537 +DA:156,2818 +BRDA:156,4,0,256 +DA:157,2562 +DA:165,1539 +FN:165,MockB20Asset.extraMetadata +FNDA:1539,MockB20Asset.extraMetadata +DA:166,1539 +DA:169,3585 +FN:169,MockB20Asset.updateExtraMetadata +FNDA:3585,MockB20Asset.updateExtraMetadata +DA:170,2817 +BRDA:170,5,0,512 +DA:171,2305 +DA:172,2305 +DA:181,5378 +FN:181,MockB20Asset._multiplier +FNDA:5378,MockB20Asset._multiplier +DA:182,5378 +DA:183,5378 +DA:206,519 +FN:206,MockB20Asset._checkSelector +FNDA:519,MockB20Asset._checkSelector +DA:207,519 +BRDA:207,6,0,512 +DA:208,7 +DA:209,7 +BRDA:209,7,0,1 +FNF:13 +FNH:13 +LF:44 +LH:44 +BRF:8 +BRH:8 +end_of_record +TN: +SF:test/lib/mocks/MockB20Factory.sol +DA:95,16242 +FN:95,MockB20Factory.createB20 +FNDA:16242,MockB20Factory.createB20 +DA:104,15730 +DA:107,15218 +DA:108,15218 +DA:109,15218 +DA:110,15218 +DA:111,15218 +DA:113,15218 +BRDA:113,0,0,4975 +BRDA:113,0,1,27693 +DA:114,4975 +DA:115,4975 +BRDA:115,1,0,256 +DA:116,256 +DA:120,4719 +BRDA:120,2,0,1024 +DA:121,1024 +DA:123,3695 +DA:124,3695 +DA:125,3695 +DA:126,3695 +DA:127,10243 +BRDA:127,3,0,10243 +BRDA:127,3,1,27693 +DA:128,10243 +DA:129,10243 +BRDA:129,4,0,512 +DA:130,512 +DA:135,9731 +DA:136,9731 +BRDA:136,5,0,256 +DA:138,9475 +DA:139,27949 +BRDA:139,6,0,256 +DA:141,9219 +DA:142,9219 +DA:143,9219 +DA:144,9219 +DA:145,9219 +DA:152,0 +DA:156,12914 +DA:157,12914 +BRDA:157,7,0,256 +DA:160,12658 +BRDA:160,8,0,3695 +BRDA:160,8,1,8963 +DA:161,3695 +DA:164,8963 +DA:171,12658 +DA:172,12658 +BRDA:172,9,0,3695 +BRDA:172,9,1,8963 +DA:173,3695 +DA:174,8963 +BRDA:174,10,0,8963 +DA:175,8963 +DA:190,12658 +DA:191,12658 +BRDA:191,11,0,8963 +DA:192,8963 +DA:194,12658 +DA:203,12658 +BRDA:203,12,0,12146 +DA:204,12146 +DA:217,12658 +DA:218,1792 +DA:219,1792 +BRDA:219,13,0,1024 +DA:220,1024 +BRDA:220,14,0,768 +DA:222,768 +DA:225,256 +DA:235,11634 +DA:242,5376 +FN:242,MockB20Factory.getB20Address +FNDA:5376,MockB20Factory.getB20Address +DA:243,5120 +DA:247,1793 +FN:247,MockB20Factory.isB20 +FNDA:1793,MockB20Factory.isB20 +DA:248,1793 +DA:252,1281 +FN:252,MockB20Factory.isB20Initialized +FNDA:1281,MockB20Factory.isB20Initialized +DA:253,1281 +BRDA:253,15,0,257 +DA:257,1024 +DA:269,15730 +FN:269,MockB20Factory._enforceActivationGates +FNDA:15730,MockB20Factory._enforceActivationGates +DA:270,15730 +DA:273,15730 +DA:286,18034 +FN:286,MockB20Factory._computeAddress +FNDA:18034,MockB20Factory._computeAddress +DA:287,18034 +DA:288,18034 +DA:289,18034 +DA:293,3074 +FN:293,MockB20Factory._isB20Prefix +FNDA:3074,MockB20Factory._isB20Prefix +DA:294,3074 +DA:309,12658 +FN:309,MockB20Factory._writeBaseStorage +FNDA:12658,MockB20Factory._writeBaseStorage +DA:310,12658 +DA:311,12658 +DA:312,12658 +DA:326,3695 +FN:326,MockB20Factory._writeAssetStorage +FNDA:3695,MockB20Factory._writeAssetStorage +DA:331,3695 +DA:336,8963 +FN:336,MockB20Factory._writeStablecoinStorage +FNDA:8963,MockB20Factory._writeStablecoinStorage +DA:337,8963 +DA:344,27987 +FN:344,MockB20Factory._writeUint +FNDA:27987,MockB20Factory._writeUint +DA:345,27987 +DA:355,34279 +FN:355,MockB20Factory._writeString +FNDA:34279,MockB20Factory._writeString +DA:356,34279 +DA:357,34279 +BRDA:357,16,0,1024 +BRDA:357,16,1,1792 +DA:365,1024 +DA:366,33255 +BRDA:366,17,0,32231 +BRDA:366,17,1,1792 +DA:367,32231 +DA:374,32231 +DA:376,32231 +DA:379,1024 +DA:380,1024 +DA:381,1024 +DA:382,1024 +DA:383,1792 +DA:385,1792 +DA:387,1792 +FNF:12 +FNH:12 +LF:95 +LH:94 +BRF:24 +BRH:24 +end_of_record +TN: +SF:test/lib/mocks/MockB20Stablecoin.sol +DA:26,256 +FN:26,MockB20Stablecoin.decimals +FNDA:256,MockB20Stablecoin.decimals +DA:27,256 +DA:32,3331 +FN:32,MockB20Stablecoin.currency +FNDA:3331,MockB20Stablecoin.currency +DA:33,3331 +FNF:2 +FNH:2 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/lib/mocks/MockB20Storage.sol +DA:191,71405 +FN:191,MockB20Storage.slotOf.0 +FNDA:71405,MockB20Storage.slotOf.0 +DA:192,71405 +DA:195,582220 +FN:195,MockB20Storage.layout.0 +FNDA:582220,MockB20Storage.layout.0 +DA:197,582220 +DA:204,3 +FN:204,MockB20Storage.derivedLocation.0 +FNDA:3,MockB20Storage.derivedLocation.0 +DA:205,3 +DA:216,1282 +FN:216,MockB20Storage.nameSlot +FNDA:1282,MockB20Storage.nameSlot +DA:217,1281 +FN:217,MockB20Storage.symbolSlot +FNDA:1281,MockB20Storage.symbolSlot +DA:218,257 +FN:218,MockB20Storage.contractURISlot +FNDA:257,MockB20Storage.contractURISlot +DA:219,1537 +FN:219,MockB20Storage.totalSupplySlot +FNDA:1537,MockB20Storage.totalSupplySlot +DA:220,4610 +FN:220,MockB20Storage.balancesBaseSlot +FNDA:4610,MockB20Storage.balancesBaseSlot +DA:221,3585 +FN:221,MockB20Storage.allowancesBaseSlot +FNDA:3585,MockB20Storage.allowancesBaseSlot +DA:222,2052 +FN:222,MockB20Storage.rolesBaseSlot +FNDA:2052,MockB20Storage.rolesBaseSlot +DA:223,513 +FN:223,MockB20Storage.roleAdminsBaseSlot +FNDA:513,MockB20Storage.roleAdminsBaseSlot +DA:224,1796 +FN:224,MockB20Storage.adminCountSlot +FNDA:1796,MockB20Storage.adminCountSlot +DA:225,900 +FN:225,MockB20Storage.transferPolicyIdsSlot +FNDA:900,MockB20Storage.transferPolicyIdsSlot +DA:226,386 +FN:226,MockB20Storage.mintPolicyIdsSlot +FNDA:386,MockB20Storage.mintPolicyIdsSlot +DA:227,7 +FN:227,MockB20Storage.pausedVectorsSlot +FNDA:7,MockB20Storage.pausedVectorsSlot +DA:228,769 +FN:228,MockB20Storage.supplyCapSlot +FNDA:769,MockB20Storage.supplyCapSlot +DA:229,513 +FN:229,MockB20Storage.noncesBaseSlot +FNDA:513,MockB20Storage.noncesBaseSlot +DA:230,13943 +FN:230,MockB20Storage.initializedSlot +FNDA:13943,MockB20Storage.initializedSlot +DA:246,4610 +FN:246,MockB20Storage.balanceSlot +FNDA:4610,MockB20Storage.balanceSlot +DA:247,4610 +DA:251,3585 +FN:251,MockB20Storage.allowanceSlot +FNDA:3585,MockB20Storage.allowanceSlot +DA:252,3585 +DA:253,3585 +DA:257,2052 +FN:257,MockB20Storage.roleMembershipSlot +FNDA:2052,MockB20Storage.roleMembershipSlot +DA:258,2052 +DA:259,2052 +DA:263,513 +FN:263,MockB20Storage.roleAdminSlot +FNDA:513,MockB20Storage.roleAdminSlot +DA:264,513 +DA:268,513 +FN:268,MockB20Storage.nonceSlot +FNDA:513,MockB20Storage.nonceSlot +DA:269,513 +DA:288,535 +FN:288,MockB20Storage.transferSenderPolicyId +FNDA:535,MockB20Storage.transferSenderPolicyId +DA:289,535 +DA:293,454 +FN:293,MockB20Storage.transferReceiverPolicyId +FNDA:454,MockB20Storage.transferReceiverPolicyId +DA:294,454 +DA:298,426 +FN:298,MockB20Storage.transferExecutorPolicyId +FNDA:426,MockB20Storage.transferExecutorPolicyId +DA:299,426 +DA:304,256 +FN:304,MockB20Storage.packTransferPolicyIds +FNDA:256,MockB20Storage.packTransferPolicyIds +DA:309,256 +DA:313,385 +FN:313,MockB20Storage.mintReceiverPolicyId +FNDA:385,MockB20Storage.mintReceiverPolicyId +DA:314,385 +DA:319,256 +FN:319,MockB20Storage.packMintPolicyIds +FNDA:256,MockB20Storage.packMintPolicyIds +DA:320,256 +DA:405,4725 +FN:405,MockB20AssetStorage.slotOf.1 +FNDA:4725,MockB20AssetStorage.slotOf.1 +DA:406,4725 +DA:409,18966 +FN:409,MockB20AssetStorage.layout.1 +FNDA:18966,MockB20AssetStorage.layout.1 +DA:411,18966 +DA:418,1 +FN:418,MockB20AssetStorage.derivedLocation.1 +FNDA:1,MockB20AssetStorage.derivedLocation.1 +DA:419,1 +DA:427,3952 +FN:427,MockB20AssetStorage.decimalsSlot +FNDA:3952,MockB20AssetStorage.decimalsSlot +DA:428,514 +FN:428,MockB20AssetStorage.multiplierSlot +FNDA:514,MockB20AssetStorage.multiplierSlot +DA:429,257 +FN:429,MockB20AssetStorage.usedAnnouncementIdsBaseSlot +FNDA:257,MockB20AssetStorage.usedAnnouncementIdsBaseSlot +DA:430,2 +FN:430,MockB20AssetStorage.extraMetadataBaseSlot +FNDA:2,MockB20AssetStorage.extraMetadataBaseSlot +DA:444,257 +FN:444,MockB20AssetStorage.usedAnnouncementIdSlot +FNDA:257,MockB20AssetStorage.usedAnnouncementIdSlot +DA:445,257 +DA:451,2 +FN:451,MockB20AssetStorage.extraMetadataSlot +FNDA:2,MockB20AssetStorage.extraMetadataSlot +DA:452,2 +DA:480,9221 +FN:480,MockB20StablecoinStorage.slotOf.2 +FNDA:9221,MockB20StablecoinStorage.slotOf.2 +DA:481,9221 +DA:484,3331 +FN:484,MockB20StablecoinStorage.layout.2 +FNDA:3331,MockB20StablecoinStorage.layout.2 +DA:486,3331 +DA:493,1 +FN:493,MockB20StablecoinStorage.derivedLocation.2 +FNDA:1,MockB20StablecoinStorage.derivedLocation.2 +DA:494,1 +DA:507,258 +FN:507,MockB20StablecoinStorage.currencySlot +FNDA:258,MockB20StablecoinStorage.currencySlot +FNF:42 +FNH:42 +LF:66 +LH:66 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/lib/mocks/MockPolicyRegistry.sol +DA:85,17673 +FN:85,MockPolicyRegistry.createPolicy +FNDA:17673,MockPolicyRegistry.createPolicy +DA:86,17673 +DA:90,3328 +FN:90,MockPolicyRegistry.createPolicyWithAccounts +FNDA:3328,MockPolicyRegistry.createPolicyWithAccounts +DA:103,3328 +BRDA:103,0,0,768 +DA:104,2560 +BRDA:104,1,0,768 +DA:105,1792 +DA:106,1792 +DA:114,5890 +FN:114,MockPolicyRegistry.stageUpdateAdmin +FNDA:5890,MockPolicyRegistry.stageUpdateAdmin +DA:115,5890 +DA:116,5378 +BRDA:116,2,0,768 +DA:117,4610 +DA:118,4610 +DA:122,2052 +FN:122,MockPolicyRegistry.finalizeUpdateAdmin +FNDA:2052,MockPolicyRegistry.finalizeUpdateAdmin +DA:123,2052 +DA:124,2052 +DA:125,2052 +BRDA:125,3,0,257 +DA:126,1795 +DA:127,1795 +BRDA:127,4,0,513 +DA:128,1282 +BRDA:128,5,0,257 +DA:129,1025 +DA:130,1025 +DA:132,1025 +DA:136,2052 +FN:136,MockPolicyRegistry.renounceAdmin +FNDA:2052,MockPolicyRegistry.renounceAdmin +DA:137,2052 +DA:138,2052 +DA:139,2052 +BRDA:139,6,0,257 +DA:140,1795 +BRDA:140,7,0,257 +DA:145,1538 +DA:147,1538 +DA:151,4609 +FN:151,MockPolicyRegistry.updateAllowlist +FNDA:4609,MockPolicyRegistry.updateAllowlist +DA:152,4609 +DA:153,4097 +BRDA:153,8,0,512 +DA:154,3585 +BRDA:154,9,0,512 +DA:155,3073 +DA:159,4609 +FN:159,MockPolicyRegistry.updateBlocklist +FNDA:4609,MockPolicyRegistry.updateBlocklist +DA:160,4609 +DA:161,4097 +BRDA:161,10,0,512 +DA:162,3585 +BRDA:162,11,0,768 +DA:163,2817 +DA:171,45850 +FN:171,MockPolicyRegistry.isAuthorized +FNDA:45850,MockPolicyRegistry.isAuthorized +DA:174,45850 +BRDA:174,12,0,33536 +DA:175,12314 +BRDA:175,13,0,5632 +DA:177,6682 +BRDA:177,14,0,256 +DA:182,6426 +DA:183,6426 +DA:191,15888 +FN:191,MockPolicyRegistry.policyExists +FNDA:15888,MockPolicyRegistry.policyExists +DA:192,15888 +BRDA:192,15,0,12812 +DA:193,3076 +BRDA:193,16,0,256 +DA:200,2820 +DA:204,2818 +FN:204,MockPolicyRegistry.policyAdmin +FNDA:2818,MockPolicyRegistry.policyAdmin +DA:205,2818 +BRDA:205,17,0,256 +DA:216,2562 +DA:220,2565 +FN:220,MockPolicyRegistry.pendingPolicyAdmin +FNDA:2565,MockPolicyRegistry.pendingPolicyAdmin +DA:229,2565 +BRDA:229,18,0,3 +DA:230,2562 +BRDA:230,19,0,256 +DA:231,2306 +DA:238,19465 +FN:238,MockPolicyRegistry._create +FNDA:19465,MockPolicyRegistry._create +DA:239,19465 +BRDA:239,20,0,512 +DA:243,18953 +DA:244,18953 +DA:245,18953 +DA:249,18953 +DA:251,18953 +DA:252,18953 +DA:253,18953 +DA:254,18953 +DA:268,18953 +FN:268,MockPolicyRegistry._writeBuiltins +FNDA:18953,MockPolicyRegistry._writeBuiltins +DA:269,18953 +DA:270,18953 +BRDA:270,21,0,1796 +DA:271,17157 +DA:272,17157 +DA:273,17157 +DA:274,17157 +DA:277,7682 +FN:277,MockPolicyRegistry._batchSetMembers +FNDA:7682,MockPolicyRegistry._batchSetMembers +DA:280,7682 +BRDA:280,22,0,1024 +DA:281,6658 +DA:282,6658 +DA:283,59652 +DA:285,6658 +BRDA:285,23,0,3491 +BRDA:285,23,1,3167 +DA:286,3491 +DA:288,3167 +DA:292,15108 +FN:292,MockPolicyRegistry._requireCustom +FNDA:15108,MockPolicyRegistry._requireCustom +DA:293,15108 +DA:294,15108 +BRDA:294,24,0,1536 +DA:297,18953 +FN:297,MockPolicyRegistry._makeId +FNDA:18953,MockPolicyRegistry._makeId +DA:298,18953 +DA:303,38673 +FN:303,MockPolicyRegistry._encode +FNDA:38673,MockPolicyRegistry._encode +DA:304,38673 +DA:307,17930 +FN:307,MockPolicyRegistry._decodeAdmin +FNDA:17930,MockPolicyRegistry._decodeAdmin +DA:308,17930 +DA:313,14620 +FN:313,MockPolicyRegistry._typeOf +FNDA:14620,MockPolicyRegistry._typeOf +DA:314,14620 +DA:318,15138 +FN:318,MockPolicyRegistry._isWellFormed +FNDA:15138,MockPolicyRegistry._isWellFormed +DA:319,15138 +FNF:20 +FNH:20 +LF:94 +LH:94 +BRF:26 +BRH:26 +end_of_record +TN: +SF:test/lib/mocks/MockPolicyRegistryStorage.sol +DA:63,13606 +FN:63,MockPolicyRegistryStorage.slotOf +FNDA:13606,MockPolicyRegistryStorage.slotOf +DA:64,13606 +DA:67,82500 +FN:67,MockPolicyRegistryStorage.layout +FNDA:82500,MockPolicyRegistryStorage.layout +DA:69,82500 +DA:75,2 +FN:75,MockPolicyRegistryStorage.derivedLocation +FNDA:2,MockPolicyRegistryStorage.derivedLocation +DA:76,2 +DA:87,3845 +FN:87,MockPolicyRegistryStorage.policiesBaseSlot +FNDA:3845,MockPolicyRegistryStorage.policiesBaseSlot +DA:88,4636 +FN:88,MockPolicyRegistryStorage.membersBaseSlot +FNDA:4636,MockPolicyRegistryStorage.membersBaseSlot +DA:89,1540 +FN:89,MockPolicyRegistryStorage.pendingAdminsBaseSlot +FNDA:1540,MockPolicyRegistryStorage.pendingAdminsBaseSlot +DA:90,3585 +FN:90,MockPolicyRegistryStorage.nextCounterSlot +FNDA:3585,MockPolicyRegistryStorage.nextCounterSlot +DA:104,3845 +FN:104,MockPolicyRegistryStorage.policySlot +FNDA:3845,MockPolicyRegistryStorage.policySlot +DA:105,3845 +DA:109,4636 +FN:109,MockPolicyRegistryStorage.policyMemberSlot +FNDA:4636,MockPolicyRegistryStorage.policyMemberSlot +DA:110,4636 +DA:111,4636 +DA:115,1540 +FN:115,MockPolicyRegistryStorage.pendingAdminSlot +FNDA:1540,MockPolicyRegistryStorage.pendingAdminSlot +DA:116,1540 +DA:130,1792 +FN:130,MockPolicyRegistryStorage.policyAdminFromPacked +FNDA:1792,MockPolicyRegistryStorage.policyAdminFromPacked +DA:132,1792 +DA:137,4100 +FN:137,MockPolicyRegistryStorage.policyExistsFromPacked +FNDA:4100,MockPolicyRegistryStorage.policyExistsFromPacked +DA:138,4100 +DA:142,769 +FN:142,MockPolicyRegistryStorage.packPolicy +FNDA:769,MockPolicyRegistryStorage.packPolicy +DA:143,769 +DA:155,1282 +FN:155,MockPolicyRegistryStorage.policyTypeFromId +FNDA:1282,MockPolicyRegistryStorage.policyTypeFromId +DA:156,1282 +DA:160,256 +FN:160,MockPolicyRegistryStorage.policyCounterFromId +FNDA:256,MockPolicyRegistryStorage.policyCounterFromId +DA:162,256 +DA:166,257 +FN:166,MockPolicyRegistryStorage.packPolicyId +FNDA:257,MockPolicyRegistryStorage.packPolicyId +DA:167,257 +FNF:16 +FNH:16 +LF:29 +LH:29 +BRF:0 +BRH:0 +end_of_record diff --git a/script/smoke/chain.py b/script/smoke/chain.py index 9177ec8..68a99a5 100644 --- a/script/smoke/chain.py +++ b/script/smoke/chain.py @@ -85,7 +85,7 @@ def stablecoin_at(self, address: ChecksumAddress) -> Contract: def send(self, fn, account: LocalAccount) -> TxReceipt: """Sign + broadcast a contract function, wait, assert success, record it.""" tx = fn.build_transaction( - {"from": account.address, "nonce": self.w3.eth.get_transaction_count(account.address)} + {"from": account.address, "nonce": self.w3.eth.get_transaction_count(account.address, "pending")} ) signed = account.sign_transaction(tx) tx_hash = self.w3.eth.send_raw_transaction(signed.raw_transaction) @@ -107,7 +107,7 @@ def fund_user2(self) -> None: "value": self.cfg.gas_float_wei, "gas": 21000, "gasPrice": self.w3.eth.gas_price, - "nonce": self.w3.eth.get_transaction_count(self.DEPLOYER), + "nonce": self.w3.eth.get_transaction_count(self.DEPLOYER, "pending"), "chainId": self.chain_id, } signed = self.deployer.sign_transaction(tx) @@ -347,7 +347,7 @@ def deploy( """ account = account or self.deployer factory = self.w3.eth.contract(abi=abi, bytecode=bytecode) - overrides = {"from": account.address, "nonce": self.w3.eth.get_transaction_count(account.address)} + overrides = {"from": account.address, "nonce": self.w3.eth.get_transaction_count(account.address, "pending")} if value: overrides["value"] = value tx = factory.constructor(*args).build_transaction(overrides) @@ -401,7 +401,7 @@ def send_expecting_revert(self, fn, account: LocalAccount, *, gas: int = 2_000_0 tx = fn.build_transaction( { "from": account.address, - "nonce": self.w3.eth.get_transaction_count(account.address), + "nonce": self.w3.eth.get_transaction_count(account.address, "pending"), "gas": gas, } )