From 2df3e6444d576de890f9c6661e82d47a1945dfb1 Mon Sep 17 00:00:00 2001 From: "mia von steinkirch, phd" <1130416+mvonsteinkirch@users.noreply.github.com> Date: Sat, 24 Dec 2022 19:54:41 -0800 Subject: [PATCH] clean up (#3) --- README.md | 126 ++---- attack_reviews/{ => 2022}/bnb_bridge.md | 0 attack_reviews/{ => 2022}/profanity.md | 1 - attack_reviews/README.md | 25 +- attack_reviews/analysing_txs/cream.md | 3 - cosmos/README.md | 29 +- cryptography/README.md | 6 +- decentralized_storage/README.md | 9 +- .../README.md | 2 +- evm_and_opcodes/README.md | 14 +- foundry/README.md | 8 - .../Screen Shot 2022-11-11 at 10.31.37 AM.png | Bin 318784 -> 0 bytes {gray_hat_stuff => gray_hat_tools}/README.md | 2 +- hardhat/README.md | 13 +- l2_and_rollups/README.md | 25 +- l2_and_rollups/circom.md | 2 +- oracles/README.md | 7 +- rust/README.md | 9 - solana/README.md | 11 +- solidity/README.md | 16 - solidity/abi_encoding.md | 24 - solidity/boilerplates/README.md | 6 - .../erc721-solidity-101/.env_sample | 5 - .../erc721-solidity-101/README.md | 20 - .../erc721-solidity-101/contracts/MiaNFT.sol | 28 -- .../erc721-solidity-101/hardhat.config.js | 19 - .../erc721-solidity-101/package.json | 23 - .../scripts/deploy-contract.js | 14 - .../erc721-solidity-101/scripts/mint-nft.js | 41 -- .../boilerplates/learning/hello-world.sol | 32 -- solidity/boilerplates/learning/token.sol | 58 --- solidity/saving_gas.md | 153 ------- solidity/set_your_workspace/remix-IDE.md | 68 --- solidity/solidity_tldr.md | 412 ------------------ solidity/solidity_topics.md | 8 - solidity/tests/README.md | 35 -- solidity/tests/unit-testing.md | 63 --- solidity/token_standards/README.md | 41 -- solidity/token_standards/erc20.md | 73 ---- solidity/token_standards/erc721.md | 41 -- solidity/token_standards/erc777.md | 67 --- .../README.md | 2 +- tenderly/README.md | 6 - vulnerabilities/README.md | 24 +- vulnerabilities/arithmetic-bugs-notes.md | 1 - vulnerabilities/{ddos-notes.md => ddos.md} | 2 +- vulnerabilities/delegatecall/README.md | 2 +- vulnerabilities/delegatecall/proxies.md | 40 +- vulnerabilities/governance_attacks.md | 11 - vulnerabilities/pentesting.md | 3 - vulnerabilities/proxies.md | 43 -- vulnerabilities/random_numbers.md | 7 +- vulnerabilities/sandwich-notes.md | 9 - vulnerabilities/security_tips.md | 13 - 54 files changed, 170 insertions(+), 1532 deletions(-) rename attack_reviews/{ => 2022}/bnb_bridge.md (100%) rename attack_reviews/{ => 2022}/profanity.md (85%) delete mode 100644 attack_reviews/analysing_txs/cream.md rename {dynamic_analysis_tools => dynamic_analysis}/README.md (93%) delete mode 100644 foundry/README.md delete mode 100644 gray_hat_stuff/Screen Shot 2022-11-11 at 10.31.37 AM.png rename {gray_hat_stuff => gray_hat_tools}/README.md (95%) delete mode 100644 rust/README.md delete mode 100644 solidity/README.md delete mode 100644 solidity/abi_encoding.md delete mode 100644 solidity/boilerplates/README.md delete mode 100644 solidity/boilerplates/erc721-solidity-101/.env_sample delete mode 100644 solidity/boilerplates/erc721-solidity-101/README.md delete mode 100644 solidity/boilerplates/erc721-solidity-101/contracts/MiaNFT.sol delete mode 100644 solidity/boilerplates/erc721-solidity-101/hardhat.config.js delete mode 100644 solidity/boilerplates/erc721-solidity-101/package.json delete mode 100644 solidity/boilerplates/erc721-solidity-101/scripts/deploy-contract.js delete mode 100644 solidity/boilerplates/erc721-solidity-101/scripts/mint-nft.js delete mode 100644 solidity/boilerplates/learning/hello-world.sol delete mode 100644 solidity/boilerplates/learning/token.sol delete mode 100644 solidity/saving_gas.md delete mode 100644 solidity/set_your_workspace/remix-IDE.md delete mode 100644 solidity/solidity_tldr.md delete mode 100644 solidity/solidity_topics.md delete mode 100644 solidity/tests/README.md delete mode 100644 solidity/tests/unit-testing.md delete mode 100644 solidity/token_standards/README.md delete mode 100644 solidity/token_standards/erc20.md delete mode 100644 solidity/token_standards/erc721.md delete mode 100644 solidity/token_standards/erc777.md rename {static_analysis_tools => static_analysis}/README.md (94%) delete mode 100644 tenderly/README.md delete mode 100644 vulnerabilities/arithmetic-bugs-notes.md rename vulnerabilities/{ddos-notes.md => ddos.md} (91%) delete mode 100644 vulnerabilities/governance_attacks.md delete mode 100644 vulnerabilities/pentesting.md delete mode 100644 vulnerabilities/proxies.md delete mode 100644 vulnerabilities/sandwich-notes.md delete mode 100644 vulnerabilities/security_tips.md diff --git a/README.md b/README.md index 2ec3494..12636ac 100644 --- a/README.md +++ b/README.md @@ -8,73 +8,35 @@
--- -## ๐Ÿฉ dirs in this repo - -
- -#### ethereum - -
- -* [the evm && opcodes](evm_and_opcodes) -* [solidity](master_solidity) +### ๐Ÿฉ dirs in this repo - -
- -#### other chains - -* [solana](solana) +* [attack_reviews](attack_reviews) * [cosmos](cosmos) -* [rust](rust) - -
- -#### tools - -
- -* [static analysis](static_analysis_tools) -* [dynamic analysis](dynamic_analysis_tools) -* [hardhat](hardhat) -* [foundry](foundry) -* [tenderly](tenderly) -* [oracles](oracles) - -
- -#### general - -
- -* [vulnerabilities](vulnerabilities) -* [attack reviews](attack_reviews) * [cryptography](cryptography) * [decentralized storage](decentralized_storage) +* [dynamic analysis](dynamic_analysis) +* [the evm && opcodes](evm_and_opcodes) +* [gray hacker tools](gray_hat_tools) +* [hardhat](hardhat) * [l2s && rollups](l2_and_rollups) -* [gray hacker stuff](gray_hat_stuff) +* [oracles](oracles) +* [solana](solana) +* [static analysis](static_analysis) +* [vulnerabilities](vulnerabilities) + + + +
+ --- -## ๐Ÿง the evm - -
+## ๐Ÿ— solidity -* [Ethereum book](https://github.com/ethereumbook/ethereumbook) -* [Ethereum's Whitepaper](https://ethereum.org/en/whitepaper/) -* [Understanding rollups](https://barnabe.substack.com/p/understanding-rollup-economics-from?s=r) - - -
- ---- -## ๐Ÿ‰ solidity - -
* [Solidity docs](https://docs.soliditylang.org/en/v0.8.12/) * [OpenZeppelin docs](https://docs.openzeppelin.com/) @@ -89,13 +51,16 @@ * [Vscode plugin: Solidity visual](https://marketplace.visualstudio.com/items?itemName=tintinweb.solidity-visual-auditor) * [Vscode plugin: Solidity support](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity) * [Dapp university](https://www.youtube.com/c/DappUniversity) +* [foundry website](https://getfoundry.sh/) +* [foundry book](https://book.getfoundry.sh/forge/differential-ffi-testing) +* [foundry repo](https://github.com/foundry-rs/foundry) +* [ethernaut x foundry](https://github.com/ciaranmcveigh5/ethernaut-x-foundry)
---- -## ๐ŸŒถ all things security +### ๐Ÿ” all things security -
* [SWC Registry](https://swcregistry.io/) * [Blockchain Security Database](https://consensys.github.io/blockchainSecurityDB/) @@ -133,27 +98,12 @@ * [Bug Bounty 101](https://www.youtube.com/watch?v=S-Z2iwbT1Fg) -
- -#### documented defi and blockchains exploits - -
- -* [everything flashloans](https://github.com/MEV-WAIFU-LABS/mev_toolkit/tree/main/flashloans) -* [defi hacks](https://cryptosec.info/defi-hacks/) -* [Rug Doc Wiki](https://wiki.rugdoc.io/) -* [246 Findings From our Smart Contract Audits](https://blog.trailofbits.com/2019/08/08/246-findings-from-our-smart-contract-audits-an-executive-summary/) -* [rug pull checker tools](https://graph.org/A-Short-List-of-the-Rug-Checker-Tools-04-09) - - -
- --- -## ๐Ÿฅž contracts of interest +### ๐Ÿฅž contracts of interest + -
* [Uniswap v3](https://github.com/Uniswap/v3-core/tree/main/contracts) * [Chainlink](https://github.com/smartcontractkit/chainlink/tree/develop/contracts/src/v0.4) @@ -167,9 +117,7 @@
--- -## ๐Ÿง practice your hacking skils - -
+### ๐ŸŸ practice your hacking skils * [Capture the Ether](https://capturetheether.com/) * [the ethernaut](https://ethernaut.openzeppelin.com/) @@ -191,14 +139,8 @@
--- -## ๐Ÿฐ hacking tools - -
- - - -#### ethereum general +### ๐Ÿฅ“ relevant hacking tools * [Ethstats](https://ethstats.net/) @@ -211,13 +153,6 @@ * [ERC20 verifier](https://erc20-verifier.openzeppelin.com/) and [the source code](https://github.com/tinchoabbate/slither-scripts/tree/master/erc20) * [ANKR RPC gateway](ankr.com/rpc/) * [burp's web3 decoder](https://github.com/nccgroup/web3-decoder) - - - -
- -#### somehow relevant - * [Oyente, analysis Tool for Smart Contracts](https://github.com/enzymefinance/oyente) * [Trail of Bits' Ethereum Security Toolbox](https://github.com/trailofbits/eth-security-toolbox) * [Securify, Security scanner for Ethereum smart contracts](https://github.com/eth-sri/securify2) @@ -231,14 +166,7 @@ * [EVM-trace, Ethereum Virtual Machine transaction tracing tool](https://github.com/ApeWorX/evm-trace) * [Sleuthing Hashed Function Signature and Event Signature on Ethereum](https://dune.com/agaperste/event-and-function-signature-sleuthing?) * [Pratical overview of classic system security](http://www.astro.sunysb.edu/steinkirch/books/security_hw.txt) -* [socketscan, track bridge transactions](https://socketscan.io/) - - - -
- -#### other useful tools - +* [socketscan, track bridge transactions](https://socketscan.io/)s * [Solhint, a linter for Solidity](https://github.com/protofire/solhint) * [Solidity coverage tool](https://github.com/sc-forks/solidity-coverage) * [JSON formatter](https://jsonformatter.curiousconcept.com/) @@ -259,6 +187,6 @@ * [cookbook.dev](https://www.cookbook.dev/) * [detect metamorphic contracts](https://metamorphic.a16zcrypto.com/) * [rpcs list by privacy](https://chainlist.org/) +* [tenderly](https://dashboard.tenderly.co/) -
diff --git a/attack_reviews/bnb_bridge.md b/attack_reviews/2022/bnb_bridge.md similarity index 100% rename from attack_reviews/bnb_bridge.md rename to attack_reviews/2022/bnb_bridge.md diff --git a/attack_reviews/profanity.md b/attack_reviews/2022/profanity.md similarity index 85% rename from attack_reviews/profanity.md rename to attack_reviews/2022/profanity.md index 2acd310..29034a2 100644 --- a/attack_reviews/profanity.md +++ b/attack_reviews/2022/profanity.md @@ -2,5 +2,4 @@
-* [wintermute]() * [indexed finance](https://twitter.com/BlockSecTeam/status/1579514418731560961) diff --git a/attack_reviews/README.md b/attack_reviews/README.md index c797c4d..d4be9f7 100644 --- a/attack_reviews/README.md +++ b/attack_reviews/README.md @@ -1,18 +1,15 @@ -## ๐Ÿฅฅ vulnerabilities - -
- -#### data from big hacks - -* [profanity files](profanity.md) -* [BNB bridge](bnb_bridge.md) - -
+## attack reviews -#### in depth reviews +* [2022 attacks](2022) +* [2023 attacks](2023) +* [immunefi bug fix reviews](top_immunefi_vulnerabilities) -
-* [top immunefi bug fix reviews](https://github.com/bt3gl-labs/1337_blockchain_hacker_toolkit/tree/main/vulnerabilities/top_immunefi_vulnerabilities) -* [analysing txs](https://github.com/bt3gl-labs/1337_blockchain_hacker_toolkit/tree/main/attack_reviews/analysing_txs) + +### resources + +* [defi hacks](https://cryptosec.info/defi-hacks/) +* [Rug Doc Wiki](https://wiki.rugdoc.io/) +* [246 Findings From our Smart Contract Audits](https://blog.trailofbits.com/2019/08/08/246-findings-from-our-smart-contract-audits-an-executive-summary/) +* [rug pull checker tools](https://graph.org/A-Short-List-of-the-Rug-Checker-Tools-04-09) diff --git a/attack_reviews/analysing_txs/cream.md b/attack_reviews/analysing_txs/cream.md deleted file mode 100644 index f6ee5f1..0000000 --- a/attack_reviews/analysing_txs/cream.md +++ /dev/null @@ -1,3 +0,0 @@ -## Cream hack analysis - -
diff --git a/cosmos/README.md b/cosmos/README.md index 058107d..dc38302 100644 --- a/cosmos/README.md +++ b/cosmos/README.md @@ -1,18 +1,18 @@ -## ๐Ÿง„ Cosmos and IBC +## cosmos and IBC + +### tl; dr + +* IBC is an interoperability protocol for communicating arbitrary data between arbitrary state machines. + +* The protocol consists of two distinct layers: the transport layer (TAO) which provides the necessary infrastructure to establish secure connections and authenticate data packets between chains, and the application layer, which defines exactly how these data packets should be packaged and interpreted by the sending and receiving chains. + +* The IBC application layer can be used to build a wide range of cross-chain applications, including but not limited to token transfers, interchain accounts (delegate calls between two chains), non-fungible token transfers and oracle data feeds.
-*IBC is an interoperability protocol for communicating arbitrary data between arbitrary state machines.* +--- +### resources -*The protocol consists of two distinct layers: the transport layer (TAO) which provides the necessary infrastructure to establish secure connections and authenticate data packets between chains, and the application layer, which defines exactly how these data packets should be packaged and interpreted by the sending and receiving chains.* - -*The IBC application layer can be used to build a wide range of cross-chain applications, including but not limited to token transfers, interchain accounts (delegate calls between two chains), non-fungible token transfers and oracle data feeds.* - -
- -### building - -
* [cosmos developer portal](https://tutorials.cosmos.network/) * [cosmos sdk](https://github.com/cosmos/cosmos-sdk/) @@ -23,13 +23,6 @@ * [ignite](https://github.com/ignite/cli) * [gravity bridge](https://github.com/cosmos/gravity-bridge) * [ethermint](https://github.com/evmos/ethermint) - -
- -### block explorers and data - -
- * [atom scan](https://atomscan.com/) * [big dipper](https://bigdipper.live/) * [iob scan](https://ibc.iobscan.io/home) diff --git a/cryptography/README.md b/cryptography/README.md index a38651e..d97f400 100644 --- a/cryptography/README.md +++ b/cryptography/README.md @@ -1,6 +1,10 @@ -## ๐Ÿฅจ cryptography +## cryptography
+--- + +### resources + * [keccak](keccak.md) * [asymmetric cryptography](asymmetric_crypto.md) diff --git a/decentralized_storage/README.md b/decentralized_storage/README.md index 2599703..7f5b08c 100644 --- a/decentralized_storage/README.md +++ b/decentralized_storage/README.md @@ -1,9 +1,12 @@ -## ๐Ÿ’ decentralized storage +## decentralized storage + +### tl; dr +
-### Articles +---- +### resources -
* [forgotten IPFS vulns](https://consensys.net/diligence/blog/2022/09/the-forgotten-ipfs-vulnerabilities) diff --git a/dynamic_analysis_tools/README.md b/dynamic_analysis/README.md similarity index 93% rename from dynamic_analysis_tools/README.md rename to dynamic_analysis/README.md index 374ad13..b3c6001 100644 --- a/dynamic_analysis_tools/README.md +++ b/dynamic_analysis/README.md @@ -1,4 +1,4 @@ -## ๐Ÿ– dynamic analysis tools +## dynamic analysis tools
diff --git a/evm_and_opcodes/README.md b/evm_and_opcodes/README.md index fd24043..5c0953e 100644 --- a/evm_and_opcodes/README.md +++ b/evm_and_opcodes/README.md @@ -1,6 +1,5 @@ -## ๐Ÿฑ the evm +## the evm -
### tl;dr @@ -30,13 +29,8 @@ * [opcodes for the evm](https://ethereum.org/en/developers/docs/evm/opcodes/) * [opcodes and instruction reference](https://github.com/crytic/evm-opcodes) * [EVM Contract Construction](https://blog.smlxl.io/evm-contract-construction-93c98cc4ca96) - - -
- -##### disassemblers - -
- * [ethersplay](https://github.com/crytic/ethersplay) * [IDA EVM](https://github.com/crytic/ida-evm) +* [Ethereum book](https://github.com/ethereumbook/ethereumbook) +* [Ethereum's Whitepaper](https://ethereum.org/en/whitepaper/) +* [Understanding rollups](https://barnabe.substack.com/p/understanding-rollup-economics-from?s=r) diff --git a/foundry/README.md b/foundry/README.md deleted file mode 100644 index 7735d5d..0000000 --- a/foundry/README.md +++ /dev/null @@ -1,8 +0,0 @@ -## ๐Ÿฅฉ foundry - -
- -* [foundry website](https://getfoundry.sh/) -* [foundry book](https://book.getfoundry.sh/forge/differential-ffi-testing) -* [foundry repo](https://github.com/foundry-rs/foundry) -* [ethernaut x foundry](https://github.com/ciaranmcveigh5/ethernaut-x-foundry) diff --git a/gray_hat_stuff/Screen Shot 2022-11-11 at 10.31.37 AM.png b/gray_hat_stuff/Screen Shot 2022-11-11 at 10.31.37 AM.png deleted file mode 100644 index d2c1f1861001c69e065bbccf0ffbb81074233ca6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318784 zcmeFa2V7Il+UQGBKvBVhh;$HX(iNnJj#wxnQlu!L2uKrfM{l=+L&DX($the=Ome) zek^=gO0(+1;cupzTL;)xdB4~(I*4iwGdHZ|Li;de3Q$gg?b8wp4D8r)gxO!SYcq*DQT4uUuAf^mLcL<>cvbTROnqi&hSuT7U|8 z=ziPxmOy~}Jr5t10Cl0AGgQE1TC|Liz|JYYZt6moS4;$SJn!EYP?VOHmKD<2FCZYG zcHila%2i$c-`T-m>OyyYeZ5pa8rTrD8J?}fq$SEr;%gD;h$jeKCXGr-3didT7 zkn->m-Yw*>a&&L|INo>h@^$g_5TKQN%fZvnS6xVmcAlfXm-k^6>e6Ti^}K z&{AaNq-ACPQ8t)WjTWn7;u3KCo|UePJJ@F6H8jpCE2{0B|6ip1eZ_yuY58|fxpNBV z|2gYFCH?2D=03OY>v+0@*Ywr+`+5D&{LhKMGpfnZZvCH{Vz-@lV!?*i*smt@kB6qQ zAJ(P-_AELc7hPjo&!8QHfAq9oDYp9!9@BrmFxn#BOGl?kXQ-=nEr5Qpp{La2(lg$V z#%b9P%!!BJ-<>>OLC107dK!C-yydsNgt5JLbcpZ;Ms-c?Rig=b?l1NArw)A5Y>#$iw?l8XYphdo1RtQ!LxT6HY#ym> z1=0xoY%{j0!Ie@4O}!FLMBI$9_O6UxM4$= z#9pAalRRt?MqQ;Pe$2esz9(TG1B1^IrjJgroc~&o{n$UBAsX>2V#FXXHHt~j`5sVb zhfuLKPo6L0OxtH-(IO(G_X@cQ`L#g7P@+}cRc}1!Ar%CAHL-_M^BBaK^GHasOBy5m zq)tjZ7z+K&uO#8}gh>0juM}T6ynw?YO^xyVV1N&qpH=RSk6VNtP*qyo>1}t-$^KTpA&0n7=rY7WeH_|oM!^hVJlhO-JQYftTYTi#35<;J>pE8( zv+EYPfy%CXEzjCECZ!{eg>5@2vHv;6BwMuar8{_;SG3D4Lw3W5TX*d{O3kKs zQd)LX(23M$I7^3A!Ht{pFC>lppK?A@Uf|28s&T8qRuq@q?v@T?4faZlcvC)z@iYLv z{%j#szKNxAw$!<}aj-7>d!=tMI9+t~1-yYyq~rC04APy&c&vZ$68A-)R_s;IuOylH zFMSv!7|Mc>x?oKZjlhP&;U8f-gEng~f?kFIJ$YUm6cpYb4Gk_^0}s%iKPXBQEZ_V? z*Yy?gODYY0eLsdAb*61NN1r!h4HOf7YN*rE@`sovHaCc-Z%t)T(B&6ohZ{>D4L8T1 zjm)Ggzf3aimkR(~%ws~SwDzhj>CT^`avu~LaoZZcn{WPnQ{#f`l;e+r!Tg4H#1AVrI29ld^Hpe#1ovp;Am6`D9{IgHJ06#DcmdYDHf&jqLdAYV0xoxVjp7=ZowgN${l90m>aVVWcofph6yq3+zxLuJN zdCH!R4i_&yL9Hd%&Ii3!KcGTN8cltcMb*i92v9z-RC3(;L0*HKZ@;l~H?Ew?3hS7F zYCxAE)44Ukdyej^DQd7HlKJ)K_h(s04?WkzQysToYxO zWAp5E8)@oD)hkgEy-gMPS*$}(@n&i}5@%a@s`(=c&!I_du*VhGIUuMq-tU$(H#8UC_>yI*T=TryusPv>G;Yj!j&$GqNw^PoTbEIR2dzB!tKX{U--u2+TMNt^>bxul z66_Cd^xT}y7E@!qASidGs4UW*dU-A$`|6~l!fW>=HeasB@DcL!?sODVW!}{Fk@Y&u zZd?coQZh@aesEBOl1n=6}|=~JvlJ@C$uTB;Q@92h=OZZM*6HOn;>A>GVrk_mZA zSf_TW1OTmfV$}N;ze*r~7ep%@Z$I>zB%`Ram{MhWJy1U&w`+Cp_c^3fV?9uDXaZW! z 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%0AM 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

-*+&R~M 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≠4 z_mgpgh95{J?JL4=E7X87-XZ-xM-ekT+MX8jWd|kIzrUw3`0kgw<0kvQ-2>C7DC{*P zf!2_9HU6#zGHqScmyU?#4{zu$&ovqFp)~lJM*jlMvu+`eFPQAe>woi2+B%1cs2k2` zi&&;!4Y1!FJ$qM#W30h@KEKyA6l~N z`Vb*dgGSu<5IYLjqzo+WMOE7yyeTb|@(1o;q`Sc_Np*A5c0*ZWr# z*@{WtOk5CH%z)3@@cxE{u)i>PPflq<8N(&s2s!WwCrxM7#v%@>i<*tvP;ExpB|qip zcsbo&N%r#R)BpFgnOp7Icc~`w55%1W-#>?)9D~^uR`t`5JV~>xb5omO@q7r0bkE4d zxmE6C?BILYL@kpnmomCLWnE6*^A0yqHp~5c;J7bBKv6|wyEg01g~CcRtm9|k+-c)@ z{|b$v#c-@-L8%_}Voz?VJAhP<>(lZ4?>zQ)>Q4Q^K1U*~?E$gh--J|`jVE+g2c2oP zLfV9^vegBDPvdagalPQ82?^+VI|hG?4nkb~h?H$gzmmA~V7a^Ztg{cg@=^Y++2K!v z%-9%vveMJjsRtU>gJMC~G?`Ks)I!wP3kUA8I1jGv`&Je=DNL!S`54TeZyNCr{NBrF z;CfTXf@`@;Lnm3#Uq;lk*R3hJe(+=`6vAY8H{7UX6vK~G!~W`FKxDfw5oKg0-p*Z4 zS%l%ie+ArcB;-#O#exs$C46Wn8U35?&T6gM&NfhOTOT-Sm^cao1GI!Bs2Lg%aGR`T zchFH)V@=doSrJ&cTwrfUf-!UGV`;2d+6u+l-)HW~o4LwgBb!>I*;xIk@MM|EH?hhzsuIybx#D>sNW6ze0^?8VAlE~olol!f$jJF zaIC{g9T}n%1OA791;TMHf-O3FB|A3q8ve zbNp^h>L?Fi=iNij5riXTn8mbp@HQ8;QY^`H`t-I(`bxGj5**7A&OOQ^D>F;$$A?XA z%h^E>ofJqcli$zMv^CLT#zlbTqcG`%8(ieLiTdFdZ>n!aYhqvpUBv+EAIA2y|6;-m zYR35c-H$C&7VO?xWtqUO^+=K*wnd?LPYmATai6|U*y@=lg*wOy?9QNOXej7aawwH| zo?yawI~~5TYY-D0XouN;z??~LKjDAehwg9bAKkvv<2qIx0|e5S^UWwP)sAYA5uVa#_y1F!%8X)-mRjpj7#Q8yn`#cofprvn!}+& zuy+QOJZE$E*E4g3h)W??!$nB{Bw9Mifru;)tZU#V(W>C73D|U3T{HZ<(vFeK+ z+%F@Qy%tKFB7T}iv$Z}*b_)nTE`)@T(QO0f{(EP%Yrp^RJ4ayd4)8WoSODN21+yHN zc*}md&2-afK}37rKfdFZdKf`LjaeE|}MD3}6I;EIFY?)}_vt6lN zr&n>cx%CVJk+X^#IAM8ZHN=KHG*Qzp5n@1zZGLX_^po!!1y=QR|=|Vtm=0^og z@{-T(hxN^j&7X}iKbcz4{`=$Qj0@)S$+|5gSdn0t4;%3VM#3+N(ggBfyx|FuGbi7J zrQ3#ml$@6+5_HV9eK~@FDsdY)1Hwz0lB zBy=6X^->_JL8b{IsIjYiZZW7ESKNsd>hRA7QQujN#}u~jxqX0F#reIiV5VWY4d$h= zeg;qEqQu;wLbrLv+3Ji4u9 zB)(CkeA2bza}@TQ&lqRH6izWBqFm}+O0Rz@sE_MM?GvQKYL2LS&u zcxJu+X=1X5sUM|53MFG=u$YrB)-L3bp&-qYwmC-Mt}=MPIp|aWE`mOmoL%?#{1?`S zl8DT-sq)tCs!L9i{DEyNHP<@C@X!#W7&vu6|9TE2xwbvmYLxi8Fcjl>S;kE;Cx>d} zqX$}YMPO5*(;aZP{4GQCjIGvxMui$%XA7+zh@yba_+oIV>>Oyg*~%Qacvw_p&k7ub z(ZuB9h5`CJeCKv!qDUrD#bRL>=#Zvnqt${0(hHlJIba@)6%81Xn}gEYUOeJ^i+;`^ zyxf&MOfC1uTP#|;`X}+4ndt~p0}ObK!XR)pz>uQSh&9@Ti^!HY`6v#mnio{`(AsUj zJ)>9~Z_3Fb8VWg2E0PpghB?LBT9R=xx@)xkjC+g>vE>fbRz>QF9=8&1&EdT(c5EVO&BEo_P*6R%cI;Yd|h7xYAs2F8+cl{`n~ov zwPpk3*Inl5N1W-OE+@J_C|7ul??GYbJ-OmS-?_v+&&gRe81>P@P{cqRV(2@G2w3jY z$pK9)v8?#4sE-7$*Td_3uft1{)JbqKp~7N1!%9$MPz&&{rf!3pUPC?bK5vo4m~T#)8BnDDfJr7PtY=2hdD?`Z z#p1Yn2`l$M2<3W;6ot@^k;=91{<=ZeLRFZYH?eE^^&V19yc1U7JEduY1cTOD`Ioek zr|wBAZE0N?S2M44pN#R2DKR zRw!VVFS{vIOe-{eVGH|2BXAjt0s~RC#b6cX-yVqsw)2hk_l`{Ky-9|rZ$2d$>NOcZ z2rZ{j>y=j7nt2Q`C10@r=Q%T8z$>z$6r5-Xaf+Ex(2=ajlZDSzgtg#QgDUu`2IT#( zf=b(H`&(7SvL8(2T^~GuGQYKD{?Up64q!8A5f~4)mwaILdnlqi0o;cp{J%7QX-aWYOlWD?&*^*3bY*+oMJEwGLsN)!T1?G7^}XzN=A9)eVWG!sI9~m z5g=ey!iarkefGtx;0g2cC5LN;CF`?Jq8j`Sc5|&40Tvp3e(z8C>|1wsk85o^m-Po^ z!rhblokrGXM~aRsoFF0f!zC!=yr@Gtn$>!l~^u0}6x*6BEN4D}*;iwx|^FZmW z%POxgd}!>nKV|MGM#teta-IK!6pR(vgN4C}CT>4HfUB3c|yf%7!OXYEXGZ`%9tgYO+v8;Ow9%-QN)|1Z7Jc3pqN)Ge_c zB?0C^Pqb&MEfFM*G_5Uc8WMQ5tDLswf=(9ZSmIjV2MBl|Oqm$TeQ@L zYlhJlQ{B;0iv1fq!B|=Y$nuG+aY*+i$6T-RmuzzI(VAD~`DYd4+!-gpft`S!I0<(r zcWh|YV90;=jZRw{mbXEMmNp$(oy2LzfkhfWyOH1%0K0qOk*RpfaRu;UVY!jh{i_7t zov*xcM3BY&;Q(K$rKZRp@v;($^oLr2;J4Z?nJ~V>FSnW&KJk{TFHMaR2Zac7D&FP* z^u(@7f?mb)ywP>lbom>&6fNx?;Nd#VoQj&y=$qd^RG0}#L9=l3GUNa60{E75v+o{E zSYx=|W98!-t7FP{swG}-aYrX8- zrZ-ZA$6TUK7FwJG=?FIlm>+X!&#JwOJkY-Rf+w^s5C7ool**g5I1)nYnV}+!ec36} zfoi04QD+z9?ST;)h8bvta46!@_95L{=sKv4n7qbvELFEKw5h>IV&yt?5%o>(MK}Y$ z3lA@r6#(GG|L(7nX?XPtd(kSj)0>4)IJ`PLs~aYJe`RF{(!>VBNXov--_>1kTg=+_ zzMGcQQ25uaFt~Yhk8Pi*@KqGsiaqb$ylJz`u=T0#ZQV^3vk>1wbt|epQ2lkXgXaZ< z-jh>Xh2KArcH%qlF%X4jGh%A3ndB63*`7P9B|+GeQ2cg_1|59-u~JeP71VqUaDmvI z-Y$DLi?uMmWGc{=_XS}KU^!k+N&xm24v^1lX++S;b*TUk~ZYP zr82lH8CRlrLhmFAggSiVT(1=(Np)64j-NcMrMTG?;RpRh->+-oFZx%>_1>Jlzmu;Bn#_CmN&^Dtbl8y(2NTI%@mS55I-J+A}%7IPAWB@lE(%lfc(R`Iq; ztZpRo=F1sCh?)J&5eWY{-nG#9oC61(w2?t`8F&Je}f(G>)pr3Zt zj~gz>fuXQ%a;-FnSJ!OU{hyrGTJd@=YyV0v$%%(c3uOK?cC0_%j@p8hd`3bVAbvk- z|5b4ZYuQjsI6SN(mey`IZP8XftF+g|3u{(NIpQxb|DJyZaD;gUh4{lUbmq$v?tUVhc__A(bmOAKMlZT3%l;-znCF({^3@a6 z8YXU-c&)g;Ixo)etez8zZbOT$<7`b z+=PN*qq+Isx6(RQjX7e16#g}xWDyEj4(_(!_+m|Xt3wb&Kzb*lfHZXIZ6;mzR1}r6 z_-V&o*vcjT4(Zaj=_fEJVecq7n~B5p?O>z0M#w8t8W>)ayxg{WeV*5K*V??aOe_B4{j-~Oh zL=I_1z3cK{MIgG=6le$j^EP_cv2+`jpg-8*~mm@%K1$Q@4)bQ<{@EQ1+v6aQQuvgxVu9@E5iP zyjlW%l=W0lXR6z~`-hBOCH|St1CSGp>gpv@x+%$+33MEvvCH`y3E{cXy^IANS`*+tyFYxva@XI*wxPHMUXHxxem>Uf;I zz1!IbiP!IozICj(W(y}gUcZt|I9dIN>b*01u8#|^`y_ZN&@MFY1=;C$M zk&}B#?59Xh+8Dq3ChgP8SdZ~+_xtBtD%$|Tcrrt5GA;_i|KjRSs3!vxJBh^26VJ1! z?VI`S6&;bW0dnKG7Z`$mtakQr>@o#(j2HBl#3A7#-o5U7 z)iD)3K%zJ_GABs>tf}`-dze)H*1m8t~41@;OT`mkE9Byr15g_-SJP_>U)^ zN(g<+^dfnd+WwZJ_IVY+_lZw9nqug6TNnscp3lP)_6jv2ng4QJ!cCVf$yx_x1Mi{o z%W%vNKsV~ZmXalxf8LSWC!ds8-Sz+|2KqZum`-HK-J2d9=@IY}pE-mX$h`TXvZDxqahE`Y5kq6zxf}q-y$l_8g~e;*3QhE{B4c}ekq6jL->q5$2Qz{g z9>5&-o-S%yCcF^q35Vu$c`C}h>hr}oKN(y4{JiuV*dw{!DF-gi@)W9j)G#HE_B z3h;9v6B3OToKp8jbJA^IkNf=2S{J!|;WP8q@E0Q-vr_i0nauOfI_Q56+{=N`f=QmG zM1Rv1gGK22w!T!UkqqnT`@hy|4$Re+AwCj#N%)B1hFYc*%Xm2smaGt4>8@uRTaUG0 z|7cia&)vsJc3FFM9t)%6j-8ESoSp;}s|y9*b*xo?`~zP(J2dCr z9UBSZ#N~>u#xiMm&iNf)u^ENH2Sh&np-!`XD8(fQZRG`$ zu63Mc#>x}xc?oR_(C=x634Iuw2+0Yo78T==mvdpWtN0QfN`T>jT_EVkOFh;B-kC;` zQkUa)*jQ3={Kos=hFyoxbBpBdD>{wUsd3hO$ZtqRM`$&2eXST2!ogz-T%knd!Y4<^ zuD@w$`_}^cZlXg4^A3n`7U!_Lx0zX2Z0#*~XssSr&Q{;qpG~xJ-kY8REr!lfbFteSk2LzoHD%Iv69YiQ@vq5d{BBG@ZY&DzpMksM z^ZOL!VjuZPiU#-}xB3FLrYAJ*Gr#b1C7~SY!-u~#oWE}xc^NR&{7SCn(CVK)z72M8 zyp2Bb8E_k#U_Kv<_WWr=H`+^6FQU9%31eBrlOx>Ck|7j>hTqO3V`qmOZs?9cHR%pp zdAg8?^C)b5{%j54i+$e(7QcDFX8;PrFFE4@EKx0ho~Dylj}(p{ka~1|L*_L{@8&G( zB7qM+?fC@y zt4KQKj^*9K55?~spX-xnD!p9vasqniAm!6sP5ASTbgSJD*mY=3(qg3AcDdL!a({vP zd0i$SLARgrIhsJEF%|Bjl+ftaw32?56w75JOEo&%cT?LmqUHvjy6&KO)5KL(xve;_ zKXq&)S5*Rf_xs|+Ix~xg6RZxbWx@AEVbwgh*C36iQaA%XKl^iL@h5B=w7=$$M#>m0 zT!-dmCvas`@JAfcb_l+)#D_m_==L{8S8ZJes;mS&0e05YkPJZ7;zA#j#M4=J#pj09?Oh{xf-H+_T7#q=7kRW&Ozf=MZ)tRV zMp@^gj}-P81LJqC)gGr*ZtCnZfFaWhFRGiO1X_&f8o==W%kn!_i)-NJJX_%}xY$>M zO8>@dW&6xmOci-J`O^R8oufUuYehD&khh#N46{C8KGmhaCx>2^hgN3%ol{#&$d)R3 z7F%p1A$YQ3rJLC^-@>6D^5GEKkOA~wugT9L)vUxc-wjRae^717$t~5P zd#uMK&D_VeXt(MS$Z>Ss8asu&Ygk@&*MiBIi*-<;^~OG}&e4j9jKNgHEdd?d2(t1f zS!>yZJKiSgo}P~F@`1rssuqNCUl~CU>|d-lj@m;D|Jp&&U2yS4p@^9kZk2oJHt&zv zpN~W=A^EmDukIybQ0$xdp%mHEdG_2%Zy7QE3rKSXw9M?XIwUNIWD$I?vuK> z0Hp(v>yokt+IgvPaBVHCMSehx;Szp&SL&E^*C|W)_oFQz?6%0(I9+SF@et!*Jqd9)boyYoLo8xydx;GSgCxFwwNK*M1jL+VcyX0wA>={jXST627xgmJuM$h+Z zU{CASNvw?EaqdiX#aBp`?e*;AYX3&RJDZX{8DhWIU}*uCN0Vy3uTxk&hAJ$wsk|9Y zUU1ZE2-^Nn+XvrlWuEQzr}(x7Z3W#TGQmGKr^Q56=WnvQKbXs~mS)DOtE)mbb7kzm zg>$t({c$)+&eHs5`Irk(p&gfHA?&a7i~uuA4c`Uj!xfzr2_JL+)o_glEu?J7K#nw61c^t00qFk|Oi#9r>XY9&WI_8)xdPJA5i; zne&5Q{UE7dz67{T_sxZ&CsqRjUA?w|pl6H(NydY;Rnvi=NiIM4IE+%>=ass~)on9G zWK|08mu>YX;f$u#Tj?UpY`&09yM(m;=B>JFs00SXR}HYk7@$5gW@Zdo9*vSO|}(BwTN}L^nD3jZFrO5H2} zc?xvniW=ohr7PJrH9HbX|GjDYHyVN9zXOPJS09&>dhqb(wyY=qLfI||A9o&^pJ`Bw zbjJdQ&ao^U9TVbi_0{9DYOMglB+}Pp(sES6bmd@)Xd5l>sA_`jn=)J)b^2`85o3+{ z5rTsndDE7;5mimCtS2{@uL-O@AwTKc1_vcnuuR1R8x} zuJQJCM#t2!+xfqf%i$6Y_N+Z`s49FCi>DmIGHXdHs_JU#qo%JCHf!Ro`PCH?`up?o zNdrIbA-ebR@jKC5cwz(cw~VWAgtPR!!!V|6wu~X6m~+o)yWMu@+Ph28hBD13F$>_- zyob`#;t6p>tk)=TNBbG80!e|2f+Y`J&2~_v<*M$vb*4-h@X}f~j*M5_rINDoHC(Fv z*~eo(0IO{`q0KTVf2up2Mk@fHMBxy8wgv9b{`QjLI|OGj70dMRsR zva3IwMv#$#rS@(}J&o0vEI#7o>^+)PdYf$NQhP+uka$2W@m@#h^Hwx#2p;_2NxxtF z)^ne05jYQ3QJGOq2oR3Ui8){Ko!bNN0KdADrE#LJ?mgKlBg~gT*J;q>otAm@pd`vv z{38IjBrn-G9b;=|*nf7d>v?>sw8V@}T4$!!@`^rJIZ>75ogR#ssEo+9Ha5pV^t)2; zW3ON`s0+SA`FVTz`&2Vzh-i_|dCRqvN)I|h-hw^{8t{0Q5wuj+Us2i+9qk1cdEj}T zpmQVkaOML5Ep@bbN#MwkG=Y($jrKnbE$1iI zmwYbJ5tgz)wRC}XY=XQ)?2PV9ZwOtV+#5yooGX4J?1rje+;utHCOkDcy>1o1z2kXD*91tAi?1$?1Cyw7F zLB7A>-&uPQ+TvO_g#ee;haN>ST-Rai)T43RI3D@`=uj%?2-PrOMRdevYodmkZJjGoS&}-kw$&t( zq(~_%{g#bcp^Ao5l%0t2TMgx_0Z{gKpKwe;ndA7{&7T&`d((FUR~4vMIV0Y6 zJDzSlAZ*4JykBhFb6Lkb`RTu*P$BM%(^O+LkreH-MqVM>etRT-<3~Gy9N$bOz=lla zZj`E{tC%#&KquClc3o8^5k%?Chxw(+(4F(}D7 z106KXY0+zAsdHSiKsbX`ftIPWaWHkdbVu$*(=3X}_BZ2J+4~j+?9xbsJ~)hRq?*s~ zeM@U0LH+o{9ge;r182px9v0pNczRav1n;lD@Ld$j7Q6nC@7m@R#!<_y zv@~oW^ndKVWmH^Cw>FxD;1-e)BtRpWQCrj{v5ad2xTZ7jH)y zK_;8!wK)(<+RoL^3k?fwnA}bgy$P?NKkn9~na;O2(hDO+aG#%Kt(Lq+xv0Oi_%c8I z&NdAwg4FEMaHY&l8d*ktXZLvK# zuVforVX>13-|C`k6=$w3ar^mjy5q~l6%u)>yxGu}!4w?+a%Cm5ffogu7Oqwfkh0~5v@ zd)py|wTIr}NiTXY#A)@T>BOzhdjlc&E)xLAlRT7IZ3S81YGfCNBu~gnRWfcw_n7!8 zazBE5{HCBjOyn6jwN*#XcL)6F!#zQaUV%hYxDNi!tt31~#sK3;qk6SjegHLwYnOTO z<(1%XX^JbJoLILx;+69fzw+{azD)>#4VX)JKY)XJ;Z}k07xNrc{-^BM zaiw^xeK12bc?d6zT%Bko+}hRW*#vFWp`bgoXtjo?t@IG}ZvII7EFQ9KH5}r+r3Tme z*g@>w+au5aDze_PoA2mvk_Ya?3p zAa7-|-8uB3EyV?*J%OQT*bNDT-XvSpS9wI=#bMALeAim7WVg|D9+@*`DrtY7xYx90 z@Pu=ZrJC5^&#z*3Z9j9}MuuEH{ez?KaFq@m{`KlLJm!}*$w{#w?9BbhDQX|GYI=&gm~XmA15SXs8K}$u z9D3E7G;8S}zWd`$J+f#FO)`?PM~exisc|04bh($hGr&88hP0aECIXmcpuXQx+^D=7 z=RfTV(K};G$$hVjtLcpd#K3jpbD@l zE_n%cxdO=+?{8D0$*lhJq$5p*yTH~A(33$#^eLFr06=us8S54xEd5D7n{L%LhLefR zz&j|-bgBe+*I_is09syAcBq0wJeW(eTrwzqv`=1Q`-nX3lnsQ4dM0Uw zE-_rc&y@3@?_Nxfj-}gnEW zGo*dqJwk0H42oyp{$j@#QKCSD`-qD&g#>&)3`y_z9uIWWs#GbzK<({iRz$MxAh|kye4vC3|yXZ1#u#TWZ5A#qRU46_3 z&-W(L28f~=tzs4OwSUFC_upTTE~FfsnO6j8pjvww#GTy zeZRIcuyJmVRivMJz(dH!`|IM_EiOM{)x;6+v!FyOBNw})I-T6qA)9pXV1;sm5uK{F zVGo9kc_4}rkA9OGVAS{=(z(O}FKD8c30K>K-aJl3{0bS|Y(~Kir-M*Xk136$YQ@vw z7v$Cb*x0D7OMb zeAx8vlx)eRpQ>d!JPBNGU1gKO# zFz=Bh@ct2Uad^`2pQ@v)V0^#{_;i(6fx$!5j&B~IBjvjjVhgW)eVjdq-=mw15nUHu zd~v|B(}nW4r92M`IJBAoVK_zjnZOPxQP z_6IU#jqc2~ch(|Izq}HVTqUHqWowa;YVZ4WX|Yf8n{bPg{Vk8aclH$D7wZuFF2t-$ z04T@eOWw`1jk&Vy4WK_x`;3V9sRg@49m>=T&B>?vS%(@EY6?B1E?x_tc)yH9;ByJDp0PsEZtb%f2U7Xf+fT^8x`_Cm9x zkJsiP^G3GwjhXT)=Opdls4(wt%wykw;_r=E{JN?-yN#X&`?! zl8*`IqdMmBn{4FGa}oU*mFC?QkTkL#XZD{YH!_qAW_~OpSWiShAgU9#b+D$+1uPk< z4(gzJ1ScbB1VP@XORr84KI(S~HF2*MEyz)8B6FzRH<-tbw<_^Gi76O9NSNR|ahNHl z>T>U|fDNP0wiRbve3Eo?|4s8U&PGiX6co}J!VwHPTnA5K`rmnHZEnz(Yo>qbO*qiS z+ATmW>k)1Ib`!H2tV7bSj-y13PDok)hdc%;yXz$cdcK0w-nl>f+luYfp7obtY<+9>}cxJV^(zw6zFg@7TLk>8aP zB^`7_6aV?CTxurhQvV#~{mO33c|lK5uR*<zTf`I)&WVELQMWY2{w2Bnl zYySH^p{c?jB`MYS(#mB%Dk@k;Fy&@cKW3gNBv&aom%t9efSsH@GCsZOq~^1KS!N`y z^zx^ZT*%1$5jXheOeDA1P-6JmMxY-&0b~H{e+>$zfD6AM$U@xRockexC+!&gKm|Y0 z$fW6QAWHj{31N$&mt;1L@~r8-3nlh>2T}uk5tCv1UlMQxFW#j!rKNqBV|usLK5Olmd^@HX zDCRFG)D6;n8Kh=I1CH%caB$%D^EK~rOVL{}$fv(W)(W@;MuCiwi3zi9o|glcXBu5u zQW%+<$a(LLE1OIXu>MfjJ!^U==DHkH0ERmLtB+lq3^B{r27Mf#JRoV=)Ey~8OOLL! zD(_>64Gg@aKXG{kHxe-uX<|VBc%jY!i zX4La?XpjS|Tccc$cYyvH$XCQfte5LT<}qCbz@9xjWxj<^&ZAq-gMcSu<)f7*a% ze}#a(SvHk@Hl253sf|Jm_3|J765s3N@_E#YXxvXeh-3lV!(_9J~4Cm(DsG~d#ha*U~P~^4aD{e*JhO2d9or%lA4X$gc;UFin@y6CJyO!Cv*;GRQ-%FM-$7 z1>+la>5Ip?fUjCvpdD@nA4S#e{7eoN)2jTR}+lbH)eLeaIK4u z2gj$lo@=uT*??Nr9vcW5u z3rL%l9@I=@biHP`uK0JX9gxZ*M2q<~*wnfe`*!%np$GNYv+mQ;=vu~M16%w@MpsP& zNjXK(#4~GvaL9O|6zb>eV-O` znJTS5vr^QoHBYHqbx4!DpPs2v@0+Ke9=!T(E`Dzu$pC))S}sRyP5!eiXrc7%fOT;> zx20Ub?~Na<8CmmtzQlT?PND#LI+wt(#AEL9N7pCd`>XJ@AvK{xl1iuH$PIUB2Q z1eb*y4tdj3w|&{SwY5*^$RqAC%$*mBq1x3bH9KKHO&OaZ?g;N3sph`HPhelr?(OPr zTH~AeBw}vQpTrF>dIB?pGA;4STIB{4=Ee;lf6bsh+Rfa}uH?A7cu3*pMiAup4J2u5 zZMTkyxF&UJV{k#Eak2PBjk;jN6P{|^gUA=4K9czd4g>1S-z041I5t(%sv_l==l7M@ zDCBxY^~5I|%9$2F(#PF(ur4;jZMGi4+yI;aRv5hYHUd`DYC!UB-%Gbc$Z22@_D&B^ zjABI~8rLw-VvH0r?i!aq>F&(hO+xN$ z^J-xjyoh^&%x8ZmZJKd6eJCBqJ4c{?R1-mlH`e#dd5E(SQgk$ollLM}*J4OvyC{Tv zyo6Bn7r=8auP90aL=N8^Xc*RWO7qll$jA%kq%%U@^3$gAzt`Oo5ZOn3y!gd4MG;X* z+QX6mPFq*k(d4B+64N$3OMzztgL>>+t(b-pn?2d(7WZ+%Y;`YX)#N8)h1hhzj}Dxn z6g4M6BKkHsm(O@+Ck#-B5cEMP0K~fqqHkAd@g`bOqgVF6}c9qBd-dB^D|#+^1Ic?KZgRjAa$ff$+m}N9@=My)9gcAp zuW?MY15&MA*6t~YO3;n9{VYxww(swvx7zCda4M@Q*yCK?`Z47V0w>XIeJj;5)tq=k zXS{>I2HbL3;(SSsKClpmH!(|Qz{~P>^(;@DesmMbAh!A3FYoO3lrw8btNcgXkUC`jIbIBX;b z2yWY_$2|Z?-{L;EA0X%l-2KAl$^oL7vUVTNqba4g7M;FI)h47rfju^+S=j6%Hag+S zh(@S-p%TR6JOY@Uw4RetRBNyvM`LJh;b} z=IpTOQdHPsQYPqV3)Jq^?RTMm@-PB_KjvstegTb5JOV$Axp-$|Jce8=vT!hV%7jW7 zvCLiLa5Et=#raZO;^%|EqQ1{es&z%k;bznMkg#$GrS%PY)&!BYI)tb&vgoOx!Yo!1 zg;gmq5?gy?3agcK2_r|Z&5dR(CgzhAEmaqkGkY=(&9&P~G~tH)=Q&zXW?{l@1Sf&8 zKD8|mtMd2J4qbU~muSe62WCgW)pu=&-R_DXu9QAoqptL*l`EuBw7b;3AwoEsc)D)s zd+JkbCFAuDA@teM%q&J3(#}GkE<&L_$&N7r#JkB$GXox~Z!au3UV-2-JTc;4kwD<3 zV!Up5!o+qtOBw!JvhS#i_ss>L>g;q$KN%D47f%uK2N|fEH$D54vA*?QEI{uX+bh=X zM;S+DoEt!pkqNMn6@4V3su~lOo$ZiHDYrGn%K0i%8C=LS~GNaF7il%i#EE&=E&0l7Sif>v!a%Z*PB6T_0>uiSOa{ zmV5QH*=c>6s4z$r5+yS+_QYEL_Q*rpXw%f}ZFSOH4$KN=`?(mKC9o);X>+$udWKbK zJ@LwN?OqsswM*Xnl_5xN3fBSt6cpMJk>TRMUtuf2S@roPrHXJ48s#YuS=F*Wc&jM{ zT%4N@fVtI5DQ*64OxVSvV*0UP*}Q`YUHyPe!&-Rr2)%jun1YI-_@PP|NyazHi`^zY zWrsS1^bI$f^#17GnTGsg+{s;pV^%y;`^Y&T(}64;J^GByS>SuPbs~0jpXt@<0c-M` zT?&tbf|KAJ>^*vB^x#|3vY&78{@%9~j4vcQ5w9&{tKb7e0+QfWkVQD?8YeJSydRKV zM11M>@W!{ov2mNEJoZP9WAoQsl)mNGy9>(12>dQLu^evWiqZ7z51ErPG(Or7D^Gt( z6IIlTZH<;_CycbkTUt)@60KZr4qBACJLJ<18SieCf4g$0rjTyWS;t=jx0cAeP0I^P zsq|4thPdXs9QfBbQ-f4gg-s(19GkAmFIRh~pk8AAHO==9!FyUcDx-N2a}4pX6IgKY z7iVE`hyN9Z_DtU0XwtT+N@C3Y-5l3wm2WBgAqYpy28PBb!7Bg@%$?_3H{`Bg!UAza zEhX@tQ87pFng7Lc-fy<}^q;pfjc|hPTK@q}Hph%)w z7RvRmyEIpZ#-trX$+9+JpQ zfi+M%J)ne}Yk>1G={Bn+^p%#;uWYg7g8^yL>1?U6SRkX1Z=EMOKspo7o#^QR%d~CX-LO{{Oz(jT*l~xioxUUG5bZBf#h*o$ z$Hg~9Z~F_H-cDOlXJ7>^=hLh1#`+EK^m7l;78vB-nO6IaOwaD&Uk_Qt;2x0WNY8|= zG}Lm7(-2iVj2R&_nHo53OI&&B+c8icXZdTyr?N!vFxSIgK?dpYKWb?6EVjR|2z?qv zuLk_cyHPP!*mgCtk=%gypBiPZO|6#%XiuC~{{7;hlV3iJUkE0eJ zn5i^FIx8)xrLbMu_sg#OrtI4qGJ2~5Gp1kC>u_E{)SQ|FVtL_9@02D9{ak!89FMu)`oqQ`A|yxH6o+K3t;Wb z6!&QfTzvO=)j*)b)Jht?=^`c{Ikcl`otlF_#qCPeHT`=s1&ql6{EnRcMew9_6umze zj#a-y*B*%dlvo1@+@`X{4iLFn9`P@weyaKHIwR7ujs;FI)#(HH%7-walpm7DprIXO z{^D23;bSc$6{X;QfLwjym@+-k29l98l+}gS^!KIw0~v_N>n`Xne@VBoMi4of z5)+GjRuI1)z`oydZzSjk-SA_Rx#(ZReBg3@$*(fgwOra%VoweMGzL}Q&!Q7`f8)OV zb-##LS1y^pP#d?Vh z%XuMWog=2!OKS5v0^{dgyP#Lbd`1=b9xp0TYleGJn+v)vne_C^OiO}%G9{J#j2_^D zOMJSW<>$mJR`|LIV8fN>Nx5h@oC93t&`7PW1&8=Qg`^rtO1i6Gf!Pip4g!OfNnMmI zVSGj0wl4)c*UF*E3E7k}-$FZku-DkDT9mBb6$EIRJkp=ZMa~B4srL=NxZXsZnbBg~ zwG$H;rTP!4w0W9j4olR?;MnBG##HRiy`R}g01mytjYUs&s6m|fF=N1`{tD8~)&M}L zy!nH1;}Nm_@`3pYEFk>`2fk!px|Nj#K6genNJ({Sb7xf};IIgbUpg~b3c0}t=KZmi zrqBPN=-KPE&&f>qzqwy}UJeP9=j07{r`r@O5lVC&H=|bgjnei(8MDf)gx%homfx#k zLJ8@vBIG5*UEYe2uaT7|-^N&3qo0<);*@MrfCMg^R6zzE!JC%7eE>h8T0- z0L=9bNe(kv`CQgdy=0a8T^pK669SPi{?5twVT@@5gR;_bk-}zi^V4nz)H`^JAFGrV z6wnoWAYu}u@|;gWKX)(oiNFAciuvijB?s5GzfG=A5$`i7tjXPk4^ykNS^ItC<-}?n+h)<((Yw@=g2%AsULPNOZ!Nw>lEMsuEz{Go--kCa9_X_@bC0u2-uspu z!#Pliqsyg^ZDLMrz4tdNL?Ix!$yxwdy7xN0#PP*Q_U_)C(L@b$`Nb)jp0}si)%)#m z9>1CEr3K(VU`8xZZCftwKr1I0WdU(-A`U^hxg?3NzgrjK{e@Fn*N}U;57IG zTxE1RZR!X4FoJ;wji}-tCtI2miO;l3NRd<-`*BVGql8y38yyQBkuqpO@g_P^kI}u9 zUKNw^>>dVR3^e+U%zU@Z;@J( zQUABh-lPRqI7KPWdMNj!yvb*1)2m~-b$8Nq9_$W2lSyjRe{>o3NXdR`?V6{-l+YCy zJ;{Cg@DO;{Z`_0?@-0f{E?I^wIxZewmr@UfUf_j`$~1>s)-&6I`%$$970J?aoN9|s ziy*r`>N?aC!Qta3iI32pfKQK)eoguz>YW30N|O)Yh`i!2U(~ou#Bh_%U~EUyROY7&5YUSUyiz;fX6r+4>(*7KJ1#! zV^E>xf7yGzxCixjKlmwP?{xKB2wIvPvYIUjN6#4>U7^oJjtxk=HugNzcdyMa_CucM zRKYAi2dP@YJY2^b4R#(cCnOPrk8o>mK&|r;KW-Q7U%$dA(bwENjba8tKMUC3tcMRNL7dR2%7?0A zmno`0h4+Z=7G|5a#jbvYsXCF$E6MMpa!5x3qcS&swWG%Gjosc{ReCA;q^inmL*38J z)CTE?s7-Z6`+8SvZ=2xrOFyzyPIlXn4I$5lkkFPS|02em**7|h`iRdOh)JIH*C^@1 z1-HU-knzw$WJJ%};f-~@yLi`@8btMI^X2)`eTpF`$kwyv_?#t;zFHeWu2i1#gGXbA z0lSvVkCoTO#@#GA{PJTh(>d8S^1V@(j5^HN(_Wt)YHb_gN6iiJ)j?>={j~Vno!CpD zI=B|G8X2aI)VqN;`;|3O!lL8QW0rpkUOD%=%FHmL~VB zVsmJv5~g)ZzjI|pIvY5qI; z|84pIyG$g>v8hg`kI+nahl1$U0jDc5n0hKL(TG#WWnuWEKLzdoT~JtJs^0Qmm7(En zEn_p^PvHXiEEqA%D<#V#j;<=@pQ=6`x<8cV@MK!-`WMD>rhUacwf_lSQNB9wP<3*J zzsP*LQG|(`=W4;CcXFJgFcYrWbGWe))TsPP{Dr?d-&aNGlO~#fRQA6U`M=fsEodhw zqG{T=v8nAs93fw#47wGHe##r5_;g7M%Jf&u%Kw{|8TY`Z`5?jU*XLF1@dXm%omC|1 zZpq|*wGy|wIN)HObzMEJt*;@1^GOt4J>LIwvHmirf8QK$bzyf$XgrC*eLtZi3+HS4 z`+xMzt|3WYD^ir~IN!urRFLE*Rqsr=-jk1-{dqwVfW(jgAQVq`0YIqk-2N|2AuO@( zw9rvhXQB6vuVqE7?bD6P|7gAcX6FB1uD@*!pQUWXorArsu(@I83+L7O=hh6WA)55w z+UC)DL!%StBqKSVY2HkSk23>gP|#kF0{L4s9jL5;zM@=d$!)AFZk-q8c2 zPktb^RK+Ub!>aw0GDf#lIp-Ho4Zy>dTY}pZwZT{Xi$Gbc?!)>?Yeq7yWv>KaUNQ)? zOq=O<0M6)ae#V_B2?{uQ1)T?5?Hiw?@~@x=Rg0~l5W;4%w(GEEVl|}cRZ@CO;d|2< z2$LfI%H$Z5>MMYqXkYy5$LK)$-AE1uc1#AnlWjyZNh^)=?Y5nSWxbxC)fQ7XMum|X zPB}tutQMrHeKs|2&5E`ataTg`qX*RNQD%pp@~oQIB2joNlj_J1D08BmLm08}FNvFL zFNG`JQZ;?2wjQAWP4h!wEMYuHf_x37j58q|gCkoNe}Gy;&vF7@8Xwx^^5A?Z?r zfR>!~*^k>N=gc6-8A^ljO?Hq4t1BP62%CzGF3dhP_-Uf+(Z=7cLvF_^g+CW$oSNQp zCb@RL(CBpElO+6rtYro{I5K2j*Xa|2-Z9S6X7FVQ8c$MG-l{OTFd!ml(BzQ3fBU>#5 z(UuQF?XVZwr z=kcqFP3S!I3Nu0HUv6KB^v8({~%e%;2(of$xS8C9#fcK$i~J^U zXNv4Y_SRWfRluFhzVIaFmUlqN{ zLg*FthFVhz3ycrZ9|26_&(VYPyl!0fjcM?xb>6e9(sg`*61!FKVcEK@#ooty?m!#i z$i*Jv7@&T2GDDR%A3K02Uh#4VOH7_xqg8?P0J$A%UOs$iE;*_pp9wmZxaeKqLFwci zwO$#Osxj~Dk_jieuhAJ~6~v3$AER1)+%Bs-W5A%(ht|ptkon)Pxpnm+=^JA`iNwO>Z1;NOg-s#P~VyB=)2%tC7^#L)rY(jw($tt z(lFu%YaS*vVCpNbHtowSK6oYX=yOp4xUs3G7*A9~%h{vQ0C#Ttqd=K-Sj)^4EIEa4 z4S8QyPCV2i`S{=hCx<;bgV7-5w6p=hWi)0oq#>W3w2$&@NT^e;Mxkn5GY;)sZ3K_b z84}VW02>l+v6gvP9mE0ZKU4dyZBMno+!XNLse~{89vyqRowhK0phYgd~| z+XZg%r?g?K$a(N^F?2f}ye6{pOEUcyzyB@CPde1L%j+&aAPu63aUNw*IZoYim z`m3UGxme%1)#EkAwf1V5n_l=d>&#hFWkafZj_|-LEueHIC-roo= zIxJT(2j~QZk%kJs+4FnApioh9A+gyX?F~eq1guInpI%TRmWeNq+)j!7^7xEc&{rZB=B}mB7E>H9oZMHx`gDpy^Dr}ckU7phuFbZlU%c;5 zorZGa7y=8dVth(KXU0xvg|7J5*8zw=8ZU>&S@hZrrXoQdBNDNSGG@kh^i&>-4m?Nq&_n(H?+^c9vrFr>Cm*kk)_HVW8?*{dMBt8A|m!tJ0@3zVPP4n~1dE7b6;ji&TA z3){SMIolSIS_KC7b-Ev+neM(>RAn>TzO=3uvZ5t2e^iojv{zQKf>4AgwWB)@R%NS; zLFG6nt@+#h$`+p1$Vt0!wI%WODYUA|Bg-SLoBx-Z9k>BsP8Y4FZPOLUai0Ai?r2-m zG!o-jLe}&t>C-NvY2M^-M)!hnz*&e@u!j+sv53m80TIzS$@D>Hg^N?80W~hBEl^ zUXOp}FQfcNdM9YTUCV!Mx@9XUENuegXAD|Sx%h=bIxZA#>Kad z_3jE}hWF90|JBOFE83Pv$C=f~s# z$`lg4@}xmlvE^B{p_8t)b?iCgvsa_Ze&-o?Udx)?y5E|wrG5zAikouGn)?^3Qsn7! zux@Cay-kI>lh_r{C#={YM`^r$7jqoa=Y|iRn-4vgxdTq!T5GsV4p&@Hwic3J zvN`LnD@Q}_TRQ=ZlU($8BSXAu$T%y?TVV%BP*@$=!Lx|Ry^|b8os{155^q_)%e^Er z9YDi#_BAsk2Zf?+MD!y!Be`y z>!ho{HyMCxFm9ZRNmueIH0+eM2b-3PP0s=?!00uLRL_%i`pkYo3FRTWDC1|)YHF%z zQ&Av~jAPpce2??KNzZ_7rkRo(rcJtjV$@B=Yw-NHI z^;w)_M}YTQ1aYwC5?bk!RjDZG>e(oS#OtPrdyU*BOZ^@?$bh7w`T#k5@xtpTs#YgM zIO1XHJ&b0Au<WofeC1A+B82c)cf$Q5x%@87Gy)bng|J$Cryj*X&;XL)>!+N1P-MZev47C*`nvP~c z?6#j_86O?tI1MnSPi+ExuE&qoV#r$1M~GKm06DVmPTnpM zWAYe(2or$UgmWywSMQ9|D!=Wp>e_JxAi)OWW=3e!uH{}!`EppJd9}1H=2c^d8YxLW zLLW6hsBGCARE2Qv7{S0OM$)~BX0=8X!0&GSC~b9h0nKpkXh(_tYyt)MePu`h2d|*!qB*$`t93sR&C*t9hCX3a%(@-dwdt)YOLqw%l;u#!QIay(B-_c} z`-(ZSW1rDek)`HQqf%g8}(4w@{nI1VJ~o%^Q3KtSH?u|B17@^j|s*UI16n<9}i-46Cv;kT~mJ@wCx^b4hbwxgeJSAQzzI)zV zi-K{N8h%<4CnD>!pq|&P_Yzd3s9Q$m!Msc_(I!~?RE%`X7$iD@6hH}~xQRB1jY-tW z`j^VB%4aFwUnQPpzF9E2vm}tPqu|yb(V5b2iCtg+>%U8uVD%yIdAr_x$hzfIvRQ`- ztc@ypl2E2d{)7t4+ zS;w9s7Ou+qLc(6-1bUo?*z^i34m)-uITx1^CdZdZ-=~saEn6G}%r*2+d81?O1#Lr4 zXA5woI5#ZIC}I|((=`kX>J*>HLTO|l{f~(Mqs9NR#eeg;^jo|kJbNS6)=9=hq3>?~ zwkJfTNXh;|Pak12t}*n)x z3S^FIk^P?3C7fC`i?B4O%_S$Rw?U2HI!-^$x*nTiHz1;P=b zwhz`veWp}C)Y5`~9r?y{A=JNcE&U}A`3OoH5Ohpy|0hKSO&kKUjS@uKZK&0!q1rcy z{jtd%Xv0NFoi&n&d_@#kzfW$(+pNCG0mwL;s>wGf#ZDgBe~jY_+85wQ`FVJvgeL}b zn&_`XdWyrvQu}Q#tEPcI7ICtjLu&S5J$SN_wfD`3!UpJG^e^HnA<_x0sMr}K1lEX_ z5%p29;EH_uc69~?LB1~w^ZFEDe;R?#tANr|cpjZl5NWfK@XzJij{b2 za>)8XTBG1JCb6$rH-S9Qw%0gW=Ep|7I`HLF0ZJ&&NZSovoNr2QA5Q5IR#=%nJT(Tk)@@4%^kIZ0_jm&#VJ%wz$)un1x=bhciXF_EG0~ny}dM2axF9@B!=3(uZ() zq+#q0_dR;!$QgF#8UDU^Os!YzfzM&Q^pyGY9oh*elL8O(7c?Cz%nz4>S#9{S-U!?%xMJ0$HJt6)YPInCOUwxxH?6&D6= zB=eWiKOTUXU#3TH>a(TBGdHGto`cW9>|o2wv%#c23ds>b;ebl@!wN)!-%?4Z%~n+^ z@HCK&P+mvjarsRM|0mouT5{9Oe6&hLLb8X1@^7Fgfv+PiQfje_2nK_JpxBzI1sB}F1%WNhW0H=XMgz?oM6{>#|PgpSN z1e=7~MoY1S_XvEsRwHE(z^jxj{I}x|`6S3KyX!d2Q%JrQG84sGt>TM;uoQ?%zCaGTPz^cJAznF(JSE@t_CK|NY9n=o?R>%kcU4qoxR)PpZBtj-|gA)I-|v3vC} z>m}vC3TgmWAZ!muZ5AKf4SrR%2luuXCS?nwlb^>zfTs4j>TO*J4W~EFcE)4d-(BTo zZ0QTu>yu4?KPh`sYP&}$njQPimr61d@f(F+OF*y}JA`B9JIUBByn_de_oedDD^(!u z55fDW^^{!$G2i7|o1#7Z+b@Y+(n@CD+-yh=NQoa8f$-?P$sCGjq!N&q%%Gml? z#s9Pq+tW>A3o8lll!2&yLw;S0YLcDkhcgTt`dAixYW0bmJt66BWX|8B+aD(IKb+{V z^BD{8pv2zI)q}6zLf_Ksp%!mfgLKVmT5UFn&%+yv-o+?s(giGBm&HN&*h4I)dFv9PgI1feYu@`yp>51(6o}V-X^i7sb*|Ded<@7fRjLpISc$6D0r-rSIX# zJ|l&*>IUK2sOL}&*5gRCF|w=QC*0$c{`AaLp~wQ0Emsm`#WG1xP?}OMfyw`Ml)zFi zlrA-i^lKp2<)=KAn3si`wGT+ga>e;lY)Qi3Drx6Fpq#P}=jH57R2sm0D-m)#tX?cj zuK7QO{Qps1jMWAtzXmkAC~o#OO<2EulU&u1A0*ad4M>~84W>yXs^%{~3mMap7i}1( zsDH%!Sm23Y;PgQZ_7r!=t9X%#J8q}W_sD~fk7r%q-pP!-AU7$MxslxY%HSmAmWkMj z>AajTW%T0+{wt46R8MlnUAhNXdVFmLg#azJNonO@5A<&Ax6uBT72}6o%J=CX*Utr> zfCGyjZ(-*Z#D8BNwuKdN=Wi1N(9)o@z}QRwMI}#dyQQ`?)eErvoU9x%{r${KLZp2{ zc#v4?&yzpBAF7aGlTu^dav6hEAldz2xp~`t;~-^;f$Bd&g%e@E*+MWV*(hQ;|p`kn?~4Ym%OM!+NVJa0+btB_|&bb((# z&0%n)vH)?YJ-W4qzDVK^Jd&7FIk=yulmZBi7g;a0{FxhOfkSJ@1iPoq_?MWcQ@qw= zQoIiz{ZZ*Zl|_p;*+>g`P`ue80PM1x^{3e9gB@W*)}7Lx4y zuS15_x)t~GYp!z1+5!r~< zOGSa80#V(J#q!47SOkbcXh%>Zs9m@{*LyvQmXx>tDfKKEh|S=>XN7-!mfnpyLQz0E zX!bFQoVa^ItV@pY#a!?|ZmaxtO|}o`z~zW;{LA&^U>f~Iw0}U@UnWd5PZMAoDeEE3 z!N*)Kq49p2W9Il1e`K$RMf~d_x-tM(3{B-01>w%%^TJ$oi4D*n2GWkf(9_-dPf15Ldsz=T)5ZJRz#Ynz2eGaZamH+EPWn3K;+4A_<7N;N%xNseE z`Sl;iuyBn}Q{6^?K`uiI`P1t|PSM*9=FG^Qph&vh_l9O_&&^-7lo;LP1 zRJOiwu$?XLH&&AkHFyvjz^EdX6k0iZw|Z{P4z9R!Db$_fWboZ88Z*UYaJW3 zfypnK8M;@A{$nJpdeaIQd&*CJo7V~B6cryg89hf`+|B>3t`eJf^y6jR8as#4Li`no zAnY9?DeHPzTPs4i)U*H;|6(I(Oz_tP35V{ZKAHJQul)g;F zd*EW1*n)hTT3K$+^(}>6b2>$cHnQ9bdIL=bwsE9D2H16?x<_TX$=bcxBE+FD`wxdcX4381p_g^HnEWm_dMa}8`6C(a|FG2D zj!5*IKL00gB6-kMQ6wg^Y|rk0pr>}3F_>s)Q~o^At~MCnYwS^aSARykrUc6^y)$!#GS zDjrYzPEN{5wn`eH9jp|Nht7ZZ494~(-?X(qzekMEkcy0JDL-|r+}%oJG|eo$L)*kQ z<-a1vUTw^V{5bF$roE9qJmxHSS%Hh9bem`OYgKexzwqs!j4y$IGX66-%RWWQ_RR^28|RKF$F|Cyn6e4X)H<1HG?k9xWnJkD;U zqrS@Du7>l+5Z^z=;3U1S$xPXMQkJUxg#K;@*_|mT-vDFw?NP!9Vc-c%{rR%A{!TWL zgvOK*sWe5$>QMr5@pgyAt@QdBZ=&9JrnAHcNlE4}KG;{xll6au@e)0g;JA^1 z#4$}tjv#fso9;Ef+{;mSaFxUz4*kbh{N*tIb%Dv_6nqga&j`4CRV|=S<$n(laF{_z zuz6o9ykmzI5;#tbFLEtOAA+j_Ur`MkY4b4|1C5~cD$&u`rP^NK2hxw7dBKvl_Fy@E zE0SCvQ*w9XKk_hOqCcz(M5@`#B^mTLe+k@?!BUpr2g{2w1ka%If9a5Oh&!Swp8=XL z7p~FXt&p5R2tB|-|FI*5PWT)g>nr!r@h&LX+_d_dBVdDgl~Tbi3%$MK9*6GDgZhA! z&i|{uFAsd{*wL;lPvW1Mw zlETK^d7iV~_kCXXd3fK0;cyKG zZ#ZE8LO7goA#>5?cc#0uVr{Q^vm|mV1WCpm`R|U=`(3GjHJb7FoBAK|ral&i88Ovz z>YRb7+z;w#DV%rzq9Pf4qq_gs4ow$t*mRw92YU=!M`M* zIO3#!38Z-*Fs$`Ua-f39XCrL?{gkiyQ!y!n&lkMk{oyV{kVTM_PT+P7G9hytZB}XnVNyfI5V;;Ms3yZOU`+N*=jP!&w_W z-r+mTEXgo2kr{DkfF}8xO)o`O$HX-Gdg)#iBdV)>(vMfd(3|1IEj(1S-c<(bMdco{ zjy%?}Pi+83kXN)w*iDWtTOcD2)JE;VE!x_hm*h-KXR{A&Wq4^I3M437KPqzuRd7E< zQEtt;hCP=pC#MHaKXKsdqRSSZUy6tK$q)(=yZO4^-Bf+XC0YY>nKpob&Q>4m(Z`wA zDWPHQo)nW0%OQR-B?MA4zc4r|w?2EX|7DYcD>d_J5vU+79ET_j^QJ)`TXOH0_jQlG zH=Sbgm9apByCsVzqQGk`Xsw3xNR1ms&`;}BUdwq)^ZFhgf3*8xvdR|%A_Dj@0j(tk zEYaLV5w)w>woY(6ByZsah=2Wl9t2MJ1XpQqJYiM;$MDqu7dZLy^+vhj<7+Z_5DE~=U@lq4$--(ARiXU5S$PJ44ZgwH1~3dVlg z(_rBJ!=2{kNhS(A4;=GW6^Opv;vVRF9_DaS{DXda7VlNU!59IYFA5bT+N7u7zHJz-fg9M+3J-|(Q#WOy2Ts(gC`!DT@QX6jzKVsflhI; z4w~1QNw=UvhiRz;97xY))G`WT3ye>2EI6Lg$oW3J-G=u4nN{QQwcZOwyGP9Qp262! zlK}gARy)%I>qH-M6JmAz{Lqdbu@Y;M`_^Wx`lU#nBM~&K9W7?`XMb@T?B)!7;td@Xx;gX{75>3W@CBz7ovnWIxIwwwD0>;J)5^dB~xkR zXiTWoBq@k(Hfdd(Z(F#$$TD~28~C|w%`{@t>dMTaqgHCeT60l~*gKmhRmfev#MB)% z@29|?s1ZI!J$lSdp$}4AYX4Ps8G49a|Gux`IHNZnhwL3G^S^U%gN~=q&~X&B_x2Vb z|78DXk)lG;D#Ja?+!(|SaNvxfA+P5TAB#hxsMI;EG8B<=W)iD>BXiNhim3T&_1NsN zYga3P#q!W$H?^ZW5!H0ZxH}HozO|pa)fVl%VioEgYVS6%k|Z*&i-etMzS7MUc+kFV zkM;FQ-PkpADRhZFw=h%XtnZM)BKKIl<%G|yFtJC1we`MJg@eg>6ot3vc#3v`vz9wk zU0RtP*R$h+5QDJddtQSI@jIF9uhjZVgs?9g%Hof#C5O-5Wu7#xJfm2++_9#j~ zhQZ>S;OeNi`LUEL2H~LvUgcGywxkuXb}ksi%-NL(CnvF~vT=h2BF4t?Mx0Q@2Kg-- z0;jJKx-fHO+{Tbz^LQ23?BL8b30P|%Hl$^7v?fw7;oG2}e5rsytMbo_P4MB1Iz(7> zqC}h33*Usz52u)3^D?U;N62lVRW2bc27RXAjtUOl=A0Cgyf9BV=2D3menY8R=j4@? zw^i9GcCVUG4NWQAUKgC#a$hn<;Gh$~B797iU(ssAC#<)1HPM1!J?ILgb`OI4AAdj=fH z;ApdYn1h-ZxBsrc=iH}o+N#xi9tC-ONP_$gaS_W#K0o8~FKvTdJnNZXiPve(z~<`o z#dFx57qL}Z-GUK;fMM9#Px_%i7?83f(2w^*dU+jTWZ!I}PPb%c@ZKgMe{YG?4RI&n z4D%k22rn2EVRt)USN3C~&Ia{~c1bo8H4d&uw?DNO=-)JaIoxHr1$Yh2q%@5*N#=Gg7-+fCHFaw zD)i~p?Dq*fBud$w93;FGp6q+cTZzJXk8#-M;&JiwRM)Ec=@<1-3E04)q;{r^%Wn*tgUihL;L8&r9Y`}Jxtqc(Sg$t z-osO4@e;doURNi~LCce=3cncvkg2r+qZw>3H16pX6L*{6nrC@COUKgj6ePU&s#xmG zE4sFAaiFTIavnIqQ}I9xK%uAJ`8+cLBRyWW(G-l|VpY|}}?U_jUq5UuW zNp6RhiS|ZL0It!!!R7h6E6V=IcYqmI=>&2x5Cn*&To`j7*q^WB9=un>8-s`h&L3}M zj9O*P!D3n)8gee>dy%8Dkw}p99~uXl?019(iXfBKUcYHlob?-%q*9mAP%4?d|E(r3 zoDRFL>85S}G9=kCkvILs)_vq~dY=Z1<#Sm(=VJ%6^j;v?RfO{UKFYn@mPk9EP|xe} z!2G1N<#&vJUz}|9Ra4a{SAg4936@o4lg7E5a-BC=qUTUfnpxgwR7@t9mFKq%ca{#i zSi4h#>Z#%b0 z{E4gkiX=aO;49Zkg>EP;C#l8K8DT5FDA^%#AdqI9HQzX9ckhlHq&Df;!@ws7oX#)< zmP*Iukr9WQkM>r_X(GH$39;KMfs#TJ0vcRG?)Z&a5e!avZ&Plv#z(9n1pOk!t`xF zM3^t#(GH@8TPfQnZ9nfmNMp)6%CYRE7IlAMWmtb? z>eNPgI$u2I5bQ(8)C8 zKQ+NQY}L7_Ci`wN*2DQoC=FB!Eygrz-466CU^q1IBu)5)w712h!oHk5G?%B}_qNI3 zzRKnLW~ulGD`k0syvl@AutXCi4l($Nf~N3TWG`Lvxbpqs{2OM&ALOJRdHWKUp#_J+ zl62S8DXAb?;7YUiVU3K|1=X`{?@4~dVvz;8Kby6p%=^k?A;D4m&)~6lp4%gsD{Sa@%)TuIg4h;S=|H zs9T0Q;lVA%x}>~}5r%rR($V(eQE2P20X3WWGVOTX!bzoQ>!0SmE}}Z!+ohyGZDBy& z^^}`sppd@YmKzInWQ`uKQFb4BhI``Q{-Cp!anGMUu=*n7p7ek59w3?i7Rk}ASmby? zHCw^_db&`Y%D4UYv@r9~T)g^{pLgYFobh(0gF&=v*`{zH2fu%Vsxz@P&XX~pI1Xyk zC$=j&vbdYhEP`Vu9obd>RE6~Zv(N~B{fh>eW5iadhoYR+R<@-G&`skxK!18^mQo(eq-@tx@C*lXO66UJVSsk>5w&tLM| ztb~jn>F*^%p&3DkS1OA~Qe9KR>*>KGvqE2ei%*y0Ukys5`Z$Rq2gQW&(25-|7)lGJ z>e~IVBV&jHeOSc%{i6Og^3@aUCl#BLP97TBtEse%vd)P9sbVdoM)_VTi7p*g`f$G3 zSb^w>tN&Kk|I*S-3(RHgBmL9;R(9SacLx;cmv@f{0dgo3m!)dehI3^61ZsUr`R>yq ztX&->h@7cDqr;Pt7(}P^W7K}%eIK<4VuO*>6P6L{x997~i4uw@ovY&ej7Hp+E)IOS zK6a~S_6KC`02M$Ql~f$=olgbI+Ymo|BT5fqR}9y;v>svh4qAN0g;%>snCdXy%wZeH zE8Lpyd&ViLMVTH1`f&|(j1MFKO+(KQ&A{2jbLx0hFhM)>Rk6cAl5tj_s!oTsQl}Kd zPK)jpe(7z8&Fh0mdWx;3uEtevetn-gw;>?-SS8*Z6PbcQyWK8?xN_fl;fx`Y=%0dh zz}Cr4yd+fi5T?2s$?#yl^5<=Ib&dqGirz7C>q($(#zM4B`?|e0 zYqXs(M?sf$xYwR}Uvu?bT@&{N*5bOzjyWvY;u^i$0jt>|*~*~j4E1W4t9{?8+`^FD z!15BM!=WUIj*n~xCH2g~>s-ES)wi+W!TGde|CrB$gtSJFCE@X7R}0_Kj4eP}^qA6Q zmt8+7C5cS}abDu1CbEw#QQN+5Wc3M+oIG0jKJ!)BjRB7hPTv_XRTpO{F0Z0c(D$8` z_JS&PTkUEk;!H0kU@3b{EXZH9NPQ?q>8*vOC^VgXg;ve23%n3^O|40J*`wC>7h{dy zdn^>_@J!GF0}bWT96Sv>q5A$*v-w_%GH#M4^hjdeD1lBq>#OV-EWv&``>X zKm3);d1Q^z&yrKNT$iujG#k|cn{>4R$&v9X3cgy^aD{gL^5e+!uTzmwDpf`O*495p zzAd|-u;1{TEmumL~n8kB@(@yq&4V6D`qs7N0X@6YbVWQJ!G^^(} z6EE81UE!R+_Whh^k2#p`mF0*l2FyJBZZ-#FO2EE!|G1`}+tY7rzU^lBkon!eq_+p3 zQ~kT(Szj5GzobvsAIkc>;48HPe@kC=dSLcv{@ zw`^a^oOyfKSTbP_G`uv{qtTGmXf$|c_SMAP5cS#y>s_toJE_9$&)z=-)ll?ju4Sn9 zj%Dbma5zctR%R~E6qNlU3Y5)Q9y^@_fhns%;9dVs^AFYiPtP!f-+zOK7VIg*p0FE3 zj3c_Vf`AG)mDKi7;&RkZ6&=cbUnWmiR*jiRaDPvr9}@tDLr}?pM&t^?5Yadxc7c!5 z4GCT(8(;2x;E#~?{Tx&otbysmUAoSG7AB@Lys}w|0vAe#j*Jh@JBPMdYFP$%@OWAP zwB(QYc*O|qi{(K)Lw`8DHKpKm5*FG5tZ}Pd7NUbEl?2TUhoKOQiW|#JNhMNLG73eX zs)CYn0rbrRhBKdBjYV(VzIjd5!(aek`EY0dY8ZZ_Jz(Od+HVNNZ{WwjBhsdO=KPE> zxku%O`^+6X%^%FZm3lL6_*-?!-hPVBLC%PXhjZ5LCp?JKg5FL}0C8Nl!aS>{`PGlk zFmOww<9e90I{JRkxLT3k%rrQobm6(j*3EE7Px(CthbTCMT=Uf}3JZTK1)^Vo29PGu zW{o3%FRpBKW5sNnqSvp zY%)n#lg}Fp+;WV~y6+h?AcOK{yxs2JnWn2Lth~^)R$S%dkF`((y>1w2 zDR4Pp+YiOEN9NaX(I8@Fuw-0}?D5<>(NB5{MbZJ3jYY{9S;=)A;Vs-8H6-|MpX0Wb zOEHyu8YK<_QL>xqvfD9sVw#KBeubLQUjLT?N&dSKElM3TqRee}M3yNY#e|r^}@_p)X?tn)p^InyhO^5xE>JI)b~dv$tG89Xh@5-DXGVM$m)o z5@Foqwblp0#y1K_(6{C`jkkZ9UjcifsLo}&NX`qv`Ba;sGXLEq$b*yIfT5?t5g@hHZ?!C_M!gZJjNp diff --git a/hardhat/README.md b/hardhat/README.md index 6119a75..1a7fa0c 100644 --- a/hardhat/README.md +++ b/hardhat/README.md @@ -1,10 +1,15 @@ -## ๐Ÿซ Hardhat stuff +## hardhat stuff + + +### tl; dr
-### Tutorials +--- -
+### tutorials -* [Hardhat for Aurora](https://mirror.xyz/lilithsecurity.eth/7bxj980BWftX6oiwPu0OoTUyxLs7PhOVtSS0jVuXc04) + + +* [hardhat for aurora](https://mirror.xyz/lilithsecurity.eth/7bxj980BWftX6oiwPu0OoTUyxLs7PhOVtSS0jVuXc04) diff --git a/l2_and_rollups/README.md b/l2_and_rollups/README.md index a871ddc..ba12d4f 100644 --- a/l2_and_rollups/README.md +++ b/l2_and_rollups/README.md @@ -1,6 +1,6 @@ -# ๐Ÿ‘ l2s && rollups +## l2s && rollups -
+### tl; dr * the current Ethereum version has low transaction throughput and high latency in processing. This means that transactions are both slow and prohibitively expensive, due to high demand, relative to what the network can take at any given time. * there are two types of scaling solutions: @@ -13,14 +13,17 @@
-### zk-rollups +--- + +#### zk-rollups * zk-rollups bundle together many off-chain transactions into a single verifiable batch using zk-SNARK. * zk-SNARK is an extremely efficient, zero-knowledge proof that allows one party to prove it possesses certain information without revealing that information. These validity proofs are then posted to the Ethereum blockchain.
-### optimistic rollups +--- +#### optimistic rollups * Instead of executing and storing all the data on Ethereum, where transactions are only processed at a premium, we only store a summary. * All the actual computation and storage of contracts and data is done on L2. @@ -30,14 +33,17 @@
-### state channel +--- +#### state channel * setting up channels between parties to form an off-chain network within which many transactions take place * final state is updated on ethereum
-### side cain +--- + +#### side cain * conduct txs in a separate blockchain with its own consensus mechanism * assets and data are transferred with ethereum through a smart contract that locks assets and recreates representative opens in the side chain @@ -45,7 +51,8 @@
-### plasma chain +--- +#### plasma chain * similar to side chains, functioning as separate chains with their own consensus mechanisms * roots of each block are published to ethereum, which makes the system more secure but limits its ability for complex operations @@ -53,3 +60,7 @@
+ +--- + +### resources \ No newline at end of file diff --git a/l2_and_rollups/circom.md b/l2_and_rollups/circom.md index 03e8bd5..b91445b 100644 --- a/l2_and_rollups/circom.md +++ b/l2_and_rollups/circom.md @@ -1,4 +1,4 @@ -## ๐Ÿ [circom](https://docs.circom.io/) +## [circom](https://docs.circom.io/)
diff --git a/oracles/README.md b/oracles/README.md index cf78285..e3898ba 100644 --- a/oracles/README.md +++ b/oracles/README.md @@ -1,10 +1,11 @@ -## ๐Ÿฃ oracles +## oracles +### tl; dr
- +--- ### resources -* [mev toolkit on oracles](https://github.com/MEV-WAIFU-LABS/mev_toolkit/tree/main/oracles) +* [mev toolkit on oracles](https://github.com/go-outside-labs/mev-toolkit/tree/main/oracles) diff --git a/rust/README.md b/rust/README.md deleted file mode 100644 index 0f31a22..0000000 --- a/rust/README.md +++ /dev/null @@ -1,9 +0,0 @@ -## ๐Ÿซ” Rust - -
- -### Learning - -
- -* [Rust by example](https://doc.rust-lang.org/rust-by-example/) diff --git a/solana/README.md b/solana/README.md index 46f2606..6a6db27 100644 --- a/solana/README.md +++ b/solana/README.md @@ -1,5 +1,14 @@ -## ๐Ÿง‹ solana hacking +## solana + + +### tl; dr +
+ +--- + +### resources + * [solsec](https://github.com/0xsanny/solsec0) diff --git a/solidity/README.md b/solidity/README.md deleted file mode 100644 index 5d562ad..0000000 --- a/solidity/README.md +++ /dev/null @@ -1,16 +0,0 @@ -## ๐Ÿฟ master solidity - -
- -### in this dir - -
- - -* [set your workspace](set_your_workspace/) -* [bolierplates](boilerplates/) -* [solidity tl;dr](solidity_tldr.md) -* [l2s and rollups](l2_and_rollups/) -* [tokens standard](token_standards/) -* [tests](tests/) -* [saving gas](saving_gas.md) diff --git a/solidity/abi_encoding.md b/solidity/abi_encoding.md deleted file mode 100644 index 1894d17..0000000 --- a/solidity/abi_encoding.md +++ /dev/null @@ -1,24 +0,0 @@ -## ABI encoding - -* the solidity built-in function `abi.encode` encodes solidity types into raw bytes, that can be interpreted directly by the EVM. - - -``` -contract StringEncoding { - bytes public encodedString = abi.encode("hacking"); -} -``` - -* this is what happens: - 1. 1st (32 bytes) word = offset โ†’ indicates at which bytes index the string starts. If you count 32 from the beginning (= index 32), you will reach the starting point of where the actual encoded string starts. - 2. 2nd (32 bytes) word = string length โ†’ in the case of the string, this indicates how many characters (including whitespaces) are included in the string. - 3. 3rd (32 bytes) word = the actual utf8 encoded string โ†’ each individual bytes corresponds to hex notation of a letter / character encoded in utf8. - -
- -#### other ABI Encodings - -* address payable -> address -* contract -> address -* enum -> uint8 -* struct -> tuple of elementry types diff --git a/solidity/boilerplates/README.md b/solidity/boilerplates/README.md deleted file mode 100644 index 4418ceb..0000000 --- a/solidity/boilerplates/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## ๐ŸŒฎ boilerplates - - -
- -* [First ERC-721 project](https://github.com/bt3gl-labs/Blockchain-Development-and-Security/tree/main/Solidity-Expert/Boilerplates/erc721-solidity-101) diff --git a/solidity/boilerplates/erc721-solidity-101/.env_sample b/solidity/boilerplates/erc721-solidity-101/.env_sample deleted file mode 100644 index f93641e..0000000 --- a/solidity/boilerplates/erc721-solidity-101/.env_sample +++ /dev/null @@ -1,5 +0,0 @@ -API_URL = "https://eth-rinkeby.alchemyapi.io/v2/" -PUBLIC_KEY = -PRIVATE_KEY = -METADATA_URL = " -CONTRACT_ADDRESS = diff --git a/solidity/boilerplates/erc721-solidity-101/README.md b/solidity/boilerplates/erc721-solidity-101/README.md deleted file mode 100644 index 85395a3..0000000 --- a/solidity/boilerplates/erc721-solidity-101/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# One: A special summer - - -1. Compile contract: - -``` -npx hardhat compile -``` - -2. Deploy contract: - -``` -npx hardhat run scripts/deploy-contract.js --network rinkeby -``` - -3. Mint NFT: - -``` -node scripts/mint-nft.js -``` \ No newline at end of file diff --git a/solidity/boilerplates/erc721-solidity-101/contracts/MiaNFT.sol b/solidity/boilerplates/erc721-solidity-101/contracts/MiaNFT.sol deleted file mode 100644 index 1bb8d51..0000000 --- a/solidity/boilerplates/erc721-solidity-101/contracts/MiaNFT.sol +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity >=0.7.3 <0.9.0; - -import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; -import "@openzeppelin/contracts/utils/Counters.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; - - -contract MiaNFT is ERC721, Ownable { - - using Counters for Counters.Counter; - Counters.Counter private _tokenIds; - - constructor() public ERC721("Mia's NFT, "NFT") {} - - function mintNFT(address recipient, string memory tokenURI) - public onlyOwner - returns (uint256) - { - _tokenIds.increment(); - - uint256 newItemId = _tokenIds.current(); - _mint(recipient, newItemId); - _setTokenURI(newItemId, tokenURI); - - return newItemId; - } -} \ No newline at end of file diff --git a/solidity/boilerplates/erc721-solidity-101/hardhat.config.js b/solidity/boilerplates/erc721-solidity-101/hardhat.config.js deleted file mode 100644 index 8b52766..0000000 --- a/solidity/boilerplates/erc721-solidity-101/hardhat.config.js +++ /dev/null @@ -1,19 +0,0 @@ -/** -* @type import('hardhat/config').HardhatUserConfig -*/ -require('dotenv').config(); -require("@nomiclabs/hardhat-ethers"); - -const { API_URL, PRIVATE_KEY } = process.env; - -module.exports = { - solidity: "0.7.3", - defaultNetwork: "rinkeby", - networks: { - hardhat: {}, - rinkeby: { - url: API_URL, - accounts: [`0x${PRIVATE_KEY}`] - } - }, -} diff --git a/solidity/boilerplates/erc721-solidity-101/package.json b/solidity/boilerplates/erc721-solidity-101/package.json deleted file mode 100644 index a863d5e..0000000 --- a/solidity/boilerplates/erc721-solidity-101/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "MiaNFT", - "version": "1.0.0", - "description": "", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Mia von Steinkirch", - "license": "MIT", - "devDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.2", - "@nomiclabs/hardhat-waffle": "^2.0.1", - "@openzeppelin/contracts": "^3.1.0-solc-0.7", - "chai": "^4.3.4", - "ethereum-waffle": "^3.4.0", - "ethers": "^5.4.6", - "hardhat": "^2.6.2" - }, - "dependencies": { - "@alch/alchemy-web3": "^1.1.4", - "dotenv": "^10.0.0" - } -} diff --git a/solidity/boilerplates/erc721-solidity-101/scripts/deploy-contract.js b/solidity/boilerplates/erc721-solidity-101/scripts/deploy-contract.js deleted file mode 100644 index 630b540..0000000 --- a/solidity/boilerplates/erc721-solidity-101/scripts/deploy-contract.js +++ /dev/null @@ -1,14 +0,0 @@ -async function main() { - const nft = await ethers.getContractFactory("MiaNFT"); - - const nft_deploy = await nft.deploy(); - console.log(" โ›“๐Ÿงฑโœจ Contract address:", nft_deploy.address); - console.log(" โžก๏ธ (Please add this string to .env)"); -} - -main() - .then(() => process.exit(0)) - .catch(e => { - console.error(e); - process.exit(1); - }); diff --git a/solidity/boilerplates/erc721-solidity-101/scripts/mint-nft.js b/solidity/boilerplates/erc721-solidity-101/scripts/mint-nft.js deleted file mode 100644 index f4333b9..0000000 --- a/solidity/boilerplates/erc721-solidity-101/scripts/mint-nft.js +++ /dev/null @@ -1,41 +0,0 @@ -require('dotenv').config(); - -const PUBLIC_KEY = process.env.PUBLIC_KEY; -const PRIVATE_KEY = process.env.PRIVATE_KEY; -const API_URL = process.env.API_URL; -const METADATA_URL = process.env.METADATA_URL; -const CONTRACT_ADDRESS = process.env.CONTRACT_ADDRESS; -const { createAlchemyWeb3 } = require("@alch/alchemy-web3"); -const web3 = createAlchemyWeb3(API_URL); -const contract = require("../artifacts/contracts/MiaNFT.sol/MiaNFT.json"); -const nftContract = new web3.eth.Contract(contract.abi, CONTRACT_ADDRESS); - -async function mintNFT(tokenURI) { - - const nonce = await web3.eth.getTransactionCount(PUBLIC_KEY, 'latest'); - - const transaction = { - 'from': PUBLIC_KEY, - 'to': CONTRACT_ADDRESS, - 'nonce': nonce, - 'gas': 500000, - 'maxPriorityFeePerGas': 1999999987, - 'data': nftContract.methods.mintNFT(PUBLIC_KEY, tokenURI).encodeABI() - }; - - const sign = web3.eth.accounts.signTransaction(transaction, PRIVATE_KEY); - sign.then((signedTransaction) => { - - web3.eth.sendSignedTransaction(signedTransaction.rawTransaction, function(e, hash) { - if (!e) { - console.log("๐Ÿ’พ Transaction hash: ", hash); - } else { - console.log("ERROR:", e) - } - }); - }).catch((e) => { - console.log("ERROR:", e); - }); -} - -mintNFT(METADATA_URL); diff --git a/solidity/boilerplates/learning/hello-world.sol b/solidity/boilerplates/learning/hello-world.sol deleted file mode 100644 index 24bd164..0000000 --- a/solidity/boilerplates/learning/hello-world.sol +++ /dev/null @@ -1,32 +0,0 @@ -// Specifies the version of Solidity, using semantic versioning. -// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma -pragma solidity ^0.5.10; - -// Defines a contract named `HelloWorld`. -// A contract is a collection of functions and data (its state). -// Once deployed, a contract resides at a specific address on the Ethereum blockchain. -// Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html -contract HelloWorld { - - // Declares a state variable `message` of type `string`. - // State variables are variables whose values are permanently stored in contract storage. - // The keyword `public` makes variables accessible from outside a contract - // and creates a function that other contracts or clients can call to access the value. - string public message; - - // Similar to many class-based object-oriented languages, a constructor is - // a special function that is only executed upon contract creation. - // Constructors are used to initialize the contract's data. - // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors - constructor(string memory initMessage) public { - // Accepts a string argument `initMessage` and sets the value - // into the contract's `message` storage variable). - message = initMessage; - } - - // A public function that accepts a string argument - // and updates the `message` storage variable. - function update(string memory newMessage) public { - message = newMessage; - } -} diff --git a/solidity/boilerplates/learning/token.sol b/solidity/boilerplates/learning/token.sol deleted file mode 100644 index ff4e272..0000000 --- a/solidity/boilerplates/learning/token.sol +++ /dev/null @@ -1,58 +0,0 @@ -pragma solidity ^0.5.10; - -contract Token { - // An `address` is comparable to an email address - it's used to identify an account on Ethereum. - // Addresses can represent a smart contract or an external (user) accounts. - // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#address - address public owner; - - // A `mapping` is essentially a hash table data structure. - // This `mapping` assigns an unsigned integer (the token balance) to an address (the token holder). - // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types - mapping (address => uint) public balances; - - // Events allow for logging of activity on the blockchain. - // Ethereum clients can listen for events in order to react to contract state changes. - // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events - event Transfer(address from, address to, uint amount); - - // Initializes the contract's data, setting the `owner` - // to the address of the contract creator. - constructor() public { - // All smart contracts rely on external transactions to trigger its functions. - // `msg` is a global variable that includes relevant data on the given transaction, - // such as the address of the sender and the ETH value included in the transaction. - // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties - owner = msg.sender; - } - - // Creates an amount of new tokens and sends them to an address. - function mint(address receiver, uint amount) public { - // `require` is a control structure used to enforce certain conditions. - // If a `require` statement evaluates to `false`, an exception is triggered, - // which reverts all changes made to the state during the current call. - // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions - - // Only the contract owner can call this function - require(msg.sender == owner, "You are not the owner."); - - // Enforces a maximum amount of tokens - require(amount < 1e60, "Maximum issuance exceeded"); - - // Increases the balance of `receiver` by `amount` - balances[receiver] += amount; - } - - // Sends an amount of existing tokens from any caller to an address. - function transfer(address receiver, uint amount) public { - // The sender must have enough tokens to send - require(amount <= balances[msg.sender], "Insufficient balance."); - - // Adjusts token balances of the two addresses - balances[msg.sender] -= amount; - balances[receiver] += amount; - - // Emits the event defined earlier - emit Transfer(msg.sender, receiver, amount); - } -} diff --git a/solidity/saving_gas.md b/solidity/saving_gas.md deleted file mode 100644 index bfd09c8..0000000 --- a/solidity/saving_gas.md +++ /dev/null @@ -1,153 +0,0 @@ -## โ›ฝ๏ธ Tricks to save gas - - - -
- -#### Gas is the cost to for on-chain computation and storage. -#### Examples: addition costs 3 gas, Keccak-256 costs 30 gas + 6 gas for each 256 bits of data being hashed, sending a transaction costs 21,000 gas. - - -
- ------ - -### gas reports - -
- -* [hardhat](https://medium.com/@thelasthash/%EF%B8%8F-gas-optimization-with-hardhat-1e553eaea311) -* [foundry](https://book.getfoundry.sh/forge/gas-reports) - - - - -
- ---- - - - -### Function names - -- brute force hashes of function names to find those that starts `0000`, so this can save around 50 gas - ----- - -### Other contracts - -- avoid calls to other contracts - ---- - -### Pack variables - -The below code is an example of poorย code and will consume 3 storage slot: - -``` -uint8 numberOne; -uint256 bigNumber; -uint8 numberTwo; -``` - -A much more efficient way to do this in solidity will be: - -``` -uint8 numberOne; -uint8 numberTwo; -uint256 bigNumber; -``` - ---- - -### Constant vs. Immutable variables - -Constant values can sometimes be cheaper than immutable values: - -1. For a constant variable, the expression assigned to it is copied to all the places where it is accessed and also re-evaluated each time, allowing local optimizations. -2. Immutable variables are evaluated once at construction time and their value is copied to all the places in the code where they are accessed. For these values, 32 bytes are reserved, even if they would fit in fewer bytes. - ---- - -### Iterators - -* ++i uses 5 gas less than i++ - ---- - -### Mappings are cheaper than Arrays - -- avoid dynamically sized arrays -- An array is not stored sequentially in memory but as a mapping. -- You can pack Arrays but not Mappings. -- Itโ€™s cheaper to use arrays if you are using smaller elements like `uint8` which can be packed together. -- You canโ€™t get the length of a mapping or parse through all its elements, so depending on your use case, you might be forced to use an Array even though it might cost you more gas. - ---- - -### **Use bytes32 rather than string/bytes** - -- If you can fit your data in 32 bytes, then you should use bytes32 datatype rather than bytes or strings as it is much cheaper in solidity. -- Any fixed size variable in solidity is cheaper than variable size. - ---- - -### Modifiers - -- For all the public functions, the input parameters are copied to memory automatically, and it costs gas. -- If your function is only called externally, then you should explicitly mark it as external. -- External functionโ€™s parameters are not copied into memory but are read from `calldata` directly. -- internal and private are both cheaper than public and external when called from inside the contract in some cases. - - - ---- - -### Delete variables that you donโ€™t need - -- If you donโ€™t need a variable anymore, you should delete it using the delete keyword provided by solidity or by setting it to its default value. - ---- - -### **No need to initialize variables with default values** - -- If a variable is not set/initialized, it is assumed to have the default value (0, false, 0x0 etc depending on the data type). If you explicitly initialize it with its default value, you are just wasting gas. - -``` -uint256 hello = 0; //bad, expensive -uint256 world; //good, cheap -``` - ---- - -### Make use of single line swaps - -- This is space-efficient: - -``` -(hello, world) = (world, hello) -``` - -
- ---- - -
- -## negative gas costs - -- Deleting a contract (SELFDESTRUCT) is worth a refund of 24,000 gas. -- Changing a storage address from a nonzero value to zero (SSTORE[x] = 0) is worth a refund of 15,000 gas. - -
- - ---- - -## resources and tools - -
- -* [truffle contract size](https://github.com/IoBuilders/truffle-contract-size) -* [Solidity Gas Optimizations, The Innovative & Dangerous -](https://mirror.xyz/haruxe.eth/DW5verFv8KsYOBC0SxqWORYry17kPdeS94JqOVkgxAA) diff --git a/solidity/set_your_workspace/remix-IDE.md b/solidity/set_your_workspace/remix-IDE.md deleted file mode 100644 index 58ea070..0000000 --- a/solidity/set_your_workspace/remix-IDE.md +++ /dev/null @@ -1,68 +0,0 @@ -## Remix IDE - -
- -Remix IDE is an open source web3 application and it's used for the entire journey of smart contract development. - -
- -Screen Shot 2022-03-10 at 5 57 22 PM - - -
- -* Everything in Remix is a plugin. The plugin mamanger is the place to load functionalities and create your own plugins. -* By default, Remix stores files in Workspaces, which are folders in the browser's local storage. -* You can publish all files from current workspace to a gist, using the Gist API. - - -
- -#### Compiler (Solidity) - -* You can compile (and deploy) contracts with versions of Solidity older than 0.4.12. However, the older compilers used a legacy AST. -* The "fork selection" dropdown list allows to compile code against a specific ehtereum hard fork. - - -
- -#### Optimization - -* The optimizer tries to simplify complicated expressions, which reduces both code size and execution cost. It can reduce gas needed for contract deployment as well as for external calls made to the contract. - - -
- -#### Environment - -* `JavaScript VM`: All transactions will be executed in a sandbox blockchain in the browser. -* `Injected Provider`: Metamaask is an example of a profiver that inject web3. -* `Web3 Provider`: Remix will connect to a remote node (you need to provide the URL to the selected provider: geth, parity or any ethereum client) - - -
- -#### Setup - -* Gas Limit: sets the amount of ETH, WEI, GWEI that is sent to ta contract or a payable function. -* Deploy: sends a transaction that deplpys the selected contract. -* atAdress: used to access a contract whtat has already been deployed (does not cost gas). -* To interact with a contract using the ABI, create a new file in Remix, with extension `.abi`. -* The Recorder is a tool used to save a bunch of transactions in a JSON file and rerun them later either in the same environment or in another. -* The Debugger shows the contract's state while stepping through a transaction. -* Using generated sources will make it easier to audit your contracts. -* Static code analysis can be done by a plugin, so that you can examine the code for security vulnerabilities, bad development practices, etc. -* Hardhat integration can be done with `hardhat.config.js` (Hardhat websocket listener should run at `65522`). Hardhat provider is a plugin for Remix IDE. - - -
- -#### Generate artifacts - -When a compilation for a Solidity file succeeds, Remix creates three Json files for each compiled contract, that can be seen in the `File Explorers plugin`: - -1. `artifacts/.json`: contains links to libraries, the bytecode, gas estimation, the ABI. -2. `articfacts/.json`: contains the metadata from the output of Solidity compilation. -3. `artifcats/build-info/.json`: contains info about `solc` compiler version, compiler input and output. - - diff --git a/solidity/solidity_tldr.md b/solidity/solidity_tldr.md deleted file mode 100644 index 9abb0f0..0000000 --- a/solidity/solidity_tldr.md +++ /dev/null @@ -1,412 +0,0 @@ - -## solidity tl;dr - -
- -## predefined global variables and functions - -
- -* When a contract is executed in the EVM, it has access to a small set of global objects: block, msg, and tx objects. -* In addition, Solidity exposes a number of EVM opcodes as predefined functions. - - -
- -#### msg - -* msg object: the transaction that triggered the execution of the contract. -* msg.sender: sender address of the transaction. -* msg.value: ether sent with this call (in wei). -* msg.data: data payload of this call into our contract. -* msg.sig: first four bytes of the data payload, which is the function selector. - -
- -#### tx - -* tx.gasprice: gas price in the calling transaction. -* tx.origin: address of the originating EOA for this transaction. WARNING: unsafe! - -
- -#### block - -* block.coinbase: address of the recipient of the current block's fees and block reward. -* block.gaslimit: maximum amount of gas that can be spent across all transactions included in the current block. -* block.number: current block number (blockchain height). -* block.timestamp: timestamp placed in the current block by the miner (number of seconds since the Unix epoch). - -
- -#### address - -* address.balance: balance of the address, in wei. -* address.transfer(__amount__): Transfers the amount (in wei) to this address, throwing an exception on any error. -* address.send(__amount__): similar to transfer, only instead of throwing an exception, it returns false on error. WARNING: always check the return value of send. -* address.call(__payload__): low-level CALL functionโ€”can construct an arbitrary message call with a data payload. Returns false on error. WARNING: unsafe. -* address.delegatecall(__payload__): low-level DELEGATECALL function, like callcode(...) but with the full msg context seen by the current contract. Returns false on error. WARNING: advanced use only! - - -
- -#### built-in functions - -* addmod, mulmod: for modulo addition and multiplication. For example, addmod(x,y,k) calculates (x + y) % k. -* keccak256, sha256, sha3, ripemd160: calculate hashes with various standard hash algorithms. -* ecrecover: recovers the address used to sign a message from the signature. -* selfdestruct(__recipient_address__): deletes the current contract, sending any remaining ether in the account to the recipient address. -* this: address of the currently executing contract account. - -
- -#### what is considered modifying state - -- writing to state variables -- emitting events -- creating other contracts -- sending ether via calls -- using selfdestruct -- using low-level calls -- calling any function not marked view or pure -- using inline assembly that contains certain opcodes - - - - - -
- ---- - -## TL;DR solidity x python/C++ - - -
- -From Python, we get: -- modifiers -- multiple inheritances - -From JavaScript we get: -- function-level scoping -- the `var` keyword - -From C/C++ we get: - -- scoping: variables are visible from the point right after their declaration until the end of the smallest {}-block that contains the declaration. -- the good ol' value types (passed by value, so they are alway copied to the stack) and reference types (references to the same underlying variable). -- however, look how cool: a variable that is declared will have an initial default value whose byte-representation is all zeros. -- int and uint integers, with uint8 to uint256 in step of 8. - -From being statically-typed: -- the type of each variable (local and state) needs to be specified at compile-time (as opposed to runtime). - -
- - -You start files with the SPDX License Identifier (`// SPDX-License-Identifier: MIT`). SPDX stands for software package data exchange. The compiler will include this in the bytecode metadata and make it machine readable. - -
- -**Pragmas.** Big thing. Directives that are used to enable certain compiler features and checks. - -Version Pragma indicates the specific Solidity compiler version. It does not change the version of the compiler, though, so yeah, you will get an error if it does not match the compiler. - -Other types are Compiler version, ABI coder version, SMTCheker. - -
- -The best-practices for layout in a contract are: -1. state variables -2. events -3. modifiers -4. constructors -5. functions - -
- - -**NatSpec comments**. Also known as the "ethereum natural language specification format". Written as triple slashes (`///`) or double asterisk block -`(/**...*/)`, directly above function declarations or statements to generate documentation in `JSON` format for developers and end-users. These are some tags: -* @title: describe the contract/interface -* @author -* @notice: explain to an end user what it does -* @dev: explain to a dev -* @param: document params -* @return: any returned variable -* @inheritdoc: copies missing tags from the base function (must be followed by contract name) -* @custon: anything application-defined - - - -
- -**Events**. An abstraction on top of EVM's logging: emitting events cause the arguments to be stored in the transaction's log (which are associated with the address of the contract). Events are emitted using **emit**. - -Events are especially useful for light clients and DApp services, which can "watch" for specific events and report them to the user interface, or make a change in the state of the application to reflect an event in an underlying contract. - -
- - ---- - -## Variables - -
- -**Address types**. The address type comes in two types: - -1. holds a 20 byte value (the size of an Ethereum address) -2. address payable: with additional members transfer and send. address payable is an address you can send Ether to (while plain address not). - -Explicit conversion from address to address payable can be done with payable(). -Explicit conversion from or to address is allowed for uint160, integer literals, byte20, and contract types - -The members of address type are pretty interesting: .balance, .code, .codehash, .transfer, .send, .call, .delegatecall, .staticcall. - -
- -**Fixed-size Byte Arrays**. bytes1, bytes2, bytes3, โ€ฆ, bytes32 hold a sequence of bytes from one to up to 32. The type byte[] is an array of bytes, but due to padding rules, it wastes 31 bytes of space for each element, so it's better to use bytes() - - -
- -**State variables**. Variables that can be accessed by all functions of the contract and values are permanently stored in the contract storage. - -**State visibility specifiers.** This is important. These are state variables that define how the methods will be accessed: -- public: part of the contract interface and can be accessed internally or via messages. -- external: like public functions, but cannot be called within the contract. -- internal: can only be accessed internally from within the current contracts (or contracts deriving from it). -- private: can only be accessed from the contract they are defined in and not in derived contracts. -- pure: neither reads nor writes any variables in storage. It can only operate on arguments and return data, without reference to any stored data. Pure functions are intended to encourage declarative-style programming without side effects or state. -- payable: can accept incoming payments. Functions not declared as payable will reject incoming payments. There are two exceptions, due to design decisions in the EVM: coinbase payments and `SELFDESTRUCT` inheritance will be paid even if the fallback function is not declared as payable. - - - -**Immutability**. State variables can be declared as constant or immutable, so they cannot be modified after the contract has been constructed. Their difference is beautiful: -**for constant variables, the value is fixed at compile-time; for immutable variables, the value can still be assigned at construction time (in the constructor or point of declation)** - -There is an entire gas cost thing too. For constant variables, the expression assigned is copied to all the places, and re-evaluated each time (local optimizations are possible). For immutable variables, the expression is evaluated once at constriction time and their value is copied to all the places in the code they are accessed, on a reserved 32 bytes, becoming usually more expensive than constant. - -
- ---- - -## Functions - -
- -**Functions modifiers**. Used to change the behavior of functions in a declarative way, so that the function's control flow continues after the "_" in the preceding modifier. This symbol can appear in the modifier multiple times. - -The underscore followed by a semicolon is a placeholder that is replaced by the code of the function that is being modified. Essentially, the modifier is "wrapped around" the modified function, placing its code in the location identified by the underscore character. - -To apply a modifier, you add its name to the function declaration. More than one modifier can be applied to a function; they are applied in the sequence they are declared, as a space-separated list. - -``` -function destroy() public onlyOwner { -``` - -
- -**Function Visibility Specifiers**. Super uber important. These are how visibility works for functions: - -- public: part of the contract interface and can be either called internally or via messages. -- external: part of the contract interface, and can be called from other contracts and via transactions. Here is the interesting part: an external function `func` cannot be called internally, so `func()` would not work. But `this.func()` does. -- internal: can only be accessed from within the current contract or contracts deriving from it. -- private: can only be accessed from the contract they are defined in and not even in derived contracts - -
- -**Function Mutability Specifiers**: - -- view functions can read the contract state but not modify it: enforced at runtime via STATICALL opcode. -- pure functions can neither read a contract nor modify it. -- only view can be enforced at the EVM level, not pure. - -
- -**Overloading**. Okay, this one is hardcore: a contract can have multiple functions of the same name but with different parameter types! They are matched by the arguments supplied in the function call ๐Ÿ˜ฌ. - - -
- ---- - -## Data structures - -
- -- structs: custom-defined types that can group several variables of same/different types together to create a custom data structure. -- enums: used to create custom types with a finite set of constants values. Cannot have more than 256 members. - -
- -**Constructors**. When a contract is created, the function with *constructor* is executed once and then the final code of the contract is stored on the blockchain (all public and external functions, but not the constructor code or internal functions called by it). - -
- -**Receive function**. So this is interesting. A contract can have ONE *receive* function (*receive() external payable {...}*) without the function keyword, and no arguments and no return and... have `external` and `payable`. This is the function on plain Ether transfers via send() or transfer(). - -Interesting facts: -- Receive is executed on a call to the contract with empty calldata. -- Receive might only rely on 2300 gas being available. -- A contract without Receive can actually receive Ether as a recipient of a coinbase transaction (miner block reward) or as a destination of `selfdestruct`. -- A contract cannot react to the Ether transfer above. - -
- -**Falback function**. Kinda in the same idea, a contract can have ONE *fallback* function, which must have external visibility. - -- fallback is executed on a call to the contract if none of the other functions match the given function signature or no data was supplied and there is not receive Ether function. - - -
- -**Transfer.** The transfer function fails if the balance of the contract is not enough or if the transfer is rejected by the receiving account, revering on failure. - -
- -**Send.** Low-level counterpart of transfer, however, if the execution fails then send only returns false (return value must be checked by the caller). - -
- ----- - -## calling another contract - -
- -**Call/Delegatecall/Staticall**. Used to interface with contracts that do not adhere to ABI, or to give more direct control over encoding. They all take a single bytes memory parameter and return the success condition (as a bool) and the return data (byte memory). - -With delegatecall, only the code of the given address is used but all other aspects are taken from the current contract. The purpose is to use logic code that is stored in the callee contract but operates on the state of the caller contract. - -With staticall, the execution will revert if the called function modifies the state in any way. - -
- -### Creating a new instance - -* The safest way to call another contract is if you create that other contract yourself. -* To do this, you can simply instantiate it, using the keyword `new`, as in other object-oriented languages. This keyword will create the contract on the blockchain and return an object that you can use to reference it. - -``` -contract Token is Mortal { - Faucet _faucet; - - constructor() { - _faucet = new Faucet(); - } -} -``` - -
- - -### Addressing an existing instance - -* Another way you can call a contract is by casting the address of an existing instance of the contract. -* With this method, you apply a known interface to an existing instance. -* This is much riskier than the previous mechanism, because we donโ€™t know for sure whether that address actually is a Faucet object. - -``` -import "Faucet.sol"; - -contract Token is Mortal { - - Faucet _faucet; - - constructor(address _f) { - _faucet = Faucet(_f); - _faucet.withdraw(0.1 ether); - } -} - -``` - -
- - -### Raw call, delegatecall - -* Solidity offers some even more "low-level" functions for calling other contracts. -* These correspond directly to EVM opcodes of the same name and allow us to construct a contract-to-contract call manually. -* As such, they represent the most flexible and the most dangerous mechanisms for calling other contracts. -* It can expose your contract to a number of security risks, most importantly reentrancy. - -``` -contract Token is Mortal { - constructor(address _faucet) { - _faucet.call("withdraw", 0.1 ether); - } -} -``` - -* Another variant of call is delegatecall, which replaced the more dangerous callcode. A delegatecall is different from a call in that the msg context does not change. -* Essentially, delegatecall runs the code of another contract inside the context of the execution of the current contract. - - - -
- ----- - -## Data - -
- -**Data Location.** Every reference type has an additional annotation with the data location where it is stored: - -* memory: lifetime is limited to an external function call -* storage: limited to the lifetime of a contract and the location where the state variables are stored -* calldata: non-modifiable, non-persistent area where function arguments are stored and behaves mostly like memory - -
- -**Block and Transaction Properties.** Cute shit. - -- blockhash -- block.chainid -- block.coinbase -- block.difficulty -- block.gaslimit -- block.number -- block.timestamp -- msg.data -- msg.sender -- msg.sig -- msg.value -- tx.gasprice -- gasleft -- tx.origin - -
- -**Randomness**. Not cute shit: you cannot rely on block.timestamp or blockhash as a source of randomness, as they can be influenced by miners to some degree. - -
- ---- - -## ABI Encoding and Decoding Functions - -
- -- abi.decode -- abi.encode -- abi.encodePacked -- abi.encodeWithSelector -- abi.encodeWithSignature - -
- ----- - -## Error Handling - -
- -- assert(): causes a panic error and revert if the condition is not met -- require(): reverts if the condition is not met -- revert(): abort execution and revert state changes - diff --git a/solidity/solidity_topics.md b/solidity/solidity_topics.md deleted file mode 100644 index d76394d..0000000 --- a/solidity/solidity_topics.md +++ /dev/null @@ -1,8 +0,0 @@ -## solidity topics - -solidity provides two types of events: - -* anonymous - * 4 topics may be indexed, and there is not signature hash (no filter) -* non-anonymous (default) - * up to 3 topics may be indexed, since the first topic is reserved to the event signature (filter) diff --git a/solidity/tests/README.md b/solidity/tests/README.md deleted file mode 100644 index d897eb4..0000000 --- a/solidity/tests/README.md +++ /dev/null @@ -1,35 +0,0 @@ -## ๐Ÿฃ tests in solidity - -
- -### assert vs. require - -* Assert() should only be used to test for internal errors, and to check invariants. -* Require() should be used to ensure valid conditions are met that cannot be detected until execution time. -* You may optionally provide a message for require, but not for assert. - - -
- -### unit testing - -
- -* [Solidity-Coverage](https://github.com/sc-forks/solidity-coverage) -* [Remix tests](https://github.com/ethereum/remix-project/tree/master/libs/remix-tests) -* [OpenZeppelin test helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers) -* [foundry forge tests](https://github.com/foundry-rs/foundry/tree/master/forge) -* [etheno](https://github.com/crytic/etheno) - - - -
- -### articles - -
- -* [how to mock solidity contracts](https://ethereum.org/en/developers/tutorials/how-to-mock-solidity-contracts-for-testing/) -* [truffle smart contract test framework](https://ethereum.org/en/developers/tutorials/how-to-mock-solidity-contracts-for-testing/) -* [in-depth guide to testing ethereum smart contracts](https://iamdefinitelyahuman.medium.com/an-in-depth-guide-to-testing-ethereum-smart-contracts-2e41b2770297) -* [how to test smart contracts](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d) diff --git a/solidity/tests/unit-testing.md b/solidity/tests/unit-testing.md deleted file mode 100644 index 472f5c2..0000000 --- a/solidity/tests/unit-testing.md +++ /dev/null @@ -1,63 +0,0 @@ -## Basic Unit testing - -
- -Functions in a test file to make testing more structural: - -* `beforeEach()` - Runs before each test -* `beforeAll()` - Runs before all tests -* `afterEach()` - Runs after each test -* `afterAll()` - Runs after all tests - -
- -A generic unit testing file looks like: - - -``` -pragma solidity >=0.4.22 <0.8.0; -import "remix_tests.sol"; // this import is automatically injected by Remix. -import "remix_accounts.sol"; -// Import here the file to test. - -// File name has to end with '_test.sol', this file can contain more than one testSuite contracts -contract testSuite { - - /// 'beforeAll' runs before all other tests - /// More special functions are: 'beforeEach', 'beforeAll', 'afterEach' & 'afterAll' - function beforeAll() public { - // Here should instantiate tested contract - Assert.equal(uint(1), uint(1), "1 should be equal to 1"); - } - - function checkSuccess() public { - // Use 'Assert' to test the contract, - // See documentation: https://remix-ide.readthedocs.io/en/latest/assert_library.html - Assert.equal(uint(2), uint(2), "2 should be equal to 2"); - Assert.notEqual(uint(2), uint(3), "2 should not be equal to 3"); - } - - function checkSuccess2() public pure returns (bool) { - // Use the return value (true or false) to test the contract - return true; - } - - function checkFailure() public { - Assert.equal(uint(1), uint(2), "1 is not equal to 2"); - } - - /// Custom Transaction Context - /// See more: https://remix-ide.readthedocs.io/en/latest/unittesting.html#customization - /// #sender: account-1 - /// #value: 100 - function checkSenderAndValue() public payable { - // account index varies 0-9, value is in wei - Assert.equal(msg.sender, TestsAccounts.getAccount(1), "Invalid sender"); - Assert.equal(msg.value, 100, "Invalid value"); - } -} -``` - -Note that ine can input custom values for `msg.sender` & `msg.value` of transaction using NatSpec comments. - - diff --git a/solidity/token_standards/README.md b/solidity/token_standards/README.md deleted file mode 100644 index c79680b..0000000 --- a/solidity/token_standards/README.md +++ /dev/null @@ -1,41 +0,0 @@ -## ethereum token standards - -### tl; dr - -* EIP stands for Ethereum Improvement Proposals. -* ERC stands for Ethereum request for comments (technical documents written by Ethereum developers for Ethereum community). -* Each such document contains a set of rules required to implement tokens for the Ethereum ecosystem. - - - -
- ---- - -### erc-20 - - -* In the case of ERC20, a transaction sending ether to an address changes the state of an address. - - a transaction transferring a token to an address only changes the state of the token contract, not the state of the recipient address. -* one of the main reasons for the success of EIP-20 tokens is in the interplay between `approve` and `transferFrom`, which allows for tokens to not -only be transferred between externally owned accounts (EOA). - - but to be used in other contracts under application specific conditions by abstracting away `msg.sender` as the mechanism for token access control. -* a limiting factor lies from the fact that the EIP-20 `approve` function is defined in terms of `msg.sender`. - - this means that userโ€™s initial action involving EIP-20 tokens must be performed by an EOA. - - if the user needs to interact with a smart contract, then they need to make 2 transactions (`approve` and the smart contract internal call `transferFrom`), with gas costs. - -
- ---- - -### in this dir - -* [ERC20](erc20.md) -* [ERC777](erc777.md) -* [ERC721](erc721.md) - -
- ---- - -### resources diff --git a/solidity/token_standards/erc20.md b/solidity/token_standards/erc20.md deleted file mode 100644 index 45bcff2..0000000 --- a/solidity/token_standards/erc20.md +++ /dev/null @@ -1,73 +0,0 @@ -## ERC20 - -
- -* The ERC20 standard defines a common interface for contracts implementing this token, such that any compatible token can be accessed and used in the same way. - -
- -### ERC20-compliant token contract - -* totalSupply -Returns the total units of this token that currently exist. ERC20 tokens can have a fixed or a variable supply. - -* balanceOf -Given an address, returns the token balance of that address. - -* transfer -Given an address and amount, transfers that amount of tokens to that address, from the balance of the address that executed the transfer. - -* transferFrom -Given a sender, recipient, and amount, transfers tokens from one account to another. Used in combination with approve. - -* approve -Given a recipient address and amount, authorizes that address to execute several transfers up to that amount, from the account that issued the approval. - -* allowance -Given an owner address and a spender address, returns the remaining amount that the spender is approved to withdraw from the owner. - -* Transfer -Event triggered upon a successful transfer (call to transfer or transferFrom) (even for zero-value transfers). - -* Approval -Event logged upon a successful call to approve. - -
- ---- - -### ERC20 optional functions - -In addition to the required functions listed in the previous section, the following optional functions are also defined by the standard: - -* name -Returns the human-readable name (e.g., "US Dollars") of the token. - -* symbol -Returns a human-readable symbol (e.g., "USD") for the token. - -* decimals -Returns the number of decimals used to divide token amounts. For example, if decimals is 2, then the token amount is divided by 100 to get its user representation. - -
- ---- - -### The ERC20 interface defined in Solidity - - -``` -contract ERC20 { - function totalSupply() constant returns (uint theTotalSupply); - function balanceOf(address _owner) constant returns (uint balance); - function transfer(address _to, uint _value) returns (bool success); - function transferFrom(address _from, address _to, uint _value) returns - (bool success); - function approve(address _spender, uint _value) returns (bool success); - function allowance(address _owner, address _spender) constant returns - (uint remaining); - event Transfer(address indexed _from, address indexed _to, uint _value); - event Approval(address indexed _owner, address indexed _spender, uint _value); -} -``` - diff --git a/solidity/token_standards/erc721.md b/solidity/token_standards/erc721.md deleted file mode 100644 index 4fef101..0000000 --- a/solidity/token_standards/erc721.md +++ /dev/null @@ -1,41 +0,0 @@ -## ERC721 - -
- - -To see the difference between ERC20 and ERC721, look at the internal data structure used in ERC721: - - -``` -mapping (uint256 => address) private deedOwner; -``` - -
- -Whereas ERC20 tracks the balances that belong to each owner, with the owner being the primary key of the mapping, -ERC721 tracks each deed ID and who owns it, with the deed ID being the primary key of the mapping. - -
- - -### The ERC721 contract interface specification - - -``` -interface ERC721 /* is ERC165 */ { - event Transfer(address indexed _from, address indexed _to, uint256 _deedId); - event Approval(address indexed _owner, address indexed _approved, - uint256 _deedId); - event ApprovalForAll(address indexed _owner, address indexed _operator, - bool _approved); - - function balanceOf(address _owner) external view returns (uint256 _balance); - function ownerOf(uint256 _deedId) external view returns (address _owner); - function transfer(address _to, uint256 _deedId) external payable; - function transferFrom(address _from, address _to, uint256 _deedId) - external payable; - function approve(address _approved, uint256 _deedId) external payable; - function setApprovalForAll(address _operator, boolean _approved) payable; - function supportsInterface(bytes4 interfaceID) external view returns (bool); -} -``` diff --git a/solidity/token_standards/erc777.md b/solidity/token_standards/erc777.md deleted file mode 100644 index eac66ff..0000000 --- a/solidity/token_standards/erc777.md +++ /dev/null @@ -1,67 +0,0 @@ -## ERC777 - -
- -* an ERC20-compatible interface - -* transfer tokens using a send function, similar to ether transfers - -* compatible with ERC820 for token contract registration - -* allow contracts and addresses to control which tokens they send through a tokensToSend function that is called prior to sending - -* enable contracts and addresses to be notified of the tokens' receipt by calling a tokensReceived function in the recipient, and to reduce the probability of tokens being locked into contracts by requiring contracts to provide a tokensReceived function - -* allow existing contracts to use proxy contracts for the `tokensToSend and `tokensReceived` functions - -* operate in the same way whether sending to a contract or an EOA - -* provide specific events for the minting and burning of tokens - -* enable operators (trusted third parties, intended to be verified contracts) to move tokens on behalf of a token holder - -* provide metadata on token transfer transactions in userData and operatorData fields - -
- ---- - -
- -### ERC777 contract interface specification - - -``` -interface ERC777Token { - function name() public constant returns (string); - function symbol() public constant returns (string); - function totalSupply() public constant returns (uint256); - function granularity() public constant returns (uint256); - function balanceOf(address owner) public constant returns (uint256); - - function send(address to, uint256 amount, bytes userData) public; - - function authorizeOperator(address operator) public; - function revokeOperator(address operator) public; - function isOperatorFor(address operator, address tokenHolder) - public constant returns (bool); - function operatorSend(address from, address to, uint256 amount, - bytes userData,bytes operatorData) public; - - event Sent(address indexed operator, address indexed from, - address indexed to, uint256 amount, bytes userData, - bytes operatorData); - event Minted(address indexed operator, address indexed to, - uint256 amount, bytes operatorData); - event Burned(address indexed operator, address indexed from, - uint256 amount, bytes userData, bytes operatorData); - event AuthorizedOperator(address indexed operator, - address indexed tokenHolder); - event RevokedOperator(address indexed operator, address indexed tokenHolder); -} -``` - - - - - diff --git a/static_analysis_tools/README.md b/static_analysis/README.md similarity index 94% rename from static_analysis_tools/README.md rename to static_analysis/README.md index b8d4202..c161e30 100644 --- a/static_analysis_tools/README.md +++ b/static_analysis/README.md @@ -1,4 +1,4 @@ -## ๐Ÿง‹ static analysis tools +## static analysis tools
diff --git a/tenderly/README.md b/tenderly/README.md deleted file mode 100644 index 5e5d8b1..0000000 --- a/tenderly/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## ๐Ÿง‰ tenderly - -
- -* [tenderly](https://dashboard.tenderly.co/) -* [tenderly pocked knife](https://officercia.medium.com/tenderly-app-a-swiss-pocketknife-for-the-web3-developer-89bb904bee46) diff --git a/vulnerabilities/README.md b/vulnerabilities/README.md index 991f414..3c0fe0d 100644 --- a/vulnerabilities/README.md +++ b/vulnerabilities/README.md @@ -1,18 +1,30 @@ ## smart contract vulnerabilities + +### tl; dr + + +* `tx.origin` needs to bere placed by `msg.sender`, otherwise any contract you call can act on your behalf. +* inline assembly should be used only in rare cases. +* unclear semantics: `now` is alias for `block.timestamp` not current time; use of low level `call`, `callcode`, `delegatecall` should be avoided whenever possible; use `transfer` whenever failure of ether transfer should rollnack the whole transaction. +* beware of caller contracts: `selfdestruct` can block calling contracts unexpectedly. +* invocation of local functions via `this`: never use `this` to call functions in the same contract, it only consumes more gas than normal call. +* transferring Ether in a for/while/do-while loop should be avoid due to the block gas limit. +* erc20 `decimals` should have `uint8` as return type. +
+--- + ### in this dir * [reentrancy](reentrancy_attacks) -* [arithmetic bugs](arithmetic-bugs-notes.md) -* [code injection via `delegatecall`](delegatecall) -* [ddos attacks](ddos-notes.md) -* [pentesting](pentesting.md) * [randomness in ethereum](random_numbers.md) -* [security tips](security_tips.md) -* [address poisoning](address_poisoning) +* [code injection via `delegatecall`](delegatecall) +* [ddos attacks](ddos.md) + +
diff --git a/vulnerabilities/arithmetic-bugs-notes.md b/vulnerabilities/arithmetic-bugs-notes.md deleted file mode 100644 index f6dd5f9..0000000 --- a/vulnerabilities/arithmetic-bugs-notes.md +++ /dev/null @@ -1 +0,0 @@ -## Notes on arithmetic bugs diff --git a/vulnerabilities/ddos-notes.md b/vulnerabilities/ddos.md similarity index 91% rename from vulnerabilities/ddos-notes.md rename to vulnerabilities/ddos.md index 65f6228..555f9ea 100644 --- a/vulnerabilities/ddos-notes.md +++ b/vulnerabilities/ddos.md @@ -1,4 +1,4 @@ -## Notes on DDoS attacks on the context of blockchains +## DDoS attacks on the context of blockchains
diff --git a/vulnerabilities/delegatecall/README.md b/vulnerabilities/delegatecall/README.md index 3dcf257..1ec0ca7 100644 --- a/vulnerabilities/delegatecall/README.md +++ b/vulnerabilities/delegatecall/README.md @@ -1,4 +1,4 @@ -# Attacks via code injection with `DELEGATECALL` +## attacks via code injection with `DELEGATECALL`
diff --git a/vulnerabilities/delegatecall/proxies.md b/vulnerabilities/delegatecall/proxies.md index 446077f..6f96823 100644 --- a/vulnerabilities/delegatecall/proxies.md +++ b/vulnerabilities/delegatecall/proxies.md @@ -1,11 +1,15 @@ -## ๐ŸŒถ notes on proxies +## proxies + +### tl; dr
-*There exists a special variant of a message call, named delegatecall which is identical to a message call apart from the fact that the code at the target address is executed in the context (i.e. at the address) of the calling contract and msg.sender and msg.value do not change their values. This means that a contract can dynamically load code from a different address at runtime. Storage, current address and balance still refer to the calling contract, only the code is taken from the called address.* +* here exists a special variant of a message call, named delegatecall which is identical to a message call apart from the fact that the code at the target address is executed in the context (i.e. at the address) of the calling contract and msg.sender and msg.value do not change their values. This means that a contract can dynamically load code from a different address at runtime. Storage, current address and balance still refer to the calling contract, only the code is taken from the called address.
+--- + ### proxy patterns
@@ -21,19 +25,47 @@
-### diamond pattern +#### transparent proxy pattern (TPP) + +1. upgrade logic is stored in proxy itself. +2. gas-inefficient
+#### universal upgradable proxy standard (UUPS) + +1. upgrade logic is stored in logic itself +2. gas-efficient + + +
+ +#### diamond pattern + + * diamond patterns differ from proxy patterns because the diamond proxy contract can delegates function calls to more than one logic contract. * when a user makes a function call, the proxy contract checks the mapping to find the facet responsible for executing that function. Then it invokes delegatecall (using the fallback function) and redirects the call to the appropriate logic contract.
-### resources +--- + +### unitialized proxy bug + + + +* Developers might leave proxies unitialized - this can be a problem when it leads to changes such as granting ownership to the caller +* the owners of the contract can upgrade the implementation contract +* this bug can lead to the self-destruction of the implementation contract (proxy contract is bricked)
+--- + +### resources + + + * [proxy patterns](https://mirror.xyz/0xB38709B8198d147cc9Ff9C133838a044d78B064B/M7oTptQkBGXxox-tk9VJjL66E1V8BUF0GF79MMK4YG0) * [how diamond upgrades work](https://dev.to/mudgen/how-diamond-upgrades-work-417j) * [the state of smart contract updates](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/) diff --git a/vulnerabilities/governance_attacks.md b/vulnerabilities/governance_attacks.md deleted file mode 100644 index 02dacd2..0000000 --- a/vulnerabilities/governance_attacks.md +++ /dev/null @@ -1,11 +0,0 @@ -## ๐Ÿ— governance attacks - -
- - -### ethereum - -
- - -Screen Shot 2022-09-23 at 1 51 36 PM diff --git a/vulnerabilities/pentesting.md b/vulnerabilities/pentesting.md deleted file mode 100644 index f318556..0000000 --- a/vulnerabilities/pentesting.md +++ /dev/null @@ -1,3 +0,0 @@ -## ๐Ÿดโ€โ˜ ๏ธ Pentesting - -
diff --git a/vulnerabilities/proxies.md b/vulnerabilities/proxies.md deleted file mode 100644 index eaff9e7..0000000 --- a/vulnerabilities/proxies.md +++ /dev/null @@ -1,43 +0,0 @@ -## ๐ŸŠ Proxies - -
- -### TL;DR Proxies Patterns - -
- -#### Transparent Proxy Pattern (TPP) - -1. upgrade logic is stored in proxy itself. -2. gas-inefficient - -
- -#### Universal Upgradable Proxy Standard (UUPS) - -1. upgrade logic is stored in logic itself -2. gas-efficient - - -
- ---- - -### Unitialized proxy bug - -
- -* Developers might leave proxies unitialized - this can be a problem when it leads to changes such as granting ownership to the caller -* the owners of the contract can upgrade the implementation contract -* this bug can lead to the self-destruction of the implementation contract (proxy contract is bricked) - - ---- - -### Resources - -
- -* [Wormhole bridge protocol](https://github.com/immunefi-team/wormhole-uninitialized) - - diff --git a/vulnerabilities/random_numbers.md b/vulnerabilities/random_numbers.md index d56ce6e..4dfa899 100644 --- a/vulnerabilities/random_numbers.md +++ b/vulnerabilities/random_numbers.md @@ -1,4 +1,4 @@ -## ๐ŸŒถ randomization +## random number vulns
@@ -10,11 +10,14 @@ * `DIFFICULTY` is renamed to `PREVRANDAO`, and return the output of the randomness beacon provided by the beacon chain. It's stronger than `BLOCKHASH` but still biasable. +
+---- + ### resources -
+ * [ethereum randomness ](https://eth2book.info/altair/part2/building_blocks/randomness) diff --git a/vulnerabilities/sandwich-notes.md b/vulnerabilities/sandwich-notes.md deleted file mode 100644 index 629d1d5..0000000 --- a/vulnerabilities/sandwich-notes.md +++ /dev/null @@ -1,9 +0,0 @@ -## Notes on Sandwich attacks - -
- -### On Ethreum - -
- -* [A practical example on how to perform sandwich attacks on UniswapV2 pairs](https://github.com/libevm/subway) diff --git a/vulnerabilities/security_tips.md b/vulnerabilities/security_tips.md deleted file mode 100644 index 8efa20b..0000000 --- a/vulnerabilities/security_tips.md +++ /dev/null @@ -1,13 +0,0 @@ -## ๐ŸŒญ security tips - -
- -* `tx.origin` needs to bere placed by `msg.sender`, otherwise any contract you call can act on your behalf. -* inline assembly should be used only in rare cases. -* unclear semantics: `now` is alias for `block.timestamp` not current time; use of low level `call`, `callcode`, `delegatecall` should be avoided whenever possible; use `transfer` whenever failure of ether transfer should rollnack the whole transaction. -* beware of caller contracts: `selfdestruct` can block calling contracts unexpectedly. -* invocation of local functions via `this`: never use `this` to call functions in the same contract, it only consumes more gas than normal call. -* transferring Ether in a for/while/do-while loop should be avoid due to the block gas limit. -* erc20 `decimals` should have `uint8` as return type. - -