From a256e78bf96d45a07e30c68690163b45883bf34a Mon Sep 17 00:00:00 2001 From: gabrielstoica Date: Thu, 7 Nov 2024 13:16:40 +0200 Subject: [PATCH] build: install & configure prettier and solhint --- .solhint.json | 19 +++++++++++++++++++ .vscode/settings.json | 2 -- bun.lockb | Bin 5411 -> 42895 bytes foundry.toml | 2 +- package.json | 12 +++++++++++- 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 .solhint.json diff --git a/.solhint.json b/.solhint.json new file mode 100644 index 00000000..3b098b59 --- /dev/null +++ b/.solhint.json @@ -0,0 +1,19 @@ +{ + "extends": "solhint:recommended", + "rules": { + "avoid-low-level-calls": "off", + "code-complexity": ["error", 9], + "compiler-version": ["error", ">=0.8.22"], + "contract-name-camelcase": "off", + "const-name-snakecase": "off", + "func-name-mixedcase": "off", + "func-visibility": ["error", { "ignoreConstructors": true }], + "gas-custom-errors": "off", + "max-line-length": ["error", 124], + "named-parameters-mapping": "warn", + "no-empty-blocks": "off", + "not-rely-on-time": "off", + "one-contract-per-file": "off", + "var-name-mixedcase": "off" + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json index b5389030..ce12ac29 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,4 @@ { - "solidity.packageDefaultDependenciesContractsDirectory": "src", - "solidity.packageDefaultDependenciesDirectory": "lib", "editor.formatOnSave": true, "[solidity]": { "editor.defaultFormatter": "NomicFoundation.hardhat-solidity" diff --git a/bun.lockb b/bun.lockb index 5446f411d75bb4ba0147974e69dc8fc6be9128be..2a82ff7fbaa77db375c208b95b1e029157221144 100755 GIT binary patch literal 42895 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 h%!{TY;#{=-3yt25%B+|`#-!(<$?eJ delta 848 zcmeA_&$L);f}W-A963zvM0o{k1=O_RHBDtS5^wfC2Bs zaQUoAUI+(4Mgy7R3=9o#fwVG^J_n@bfwVSMd^eC52J(yZa}rZ385q2Qd;uWe2}pAy zsYB;a7GTMkyn;P|v1sy7c6&yF$(9`Uj0KY`IqX?aFfuTBOt$5)28#X!ipEX0<`u86KKn4SY z7i=)lTVMdA;>^^Eik7#N}_|1UR|hNYdGvX@KdFN;_YlsDEh2FYtr_N|aKgQc}r z=Nq^0=d!GZ>IX(8EH(bP>~UDA_UkU7j0rH3jX^S#=Tt~YYXhAFO18ml9s!c&?`ASF zn(7(o839F|CZDg6_CLskNJV I^2KHQ0Id