diff --git a/sips/sip-042/at-block-direct-contracts.csv b/sips/sip-042/at-block-direct-contracts.csv new file mode 100644 index 00000000..b4c11229 --- /dev/null +++ b/sips/sip-042/at-block-direct-contracts.csv @@ -0,0 +1,125 @@ +contract +SP1413DDVECH9RVTZ13TT2V4X2Q2B6E8TZEMQG7MH.rewards-dual-stacking-granite +SP18S207EH21322SQMGY7S5J301AGWFWDECAM0002.rewards-sbtc-alex +SP1CKTPH1J9B9VBVAVHKWMDRSPJJPNZGJ1BYYDM3A.rewards-sbtc-zest +SP1CKTPH1J9B9VBVAVHKWMDRSPJJPNZGJ1BYYDM3A.rewards-sbtc-zest-v2 +SP1CKTPH1J9B9VBVAVHKWMDRSPJJPNZGJ1BYYDM3A.rewards-sbtc-zest-v3 +SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.farming-campaign-v2-03 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.dual-stacking-v1 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.dual-stacking-v2_0_2 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.dual-stacking-v2_0_4 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.liquid-stacking-v1_0_1 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.liquid-stacking-v2 +SP1JZ89NV29EEGKJ10TH5ZQVRV9N9392FAQCMB5X8.gl-fees +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp530 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp534 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp535 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp537 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp538 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp555 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp603 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.alex-voting-power-v1-02 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.treasury-grant-v4-1 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.treasury-grant-v4-2 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.treasury-grant-v4-3 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.treasury-grant-v4-4 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.treasury-grant-v4-4-dev-1 +SP1RWWGDA73413BH9Q4G3ZFE55QJ14AGYWGPC4N0F.rewards-dual-stacking-velar +SP1SATBEBG20HT1J9YNEXN2SPT7Q82H29P8AXKF0K.gl-fees +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.curve-farming-core-v1_1_0-0001 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-velar-stx-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-velar-usdc-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-edmund-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-leo-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-long-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-memegoat-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-odintkn-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-pepe-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-rock-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-roo-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-scha-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-some-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-stone-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-ten-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-walter-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-welsh-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.gl-fees +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0001 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0003 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0004 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0009 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0015 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.curve-farming-core-v1_1_1_ststx-0001 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0026 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0029 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0030 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0050 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0059 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0063 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0064 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0070 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0078 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0118 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0124 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0152 +SP27237SX8784MWJK0RN73M0NK270KMY33F6WNXHH.gl-fees +SP28WXEA1SKAX69TKEE6ZQS57DRDB2A6FCF8D5F53.rewards-dual-stacking-zest-v1 +SP28WXEA1SKAX69TKEE6ZQS57DRDB2A6FCF8D5F53.track-dual-stacking-zest +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-diko-guardian-v3-1 +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-pool-v1-1 +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.lydian-airdrop-v1-1 +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.lydian-airdrop-v1-2 +SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.charismatic-flow-hold-to-earn +SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.dexterity-hold-to-earn +SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.perseverantia-omnia-vincit-hold-to-earn +SP2DRD227X2VY5KEC5V663RRS2PMMG9WB6D2HPVC.ballot-btc-dust-voting-5KGA3 +SP2DRD227X2VY5KEC5V663RRS2PMMG9WB6D2HPVC.ballot-dust-polling-wit-t7nYv +SP2DRD227X2VY5KEC5V663RRS2PMMG9WB6D2HPVC.ballot-sip-031-five-yea-H4vhP +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2-test-ratios +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2-test-snapshots +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2-testing +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2_0_1-testing +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.liquid-stacking-v2 +SP2MP60KGE9BWS26TE5MDC4J88BSDZMG8JKJ3TM8V.rewards-dual-stacking-based-dollar +SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.ccip016-missed-payouts +SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.ccip016-missed-payouts-v3 +SP2PAP9RH99G2HM6N2D7SVS53V05TDAPZ1B2FBWXV.rewards-sbtc-velar +SP2PAP9RH99G2HM6N2D7SVS53V05TDAPZ1B2FBWXV.rewards-sbtc-velar-v2 +SP2PAP9RH99G2HM6N2D7SVS53V05TDAPZ1B2FBWXV.rewards-sbtc-velar-v3 +SP2PAP9RH99G2HM6N2D7SVS53V05TDAPZ1B2FBWXV.rewards-sbtc-velar-v4 +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.gbab-v0 +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.meme-engine-cha-rc3 +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.meme-engine-iouroo-rc1 +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.meme-engine-iouwelsh-rc1 +SP3CSZFP219B4GD3HM8R8RSWYAS05K7RCTMKTRNRC.gl-fees +SP3JXBJ5CBDGTYJFHM1KFHX4BTR8XWY6W4CQGZ407.rewards-sbtc-bitflow +SP3JXBJ5CBDGTYJFHM1KFHX4BTR8XWY6W4CQGZ407.rewards-sbtc-bitflow-v2 +SP3JXBJ5CBDGTYJFHM1KFHX4BTR8XWY6W4CQGZ407.rewards-sbtc-bitflow-v3 +SP3TB3AJ0XMZ9S6CGY2CQ6R06H1Z6DJQ1SH15ZP2H.ballot-testing-on-the-b-v2nXB +SP3YBY0BH4ANC0Q35QB6PD163F943FVFVDFM1SH7S.gl-fees +SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.block-info-nakamoto-ststx-ratio-v2 +SP804CDG3KBN9M6E00AD744K8DC697G7HBCG520Q.sbtc-yield-rewards-v3 +SP9B1S44NK7SHZX4KX3HW1DXJXZFM4QJH9YHV746.rewards-dual-stacking-bitflow-v1 +SP9B1S44NK7SHZX4KX3HW1DXJXZFM4QJH9YHV746.track-dual-stacking-bitflow +SPFYQRQKM05JA1PNQSA31WHTDA61XGJ1YHZVYC6D.ballot-sip-033-clarity--dPVEX +SPKD09MBBKBD6A3QTEZRMB39J4ZCWCAK7MFPWYFH.rewards-dual-stacking-arkadiko +SPKD09MBBKBD6A3QTEZRMB39J4ZCWCAK7MFPWYFH.rewards-dual-stacking-arkadiko-v1 +SPMA4G7FYX926EQSD0J36B8AN4NS7823H7JRY414.get-sbtc-balances-at-heights-v2 +SPMA4G7FYX926EQSD0J36B8AN4NS7823H7JRY414.get-sbtc-balances-at-heights-v3 +SPMA4G7FYX926EQSD0J36B8AN4NS7823H7JRY414.liquid-stacking +SPMA4G7FYX926EQSD0J36B8AN4NS7823H7JRY414.tree-ground-bear +SPN4WN5SRW2N4AS02ARY38G0HHP0A5TJN24RV5D6.rewards-sbtc-granite +SPN4WN5SRW2N4AS02ARY38G0HHP0A5TJN24RV5D6.rewards-sbtc-granite-v2 +SPN4WN5SRW2N4AS02ARY38G0HHP0A5TJN24RV5D6.rewards-sbtc-granite-v3 +SPSV8N0RCX2FXK0F832PMQ0BD89CGSRJVNJSRDM8.ballot-test-m3h1z +SPSXPRV95D98Y2B2D1H9N2QGKNN4CDF6063KYR3P.rewards-sbtc-arkadiko +SPSXPRV95D98Y2B2D1H9N2QGKNN4CDF6063KYR3P.rewards-sbtc-arkadiko-v2 +SPSXPRV95D98Y2B2D1H9N2QGKNN4CDF6063KYR3P.rewards-sbtc-arkadiko-v3 +SPVG5J8HNE9H5SZDFZDQQZ1AGP9QTTAVT0M7427T.Nakamoto_1_Android +SPVG5J8HNE9H5SZDFZDQQZ1AGP9QTTAVT0M7427T.Nakamoto_1_Level_1 +SPVG5J8HNE9H5SZDFZDQQZ1AGP9QTTAVT0M7427T.Nakamoto_1_Level_2 +SPYCQ7B73NCAWP7B948KAMJ2SCCCQSQDP49TBKAS.rewards-sbtc-alex +SPYCQ7B73NCAWP7B948KAMJ2SCCCQSQDP49TBKAS.rewards-sbtc-alex-v2 +SPYCQ7B73NCAWP7B948KAMJ2SCCCQSQDP49TBKAS.rewards-sbtc-alex-v3 +SPZDJHVW6BVRA79J49X4K7TCKED1QEY1MQNNCFSV.gl-fees diff --git a/sips/sip-042/at-block-indirect-contract-callers.csv b/sips/sip-042/at-block-indirect-contract-callers.csv new file mode 100644 index 00000000..662b8925 --- /dev/null +++ b/sips/sip-042/at-block-indirect-contract-callers.csv @@ -0,0 +1,107 @@ +caller_contract,called_contract +SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp530 +SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp534 +SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp535 +SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp537 +SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp538 +SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp555 +SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp603 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.dual-stacking-v1,SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.liquid-stacking-v1_0_1 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.dual-stacking-v2_0_2,SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.liquid-stacking-v2 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.dual-stacking-v2_0_4,SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.liquid-stacking-v2 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.liquid-stacking-v1_0_1,SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.block-info-nakamoto-ststx-ratio-v2 +SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.liquid-stacking-v2,SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.block-info-nakamoto-ststx-ratio-v2 +SP1JZ89NV29EEGKJ10TH5ZQVRV9N9392FAQCMB5X8.gl-positions,SP1JZ89NV29EEGKJ10TH5ZQVRV9N9392FAQCMB5X8.gl-fees +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.agp603,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.treasury-grant-v4-4 +SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.alex-voting-v1-01,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.alex-voting-power-v1-02 +SP1SATBEBG20HT1J9YNEXN2SPT7Q82H29P8AXKF0K.gl-positions,SP1SATBEBG20HT1J9YNEXN2SPT7Q82H29P8AXKF0K.gl-fees +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.curve-farming-distributor-1-v1_1_0-0001,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.curve-farming-core-v1_1_0-0001 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-velar-stx-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-velar-stx-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-velar-usdc-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-velar-usdc-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-edmund-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-edmund-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-leo-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-leo-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-leo-distributor2,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-leo-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-long-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-long-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-memegoat-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-memegoat-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-odintkn-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-odintkn-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-odintkn-distributor2,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-odintkn-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-pepe-distributor2,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-pepe-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-rock-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-rock-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-roo-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-roo-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-roo-distributor2,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-roo-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-scha-distributor2,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-scha-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-some-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-some-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-stone-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-stone-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-stone-distributor4,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-stone-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-ten-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-ten-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-walter-distributor,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-walter-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-welsh-distributor2,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-welsh-core +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.gl-positions,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.gl-fees +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-distributor-1-v1_0_0-0001,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0001 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-distributor-1-v1_0_0-0003,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0003 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-distributor-1-v1_0_0-0004,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0004 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-distributor-1-v1_0_0-0009,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0009 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-distributor-1-v1_0_0-0015,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0015 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-distributor-2-v1_0_0-0003,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0003 +SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-distributor-2-v1_0_0-0009,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0009 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.curve-farming-distributor-1-v1_1_1_ststx,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.curve-farming-core-v1_1_1_ststx-0001 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.farming-wstx-roo-distributor3,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-roo-core +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0026,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0026 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0029,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0029 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0030,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0030 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0050,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0050 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0059,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0059 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0063,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0063 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0064,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0064 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0070,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0070 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0078,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0078 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0118,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0118 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0124,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0124 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-1-v1_1_1-0152,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0152 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-2-v1_1_1-0029,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0029 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-2-v1_1_1-0063,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0063 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-2-v1_1_1-0070,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0070 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-3-v1_0_0-0003,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0003 +SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-distributor-4-v1_0_0-0003,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-farming-core-v1_0_0-0003 +SP27237SX8784MWJK0RN73M0NK270KMY33F6WNXHH.gl-positions,SP27237SX8784MWJK0RN73M0NK270KMY33F6WNXHH.gl-fees +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-rewards-ui-v2-1,SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-pool-v1-1 +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-rewards-ui-v2-3,SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-pool-v1-1 +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-rewards-v1-1,SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-pool-v1-1 +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-rewards-v1-2,SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-liquidation-pool-v1-1 +SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-stake-registry-v2-1,SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-diko-guardian-v3-1 +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2-test-ratios,SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.liquid-stacking-v2 +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2-test-snapshots,SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.liquid-stacking-v2 +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2-testing,SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.liquid-stacking-v2 +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.dual-stacking-v2_0_1-testing,SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.liquid-stacking-v2 +SP2MJRGS2CRY5D06GPRZ4WA6R6SZM6CC3E3JH6CGX.liquid-stacking-v2,SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.block-info-nakamoto-ststx-ratio-v2 +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP168-57WJ2-SP103-2K314,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP16P-KWAKS-SP25B-BPE09,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP1E0-B62T1-SP328-2VDFF,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP1M8-HN17B-SP15B-X3R39,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP1NJ-JV57J-SP1YN-KT3EN,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP1Q5-9330A-SP3KQ-SG355,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP1TA-P46F8-SP1GQ-RT00V,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP295-P1YC2-SP3PZ-9VNPB,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP2EM-9E56V-SP3M3-GRXMA,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SP31S-EYEXC-SP1CF-7WFDM,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SPAAJ-TG23C-SP3PS-48VVA,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SPH7H-JYT2C-SPEA9-HDTDW,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.aibtc-acct-SPRZ4-WXVDJ-SP2WH-VCQ5B,SP2Z94F6QX847PMXTPJJ2ZCCN79JZDW3PJ4E6ZABY.fake-action-proposal-voting +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.cha-recovery,SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.gbab-v0 +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.dungeon-crawler-rc4,SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.meme-engine-cha-rc3 +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.dungeon-crawler-rc4,SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.meme-engine-iouroo-rc1 +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.dungeon-crawler-rc4,SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.meme-engine-iouwelsh-rc1 +SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS.energize-v1,SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.dexterity-hold-to-earn +SP3CSZFP219B4GD3HM8R8RSWYAS05K7RCTMKTRNRC.gl-positions,SP3CSZFP219B4GD3HM8R8RSWYAS05K7RCTMKTRNRC.gl-fees +SP3YBY0BH4ANC0Q35QB6PD163F943FVFVDFM1SH7S.gl-positions,SP3YBY0BH4ANC0Q35QB6PD163F943FVFVDFM1SH7S.gl-fees +SPD7FTJ7FPSYRRSS2NW7DENE03C17Z0M1QKHN101.farming-distributor-v1_1_1-roons-usdh,SP20X3DC5R091J8B6YPQT638J8NR1W83KN6TN5BJY.univ2-farming-core-v1_1_1-0063 +SPD7FTJ7FPSYRRSS2NW7DENE03C17Z0M1QKHN101.farming-distributor-v1_1_1-velar-stx,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-velar-stx-core +SPD7FTJ7FPSYRRSS2NW7DENE03C17Z0M1QKHN101.farming-distributor-v1_1_1-wstx-pepe,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-pepe-core +SPD7FTJ7FPSYRRSS2NW7DENE03C17Z0M1QKHN101.farming-distributor-v1_1_1-wstx-roo,SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.farming-wstx-roo-core +SPGYCP878RYFVT03ZT8TWGPKNYTSQB1578VVXHGE.farmer,SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.perseverantia-omnia-vincit-hold-to-earn +SPGYCP878RYFVT03ZT8TWGPKNYTSQB1578VVXHGE.powerful-farmer,SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.charismatic-flow-hold-to-earn +SPGYCP878RYFVT03ZT8TWGPKNYTSQB1578VVXHGE.powerful-farmer,SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.dexterity-hold-to-earn +SPGYCP878RYFVT03ZT8TWGPKNYTSQB1578VVXHGE.powerful-farmer,SP2D5BGGJ956A635JG7CJQ59FTRFRB0893514EZPJ.perseverantia-omnia-vincit-hold-to-earn +SPGYCP878RYFVT03ZT8TWGPKNYTSQB1578VVXHGE.silky-teal-crow,SP1KK89R86W73SJE6RQNQPRDM471008S9JY4FQA62.treasury-grant-v4-4 +SPMA4G7FYX926EQSD0J36B8AN4NS7823H7JRY414.tree-ground-bear,SPMA4G7FYX926EQSD0J36B8AN4NS7823H7JRY414.liquid-stacking +SPZDJHVW6BVRA79J49X4K7TCKED1QEY1MQNNCFSV.gl-positions,SPZDJHVW6BVRA79J49X4K7TCKED1QEY1MQNNCFSV.gl-fees diff --git a/sips/sip-042/at-block-usage-analysis.md b/sips/sip-042/at-block-usage-analysis.md new file mode 100644 index 00000000..3e7cd90b --- /dev/null +++ b/sips/sip-042/at-block-usage-analysis.md @@ -0,0 +1,29 @@ +# Historical `at-block` Usage Data + +This directory contains supplemental historical data for SIP-042 on mainnet contract calls that used `at-block` at least once during the one-year period ending February 16, 2026. The data spans Stacks blocks 700,000 through 6,588,934. + +## Files +- `at-block-direct-contracts.csv` + - One row per contract that directly executes `at-block` + - Column: + - `contract` +- `at-block-indirect-contract-callers.csv` + - One row per observed indirect relationship where a contract calls another contract that internally executes `at-block` + - Columns: + - `caller_contract` + - `called_contract` + +## Summary + +Observed over the study period: +- Contracts that execute `at-block` directly: 124 +- Unique deployer addresses behind those contracts: 38 +- Contracts that indirectly depend on `at-block`: 96 +- Unique deployer addresses behind those caller contracts: 18 +- Unique deployer addresses across both sets: 41 + +## Notes + +- "Direct" usage means the listed contract itself contains and executes `at-block`. +- "Indirect" usage means the listed caller contract invokes a contract that internally executes `at-block`. +- These files are provided as historical reference data to support discussion of SIP-042. diff --git a/sips/sip-042/sip-042.md b/sips/sip-042/sip-042.md new file mode 100644 index 00000000..1344d244 --- /dev/null +++ b/sips/sip-042/sip-042.md @@ -0,0 +1,99 @@ +# Preamble + +SIP Number: 042 + +Title: Removal of `at-block` + +Author: Francesco Leacche [francesco@stackslabs.com](mailto:francesco@stackslabs.com) + +Status: Activation-In-Progress + +Consideration: Technical + +Type: Consensus + +Layer: Consensus (hard fork) + +Created: 2026-02-20 + +License: BSD-2-Clause + +Sign-off: + +Discussions-To: + +- https://forum.stacks.org/t/chain-state-pruning-and-at-block-proposed-change/18685 + +# Abstract + +This SIP removes the `at-block` built-in function from Clarity starting in Epoch 3.4. After activation, contracts referencing `at-block` fail static analysis during deployment. Existing deployed contracts that invoke `at-block` fail at runtime. This removes the only mechanism that requires nodes to retain the full historical MARF, enabling future chainstate pruning[1]. + +# Copyright + +This SIP is made available under the terms of the BSD-2-Clause license, available at [https://opensource.org/licenses/BSD-2-Clause](https://opensource.org/licenses/BSD-2-Clause). This SIP's copyright is held by the Stacks Open Internet Foundation. + +# Introduction + +The `at-block` function in Clarity (originally defined in SIP-002) allows contracts to evaluate read-only expressions against the chain state as it existed at a specific historical block. Its signature is: + +``` +(at-block id-block-hash expr) +``` + +Where `id-block-hash` is a 32-byte buffer identifying a Stacks block, and `expr` is a read-only expression to evaluate in the context of that block's state. + +Currently, `at-block` can reference any block in the chain's history, including the genesis block. This unbounded lookback requires each node to retain the full historical MARF (Merkleized Adaptive Radix Forest), which records all key-value state changes. + +On mainnet, the chainstate has grown to approximately 1 TB, of which roughly 95% is consumed by the MARF's historical data. This growth has accelerated significantly since the activation of Nakamoto, making chainstate storage an increasingly urgent concern for node operators. As of 2026-02-20, chainstate growth averages approximately 2.73 GB per day. + +Removing `at-block` eliminates the only mechanism that requires nodes to retain this history and is a prerequisite for future MARF pruning[1]. + +## Design Goals + +1. Remove the ability for contracts to query arbitrary historical chain state via `at-block`. +2. Enable future MARF pruning by eliminating the only built-in that requires retention of the full historical state. + +# Specification + +Starting from Epoch 3.4, the `at-block` function MUST be disabled across all Clarity versions. The enforcement mechanism differs depending on the Clarity version and execution phase. + +## Static Analysis (New Deployments) + +In Epoch 3.4 and later, any contract that references `at-block` will be rejected during analysis: + +- **Clarity versions 1–4:** The type checker rejects `at-block` with `StaticCheckErrorKind::AtBlockUnavailable`. The keyword remains syntactically present in the language surface, but is gated by epoch. +- **Clarity 5+:** `at-block` is removed from the set of registered native functions entirely, so the analyzer rejects it as `UnknownFunction("at-block")`. + +In both cases, the deployment transaction is included in the block, it fails, and the miner collects the fee. + +## Runtime (Existing Contracts) + +When an already-deployed Clarity 1–4 contract invokes `at-block` during Epoch 3.4 or later, the Clarity Virtual Machine (VM) aborts execution with a `RuntimeCheckError` of type `AtBlockUnavailable`, without evaluating the block hash argument or the closure. The enclosing transaction is included in the block, it fails, and the miner collects the fee. + +This change only applies to Clarity 1-4, since Clarity 5+ contracts cannot contain `at-block` references, as they shall be rejected at deploy time. + +## Epoch Gating + +The `AtBlockUnavailable` behavior is enforced exclusively in Epoch 3.4 and later. Blocks produced before the activation height remain valid and are validated under the prior rules, even when replayed after activation. No previously valid block is invalidated by this change. + +## Impact on Existing Contracts + +Any deployed contract that calls `at-block` will begin receiving runtime errors after Epoch 3.4 activates. Observed usage of `at-block` on mainnet is limited, and affected contracts can be redeployed without `at-block` calls prior to activation. + +# Related Work + +- [1] Chainstate pruning discussion: https://github.com/stacks-network/stacks-core/issues/6953. +- [SIP-002](https://github.com/stacksgov/sips/blob/main/sips/sip-002/sip-002-smart-contract-language.md) defines the Clarity smart contract language, including the original unbounded `at-block` built-in function. +- [Supplemental: `at-block` usage analysis](./at-block-usage-analysis.md) - historical mainnet data on contracts that used `at-block` during the one-year period ending February 16, 2026, including the full list of [direct](./at-block-direct-contracts.csv) and [indirect](./at-block-indirect-contract-callers.csv) contract callers. + +# Backwards Compatibility + +This SIP introduces a consensus breaking change: after Epoch 3.4 activates, `at-block` cannot be used successfully in any Clarity version. This is an intentional and necessary trade-off to enable future chainstate pruning[1]. + +# Activation + +This SIP is a rider on SIP-039 and activates according to the voting procedure defined in SIP-039. + +# Reference Implementation + +Implementation of this SIP can be found at https://github.com/stacks-network/stacks-core/pull/6937.