Skip to content

Instantly share code, notes, and snippets.

@cassc
cassc / etherscan.api.multi.json
Created May 2, 2023 05:50
Json from Etherscan API for a contract consistenting of multiple source files
{
"SourceCode": "{{\r\n \"language\": \"Solidity\",\r\n \"settings\": {\r\n \"evmVersion\": \"london\",\r\n \"libraries\": {},\r\n \"metadata\": {\r\n \"bytecodeHash\": \"ipfs\",\r\n \"useLiteralContent\": true\r\n },\r\n \"optimizer\": {\r\n \"enabled\": true,\r\n \"runs\": 200\r\n },\r\n \"remappings\": [],\r\n \"outputSelection\": {\r\n \"*\": {\r\n \"*\": [\r\n \"evm.bytecode\",\r\n \"evm.deployedBytecode\",\r\n \"devdoc\",\r\n \"userdoc\",\r\n \"metadata\",\r\n \"abi\"\r\n ]\r\n }\r\n }\r\n },\r\n \"sources\": {\r\n \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\": {\r\n \"content\": \"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../utils/ContextUpgradeable.sol\\\";\\nimport \\\"../proxy/utils/Initializable.sol\\\";\\n\\n/**\\n * @dev Contract module which prov
@cassc
cassc / solc.output.json
Created April 28, 2023 07:23
sample solc json output with asm, code and opcodes
This file has been truncated, but you can view the full file.
{
"inheritance_contracts.sol:A": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "",
@cassc
cassc / stepDeail.txt
Created April 28, 2023 04:19
StepDetail remix
internalCallTree.ts:311 stepDetail: {"stack":{"length":0},"storage":{},"memory":null,"op":"PUSH1","pc":0,"gasCost":3,"gas":"58627","depth":1}
internalCallTree.ts:311 stepDetail: {"stack":{"0":"128n","length":1},"storage":{},"memory":null,"op":"PUSH1","pc":2,"gasCost":3,"gas":"58624","depth":1}
internalCallTree.ts:311 stepDetail: {"stack":{"0":"128n","1":"64n","length":2},"storage":{},"memory":null,"op":"MSTORE","pc":4,"gasCost":12,"gas":"58621","depth":1}
internalCallTree.ts:311 stepDetail: {"stack":{"length":0},"storage":{},"memory":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70
@cassc
cassc / compResult.pretty.json
Created April 28, 2023 03:43
Compilation result remix json
This file has been truncated, but you can view the full file.
{
"languageversion": "soljson",
"data": {
"contracts": {
"contracts/18619b2920df4f76eb087211e324a0b5_ContextUpgradeable.sol": {
"ContextUpgradeable": {
"abi": [
{
"anonymous": false,
"inputs": [
@cassc
cassc / compiled.solidity.pretty.json
Created April 28, 2023 03:14
A sample compiled contract json
{
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
@cassc
cassc / beacon.example.sol
Created July 14, 2022 09:33
beacon contract
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol";
import "@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol";
contract Vaultv1 is Initializable {
@cassc
cassc / gist:74340848e5cc35fd21a81ef8a5c3e974
Created May 29, 2022 08:19
aws sqs sample event from sns topic.json
{
"Records": [
{
"messageId": "1eaa56db-c31c-491f-84ea-e58f4fe20e4f",
"receiptHandle": "AQEBN2NLRnTcSX0zuKkkHsSnpxcwglSRP5uiv3DRlteaPStK9FBqc0UZeaunyq3LuLyJC4gyJrKmDG6zESio1S0ErXhWO55xp2+zSIqEAdV+WkIaREutcu/oHk2Q+KA3WE2LuJ0T4tWevOVvyf6tL8QUur02eYN+7xYapeTcKifaed2m/BJFGPUEDo5kzeMQTqnnqqCWtvssFpVBvDFeM+NN36tokIYLhWwuESqMqf3KM1IH58HfX3F2XXxdAwkAgTHFjtVqP94ntTzYiNA6HlvmY3TShR2TqNodIan5elRsv89DWqP0KQJXszRPtsPEog/eXnJApoVxpEopJoE/euU/ItXi7EnOMRWIV2AZ1CU8ctyYLjtsBS1vNhzCtkrdnLwDJp6y8Hte2JA1c4zU/XTfpw==",
"body": "{\n \"Type\" : \"Notification\",\n \"MessageId\" : \"6d5f16a0-f45a-5644-9320-4dadd2a4d37f\",\n \"TopicArn\" : \"arn:aws:sns:eu-west-1:488682066271:vod-v2-SnsTopic-QA50ZMXLQDIY\",\n \"Subject\" : \"Workflow Status:: Complete:: ba681a1a-b254-4870-9f22-1dbb09940d2d\",\n \"Message\" : \"{\\n \\\"encodeJobId\\\": \\\"1653810291539-pao7i2\\\",\\n \\\"frameCapture\\\": true,\\n \\\"acceleratedTranscoding\\\": \\\"PREFERRED\\\",\\n \\\"workflowTrigger\\\": \\
@cassc
cassc / clojars-search.py
Created May 3, 2022 01:21
Get deps.edn from clojars by libarary name
from bs4 import BeautifulSoup
import argparse
import requests
from collections import OrderedDict
CLOJARS_URL = 'https://clojars.org/{}'
ap = argparse.ArgumentParser()
ap.add_argument('-l', '--library', help='Libary short name', type=str)
# github code search
#
# Usage:
# python3 github-search.py -l rs -t Code ethers contract
import subprocess
from urllib.parse import quote_plus
import argparse
BROWSER_CLI = 'brave'
@cassc
cassc / GetMac.go
Created November 8, 2021 03:31
Get list of MAC addresses in Go
func GetMac() ([]string, error) {
ifas, err := net.Interfaces()
if err != nil {
return nil, err
}
var as []string
for _, ifa := range ifas {
a := ifa.HardwareAddr.String()
if a != "" {
as = append(as, a)