Add packed flag to storage_item attribute and improve related diagnostics#2722
Add packed flag to storage_item attribute and improve related diagnostics#2722
packed flag to storage_item attribute and improve related diagnostics#2722Conversation
de6a3e0 to
a264052
Compare
🦑 📈 ink! Example Contracts ‒ Changes Report 📉 🦑These are the results when building the Show overviewUsing the ABI denoted in the contract manifest.
Show diagramgantt
dateFormat x
axisFormat x
section
./integration-tests/all-abi/events : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 18412 kb : a1, 0, 18412
pr default abi - 18397 kb : a1, 0, 18397
pr sol abi - 18397 kb : a2, 0, 18397
pr all abi - 18397 kb : a3, 0, 18397
#nbsp; : a4, 0, 0
section
./integration-tests/internal/builtin-precompiles : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 4491 kb : a1, 0, 4491
pr default abi - 4491 kb : a1, 0, 4491
pr sol abi - 6083 kb : a2, 0, 6083
pr all abi - 7445 kb : a3, 0, 7445
#nbsp; : a4, 0, 0
section
./integration-tests/internal/call-builder-return-value : a5, 0, 0
v5 default abi - 8924 kb : a1, 0, 8924
master default abi - 9161 kb : a1, 0, 9161
pr default abi - 9161 kb : a1, 0, 9161
pr sol abi - 0 kb : a2, 0, 0
pr all abi - 0 kb : a3, 0, 0
#nbsp; : a4, 0, 0
section
./integration-tests/internal/data-hostfns : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 1147 kb : a1, 0, 1147
pr default abi - 1146 kb : a1, 0, 1146
pr sol abi - 1253 kb : a2, 0, 1253
pr all abi - 1613 kb : a3, 0, 1613
#nbsp; : a4, 0, 0
section
./integration-tests/internal/e2e-runtime-only-backend : a5, 0, 0
v5 default abi - 1925 kb : a1, 0, 1925
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/gas-hostfns : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 1197 kb : a1, 0, 1197
pr default abi - 1197 kb : a1, 0, 1197
pr sol abi - 1307 kb : a2, 0, 1307
pr all abi - 1758 kb : a3, 0, 1758
#nbsp; : a4, 0, 0
section
./integration-tests/internal/lang-err/call-builder : a5, 0, 0
v5 default abi - 2612 kb : a1, 0, 2612
master default abi - 8192 kb : a1, 0, 8192
pr default abi - 8193 kb : a1, 0, 8193
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 - 2612 kb : a1, 0, 2612
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 - 2011 kb : a1, 0, 2011
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 - 5087 kb : a1, 0, 5087
master default abi - 6732 kb : a1, 0, 6732
pr default abi - 6732 kb : a1, 0, 6732
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 - 1910 kb : a1, 0, 1910
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 - 10627 kb : a1, 0, 10627
pr default abi - 10628 kb : a1, 0, 10628
pr sol abi - 0 kb : a2, 0, 0
pr all abi - 0 kb : a3, 0, 0
#nbsp; : a4, 0, 0
section
./integration-tests/internal/misc-hostfns : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 2203 kb : a1, 0, 2203
pr default abi - 2204 kb : a1, 0, 2204
pr sol abi - 2129 kb : a2, 0, 2129
pr all abi - 2333 kb : a3, 0, 2333
#nbsp; : a4, 0, 0
section
./integration-tests/internal/mother : a5, 0, 0
v5 default abi - 12681 kb : a1, 0, 12681
master default abi - 15034 kb : a1, 0, 15034
pr default abi - 15034 kb : a1, 0, 15034
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 - 1310 kb : a1, 0, 1310
pr default abi - 1310 kb : a1, 0, 1310
pr sol abi - 2173 kb : a2, 0, 2173
pr all abi - 2671 kb : a3, 0, 2671
#nbsp; : a4, 0, 0
section
./integration-tests/internal/own-code-hash : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 3373 kb : a1, 0, 3373
pr default abi - 3373 kb : a1, 0, 3373
pr sol abi - 2951 kb : a2, 0, 2951
pr all abi - 4056 kb : a3, 0, 4056
#nbsp; : a4, 0, 0
section
./integration-tests/internal/sr25519-verification : a5, 0, 0
v5 default abi - 1082 kb : a1, 0, 1082
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 - 3003 kb : a1, 0, 3003
pr default abi - 3003 kb : a1, 0, 3003
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 - 11369 kb : a1, 0, 11369
master default abi - 16779 kb : a1, 0, 16779
pr default abi - 16780 kb : a1, 0, 16780
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 - 2314 kb : a1, 0, 2314
pr default abi - 2314 kb : a1, 0, 2314
pr sol abi - 2243 kb : a2, 0, 2243
pr all abi - 2770 kb : a3, 0, 2770
#nbsp; : a4, 0, 0
section
./integration-tests/public/bytes : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 4847 kb : a1, 0, 4847
pr default abi - 4847 kb : a1, 0, 4847
pr sol abi - 4847 kb : a2, 0, 4847
pr all abi - 7535 kb : a3, 0, 7535
#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 - 4857 kb : a1, 0, 4857
pr default abi - 4858 kb : a1, 0, 4858
pr sol abi - 7500 kb : a2, 0, 7500
pr all abi - 9141 kb : a3, 0, 9141
#nbsp; : a4, 0, 0
section
./integration-tests/public/conditional-compilation : a5, 0, 0
v5 default abi - 1460 kb : a1, 0, 1460
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 - 7952 kb : a1, 0, 7952
pr default abi - 7952 kb : a1, 0, 7952
pr sol abi - 8741 kb : a2, 0, 8741
pr all abi - 11825 kb : a3, 0, 11825
#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 - 2138 kb : a2, 0, 2138
pr all abi - 2892 kb : a3, 0, 2892
#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 - 2102 kb : a2, 0, 2102
pr all abi - 2782 kb : a3, 0, 2782
#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 - 4406 kb : a1, 0, 4406
pr default abi - 4406 kb : a1, 0, 4406
pr sol abi - 5539 kb : a2, 0, 5539
pr all abi - 6443 kb : a3, 0, 6443
#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 - 2127 kb : a2, 0, 2127
pr all abi - 2521 kb : a3, 0, 2521
#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 - 2139 kb : a2, 0, 2139
pr all abi - 2547 kb : a3, 0, 2547
#nbsp; : a4, 0, 0
section
./integration-tests/public/contract-storage : a5, 0, 0
v5 default abi - 7459 kb : a1, 0, 7459
master default abi - 7624 kb : a1, 0, 7624
pr default abi - 7624 kb : a1, 0, 7624
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 - 1314 kb : a1, 0, 1314
master default abi - 1928 kb : a1, 0, 1928
pr default abi - 1928 kb : a1, 0, 1928
pr sol abi - 2012 kb : a2, 0, 2012
pr all abi - 2328 kb : a3, 0, 2328
#nbsp; : a4, 0, 0
section
./integration-tests/public/contract-transfer : a5, 0, 0
v5 default abi - 1520 kb : a1, 0, 1520
master default abi - 2738 kb : a1, 0, 2738
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
./integration-tests/public/contract-xcm : a5, 0, 0
v5 default abi - 18805 kb : a1, 0, 18805
master default abi - 28631 kb : a1, 0, 28631
pr default abi - 28630 kb : a1, 0, 28630
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 : a5, 0, 0
v5 default abi - 7471 kb : a1, 0, 7471
master default abi - 8457 kb : a1, 0, 8457
pr default abi - 8457 kb : a1, 0, 8457
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 - 1591 kb : a1, 0, 1591
master default abi - 1775 kb : a1, 0, 1775
pr default abi - 1775 kb : a1, 0, 1775
pr sol abi - 1550 kb : a2, 0, 1550
pr all abi - 2361 kb : a3, 0, 2361
#nbsp; : a4, 0, 0
section
./integration-tests/public/custom-allocator : a5, 0, 0
v5 default abi - 7993 kb : a1, 0, 7993
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 - 2062 kb : a1, 0, 2062
master default abi - 2726 kb : a1, 0, 2726
pr default abi - 2726 kb : a1, 0, 2726
pr sol abi - 1738 kb : a2, 0, 1738
pr all abi - 3167 kb : a3, 0, 3167
#nbsp; : a4, 0, 0
section
./integration-tests/public/debugging-strategies : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 4429 kb : a1, 0, 4429
pr default abi - 4427 kb : a1, 0, 4427
pr sol abi - 4200 kb : a2, 0, 4200
pr all abi - 5290 kb : a3, 0, 5290
#nbsp; : a4, 0, 0
section
./integration-tests/public/dns : a5, 0, 0
v5 default abi - 7142 kb : a1, 0, 7142
master default abi - 10126 kb : a1, 0, 10126
pr default abi - 10126 kb : a1, 0, 10126
pr sol abi - 10407 kb : a2, 0, 10407
pr all abi - 14248 kb : a3, 0, 14248
#nbsp; : a4, 0, 0
section
./integration-tests/public/e2e-call-runtime : a5, 0, 0
v5 default abi - 1182 kb : a1, 0, 1182
master default abi - 1563 kb : a1, 0, 1563
pr default abi - 1563 kb : a1, 0, 1563
pr sol abi - 1436 kb : a2, 0, 1436
pr all abi - 2049 kb : a3, 0, 2049
#nbsp; : a4, 0, 0
section
./integration-tests/public/erc1155 : a5, 0, 0
v5 default abi - 14566 kb : a1, 0, 14566
master default abi - 20782 kb : a1, 0, 20782
pr default abi - 20782 kb : a1, 0, 20782
pr sol abi - 0 kb : a2, 0, 0
pr all abi - 35551 kb : a3, 0, 35551
#nbsp; : a4, 0, 0
section
./integration-tests/public/erc20 : a5, 0, 0
v5 default abi - 6993 kb : a1, 0, 6993
master default abi - 10459 kb : a1, 0, 10459
pr default abi - 10457 kb : a1, 0, 10457
pr sol abi - 12478 kb : a2, 0, 12478
pr all abi - 17293 kb : a3, 0, 17293
#nbsp; : a4, 0, 0
section
./integration-tests/public/erc721 : a5, 0, 0
v5 default abi - 9754 kb : a1, 0, 9754
master default abi - 12038 kb : a1, 0, 12038
pr default abi - 12038 kb : a1, 0, 12038
pr sol abi - 15002 kb : a2, 0, 15002
pr all abi - 20632 kb : a3, 0, 20632
#nbsp; : a4, 0, 0
section
./integration-tests/public/events : a5, 0, 0
v5 default abi - 4955 kb : a1, 0, 4955
master default abi - 8455 kb : a1, 0, 8455
pr default abi - 8458 kb : a1, 0, 8458
pr sol abi - 12532 kb : a2, 0, 12532
pr all abi - 17686 kb : a3, 0, 17686
#nbsp; : a4, 0, 0
section
./integration-tests/public/fallible-setter : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 2632 kb : a1, 0, 2632
pr default abi - 2631 kb : a1, 0, 2631
pr sol abi - 2631 kb : a2, 0, 2631
pr all abi - 3172 kb : a3, 0, 3172
#nbsp; : a4, 0, 0
section
./integration-tests/public/flipper : a5, 0, 0
v5 default abi - 1701 kb : a1, 0, 1701
master default abi - 1775 kb : a1, 0, 1775
pr default abi - 1775 kb : a1, 0, 1775
pr sol abi - 1550 kb : a2, 0, 1550
pr all abi - 2361 kb : a3, 0, 2361
#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 - 1538 kb : a1, 0, 1538
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 - 5103 kb : a1, 0, 5103
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 - 6420 kb : a1, 0, 6420
master default abi - 11766 kb : a1, 0, 11766
pr default abi - 11768 kb : a1, 0, 11768
pr sol abi - 13757 kb : a2, 0, 13757
pr all abi - 12820 kb : a3, 0, 12820
#nbsp; : a4, 0, 0
section
./integration-tests/public/multi-contract-caller/accumulator : a5, 0, 0
v5 default abi - 1363 kb : a1, 0, 1363
master default abi - 1134 kb : a1, 0, 1134
pr default abi - 1134 kb : a1, 0, 1134
pr sol abi - 1455 kb : a2, 0, 1455
pr all abi - 2013 kb : a3, 0, 2013
#nbsp; : a4, 0, 0
section
./integration-tests/public/multi-contract-caller/adder : a5, 0, 0
v5 default abi - 1733 kb : a1, 0, 1733
master default abi - 3089 kb : a1, 0, 3089
pr default abi - 3090 kb : a1, 0, 3090
pr sol abi - 3202 kb : a2, 0, 3202
pr all abi - 3367 kb : a3, 0, 3367
#nbsp; : a4, 0, 0
section
./integration-tests/public/multi-contract-caller/subber : a5, 0, 0
v5 default abi - 1751 kb : a1, 0, 1751
master default abi - 3093 kb : a1, 0, 3093
pr default abi - 3094 kb : a1, 0, 3094
pr sol abi - 3208 kb : a2, 0, 3208
pr all abi - 3380 kb : a3, 0, 3380
#nbsp; : a4, 0, 0
section
./integration-tests/public/multisig : a5, 0, 0
v5 default abi - 21135 kb : a1, 0, 21135
master default abi - 27548 kb : a1, 0, 27548
pr default abi - 27547 kb : a1, 0, 27547
pr sol abi - 0 kb : a2, 0, 0
pr all abi - 0 kb : a3, 0, 0
#nbsp; : a4, 0, 0
section
./integration-tests/public/payment-channel : a5, 0, 0
v5 default abi - 5720 kb : a1, 0, 5720
master default abi - 7530 kb : a1, 0, 7530
pr default abi - 7530 kb : a1, 0, 7530
pr sol abi - 11440 kb : a2, 0, 11440
pr all abi - 14945 kb : a3, 0, 14945
#nbsp; : a4, 0, 0
section
./integration-tests/public/precompile-demo : a5, 0, 0
v5 default abi - 0 kb : a1, 0, 0
master default abi - 6627 kb : a1, 0, 6627
pr default abi - 6627 kb : a1, 0, 6627
pr sol abi - 8316 kb : a2, 0, 8316
pr all abi - 9579 kb : a3, 0, 9579
#nbsp; : a4, 0, 0
section
./integration-tests/public/runtime-call-contract : a5, 0, 0
v5 default abi - 1592 kb : a1, 0, 1592
master default abi - 1778 kb : a1, 0, 1778
pr default abi - 1778 kb : a1, 0, 1778
pr sol abi - 1550 kb : a2, 0, 1550
pr all abi - 2366 kb : a3, 0, 2366
#nbsp; : a4, 0, 0
section
./integration-tests/public/trait-dyn-cross-contract-calls : a5, 0, 0
v5 default abi - 2808 kb : a1, 0, 2808
master default abi - 3953 kb : a1, 0, 3953
pr default abi - 3953 kb : a1, 0, 3953
pr sol abi - 5672 kb : a2, 0, 5672
pr all abi - 4380 kb : a3, 0, 4380
#nbsp; : a4, 0, 0
section
./integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer : a5, 0, 0
v5 default abi - 1571 kb : a1, 0, 1571
master default abi - 1799 kb : a1, 0, 1799
pr default abi - 1799 kb : a1, 0, 1799
pr sol abi - 1651 kb : a2, 0, 1651
pr all abi - 2448 kb : a3, 0, 2448
#nbsp; : a4, 0, 0
section
./integration-tests/public/trait-erc20 : a5, 0, 0
v5 default abi - 7286 kb : a1, 0, 7286
master default abi - 10858 kb : a1, 0, 10858
pr default abi - 10855 kb : a1, 0, 10855
pr sol abi - 12574 kb : a2, 0, 12574
pr all abi - 17585 kb : a3, 0, 17585
#nbsp; : a4, 0, 0
section
./integration-tests/public/trait-flipper : a5, 0, 0
v5 default abi - 1460 kb : a1, 0, 1460
master default abi - 1728 kb : a1, 0, 1728
pr default abi - 1728 kb : a1, 0, 1728
pr sol abi - 1389 kb : a2, 0, 1389
pr all abi - 2128 kb : a3, 0, 2128
#nbsp; : a4, 0, 0
section
./integration-tests/public/trait-incrementer : a5, 0, 0
v5 default abi - 1630 kb : a1, 0, 1630
master default abi - 1870 kb : a1, 0, 1870
pr default abi - 1870 kb : a1, 0, 1870
pr sol abi - 1820 kb : a2, 0, 1820
pr all abi - 2702 kb : a3, 0, 2702
#nbsp; : a4, 0, 0
section
./integration-tests/public/upgradeable-contracts/delegator : a5, 0, 0
v5 default abi - 3869 kb : a1, 0, 3869
master default abi - 6487 kb : a1, 0, 6487
pr default abi - 6487 kb : a1, 0, 6487
pr sol abi - 9015 kb : a2, 0, 9015
pr all abi - 10942 kb : a3, 0, 10942
#nbsp; : a4, 0, 0
section
./integration-tests/public/upgradeable-contracts/delegator/delegatee : a5, 0, 0
v5 default abi - 1652 kb : a1, 0, 1652
master default abi - 2996 kb : a1, 0, 2996
pr default abi - 2996 kb : a1, 0, 2996
pr sol abi - 2491 kb : a2, 0, 2491
pr all abi - 3285 kb : a3, 0, 3285
#nbsp; : a4, 0, 0
section
./integration-tests/public/upgradeable-contracts/delegator/delegatee2 : a5, 0, 0
v5 default abi - 1652 kb : a1, 0, 1652
master default abi - 2996 kb : a1, 0, 2996
pr default abi - 2996 kb : a1, 0, 2996
pr sol abi - 2491 kb : a2, 0, 2491
pr all abi - 3285 kb : a3, 0, 3285
#nbsp; : a4, 0, 0
section
./integration-tests/public/upgradeable-contracts/set-code-hash : a5, 0, 0
v5 default abi - 1740 kb : a1, 0, 1740
master default abi - 1723 kb : a1, 0, 1723
pr default abi - 1723 kb : a1, 0, 1723
pr sol abi - 2035 kb : a2, 0, 2035
pr all abi - 2642 kb : a3, 0, 2642
#nbsp; : a4, 0, 0
section
./integration-tests/public/upgradeable-contracts/set-code-hash-migration : a5, 0, 0
v5 default abi - 1740 kb : a1, 0, 1740
master default abi - 1723 kb : a1, 0, 1723
pr default abi - 1723 kb : a1, 0, 1723
pr sol abi - 2035 kb : a2, 0, 2035
pr all abi - 2642 kb : a3, 0, 2642
#nbsp; : a4, 0, 0
section
./integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration : a5, 0, 0
v5 default abi - 1302 kb : a1, 0, 1302
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 - 1930 kb : a1, 0, 1930
master default abi - 1901 kb : a1, 0, 1901
pr default abi - 1901 kb : a1, 0, 1901
pr sol abi - 2600 kb : a2, 0, 2600
pr all abi - 3098 kb : a3, 0, 3098
#nbsp; : a4, 0, 0
section
./integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer : a5, 0, 0
v5 default abi - 1717 kb : a1, 0, 1717
master default abi - 1675 kb : a1, 0, 1675
pr default abi - 1675 kb : a1, 0, 1675
pr sol abi - 2024 kb : a2, 0, 2024
pr all abi - 2581 kb : a3, 0, 2581
#nbsp; : a4, 0, 0
section
./integration-tests/public/wildcard-selector : a5, 0, 0
v5 default abi - 3234 kb : a1, 0, 3234
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 - 11801 kb : a1, 0, 11801
pr default abi - 11815 kb : a1, 0, 11815
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 - 4492 kb : a1, 0, 4492
pr default abi - 4492 kb : a1, 0, 4492
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 - 2138 kb : a1, 0, 2138
pr default abi - 2138 kb : a1, 0, 2138
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 - 2063 kb : a1, 0, 2063
pr default abi - 2063 kb : a1, 0, 2063
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 - 7074 kb : a1, 0, 7074
pr default abi - 7074 kb : a1, 0, 7074
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 - 5672 kb : a1, 0, 5672
pr default abi - 5672 kb : a1, 0, 5672
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 - 1651 kb : a1, 0, 1651
pr default abi - 1651 kb : a1, 0, 1651
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 - 1389 kb : a1, 0, 1389
pr default abi - 1389 kb : a1, 0, 1389
pr sol abi - 0 kb : a2, 0, 0
pr all abi - 0 kb : a3, 0, 0
#nbsp; : a4, 0, 0
Show contract sizes: ink! vs Solidity ABIThe following table shows how the contract sizes on this branch change when choosing the Solidity ABI instead of the ink! ABI.
Show contract sizes: ink! vs all ABIThe following table shows how the contract sizes on this branch change when choosing the all ABI instead of the ink! ABI.
Link to the run | Last update: Tue Nov 11 15:09:13 CET 2025 |
packed flag to storage_item attributepacked flag to storage_item attribute and improve related diagnostics
b7113ab to
fd12c68
Compare
There was a problem hiding this comment.
Very nice!
#[diagnostic::on_unimplemented(...)]
#[diagnostic::do_not_recommend]
This is such a cool addition! I wasn't aware of those attributes.
Can you think of further places in the codebase where we could utilize them?
@cmichi Yeah, would probably be useful for other "internal" traits that we essentially use for "type-checking" where an error telling the user about a missing trait implementation is not very useful e.g. Another thing we can probably do is convert some type-checking guards that are currently struct-based into trait-based ones to improve their error messages in a similar way e.g. I've created a tracking issue at #2723 (will update with more targets after a more thorough review) |
Summary
Closes #2548
cargo-contractorpallet-revive?Background
A. Contrary to this claim in our docs, the
storage_itemattribute can only be used to derive storage items with "non-packed" layout. Storage items with "packed" layout must instead derive the SCALE codec traits andStorageLayouttrait "manually" like below (also see for details).B. Additionally, when a "non-packed" storage type (e.g. one annotated with
#[ink::storage_item]) is used in a place where a packed storage type is expected (e.g. asVinMapping<K, V: Packed>), the diagnostics are not very helpful in terms of pointing out the real underlying issues for the user. They mainly point to unsatisfied trait bounds for SCALE codec traits likeWrapperTypeEncode,WrapperTypeDecode,scale::Encodeandscale::Decode, because thePackedtrait provides a blanket implementation forPackedforT: scale::Encode + scale::Decode.Description
For (A), this PR add a
packedflag tostorage_itemattribute, which makes deriving storage item with "packed" layout more ergonomic like belowFor (B), this PR uses:
#[diagnostic::on_unimplemented(...)]to add more user friendly diagnostics for thePackedtrait#[diagnostic::do_not_recommend]to deprioritize diagnostics suggestions inferred from the blanket implementation ofPackedbased onscale::Encodeandscale::Decodeimplementations.This produces more helpful diagnostic messages like below for the failing example in #2548

Note that you'll still get a lot errors in the terminal, but at least the top one should now be helpful.
Related TODOs
Checklist before requesting a review
CHANGELOG.md