Skip to content

Instantly share code, notes, and snippets.

View AdvaithD's full-sized avatar
:electron:

Advaith Doosa AdvaithD

:electron:
View GitHub Profile
@AdvaithD
AdvaithD / main.go
Created March 3, 2023 05:13
skeleton repl
package main
import (
"bufio"
"fmt"
"log"
"os"
"strings"
"github.com/ethereum/go-ethereum/accounts/abi"
@AdvaithD
AdvaithD / eip1167.md
Last active November 18, 2022 18:21
EIP1167 annotated
36 - CALLDATASIZE
3d - RETURNDATASIZE
3d - RETURNDATASIZE
37 - CALLDATACOPY
3d - RETURNDATASIZE
3d - RETURNDATASIZE
3d - RETURNDATASIZE
36 - CALLDATASIZE
3d - RETURNDATASIZE
func register_voter{
syscall_ptr : felt*, range_check_ptr, pedersen_ptr : HashBuiltin*,
ecdsa_ptr : SignatureBuiltin*}(poll_id : felt, voter_public_key : felt, r : felt, s : felt):
let (owner_pubkey) = poll_owner_public_key.read(poll_id=poll_id)
# verify valid poll
assert_not_zero(owner_pubkey)
# verify signature
let (message) = hash2{hash_ptr=pedersen_ptr}(x=poll_id, y=voter_public_key)
verify_ecdsa_signature(message=message, public_key=owner_pubkey, signature_r=r, signature_s=s)
@AdvaithD
AdvaithD / stream.go
Created March 5, 2022 02:44
stream txns
func StreamNewTxs(rpcClient *rpc.Client, fullMode bool) {
// Go channel to pipe data from client subscription
newTxsChannel := make(chan common.Hash)
// Subscribe to receive one time events for new txs
rpcClient.EthSubscribe(
context.Background(), newTxsChannel, "newPendingTransactions", // no additional args
)
client := GetCurrentClient()
@AdvaithD
AdvaithD / state.js
Created February 23, 2021 18:34
state-dissector.js
//Mozilla Public License 2.0
//As per https://github.com/ethereumjs/ethereumjs-vm/blob/master/LICENSE
//Requires the following packages to run as nodejs file https://gist.github.com/tpmccallum/0e58fc4ba9061a2e634b7a877e60143a
// NOTE: Ported from a medium.com article (https://medium.com/cybermiles/diving-into-ethereums-world-state-c893102030ed)
//Getting the requirements
var Trie = require('merkle-patricia-tree/secure');
var levelup = require('levelup');
var leveldown = require('leveldown');
var utils = require('ethereumjs-util');
var BN = utils.BN;
@AdvaithD
AdvaithD / types.ts
Last active November 8, 2020 04:31
ccxt types
declare module 'ccxt' {
interface Dictionary<T> {
[key: string]: T;
}
export class BaseError extends Error {
constructor(message: string);
}
export class ExchangeError extends BaseError {}
@AdvaithD
AdvaithD / logdump
Created July 12, 2020 22:16
connecterror
(org.apache.kafka.connect.runtime.Worker)
[2020-07-12 22:12:45,478] ERROR Failed to start task test_es_sink-0 (org.apache.kafka.connect.runtime.Worker)
org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Converter and which name matches io.confluent.connect.elasticsearch.ElasticsearchSinkConnector, available converters are: PluginDesc{klass=class io.confluent.connect.avro.AvroConverter, name='io.confluent.connect.avro.AvroConverter', version='undefined', encodedVersion=undefined, type=converter, typeName='converter', location='file:/usr/share/java/kafka-connect-storage-common/'}, PluginDesc{klass=class io.confluent.connect.json.JsonSchemaConverter, name='io.confluent.connect.json.JsonSchemaConverter', version='undefined', encodedVersion=undefined, type=converter, typeName='converter', location='file:/usr/share/java/confluent-control-center/'}, PluginDesc{klass=class io.confluent.connect.protobuf.ProtobufConverter, name='io.confluent.connect.protobuf.ProtobufConverter', v
[2020-07-11 21:41:58,275] INFO Kafka version: 5.5.1-ccs (org.apache.kafka.common.utils.AppInfoParser)
[2020-07-11 21:41:58,277] INFO Kafka commitId: 3c4783aac9e33249 (org.apache.kafka.common.utils.AppInfoParser)
[2020-07-11 21:41:58,277] INFO Kafka startTimeMs: 1594503718274 (org.apache.kafka.common.utils.AppInfoParser)
[2020-07-11 21:41:58,282] INFO ConsumerConfig values:
allow.auto.create.topics = true
auto.commit.interval.ms = 5000
auto.offset.reset = earliest
bootstrap.servers = [kafka:9092]
check.crcs = true
client.dns.lookup = default
@AdvaithD
AdvaithD / init.vim
Created April 25, 2020 04:20
neovim setup
call plug#begin(stdpath('data') . '/plugged')
" Plug 'dracula/vim' " Theme
" Plug 'morhetz/gruvbox'
Plug 'drewtempelmeyer/palenight.vim'
Plug 'scrooloose/nerdtree' " file explorer
Plug 'ryanoasis/vim-devicons'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'airblade/vim-gitgutter'
Plug 'vim-airline/vim-airline'
const config = require('../config.json')
const uuidv4 = require('uuid/v4')
const low = require('lowdb')
const log = require('npmlog')
const FileSync = require('lowdb/adapters/FileSync')
// Read from bank of keys
const readAdapter = new FileSync('../keysDB.json')
const readDB = low(readAdapter)
// Sample DB to mock medici distribution state
const writeAdapter = new FileSync('./mockMedici.json')