Skip to content

fix: name override fixes for message id computation and trait definitions#2649

Merged
cmichi merged 7 commits intomasterfrom
semakula/trait-name-override
Sep 21, 2025
Merged

fix: name override fixes for message id computation and trait definitions#2649
cmichi merged 7 commits intomasterfrom
semakula/trait-name-override

Conversation

@davidsemakula
Copy link
Copy Markdown
Collaborator

Summary

Closes #_

  • [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

  • Use name override (if provided) for message id computation
  • Use name override for Solidity selector computation in trait definitions
  • Add normalized_name utility to message, constructor, callable and trait item abstractions
  • Add more tests for name override behavior with trait definitions

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 force-pushed the semakula/trait-name-override branch from b075539 to 00ea6c6 Compare September 20, 2025 07:15
@github-actions
Copy link
Copy Markdown

🦑 📈 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
./integration-tests/all-abi/events 19.841 19.841 0 0%
./integration-tests/internal/call-builder-return-value 9.162 9.162 0 0%
./integration-tests/internal/e2e-runtime-only-backend 2.202 2.202 0 0%
./integration-tests/internal/lang-err/call-builder 8.477 8.477 0 0%
./integration-tests/internal/lang-err/call-builder-delegate 3.6 3.6 0 0%
./integration-tests/internal/lang-err/constructors-return-value 2.442 2.442 0 0%
./integration-tests/internal/lang-err/contract-ref 7.007 7.007 0 0%
./integration-tests/internal/lang-err/integration-flipper 2.059 2.059 0 0%
./integration-tests/internal/mapping 10.622 10.622 0 0%
./integration-tests/internal/mother 16.506 16.506 0 0%
./integration-tests/internal/overflow-safety 1.311 1.311 0 0%
./integration-tests/internal/sr25519-verification 0.853 0.853 0 0%
./integration-tests/internal/static-buffer 2.759 2.759 0 0%
./integration-tests/internal/storage-types 16.782 16.782 0 0%
./integration-tests/internal/system-precompile 10.622 10.622 0 0%
./integration-tests/public/bytes 5.252 5.252 0 0%
./integration-tests/public/complex-storage-structures 4.858 4.858 0 0%
./integration-tests/public/conditional-compilation 1.727 1.727 0 0%
./integration-tests/public/contract-invocation 8.293 8.293 0 0%
./integration-tests/public/contract-invocation/contract1 2.081 2.081 0 0%
./integration-tests/public/contract-invocation/contract2 1.996 1.996 0 0%
./integration-tests/public/contract-invocation/virtual_contract 4.626 4.626 0 0%
./integration-tests/public/contract-invocation/virtual_contract_ver1 1.954 1.954 0 0%
./integration-tests/public/contract-invocation/virtual_contract_ver2 1.966 1.966 0 0%
./integration-tests/public/contract-storage 7.63 7.63 0 0%
./integration-tests/public/contract-terminate 1.551 1.551 0 0%
./integration-tests/public/contract-transfer 2.736 2.736 0 0%
./integration-tests/public/cross-contract-calls 8.718 8.718 0 0%
./integration-tests/public/cross-contract-calls/other-contract 1.775 1.775 0 0%
./integration-tests/public/custom-allocator 3.275 3.275 0 0%
./integration-tests/public/custom-environment 3.394 3.394 0 0%
./integration-tests/public/debugging-strategies 4.445 4.445 0 0%
./integration-tests/public/dns 10.423 10.423 0 0%
./integration-tests/public/e2e-call-runtime 1.563 1.563 0 0%
./integration-tests/public/erc1155 20.98 20.98 0 0%
./integration-tests/public/erc20 10.901 10.901 0 0%
./integration-tests/public/erc721 12.863 12.863 0 0%
./integration-tests/public/events 8.873 8.873 0 0%
./integration-tests/public/fallible-setter 2.971 2.971 0 0%
./integration-tests/public/flipper 1.775 1.775 0 0%
./integration-tests/public/fuzz-testing 1.762 1.762 0 0%
./integration-tests/public/incrementer 1.288 1.288 0 0%
./integration-tests/public/lazyvec 5.725 5.725 0 0%
./integration-tests/public/multi-contract-caller 11.926 11.926 0 0%
./integration-tests/public/multi-contract-caller/accumulator 1.134 1.134 0 0%
./integration-tests/public/multi-contract-caller/adder 3.169 3.169 0 0%
./integration-tests/public/multi-contract-caller/subber 3.173 3.173 0 0%
./integration-tests/public/multisig 27.517 27.517 0 0%
./integration-tests/public/own-code-hash 3.065 3.065 0 0%
./integration-tests/public/payment-channel 7.995 7.995 0 0%
./integration-tests/public/runtime-call-contract 1.778 1.778 0 0%
./integration-tests/public/trait-dyn-cross-contract-calls 3.96 3.96 0 0%
./integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer 1.799 1.799 0 0%
./integration-tests/public/trait-erc20 11.227 11.227 0 0%
./integration-tests/public/trait-flipper 1.728 1.728 0 0%
./integration-tests/public/trait-incrementer 1.87 1.87 0 0%
./integration-tests/public/upgradeable-contracts/delegator 6.452 6.452 0 0%
./integration-tests/public/upgradeable-contracts/delegator/delegatee 2.849 2.849 0 0%
./integration-tests/public/upgradeable-contracts/delegator/delegatee2 2.849 2.849 0 0%
./integration-tests/public/upgradeable-contracts/set-code-hash 1.723 1.723 0 0%
./integration-tests/public/upgradeable-contracts/set-code-hash-migration 1.723 1.723 0 0%
./integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration 1.877 1.877 0 0%
./integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.901 1.901 0 0%
./integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer 1.675 1.675 0 0%
./integration-tests/public/wildcard-selector 2.948 2.948 0 0%
./integration-tests/solidity-abi/events 12.245 12.245 0 0%
./integration-tests/solidity-abi/sol-cross-contract 6.677 6.677 0 0%
./integration-tests/solidity-abi/sol-cross-contract/other-contract-sol 2.574 2.574 0 0%
./integration-tests/solidity-abi/sol-encoding 2.51 2.51 0 0%
./integration-tests/solidity-abi/solidity-calls-flipper 8.965 8.965 0 0%
./integration-tests/solidity-abi/trait-dyn-cross-contract-calls 6.037 6.037 0 0%
./integration-tests/solidity-abi/trait-dyn-cross-contract-calls/contracts/incrementer 2.353 2.353 0 0%
./integration-tests/solidity-abi/trait-flipper 2.245 2.245 0 0%
Show diagram
gantt
   dateFormat x
   axisFormat x
section  
./integration-tests/all-abi/events : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 19841 kb       : a1, 0, 19841
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  
./integration-tests/internal/call-builder-return-value : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 9162 kb       : a1, 0, 9162
pr default abi - 9162 kb      : a1, 0, 9162
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/internal/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  
./integration-tests/internal/lang-err/call-builder : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 8477 kb       : a1, 0, 8477
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  
./integration-tests/internal/lang-err/call-builder-delegate : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 3600 kb       : a1, 0, 3600
pr default abi - 3600 kb      : a1, 0, 3600
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/internal/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  
./integration-tests/internal/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 - 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  
./integration-tests/internal/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  
./integration-tests/internal/mapping : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 10622 kb       : a1, 0, 10622
pr default abi - 10622 kb      : a1, 0, 10622
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/internal/mother : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 16506 kb       : a1, 0, 16506
pr default abi - 16506 kb      : a1, 0, 16506
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/internal/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 - 2619 kb      : a2, 0, 2619
pr all abi - 3112 kb     : a3, 0, 3112
#nbsp; : a4, 0, 0

section  
./integration-tests/internal/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  
./integration-tests/internal/static-buffer : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 2759 kb       : a1, 0, 2759
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  
./integration-tests/internal/storage-types : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 16782 kb       : a1, 0, 16782
pr default abi - 16782 kb      : a1, 0, 16782
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/internal/system-precompile : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 10622 kb       : a1, 0, 10622
pr default abi - 10622 kb      : a1, 0, 10622
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/public/bytes : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 5252 kb       : a1, 0, 5252
pr default abi - 5252 kb      : a1, 0, 5252
pr sol abi - 5252 kb      : a2, 0, 5252
pr all abi - 8705 kb     : a3, 0, 8705
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 4858 kb      : a1, 0, 4858
pr sol abi - 7851 kb      : a2, 0, 7851
pr all abi - 9493 kb     : a3, 0, 9493
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/contract-invocation : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 8293 kb       : a1, 0, 8293
pr default abi - 8293 kb      : a1, 0, 8293
pr sol abi - 11267 kb      : a2, 0, 11267
pr all abi - 12698 kb     : a3, 0, 12698
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2719 kb      : a2, 0, 2719
pr all abi - 3425 kb     : a3, 0, 3425
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2671 kb      : a2, 0, 2671
pr all abi - 3317 kb     : a3, 0, 3317
#nbsp; : a4, 0, 0

section  
./integration-tests/public/contract-invocation/virtual_contract : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 4626 kb       : a1, 0, 4626
pr default abi - 4626 kb      : a1, 0, 4626
pr sol abi - 7367 kb      : a2, 0, 7367
pr all abi - 7001 kb     : a3, 0, 7001
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2431 kb      : a2, 0, 2431
pr all abi - 2821 kb     : a3, 0, 2821
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2443 kb      : a2, 0, 2443
pr all abi - 2848 kb     : a3, 0, 2848
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/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  
./integration-tests/public/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 - 0 kb      : a2, 0, 0
pr all abi - 3120 kb     : a3, 0, 3120
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/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 - 2358 kb      : a2, 0, 2358
pr all abi - 2797 kb     : a3, 0, 2797
#nbsp; : a4, 0, 0

section  
./integration-tests/public/custom-allocator : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 3275 kb       : a1, 0, 3275
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  
./integration-tests/public/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  
./integration-tests/public/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 - 5143 kb      : a2, 0, 5143
pr all abi - 5829 kb     : a3, 0, 5829
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/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 - 1905 kb      : a2, 0, 1905
pr all abi - 2365 kb     : a3, 0, 2365
#nbsp; : a4, 0, 0

section  
./integration-tests/public/erc1155 : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 20980 kb       : a1, 0, 20980
pr default abi - 20980 kb      : a1, 0, 20980
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/public/erc20 : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 10901 kb       : a1, 0, 10901
pr default abi - 10901 kb      : a1, 0, 10901
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/public/erc721 : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 12863 kb       : a1, 0, 12863
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  
./integration-tests/public/events : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 8873 kb       : a1, 0, 8873
pr default abi - 8873 kb      : a1, 0, 8873
pr sol abi - 12911 kb      : a2, 0, 12911
pr all abi - 19183 kb     : a3, 0, 19183
#nbsp; : a4, 0, 0

section  
./integration-tests/public/fallible-setter : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 2971 kb       : a1, 0, 2971
pr default abi - 2971 kb      : a1, 0, 2971
pr sol abi - 2971 kb      : a2, 0, 2971
pr all abi - 3513 kb     : a3, 0, 3513
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2358 kb      : a2, 0, 2358
pr all abi - 2797 kb     : a3, 0, 2797
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/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  
./integration-tests/public/lazyvec : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 5725 kb       : a1, 0, 5725
pr default abi - 5725 kb      : a1, 0, 5725
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/public/multi-contract-caller : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 11926 kb       : a1, 0, 11926
pr default abi - 11926 kb      : a1, 0, 11926
pr sol abi - 16284 kb      : a2, 0, 16284
pr all abi - 13139 kb     : a3, 0, 13139
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2236 kb      : a2, 0, 2236
pr all abi - 2794 kb     : a3, 0, 2794
#nbsp; : a4, 0, 0

section  
./integration-tests/public/multi-contract-caller/adder : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 3169 kb       : a1, 0, 3169
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  
./integration-tests/public/multi-contract-caller/subber : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 3173 kb       : a1, 0, 3173
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  
./integration-tests/public/multisig : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 27517 kb       : a1, 0, 27517
pr default abi - 27517 kb      : a1, 0, 27517
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 3621 kb     : a3, 0, 3621
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/runtime-call-contract : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 1778 kb       : a1, 0, 1778
pr default abi - 1778 kb      : a1, 0, 1778
pr sol abi - 2358 kb      : a2, 0, 2358
pr all abi - 2801 kb     : a3, 0, 2801
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 6037 kb      : a2, 0, 6037
pr all abi - 4769 kb     : a3, 0, 4769
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2353 kb      : a2, 0, 2353
pr all abi - 2794 kb     : a3, 0, 2794
#nbsp; : a4, 0, 0

section  
./integration-tests/public/trait-erc20 : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 11227 kb       : a1, 0, 11227
pr default abi - 11227 kb      : a1, 0, 11227
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2245 kb      : a2, 0, 2245
pr all abi - 2611 kb     : a3, 0, 2611
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2522 kb      : a2, 0, 2522
pr all abi - 3048 kb     : a3, 0, 3048
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/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 - 2699 kb      : a2, 0, 2699
pr all abi - 3466 kb     : a3, 0, 3466
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2700 kb      : a2, 0, 2700
pr all abi - 3466 kb     : a3, 0, 3466
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2397 kb      : a2, 0, 2397
pr all abi - 2999 kb     : a3, 0, 2999
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2397 kb      : a2, 0, 2397
pr all abi - 2999 kb     : a3, 0, 2999
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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  
./integration-tests/public/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 - 2946 kb      : a2, 0, 2946
pr all abi - 3443 kb     : a3, 0, 3443
#nbsp; : a4, 0, 0

section  
./integration-tests/public/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 - 2381 kb      : a2, 0, 2381
pr all abi - 2938 kb     : a3, 0, 2938
#nbsp; : a4, 0, 0

section  
./integration-tests/public/wildcard-selector : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 2948 kb       : a1, 0, 2948
pr default abi - 2948 kb      : a1, 0, 2948
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 5211 kb     : a3, 0, 5211
#nbsp; : a4, 0, 0

section  
./integration-tests/solidity-abi/events : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 12245 kb       : a1, 0, 12245
pr default abi - 12245 kb      : a1, 0, 12245
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/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  
./integration-tests/solidity-abi/sol-cross-contract/other-contract-sol : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 2574 kb       : a1, 0, 2574
pr default abi - 2574 kb      : a1, 0, 2574
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/solidity-abi/sol-encoding : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 2510 kb       : a1, 0, 2510
pr default abi - 2510 kb      : a1, 0, 2510
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/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  
./integration-tests/solidity-abi/trait-dyn-cross-contract-calls : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 6037 kb       : a1, 0, 6037
pr default abi - 6037 kb      : a1, 0, 6037
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/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 - 2353 kb      : a1, 0, 2353
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#nbsp; : a4, 0, 0

section  
./integration-tests/solidity-abi/trait-flipper : a5, 0, 0
v5 default abi - 0 kb       : a1, 0, 0
master default abi - 2245 kb       : a1, 0, 2245
pr default abi - 2245 kb      : a1, 0, 2245
pr sol abi - 0 kb      : a2, 0, 0
pr all abi - 0 kb     : a3, 0, 0
#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
./integration-tests/all-abi/events 19.841 19.841 0 0%
./integration-tests/internal/overflow-safety 1.311 2.619 1.308 100% 📈
./integration-tests/internal/sr25519-verification 0.853 0.777 -0.076 -8% 📉
./integration-tests/public/bytes 5.252 5.252 0 0%
./integration-tests/public/complex-storage-structures 4.858 7.851 2.993 62% 📈
./integration-tests/public/contract-invocation 8.293 11.267 2.974 36% 📈
./integration-tests/public/contract-invocation/contract1 2.081 2.719 0.638 31% 📈
./integration-tests/public/contract-invocation/contract2 1.996 2.671 0.675 34% 📈
./integration-tests/public/contract-invocation/virtual_contract 4.626 7.367 2.741 59% 📈
./integration-tests/public/contract-invocation/virtual_contract_ver1 1.954 2.431 0.477 24% 📈
./integration-tests/public/contract-invocation/virtual_contract_ver2 1.966 2.443 0.477 24% 📈
./integration-tests/public/contract-terminate 1.551 1.517 -0.034 -1% 📉
./integration-tests/public/cross-contract-calls/other-contract 1.775 2.358 0.583 33% 📈
./integration-tests/public/custom-environment 3.394 1.738 -1.656 -48% 📉
./integration-tests/public/debugging-strategies 4.445 5.143 0.698 16% 📈
./integration-tests/public/e2e-call-runtime 1.563 1.905 0.342 22% 📈
./integration-tests/public/events 8.873 12.911 4.038 46% 📈
./integration-tests/public/fallible-setter 2.971 2.971 0 0%
./integration-tests/public/flipper 1.775 2.358 0.583 33% 📈
./integration-tests/public/multi-contract-caller 11.926 16.284 4.358 37% 📈
./integration-tests/public/multi-contract-caller/accumulator 1.134 2.236 1.102 97% 📈
./integration-tests/public/multi-contract-caller/adder 3.169 5.06 1.891 60% 📈
./integration-tests/public/multi-contract-caller/subber 3.173 5.066 1.893 60% 📈
./integration-tests/public/own-code-hash 3.065 2.973 -0.092 -2% 📉
./integration-tests/public/runtime-call-contract 1.778 2.358 0.58 33% 📈
./integration-tests/public/trait-dyn-cross-contract-calls 3.96 6.037 2.077 52% 📈
./integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer 1.799 2.353 0.554 31% 📈
./integration-tests/public/trait-flipper 1.728 2.245 0.517 30% 📈
./integration-tests/public/trait-incrementer 1.87 2.522 0.652 35% 📈
./integration-tests/public/upgradeable-contracts/delegator 6.452 9.624 3.172 49% 📈
./integration-tests/public/upgradeable-contracts/delegator/delegatee 2.849 2.699 -0.15 -4% 📉
./integration-tests/public/upgradeable-contracts/delegator/delegatee2 2.849 2.7 -0.149 -4% 📉
./integration-tests/public/upgradeable-contracts/set-code-hash 1.723 2.397 0.674 39% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash-migration 1.723 2.397 0.674 39% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration 1.877 2.616 0.739 39% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.901 2.946 1.045 55% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer 1.675 2.381 0.706 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
./integration-tests/all-abi/events 19.841 19.841 0 0%
./integration-tests/internal/overflow-safety 1.311 3.112 1.801 137% 📈
./integration-tests/internal/sr25519-verification 0.853 0.98 0.127 15% 📈
./integration-tests/public/bytes 5.252 8.705 3.453 66% 📈
./integration-tests/public/complex-storage-structures 4.858 9.493 4.635 95% 📈
./integration-tests/public/contract-invocation 8.293 12.698 4.405 53% 📈
./integration-tests/public/contract-invocation/contract1 2.081 3.425 1.344 65% 📈
./integration-tests/public/contract-invocation/contract2 1.996 3.317 1.321 66% 📈
./integration-tests/public/contract-invocation/virtual_contract 4.626 7.001 2.375 51% 📈
./integration-tests/public/contract-invocation/virtual_contract_ver1 1.954 2.821 0.867 44% 📈
./integration-tests/public/contract-invocation/virtual_contract_ver2 1.966 2.848 0.882 45% 📈
./integration-tests/public/contract-terminate 1.551 1.646 0.095 6% 📈
./integration-tests/public/contract-transfer 2.736 3.12 0.384 14% 📈
./integration-tests/public/cross-contract-calls/other-contract 1.775 2.797 1.022 58% 📈
./integration-tests/public/custom-environment 3.394 3.845 0.451 13% 📈
./integration-tests/public/debugging-strategies 4.445 5.829 1.384 31% 📈
./integration-tests/public/e2e-call-runtime 1.563 2.365 0.802 51% 📈
./integration-tests/public/events 8.873 19.183 10.31 116% 📈
./integration-tests/public/fallible-setter 2.971 3.513 0.542 18% 📈
./integration-tests/public/flipper 1.775 2.797 1.022 58% 📈
./integration-tests/public/multi-contract-caller 11.926 13.139 1.213 10% 📈
./integration-tests/public/multi-contract-caller/accumulator 1.134 2.794 1.66 146% 📈
./integration-tests/public/multi-contract-caller/adder 3.169 3.442 0.273 9% 📈
./integration-tests/public/multi-contract-caller/subber 3.173 3.455 0.282 9% 📈
./integration-tests/public/own-code-hash 3.065 3.621 0.556 18% 📈
./integration-tests/public/runtime-call-contract 1.778 2.801 1.023 58% 📈
./integration-tests/public/trait-dyn-cross-contract-calls 3.96 4.769 0.809 20% 📈
./integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer 1.799 2.794 0.995 55% 📈
./integration-tests/public/trait-flipper 1.728 2.611 0.883 51% 📈
./integration-tests/public/trait-incrementer 1.87 3.048 1.178 63% 📈
./integration-tests/public/upgradeable-contracts/delegator 6.452 11.588 5.136 80% 📈
./integration-tests/public/upgradeable-contracts/delegator/delegatee 2.849 3.466 0.617 22% 📈
./integration-tests/public/upgradeable-contracts/delegator/delegatee2 2.849 3.466 0.617 22% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash 1.723 2.999 1.276 74% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash-migration 1.723 2.999 1.276 74% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration 1.877 2.584 0.707 38% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.901 3.443 1.542 81% 📈
./integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer 1.675 2.938 1.263 75% 📈
./integration-tests/public/wildcard-selector 2.948 5.211 2.263 77% 📈

Link to the run | Last update: Sat Sep 20 10:03:01 CEST 2025

Copy link
Copy Markdown
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 e3f3e88 into master Sep 21, 2025
36 checks passed
@cmichi cmichi deleted the semakula/trait-name-override branch September 21, 2025 03:22
@cmichi cmichi mentioned this pull request Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants