Skip to content

Instantly share code, notes, and snippets.

View parseb's full-sized avatar
🐙
structure favors incremental progress

BogdanA parseb

🐙
structure favors incremental progress
View GitHub Profile
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

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
  • Fix compiler warnings

Keybase proof

I hereby claim:

  • I am parseb on github.
  • I am parseb (https://keybase.io/parseb) on keybase.
  • I have a public key ASBLRO7AOMIR-UDnICyVyoIoNKlVmsBScTckl5YEClFbQQo

To claim this, I am signing this object:

// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
/// Q: Can I use declared return values to prevent reentrancy attacks?
/// A: No.
/// @notice return values of function are reinitialized on each unique entry and as such cannot prevent rerentry attacks
/// pattern might be useful if return value is global
contract Reentrance {
@parseb
parseb / gist:1a9ba2b7414485ae77b81dac7f50db1b
Created June 27, 2023 13:44 — forked from cblanc/gist:46ebbba6f42f61e60666
First 1000 Prime Numbers (CSV)
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
@parseb
parseb / Merkle.sol
Created November 17, 2023 15:07 — forked from zengzengzenghuy/Merkle.sol
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.22+commit.4fc1097e.js&optimize=false&runs=200&gist=
// 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) {