Skip to content

Correctify panic behavior#2636

Merged
davidsemakula merged 3 commits intomasterfrom
cmichi-correctify-panic-handler
Sep 14, 2025
Merged

Correctify panic behavior#2636
davidsemakula merged 3 commits intomasterfrom
cmichi-correctify-panic-handler

Conversation

@cmichi
Copy link
Collaborator

@cmichi cmichi commented Sep 13, 2025

Makes sure that the panic message is only written to the revert buffer when the contract is compiled in debug mode.

Debug mode is the default when building via cargo contract build. Release builds are done via cargo contract build --release; for efficiency reasons they contain only what is strictly necessary.

Escalated from use-ink/cargo-contract#2105.

@github-actions
Copy link

🦑 📈 ink! Example Contracts ‒ Changes Report 📉 🦑

These are the results when building the integration-tests/* contracts from this branch and comparing them to ink! master:

Show overview

Using the ABI denoted in the contract manifest.

Contract Upstream Size (kB) PR Size (kB) Diff (kB) Diff (%) Change
all-abi/events 19.85 19.84 -0.01 0% 📉
call-builder-return-value 9.134 9.163 0.029 0% 📈
complex-storage-structures 4.845 4.858 0.013 0% 📈
conditional-compilation 1.712 1.727 0.015 1% 📈
contract-invocation 8.192 8.211 0.019 0% 📈
contract-invocation/contract1 2.068 2.081 0.013 1% 📈
contract-invocation/contract2 1.983 1.996 0.013 1% 📈
contract-invocation/virtual_contract 4.538 4.544 0.006 0% 📈
contract-invocation/virtual_contract_ver1 1.94 1.954 0.014 1% 📈
contract-invocation/virtual_contract_ver2 1.953 1.966 0.013 1% 📈
contract-storage 7.64 7.63 -0.01 0% 📉
contract-terminate 1.549 1.551 0.002 0% 📈
contract-transfer 2.736 2.736 0 0%
cross-contract-calls 8.718 8.719 0.001 0% 📈
cross-contract-calls/other-contract 1.76 1.775 0.015 1% 📈
custom-allocator 3.265 3.275 0.01 0% 📈
custom-environment 3.394 3.394 0 0%
debugging-strategies 4.433 4.445 0.012 0% 📈
dns 10.418 10.423 0.005 0% 📈
e2e-call-runtime 1.561 1.563 0.002 0% 📈
e2e-runtime-only-backend 2.187 2.202 0.015 1% 📈
erc1155 20.938 21.02 0.082 0% 📈
erc20 10.892 10.9 0.008 0% 📈
erc721 12.841 12.861 0.02 0% 📈
events 8.873 8.871 -0.002 0% 📉
flipper 1.76 1.775 0.015 1% 📈
fuzz-testing 1.746 1.762 0.016 1% 📈
incrementer 1.28 1.288 0.008 1% 📈
lang-err/call-builder 8.476 8.477 0.001 0% 📈
lang-err/call-builder-delegate 3.525 3.518 -0.007 0% 📉
lang-err/constructors-return-value 2.41 2.442 0.032 1% 📈
lang-err/contract-ref 7.007 7.02 0.013 0% 📈
lang-err/integration-flipper 2.045 2.059 0.014 1% 📈
lazyvec 5.698 5.714 0.016 0% 📈
mapping 10.63 10.658 0.028 0% 📈
mother 16.419 16.46 0.041 0% 📈
multi-contract-caller 11.922 11.922 0 0%
multi-contract-caller/accumulator 1.127 1.134 0.007 1% 📈
multi-contract-caller/adder 3.166 3.169 0.003 0% 📈
multi-contract-caller/subber 3.17 3.173 0.003 0% 📈
multisig 27.451 27.502 0.051 0% 📈
overflow-safety 1.31 1.31 0 0%
own-code-hash 3.064 3.065 0.001 0% 📈
payment-channel 7.96 7.995 0.035 0% 📈
solidity-abi/events 12.253 12.254 0.001 0% 📈
solidity-abi/fallible-setter 2.696 2.697 0.001 0% 📈
solidity-abi/sol-cross-contract 6.677 6.677 0 0%
solidity-abi/sol-cross-contract/other-contract-sol 2.575 2.576 0.001 0% 📈
solidity-abi/sol-encoding 2.511 2.512 0.001 0% 📈
solidity-abi/solidity-calls-flipper 8.965 8.965 0 0%
solidity-abi/trait-dyn-cross-contract-calls 6.039 6.039 0 0%
solidity-abi/trait-dyn-cross-contract-calls/contracts/incrementer 2.353 2.354 0.001 0% 📈
solidity-abi/trait-flipper 2.246 2.248 0.002 0% 📈
sr25519-verification 0.851 0.853 0.002 0% 📈
static-buffer 2.742 2.759 0.017 1% 📈
storage-types 16.949 16.818 -0.131 0% 📉
system-precompile 10.63 10.658 0.028 0% 📈
trait-dyn-cross-contract-calls 3.96 3.96 0 0%
trait-dyn-cross-contract-calls/contracts/incrementer 1.784 1.799 0.015 1% 📈
trait-erc20 11.219 11.226 0.007 0% 📈
trait-flipper 1.713 1.728 0.015 1% 📈
trait-incrementer 1.85 1.87 0.02 1% 📈
upgradeable-contracts/delegator 6.432 6.452 0.02 0% 📈
upgradeable-contracts/delegator/delegatee 2.85 2.849 -0.001 0% 📉
upgradeable-contracts/delegator/delegatee2 2.85 2.849 -0.001 0% 📉
upgradeable-contracts/set-code-hash 1.71 1.723 0.013 1% 📈
upgradeable-contracts/set-code-hash-migration 1.71 1.723 0.013 1% 📈
upgradeable-contracts/set-code-hash-migration/migration 1.876 1.877 0.001 0% 📈
upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.887 1.901 0.014 1% 📈
upgradeable-contracts/set-code-hash/updated-incrementer 1.662 1.675 0.013 1% 📈
wildcard-selector 2.952 2.952 0 0%
Show diagram
gantt dateFormat x axisFormat x section all-abi/events : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 19850 kb : a1, 0, 19850 pr default abi - 19840 kb : a1, 0, 19840 pr sol abi - 19840 kb : a2, 0, 19840 pr all abi - 19840 kb : a3, 0, 19840 #nbsp; : a4, 0, 0 section call-builder-return-value : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 9134 kb : a1, 0, 9134 pr default abi - 9163 kb : a1, 0, 9163 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section complex-storage-structures : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 4845 kb : a1, 0, 4845 pr default abi - 4858 kb : a1, 0, 4858 pr sol abi - 7852 kb : a2, 0, 7852 pr all abi - 9494 kb : a3, 0, 9494 #nbsp; : a4, 0, 0 section conditional-compilation : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1712 kb : a1, 0, 1712 pr default abi - 1727 kb : a1, 0, 1727 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section contract-invocation : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 8192 kb : a1, 0, 8192 pr default abi - 8211 kb : a1, 0, 8211 pr sol abi - 11266 kb : a2, 0, 11266 pr all abi - 12618 kb : a3, 0, 12618 #nbsp; : a4, 0, 0 section contract-invocation/contract1 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2068 kb : a1, 0, 2068 pr default abi - 2081 kb : a1, 0, 2081 pr sol abi - 2717 kb : a2, 0, 2717 pr all abi - 3423 kb : a3, 0, 3423 #nbsp; : a4, 0, 0 section contract-invocation/contract2 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1983 kb : a1, 0, 1983 pr default abi - 1996 kb : a1, 0, 1996 pr sol abi - 2669 kb : a2, 0, 2669 pr all abi - 3314 kb : a3, 0, 3314 #nbsp; : a4, 0, 0 section contract-invocation/virtual_contract : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 4538 kb : a1, 0, 4538 pr default abi - 4544 kb : a1, 0, 4544 pr sol abi - 7367 kb : a2, 0, 7367 pr all abi - 6920 kb : a3, 0, 6920 #nbsp; : a4, 0, 0 section contract-invocation/virtual_contract_ver1 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1940 kb : a1, 0, 1940 pr default abi - 1954 kb : a1, 0, 1954 pr sol abi - 2432 kb : a2, 0, 2432 pr all abi - 2822 kb : a3, 0, 2822 #nbsp; : a4, 0, 0 section contract-invocation/virtual_contract_ver2 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1953 kb : a1, 0, 1953 pr default abi - 1966 kb : a1, 0, 1966 pr sol abi - 2445 kb : a2, 0, 2445 pr all abi - 2849 kb : a3, 0, 2849 #nbsp; : a4, 0, 0 section contract-storage : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 7640 kb : a1, 0, 7640 pr default abi - 7630 kb : a1, 0, 7630 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section contract-terminate : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1549 kb : a1, 0, 1549 pr default abi - 1551 kb : a1, 0, 1551 pr sol abi - 1517 kb : a2, 0, 1517 pr all abi - 1646 kb : a3, 0, 1646 #nbsp; : a4, 0, 0 section contract-transfer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2736 kb : a1, 0, 2736 pr default abi - 2736 kb : a1, 0, 2736 pr sol abi - 2310 kb : a2, 0, 2310 pr all abi - 3120 kb : a3, 0, 3120 #nbsp; : a4, 0, 0 section cross-contract-calls : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 8718 kb : a1, 0, 8718 pr default abi - 8719 kb : a1, 0, 8719 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section cross-contract-calls/other-contract : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1760 kb : a1, 0, 1760 pr default abi - 1775 kb : a1, 0, 1775 pr sol abi - 2361 kb : a2, 0, 2361 pr all abi - 2799 kb : a3, 0, 2799 #nbsp; : a4, 0, 0 section custom-allocator : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3265 kb : a1, 0, 3265 pr default abi - 3275 kb : a1, 0, 3275 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section custom-environment : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3394 kb : a1, 0, 3394 pr default abi - 3394 kb : a1, 0, 3394 pr sol abi - 1738 kb : a2, 0, 1738 pr all abi - 3845 kb : a3, 0, 3845 #nbsp; : a4, 0, 0 section debugging-strategies : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 4433 kb : a1, 0, 4433 pr default abi - 4445 kb : a1, 0, 4445 pr sol abi - 5145 kb : a2, 0, 5145 pr all abi - 5832 kb : a3, 0, 5832 #nbsp; : a4, 0, 0 section dns : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 10418 kb : a1, 0, 10418 pr default abi - 10423 kb : a1, 0, 10423 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section e2e-call-runtime : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1561 kb : a1, 0, 1561 pr default abi - 1563 kb : a1, 0, 1563 pr sol abi - 1906 kb : a2, 0, 1906 pr all abi - 2367 kb : a3, 0, 2367 #nbsp; : a4, 0, 0 section e2e-runtime-only-backend : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2187 kb : a1, 0, 2187 pr default abi - 2202 kb : a1, 0, 2202 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section erc1155 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 20938 kb : a1, 0, 20938 pr default abi - 21020 kb : a1, 0, 21020 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section erc20 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 10892 kb : a1, 0, 10892 pr default abi - 10900 kb : a1, 0, 10900 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section erc721 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 12841 kb : a1, 0, 12841 pr default abi - 12861 kb : a1, 0, 12861 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section events : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 8873 kb : a1, 0, 8873 pr default abi - 8871 kb : a1, 0, 8871 pr sol abi - 12910 kb : a2, 0, 12910 pr all abi - 19180 kb : a3, 0, 19180 #nbsp; : a4, 0, 0 section flipper : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1760 kb : a1, 0, 1760 pr default abi - 1775 kb : a1, 0, 1775 pr sol abi - 2361 kb : a2, 0, 2361 pr all abi - 2799 kb : a3, 0, 2799 #nbsp; : a4, 0, 0 section fuzz-testing : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1746 kb : a1, 0, 1746 pr default abi - 1762 kb : a1, 0, 1762 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section incrementer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1280 kb : a1, 0, 1280 pr default abi - 1288 kb : a1, 0, 1288 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section lang-err/call-builder : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 8476 kb : a1, 0, 8476 pr default abi - 8477 kb : a1, 0, 8477 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section lang-err/call-builder-delegate : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3525 kb : a1, 0, 3525 pr default abi - 3518 kb : a1, 0, 3518 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section lang-err/constructors-return-value : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2410 kb : a1, 0, 2410 pr default abi - 2442 kb : a1, 0, 2442 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section lang-err/contract-ref : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 7007 kb : a1, 0, 7007 pr default abi - 7020 kb : a1, 0, 7020 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section lang-err/integration-flipper : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2045 kb : a1, 0, 2045 pr default abi - 2059 kb : a1, 0, 2059 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section lazyvec : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 5698 kb : a1, 0, 5698 pr default abi - 5714 kb : a1, 0, 5714 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section mapping : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 10630 kb : a1, 0, 10630 pr default abi - 10658 kb : a1, 0, 10658 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section mother : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 16419 kb : a1, 0, 16419 pr default abi - 16460 kb : a1, 0, 16460 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section multi-contract-caller : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 11922 kb : a1, 0, 11922 pr default abi - 11922 kb : a1, 0, 11922 pr sol abi - 16283 kb : a2, 0, 16283 pr all abi - 13134 kb : a3, 0, 13134 #nbsp; : a4, 0, 0 section multi-contract-caller/accumulator : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1127 kb : a1, 0, 1127 pr default abi - 1134 kb : a1, 0, 1134 pr sol abi - 2240 kb : a2, 0, 2240 pr all abi - 2797 kb : a3, 0, 2797 #nbsp; : a4, 0, 0 section multi-contract-caller/adder : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3166 kb : a1, 0, 3166 pr default abi - 3169 kb : a1, 0, 3169 pr sol abi - 5060 kb : a2, 0, 5060 pr all abi - 3442 kb : a3, 0, 3442 #nbsp; : a4, 0, 0 section multi-contract-caller/subber : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3170 kb : a1, 0, 3170 pr default abi - 3173 kb : a1, 0, 3173 pr sol abi - 5066 kb : a2, 0, 5066 pr all abi - 3455 kb : a3, 0, 3455 #nbsp; : a4, 0, 0 section multisig : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 27451 kb : a1, 0, 27451 pr default abi - 27502 kb : a1, 0, 27502 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section overflow-safety : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1310 kb : a1, 0, 1310 pr default abi - 1310 kb : a1, 0, 1310 pr sol abi - 2621 kb : a2, 0, 2621 pr all abi - 3114 kb : a3, 0, 3114 #nbsp; : a4, 0, 0 section own-code-hash : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3064 kb : a1, 0, 3064 pr default abi - 3065 kb : a1, 0, 3065 pr sol abi - 2974 kb : a2, 0, 2974 pr all abi - 3622 kb : a3, 0, 3622 #nbsp; : a4, 0, 0 section payment-channel : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 7960 kb : a1, 0, 7960 pr default abi - 7995 kb : a1, 0, 7995 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/events : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 12253 kb : a1, 0, 12253 pr default abi - 12254 kb : a1, 0, 12254 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/fallible-setter : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2696 kb : a1, 0, 2696 pr default abi - 2697 kb : a1, 0, 2697 pr sol abi - 2697 kb : a2, 0, 2697 pr all abi - 3211 kb : a3, 0, 3211 #nbsp; : a4, 0, 0 section solidity-abi/sol-cross-contract : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 6677 kb : a1, 0, 6677 pr default abi - 6677 kb : a1, 0, 6677 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/sol-cross-contract/other-contract-sol : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2575 kb : a1, 0, 2575 pr default abi - 2576 kb : a1, 0, 2576 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/sol-encoding : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2511 kb : a1, 0, 2511 pr default abi - 2512 kb : a1, 0, 2512 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/solidity-calls-flipper : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 8965 kb : a1, 0, 8965 pr default abi - 8965 kb : a1, 0, 8965 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/trait-dyn-cross-contract-calls : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 6039 kb : a1, 0, 6039 pr default abi - 6039 kb : a1, 0, 6039 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/trait-dyn-cross-contract-calls/contracts/incrementer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2353 kb : a1, 0, 2353 pr default abi - 2354 kb : a1, 0, 2354 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section solidity-abi/trait-flipper : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2246 kb : a1, 0, 2246 pr default abi - 2248 kb : a1, 0, 2248 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section sr25519-verification : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 851 kb : a1, 0, 851 pr default abi - 853 kb : a1, 0, 853 pr sol abi - 777 kb : a2, 0, 777 pr all abi - 980 kb : a3, 0, 980 #nbsp; : a4, 0, 0 section static-buffer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2742 kb : a1, 0, 2742 pr default abi - 2759 kb : a1, 0, 2759 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section storage-types : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 16949 kb : a1, 0, 16949 pr default abi - 16818 kb : a1, 0, 16818 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section system-precompile : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 10630 kb : a1, 0, 10630 pr default abi - 10658 kb : a1, 0, 10658 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section trait-dyn-cross-contract-calls : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3960 kb : a1, 0, 3960 pr default abi - 3960 kb : a1, 0, 3960 pr sol abi - 6039 kb : a2, 0, 6039 pr all abi - 4770 kb : a3, 0, 4770 #nbsp; : a4, 0, 0 section trait-dyn-cross-contract-calls/contracts/incrementer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1784 kb : a1, 0, 1784 pr default abi - 1799 kb : a1, 0, 1799 pr sol abi - 2354 kb : a2, 0, 2354 pr all abi - 2795 kb : a3, 0, 2795 #nbsp; : a4, 0, 0 section trait-erc20 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 11219 kb : a1, 0, 11219 pr default abi - 11226 kb : a1, 0, 11226 pr sol abi - 0 kb : a2, 0, 0 pr all abi - 0 kb : a3, 0, 0 #nbsp; : a4, 0, 0 section trait-flipper : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1713 kb : a1, 0, 1713 pr default abi - 1728 kb : a1, 0, 1728 pr sol abi - 2248 kb : a2, 0, 2248 pr all abi - 2613 kb : a3, 0, 2613 #nbsp; : a4, 0, 0 section trait-incrementer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1850 kb : a1, 0, 1850 pr default abi - 1870 kb : a1, 0, 1870 pr sol abi - 2524 kb : a2, 0, 2524 pr all abi - 3049 kb : a3, 0, 3049 #nbsp; : a4, 0, 0 section upgradeable-contracts/delegator : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 6432 kb : a1, 0, 6432 pr default abi - 6452 kb : a1, 0, 6452 pr sol abi - 9624 kb : a2, 0, 9624 pr all abi - 11588 kb : a3, 0, 11588 #nbsp; : a4, 0, 0 section upgradeable-contracts/delegator/delegatee : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2850 kb : a1, 0, 2850 pr default abi - 2849 kb : a1, 0, 2849 pr sol abi - 2699 kb : a2, 0, 2699 pr all abi - 3467 kb : a3, 0, 3467 #nbsp; : a4, 0, 0 section upgradeable-contracts/delegator/delegatee2 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2850 kb : a1, 0, 2850 pr default abi - 2849 kb : a1, 0, 2849 pr sol abi - 2699 kb : a2, 0, 2699 pr all abi - 3467 kb : a3, 0, 3467 #nbsp; : a4, 0, 0 section upgradeable-contracts/set-code-hash : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1710 kb : a1, 0, 1710 pr default abi - 1723 kb : a1, 0, 1723 pr sol abi - 2398 kb : a2, 0, 2398 pr all abi - 3000 kb : a3, 0, 3000 #nbsp; : a4, 0, 0 section upgradeable-contracts/set-code-hash-migration : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1710 kb : a1, 0, 1710 pr default abi - 1723 kb : a1, 0, 1723 pr sol abi - 2398 kb : a2, 0, 2398 pr all abi - 3000 kb : a3, 0, 3000 #nbsp; : a4, 0, 0 section upgradeable-contracts/set-code-hash-migration/migration : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1876 kb : a1, 0, 1876 pr default abi - 1877 kb : a1, 0, 1877 pr sol abi - 2616 kb : a2, 0, 2616 pr all abi - 2584 kb : a3, 0, 2584 #nbsp; : a4, 0, 0 section upgradeable-contracts/set-code-hash-migration/updated-incrementer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1887 kb : a1, 0, 1887 pr default abi - 1901 kb : a1, 0, 1901 pr sol abi - 2947 kb : a2, 0, 2947 pr all abi - 3444 kb : a3, 0, 3444 #nbsp; : a4, 0, 0 section upgradeable-contracts/set-code-hash/updated-incrementer : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1662 kb : a1, 0, 1662 pr default abi - 1675 kb : a1, 0, 1675 pr sol abi - 2382 kb : a2, 0, 2382 pr all abi - 2939 kb : a3, 0, 2939 #nbsp; : a4, 0, 0 section wildcard-selector : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 2952 kb : a1, 0, 2952 pr default abi - 2952 kb : a1, 0, 2952 pr sol abi - 4801 kb : a2, 0, 4801 pr all abi - 5222 kb : a3, 0, 5222 #nbsp; : a4, 0, 0 
Loading
Show contract sizes: ink! vs Solidity ABI

The following table shows how the contract sizes on this branch change when choosing the Solidity ABI instead of the ink! ABI.

Contract Upstream Size (kB) PR Size (kB) Diff (kB) Diff (%) Change
all-abi/events 19.84 19.84 0 0%
complex-storage-structures 4.858 7.852 2.994 62% 📈
contract-invocation 8.211 11.266 3.055 37% 📈
contract-invocation/contract1 2.081 2.717 0.636 31% 📈
contract-invocation/contract2 1.996 2.669 0.673 34% 📈
contract-invocation/virtual_contract 4.544 7.367 2.823 62% 📈
contract-invocation/virtual_contract_ver1 1.954 2.432 0.478 24% 📈
contract-invocation/virtual_contract_ver2 1.966 2.445 0.479 24% 📈
contract-terminate 1.551 1.517 -0.034 -1% 📉
contract-transfer 2.736 2.31 -0.426 -15% 📉
cross-contract-calls/other-contract 1.775 2.361 0.586 33% 📈
custom-environment 3.394 1.738 -1.656 -48% 📉
debugging-strategies 4.445 5.145 0.7 16% 📈
e2e-call-runtime 1.563 1.906 0.343 22% 📈
events 8.871 12.91 4.039 46% 📈
flipper 1.775 2.361 0.586 33% 📈
multi-contract-caller 11.922 16.283 4.361 37% 📈
multi-contract-caller/accumulator 1.134 2.24 1.106 98% 📈
multi-contract-caller/adder 3.169 5.06 1.891 60% 📈
multi-contract-caller/subber 3.173 5.066 1.893 60% 📈
overflow-safety 1.31 2.621 1.311 100% 📈
own-code-hash 3.065 2.974 -0.091 -2% 📉
solidity-abi/fallible-setter 2.697 2.697 0 0%
sr25519-verification 0.853 0.777 -0.076 -8% 📉
trait-dyn-cross-contract-calls 3.96 6.039 2.079 52% 📈
trait-dyn-cross-contract-calls/contracts/incrementer 1.799 2.354 0.555 31% 📈
trait-flipper 1.728 2.248 0.52 30% 📈
trait-incrementer 1.87 2.524 0.654 35% 📈
upgradeable-contracts/delegator 6.452 9.624 3.172 49% 📈
upgradeable-contracts/delegator/delegatee 2.849 2.699 -0.15 -4% 📉
upgradeable-contracts/delegator/delegatee2 2.849 2.699 -0.15 -4% 📉
upgradeable-contracts/set-code-hash 1.723 2.398 0.675 39% 📈
upgradeable-contracts/set-code-hash-migration 1.723 2.398 0.675 39% 📈
upgradeable-contracts/set-code-hash-migration/migration 1.877 2.616 0.739 39% 📈
upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.901 2.947 1.046 55% 📈
upgradeable-contracts/set-code-hash/updated-incrementer 1.675 2.382 0.707 42% 📈
wildcard-selector 2.952 4.801 1.849 63% 📈
Show contract sizes: ink! vs all ABI

The following table shows how the contract sizes on this branch change when choosing the all ABI instead of the ink! ABI.

Contract Upstream Size (kB) PR Size (kB) Diff (kB) Diff (%) Change
all-abi/events 19.84 19.84 0 0%
complex-storage-structures 4.858 9.494 4.636 95% 📈
contract-invocation 8.211 12.618 4.407 54% 📈
contract-invocation/contract1 2.081 3.423 1.342 64% 📈
contract-invocation/contract2 1.996 3.314 1.318 66% 📈
contract-invocation/virtual_contract 4.544 6.92 2.376 52% 📈
contract-invocation/virtual_contract_ver1 1.954 2.822 0.868 44% 📈
contract-invocation/virtual_contract_ver2 1.966 2.849 0.883 45% 📈
contract-terminate 1.551 1.646 0.095 6% 📈
contract-transfer 2.736 3.12 0.384 14% 📈
cross-contract-calls/other-contract 1.775 2.799 1.024 58% 📈
custom-environment 3.394 3.845 0.451 13% 📈
debugging-strategies 4.445 5.832 1.387 31% 📈
e2e-call-runtime 1.563 2.367 0.804 51% 📈
events 8.871 19.18 10.309 116% 📈
flipper 1.775 2.799 1.024 58% 📈
multi-contract-caller 11.922 13.134 1.212 10% 📈
multi-contract-caller/accumulator 1.134 2.797 1.663 147% 📈
multi-contract-caller/adder 3.169 3.442 0.273 9% 📈
multi-contract-caller/subber 3.173 3.455 0.282 9% 📈
overflow-safety 1.31 3.114 1.804 138% 📈
own-code-hash 3.065 3.622 0.557 18% 📈
solidity-abi/fallible-setter 2.697 3.211 0.514 19% 📈
sr25519-verification 0.853 0.98 0.127 15% 📈
trait-dyn-cross-contract-calls 3.96 4.77 0.81 20% 📈
trait-dyn-cross-contract-calls/contracts/incrementer 1.799 2.795 0.996 55% 📈
trait-flipper 1.728 2.613 0.885 51% 📈
trait-incrementer 1.87 3.049 1.179 63% 📈
upgradeable-contracts/delegator 6.452 11.588 5.136 80% 📈
upgradeable-contracts/delegator/delegatee 2.849 3.467 0.618 22% 📈
upgradeable-contracts/delegator/delegatee2 2.849 3.467 0.618 22% 📈
upgradeable-contracts/set-code-hash 1.723 3 1.277 74% 📈
upgradeable-contracts/set-code-hash-migration 1.723 3 1.277 74% 📈
upgradeable-contracts/set-code-hash-migration/migration 1.877 2.584 0.707 38% 📈
upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.901 3.444 1.543 81% 📈
upgradeable-contracts/set-code-hash/updated-incrementer 1.675 2.939 1.264 75% 📈
wildcard-selector 2.952 5.222 2.27 77% 📈

Link to the run | Last update: Sun Sep 14 00:46:47 CEST 2025

Copy link
Collaborator

@davidsemakula davidsemakula left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@davidsemakula davidsemakula merged commit 4559670 into master Sep 14, 2025
35 checks passed
@davidsemakula davidsemakula deleted the cmichi-correctify-panic-handler branch September 14, 2025 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants