I hereby claim:
- I am drgorillamd on github.
- I am drgorilla_md (https://keybase.io/drgorilla_md) on keybase.
- I have a public key ASDSuXEe25NwE38lIIjbDUrB4KvUupKF6LcnYkEcqyCoWQo
To claim this, I am signing this object:
pragma solidity "0.8.7"; | |
contract CallMeAndIRevert { | |
error ErrorA(); // 0x5283ed77 | |
error ErrorB(); // 0x8a25c831 | |
function triggerErrorAorB() external { | |
if(block.timestamp % 2 == 0) revert ErrorA(); | |
else revert ErrorB(); | |
} | |
} |
pragma solidity ^0.8.0; | |
contract Test { | |
function a(bytes32 c, bytes32 d, bytes16 e) external view returns(address[4] memory res) { | |
assembly { | |
//address will take the right-end 20 bytes -> starting at 0, need to add 8 bytes of padding (already 4 from the function sig) => shift right 64bits | |
mstore(res, shr(64, calldataload(0))) //res[0] res==keccak256(0)==0 here (slot0) | |
mstore(add(res, 32), calldataload(12)) // we want to have the offset 12 bytes before the begining of the address -> 4+20 are just before, then -12 = 12 | |
mstore(add(res, 64), calldataload(32)) |
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.7.0 <0.9.0; | |
contract Caller { | |
uint256 flag = 0; | |
event InsideBeforeDelegate(); | |
event InsideAfterDelegate(); | |
event OutsideAfterAllWtf(); |
const ethers = require('ethers'); | |
const { Interface } = require('ethers/lib/utils'); | |
const contractAddress = ''; | |
const key = ''; | |
const RPC_SERVER = ''; | |
async function main () { | |
try { | |
const provider = new ethers.providers.JsonRpcProvider(RPC_SERVER); |
pragma solidity 0.8.7; | |
interface IE { | |
function setN() external; | |
} | |
contract D { | |
uint public n; | |
uint private temp; |
I hereby claim:
To claim this, I am signing this object:
pragma solidity 0.8.16; | |
// optim 200 runs | |
contract Test { //27038 | |
struct StructA { | |
uint128 _a; | |
uint128 _b; | |
} | |
StructA structA; |
// SPDX-License-Identifier: GPL-3.0 | |
// no optimization | |
pragma solidity 0.8.19; | |
contract A { | |
event Log(string bleh); | |
// Pass an arbitrary bytecode offset, then make it a fn pointer and call it | |
function callme(bytes32 _offset) external { |