Skip to content

Instantly share code, notes, and snippets.

View elenadimitrova's full-sized avatar

Elena elenadimitrova

View GitHub Profile
{
"name": "Optimism",
"logoURI": "https://ethereum-optimism.github.io/logos/optimism.svg",
"keywords": ["scaling", "layer2", "infrastructure"],
"timestamp": "2021-03-22T10:01:21.042+00:00",
"tokens": [
{
"chainId": 10,
"address": "0x8700daec35af8ff88c16bdf0418774cb3d7599b4",
"name": "Synthetix",
const ethers = require('ethers')
const { Watcher } = require('@eth-optimism/watcher')
const { predeploys, getContractInterface } = require('@eth-optimism/contracts')
// Set up some contract factories. You can ignore this stuff.
const factory = (name, ovm = false) => {
const artifact = require(`./artifacts${ovm ? '-ovm' : ''}/contracts/${name}.sol/${name}.json`)
return new ethers.ContractFactory(artifact.abi, artifact.bytecode)
}
const erc20L1Artifact = require(`./artifacts/contracts/ERC20.sol/ERC20.json`)
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639be65a601161008c578063d5e69ee911610066578063d5e69ee9146101ca578063d89784fc146101dd578063ea2347e6146101e5578063fd6ac309146101fa576100ea565b80639be65a6014610184578063a287fdbd14610197578063b20f3f37146101b7576100ea565b80632df546f4116100c85780632df546f4146101355780633b73d67f146101485780634b57b0be146101695780638eac81d514610171576100ea565b806302370b16146100ef5780631094fa571461010457806319ab453c14610122575b600080fd5b6101026100fd366004611c5d565b61020d565b005b61010c610373565b604051610119919061205d565b60405180910390f35b610102610130366004611c5d565b610382565b610102610143366004611d3e565b610385565b61015b610156366004611e8f565b61052a565b60405161011992919061247c565b61010c610607565b61010261017f366004611dbe565b610616565b610102610192366004611c5d565b610901565b6101aa6101a5366004611c78565b610a35565b6040516101199190612221565b6101026101c5366004611eed565b610ac1565b6101026101d8366004611cac565b610cc7565b61010c610fb4565b6101ed610fc3565b60405161011991906121d3565b61010261
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639be65a601161008c578063d5e69ee911610066578063d5e69ee9146101ca578063d89784fc146101dd578063ea2347e6146101e5578063fd6ac309146101fa576100ea565b80639be65a6014610184578063a287fdbd14610197578063b20f3f37146101b7576100ea565b80632df546f4116100c85780632df546f4146101355780633b73d67f146101485780634b57b0be146101695780638eac81d514610171576100ea565b806302370b16146100ef5780631094fa571461010457806319ab453c14610122575b600080fd5b6101026100fd366004611c5d565b61020d565b005b61010c610373565b604051610119919061205d565b60405180910390f35b610102610130366004611c5d565b610382565b610102610143366004611d3e565b610385565b61015b610156366004611e8f565b61052a565b60405161011992919061247e565b61010c610607565b61010261017f366004611dbe565b610616565b610102610192366004611c5d565b610901565b6101aa6101a5366004611c78565b610a35565b6040516101199190612223565b6101026101c5366004611eed565b610ac1565b6101026101d8366004611cac565b610cc7565b61010c610fb4565b6101ed610fc3565b60405161011991906121d5565b61010261
{
"contractName": "TestUpgradedMakerV2Manager",
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
@elenadimitrova
elenadimitrova / debug-output-from-ganache-createColony-tx-local
Created June 17, 2019 11:59
debug-output-from-ganache-createColony-tx-local
eth_sendTransaction
PUSH1
PUSH1
MSTORE 0x80 0x40
PUSH1
CALLDATASIZE
LT 0x4 0x24
PUSH2
JUMPI 0x0 0x55
PUSH1
@elenadimitrova
elenadimitrova / debug-output-from-ganache-createColony-tx-on-goerli-fork
Last active June 17, 2019 14:24
debug-output-from-ganache-createColony-tx-on-goerli-fork
eth_sendTransaction
PUSH1
PUSH1
MSTORE 0x80 0x40
PUSH1
CALLDATASIZE
LT 0x4 0x24
PUSH2
JUMPI 0x0 0x55
PUSH1
pragma solidity ^0.4.23;
contract ReviewableTaskCollection {
function addTask() {
}
struct Task {
bytes32 specificationHash;
uint256 dueDate;
function generateVoteSecret(bytes32 salt, uint256 optionId)
returns (bytes32)
{
return keccak256(salt, optionId);
}
function onHoldBalanceOf(address _storageContract, address _account)
constant returns (uint256 balance)
{
return EternalStorage(_storageContract).getUIntValue(keccak256("onhold:", _account));
}
function onHoldBalanceSet(address _storageContract, address _account, uint256 _balance)
{
var onHoldBalance = EternalStorage(_storageContract).getUIntValue(keccak256("onhold:", _account));
EternalStorage(_storageContract).setUIntValue(keccak256("onhold:", _account), onHoldBalance + _balance);