Skip to content

chore: Error on message and constructor selector overrides in Solidity ABI mode#2638

Merged
cmichi merged 4 commits intomasterfrom
semakula/sol-selector-override-error
Sep 14, 2025
Merged

chore: Error on message and constructor selector overrides in Solidity ABI mode#2638
cmichi merged 4 commits intomasterfrom
semakula/sol-selector-override-error

Conversation

@davidsemakula
Copy link
Collaborator

@davidsemakula davidsemakula commented Sep 14, 2025

Summary

Closes #2620

  • [y] y/n | Does it introduce breaking changes?
  • [n] y/n | Is it dependent on a specific version of cargo-contract or pallet-revive?

Description

Compile error when annotating messages and constructors with selector attributes in "sol" ABI mode
NOTE: Doesn't affect "ink" and "all" ABI modes.

Checklist before requesting a review

  • I have added an entry to CHANGELOG.md
  • I have commented on my code, particularly in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works
  • Any dependent changes have been merged and published in downstream modules
@davidsemakula davidsemakula marked this pull request as ready for review September 14, 2025 13:13
@davidsemakula davidsemakula force-pushed the semakula/sol-selector-override-error branch from 7c277f7 to fad6bc5 Compare September 14, 2025 15:48
@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.841 -0.009 0% 📉
call-builder-return-value 9.163 9.163 0 0%
complex-storage-structures 4.858 4.857 -0.001 0% 📉
conditional-compilation 1.727 1.727 0 0%
contract-invocation 8.211 8.211 0 0%
contract-invocation/contract1 2.081 2.081 0 0%
contract-invocation/contract2 1.996 1.996 0 0%
contract-invocation/virtual_contract 4.544 4.544 0 0%
contract-invocation/virtual_contract_ver1 1.954 1.954 0 0%
contract-invocation/virtual_contract_ver2 1.966 1.966 0 0%
contract-storage 7.63 7.63 0 0%
contract-terminate 1.551 1.551 0 0%
contract-transfer 2.736 2.738 0.002 0% 📈
cross-contract-calls 8.718 8.718 0 0%
cross-contract-calls/other-contract 1.775 1.775 0 0%
custom-allocator 3.275 3.239 -0.036 0% 📉
custom-environment 3.394 3.394 0 0%
debugging-strategies 4.445 4.445 0 0%
dns 10.423 10.423 0 0%
e2e-call-runtime 1.563 1.563 0 0%
e2e-runtime-only-backend 2.202 2.202 0 0%
erc1155 21.02 20.974 -0.046 0% 📉
erc20 10.898 10.897 -0.001 0% 📉
erc721 12.862 12.863 0.001 0% 📈
events 8.871 8.872 0.001 0% 📈
flipper 1.775 1.775 0 0%
fuzz-testing 1.762 1.762 0 0%
incrementer 1.288 1.288 0 0%
lang-err/call-builder 8.478 8.478 0 0%
lang-err/call-builder-delegate 3.518 3.518 0 0%
lang-err/constructors-return-value 2.442 2.442 0 0%
lang-err/contract-ref 7.02 7.007 -0.013 0% 📉
lang-err/integration-flipper 2.059 2.059 0 0%
lazyvec 5.713 5.712 -0.001 0% 📉
mapping 10.657 10.656 -0.001 0% 📉
mother 16.46 16.444 -0.016 0% 📉
multi-contract-caller 11.922 11.922 0 0%
multi-contract-caller/accumulator 1.134 1.134 0 0%
multi-contract-caller/adder 3.168 3.168 0 0%
multi-contract-caller/subber 3.172 3.172 0 0%
multisig 27.502 27.486 -0.016 0% 📉
overflow-safety 1.311 1.311 0 0%
own-code-hash 3.065 3.065 0 0%
payment-channel 7.995 7.995 0 0%
solidity-abi/events 12.246 12.246 0 0%
solidity-abi/fallible-setter 2.697 2.697 0 0%
solidity-abi/sol-cross-contract 6.677 6.677 0 0%
solidity-abi/sol-cross-contract/other-contract-sol 2.576 2.576 0 0%
solidity-abi/sol-encoding 2.512 2.512 0 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.354 2.354 0 0%
solidity-abi/trait-flipper 2.248 2.248 0 0%
sr25519-verification 0.853 0.853 0 0%
static-buffer 2.759 2.76 0.001 0% 📈
storage-types 16.819 16.82 0.001 0% 📈
system-precompile 10.657 10.656 -0.001 0% 📉
trait-dyn-cross-contract-calls 3.96 3.96 0 0%
trait-dyn-cross-contract-calls/contracts/incrementer 1.799 1.799 0 0%
trait-erc20 11.227 11.223 -0.004 0% 📉
trait-flipper 1.728 1.728 0 0%
trait-incrementer 1.87 1.87 0 0%
upgradeable-contracts/delegator 6.452 6.452 0 0%
upgradeable-contracts/delegator/delegatee 2.849 2.849 0 0%
upgradeable-contracts/delegator/delegatee2 2.849 2.849 0 0%
upgradeable-contracts/set-code-hash 1.723 1.723 0 0%
upgradeable-contracts/set-code-hash-migration 1.723 1.723 0 0%
upgradeable-contracts/set-code-hash-migration/migration 1.877 1.877 0 0%
upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.901 1.901 0 0%
upgradeable-contracts/set-code-hash/updated-incrementer 1.675 1.675 0 0%
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 - 19841 kb : a1, 0, 19841 pr sol abi - 19841 kb : a2, 0, 19841 pr all abi - 19841 kb : a3, 0, 19841 #nbsp; : a4, 0, 0 section call-builder-return-value : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 9163 kb : a1, 0, 9163 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 - 4858 kb : a1, 0, 4858 pr default abi - 4857 kb : a1, 0, 4857 pr sol abi - 7851 kb : a2, 0, 7851 pr all abi - 9493 kb : a3, 0, 9493 #nbsp; : a4, 0, 0 section conditional-compilation : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1727 kb : a1, 0, 1727 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 - 8211 kb : a1, 0, 8211 pr default abi - 8211 kb : a1, 0, 8211 pr sol abi - 11267 kb : a2, 0, 11267 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 - 2081 kb : a1, 0, 2081 pr default abi - 2081 kb : a1, 0, 2081 pr sol abi - 2717 kb : a2, 0, 2717 pr all abi - 3422 kb : a3, 0, 3422 #nbsp; : a4, 0, 0 section contract-invocation/contract2 : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1996 kb : a1, 0, 1996 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 - 4544 kb : a1, 0, 4544 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 - 1954 kb : a1, 0, 1954 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 - 1966 kb : a1, 0, 1966 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 - 7630 kb : a1, 0, 7630 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 - 1551 kb : a1, 0, 1551 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 - 2738 kb : a1, 0, 2738 pr sol abi - 0 kb : a2, 0, 0 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 - 8718 kb : a1, 0, 8718 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 - 1775 kb : a1, 0, 1775 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 - 3275 kb : a1, 0, 3275 pr default abi - 3239 kb : a1, 0, 3239 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 - 4445 kb : a1, 0, 4445 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 - 10423 kb : a1, 0, 10423 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 - 1563 kb : a1, 0, 1563 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 - 2202 kb : a1, 0, 2202 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 - 21020 kb : a1, 0, 21020 pr default abi - 20974 kb : a1, 0, 20974 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 - 10898 kb : a1, 0, 10898 pr default abi - 10897 kb : a1, 0, 10897 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 - 12862 kb : a1, 0, 12862 pr default abi - 12863 kb : a1, 0, 12863 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 - 8871 kb : a1, 0, 8871 pr default abi - 8872 kb : a1, 0, 8872 pr sol abi - 12909 kb : a2, 0, 12909 pr all abi - 19182 kb : a3, 0, 19182 #nbsp; : a4, 0, 0 section flipper : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 1775 kb : a1, 0, 1775 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 - 1762 kb : a1, 0, 1762 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 - 1288 kb : a1, 0, 1288 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 - 8478 kb : a1, 0, 8478 pr default abi - 8478 kb : a1, 0, 8478 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 - 3518 kb : a1, 0, 3518 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 - 2442 kb : a1, 0, 2442 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 - 7020 kb : a1, 0, 7020 pr default abi - 7007 kb : a1, 0, 7007 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 - 2059 kb : a1, 0, 2059 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 - 5713 kb : a1, 0, 5713 pr default abi - 5712 kb : a1, 0, 5712 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 - 10657 kb : a1, 0, 10657 pr default abi - 10656 kb : a1, 0, 10656 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 - 16460 kb : a1, 0, 16460 pr default abi - 16444 kb : a1, 0, 16444 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 - 1134 kb : a1, 0, 1134 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 - 3168 kb : a1, 0, 3168 pr default abi - 3168 kb : a1, 0, 3168 pr sol abi - 5063 kb : a2, 0, 5063 pr all abi - 3445 kb : a3, 0, 3445 #nbsp; : a4, 0, 0 section multi-contract-caller/subber : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 3172 kb : a1, 0, 3172 pr default abi - 3172 kb : a1, 0, 3172 pr sol abi - 5068 kb : a2, 0, 5068 pr all abi - 3462 kb : a3, 0, 3462 #nbsp; : a4, 0, 0 section multisig : a5, 0, 0 v5 default abi - 0 kb : a1, 0, 0 master default abi - 27502 kb : a1, 0, 27502 pr default abi - 27486 kb : a1, 0, 27486 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 - 1311 kb : a1, 0, 1311 pr default abi - 1311 kb : a1, 0, 1311 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 - 3065 kb : a1, 0, 3065 pr default abi - 3065 kb : a1, 0, 3065 pr sol abi - 2973 kb : a2, 0, 2973 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 - 7995 kb : a1, 0, 7995 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 - 12246 kb : a1, 0, 12246 pr default abi - 12246 kb : a1, 0, 12246 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 - 2697 kb : a1, 0, 2697 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 - 2576 kb : a1, 0, 2576 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 - 2512 kb : a1, 0, 2512 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 - 2354 kb : a1, 0, 2354 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 - 2248 kb : a1, 0, 2248 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 - 853 kb : a1, 0, 853 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 - 2759 kb : a1, 0, 2759 pr default abi - 2760 kb : a1, 0, 2760 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 - 16819 kb : a1, 0, 16819 pr default abi - 16820 kb : a1, 0, 16820 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 - 10657 kb : a1, 0, 10657 pr default abi - 10656 kb : a1, 0, 10656 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 - 1799 kb : a1, 0, 1799 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 - 11227 kb : a1, 0, 11227 pr default abi - 11223 kb : a1, 0, 11223 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 - 1728 kb : a1, 0, 1728 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 - 1870 kb : a1, 0, 1870 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 - 6452 kb : a1, 0, 6452 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 - 2849 kb : a1, 0, 2849 pr default abi - 2849 kb : a1, 0, 2849 pr sol abi - 2700 kb : a2, 0, 2700 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 - 2849 kb : a1, 0, 2849 pr default abi - 2849 kb : a1, 0, 2849 pr sol abi - 2701 kb : a2, 0, 2701 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 - 1723 kb : a1, 0, 1723 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 - 1723 kb : a1, 0, 1723 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 - 1877 kb : a1, 0, 1877 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 - 1901 kb : a1, 0, 1901 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 - 1675 kb : a1, 0, 1675 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 - 0 kb : a2, 0, 0 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.841 19.841 0 0%
complex-storage-structures 4.857 7.851 2.994 62% 📈
contract-invocation 8.211 11.267 3.056 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% 📉
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.872 12.909 4.037 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.168 5.063 1.895 60% 📈
multi-contract-caller/subber 3.172 5.068 1.896 60% 📈
overflow-safety 1.311 2.621 1.31 100% 📈
own-code-hash 3.065 2.973 -0.092 -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.7 -0.149 -4% 📉
upgradeable-contracts/delegator/delegatee2 2.849 2.701 -0.148 -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% 📈
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.841 19.841 0 0%
complex-storage-structures 4.857 9.493 4.636 95% 📈
contract-invocation 8.211 12.618 4.407 54% 📈
contract-invocation/contract1 2.081 3.422 1.341 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.738 3.12 0.382 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.872 19.182 10.31 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.168 3.445 0.277 9% 📈
multi-contract-caller/subber 3.172 3.462 0.29 9% 📈
overflow-safety 1.311 3.114 1.803 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 18:47:22 CEST 2025

Copy link
Collaborator

@cmichi cmichi left a comment

Choose a reason for hiding this comment

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

LGTM!

@cmichi cmichi merged commit 23826eb into master Sep 14, 2025
35 checks passed
@cmichi cmichi deleted the semakula/sol-selector-override-error branch September 14, 2025 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants