This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// taken here: https://github.com/maticnetwork/contracts/blob/main/contracts/common/lib/Merkle.sol | |
pragma solidity ^0.8.20; | |
library Merkle { | |
function checkMembership( | |
bytes32 leaf, | |
uint256 index, | |
bytes32 rootHash, | |
bytes memory proof | |
) internal pure returns (bool) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
""" | |
Use Unicode flag emoji homoglyphs to re-encode UTF-8. | |
To encode, a string is first encoded as UTF-8, then each byte is | |
broken down into bits, and each bit is encoded as a flag: | |
The more well-known country flag in each pair represents 0, and the | |
less well-known one represents 1. Pairs are cycled through. | |
There are 8 pairs total, which is the most I could find without repeats. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import libtorrent as lt | |
# usage: | |
# sudo apt install python3-libtorrent | |
# wget https://thenftbay.org/billion-dollar-nft-torrent.torrent | |
# python3 t.py | |
info = lt.torrent_info("billion-dollar-nft-torrent.torrent") | |
print("Number of pieces: ", info.num_pieces()) | |
print("dumping piece hashes:") |
Moved into a GitHub repository: cheatsheet.sol🔗
Feel free to copy and paste this list into a README, issue or elsewhere in your project.
Audit prep checklist (reference)
- Documentation (A plain english description of what you are building, and why you are building it. Should indicate the actions and states that should and should not be possible)
- For the overall system
- For each unique contract within the system
- Clean code
- Run a linter (like EthLint)
- Fix compiler warnings
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1 |