use-ink / ink

Polkadot's ink! to write smart contracts.
https://use.ink
Apache License 2.0
1.34k stars 424 forks source link

Linter: Add links to detailed lint description #2170

Closed cmichi closed 4 months ago

cmichi commented 4 months ago

Summary

I'll create an accompanying cargo-contract PR so that the new version of these lints is used.

Description

Closes https://github.com/paritytech/ink/issues/2169.

For the linter warnings, I've added a link to the detailed description of the lint on use.ink.

image

Checklist before requesting a review

codecov-commenter commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 54.21%. Comparing base (0e84193) to head (87c5787). Report is 8 commits behind head on master.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #2170 +/- ## ========================================== + Coverage 53.65% 54.21% +0.56% ========================================== Files 225 231 +6 Lines 7095 7204 +109 Branches 3129 3153 +24 ========================================== + Hits 3807 3906 +99 - Misses 3288 3298 +10 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 4 months ago

🦑 📈 ink! Example Contracts ‒ Changes Report 📉 🦑

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

Contract Upstream Size (kB) PR Size (kB) Diff (kB) Diff (%) Change
call-builder-return-value 9.249 9.249 0 0 :heavy_minus_sign:
call-runtime 2.071 2.071 0 0 :heavy_minus_sign:
combined-extension 2.132 2.132 0 0 :heavy_minus_sign:
conditional-compilation 1.502 1.502 0 0 :heavy_minus_sign:
contract-storage 7.58 7.58 0 0 :heavy_minus_sign:
contract-terminate 1.369 1.369 0 0 :heavy_minus_sign:
contract-transfer 1.731 1.731 0 0 :heavy_minus_sign:
cross-contract-calls 7.732 7.732 0 0 :heavy_minus_sign:
cross-contract-calls/other-contract 1.595 1.595 0 0 :heavy_minus_sign:
custom-allocator 7.787 7.787 0 0 :heavy_minus_sign:
custom-environment 2.158 2.158 0 0 :heavy_minus_sign:
dns 7.355 7.355 0 0 :heavy_minus_sign:
e2e-call-runtime 1.32 1.32 0 0 :heavy_minus_sign:
e2e-runtime-only-backend 1.901 1.901 0 0 :heavy_minus_sign:
erc1155 14.345 14.345 0 0 :heavy_minus_sign:
erc20 6.955 6.955 0 0 :heavy_minus_sign:
erc721 10.044 10.044 0 0 :heavy_minus_sign:
events 5.27 5.27 0 0 :heavy_minus_sign:
flipper 1.651 1.651 0 0 :heavy_minus_sign:
incrementer 1.516 1.516 0 0 :heavy_minus_sign:
lang-err-integration-tests/call-builder-delegate 2.65 2.65 0 0 :heavy_minus_sign:
lang-err-integration-tests/call-builder 5.571 5.571 0 0 :heavy_minus_sign:
lang-err-integration-tests/constructors-return-value 1.997 1.997 0 0 :heavy_minus_sign:
lang-err-integration-tests/contract-ref 5.062 5.062 0 0 :heavy_minus_sign:
lang-err-integration-tests/integration-flipper 1.827 1.827 0 0 :heavy_minus_sign:
lazyvec-integration-test 4.66 4.66 0 0 :heavy_minus_sign:
mapping-integration-tests 8.036 8.036 0 0 :heavy_minus_sign:
mother 12.753 12.753 0 0 :heavy_minus_sign:
multi-contract-caller 6.654 6.654 0 0 :heavy_minus_sign:
multi-contract-caller/accumulator 1.388 1.388 0 0 :heavy_minus_sign:
multi-contract-caller/adder 1.922 1.922 0 0 :heavy_minus_sign:
multi-contract-caller/subber 1.942 1.942 0 0 :heavy_minus_sign:
multisig 21.871 21.871 0 0 :heavy_minus_sign:
payment-channel 5.742 5.742 0 0 :heavy_minus_sign:
psp22-extension 7.083 7.083 0 0 :heavy_minus_sign:
rand-extension 2.977 2.977 0 0 :heavy_minus_sign:
sr25519-verification 1.154 1.154 0 0 :heavy_minus_sign:
static-buffer 2.578 2.578 0 0 :heavy_minus_sign:
trait-dyn-cross-contract-calls 2.899 2.899 0 0 :heavy_minus_sign:
trait-dyn-cross-contract-calls/contracts/incrementer 1.557 1.557 0 0 :heavy_minus_sign:
trait-erc20 7.331 7.331 0 0 :heavy_minus_sign:
trait-flipper 1.502 1.502 0 0 :heavy_minus_sign:
trait-incrementer 1.626 1.626 0 0 :heavy_minus_sign:
upgradeable-contracts/delegator 3.96 3.96 0 0 :heavy_minus_sign:
upgradeable-contracts/delegator/delegatee 1.641 1.641 0 0 :heavy_minus_sign:
upgradeable-contracts/delegator/delegatee2 1.641 1.641 0 0 :heavy_minus_sign:
upgradeable-contracts/set-code-hash-migration 1.755 1.755 0 0 :heavy_minus_sign:
upgradeable-contracts/set-code-hash-migration/migration 1.462 1.462 0 0 :heavy_minus_sign:
upgradeable-contracts/set-code-hash-migration/updated-incrementer 1.909 1.909 0 0 :heavy_minus_sign:
upgradeable-contracts/set-code-hash 1.755 1.755 0 0 :heavy_minus_sign:
upgradeable-contracts/set-code-hash/updated-incrementer 1.733 1.733 0 0 :heavy_minus_sign:
wildcard-selector 2.858 2.858 0 0 :heavy_minus_sign:

Link to the run | Last update: Wed Mar 20 20:38:09 CET 2024

cmichi commented 4 months ago

What do you think about implementing a more generic approach similar to clippy?

That sounds good! I'd merge this to have something in right now and create a follow-up ticket.