Skip to content

Instantly share code, notes, and snippets.

View ydm's full-sized avatar

Йордан Миладинов ydm

  • Sofia, Bulgaria
View GitHub Profile
@ydm
ydm / ws.md
Last active June 28, 2023 00:50

1

Малка разлика е, че Стефан използва хипергеометрично разпределение, а в оригиналния анализ (по модела на Виталик) аз използвам биномиално: https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#misc

Функцията probge() изчислява вероятността в синк комитет от n=512 участника поне k=342 на брой от тях да бъдат "корумпирани".

Разликата между биномиалното и хипергеометричното разпределение е, че във второто веднъж изтеглен корумпиран валидатор не участва в

(defun describe-treesit-node (node &optional indent)
(setq indent (or indent 0))
(message "%s%s" (make-string (* 2 indent) ? ) node)
(mapcar
(lambda (n) (describe n (1+ indent)))
(treesit-node-children node)))
;; Example
;; (describe (treesit-parse-string "fn f() {
;; let b = '\"';
// ethers.js v5
import { ethers, network } from "hardhat";
import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
async function impersonate(
who: string,
f: (signer: SignerWithAddress) => Promise<void>
): Promise<void> {
await network.provider.request({
#!/usr/bin/env python3
from http.server import HTTPServer, SimpleHTTPRequestHandler, test
import sys
class CORSRequestHandler (SimpleHTTPRequestHandler):
def end_headers(self):
self.send_header('Access-Control-Allow-Origin', '*')
SimpleHTTPRequestHandler.end_headers(self)
@ydm
ydm / waitFor.ts
Created May 20, 2023 23:57
ДжаваСкрипт е възможно най–малоумният език, честно!
async function waitFor(id: string): Promise<void> {
return new Promise((
resolve: () => void,
_reject: (reason?: any) => void
): void => {
const timer: NodeJS.Timer = setInterval(() => {
if (document.getElementById(id) != null) {
clearInterval(timer);
resolve();
}
#!/bin/bash
# Update conda
conda update -n base -c defaults conda
# TODO
# conda create -n ten python=3.10 pandas numpy=1.20.3 lightgbm ta-lib graphviz -c conda-forge
# create -n ten python=3.10 graphviz lightgbm numpy pandas scikit-learn ta-lib -c conda-forge
# conda install jupyterlab matplotlib
@ydm
ydm / implementation.ts
Last active March 23, 2023 16:14
Get the implementation address of a ERC-1967 proxy.
async function implementation(proxy: string): Promise<string> {
return ethers.provider.getStorageAt(
proxy,
"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"
).then(s => s.substring(26)).then(ethers.utils.getAddress);
}
@ydm
ydm / xxx
Created March 10, 2023 18:09
14914437, ValidatorRegistered(0x8fb75dcc8e27ee05d79c2b1ae5bb1d2af1f062e571d084e283a97490d5b22c226fcf4f2a7c343227578217883dd1a4e3, 0xA11C358C20b2baA682956EA2C7a659f6e9583f96)
15576350, ValidatorRegistered(0x9683f167736891c9069f66a42c1213f52160ea945282f8f7420107c9673565342b356134d6401429295dd2592b688aba, 0xA11C358C20b2baA682956EA2C7a659f6e9583f96)
15581571, ValidatorRegistered(0xa82408050e1d94e62cdb44afa738b2321339624f9117afe495a47d566b41e3c2bd7a9320e11bab6bc8c1fb9b5eed1211, 0xA11C358C20b2baA682956EA2C7a659f6e9583f96)
15581571, ValidatorRegistered(0xb50c7df59e644ec767a8b6965744f572c163a1163db81fa0248a648a43f7c592a2a26af5a390cce28354b0dc8fd837d0, 0xA11C358C20b2baA682956EA2C7a659f6e9583f96)
15588857, ValidatorRegistered(0x997da29c3d83dad9e06f721982bccc3f6aaa9310cf16b680df48182427522a893bff5ec09148c4161e72eea777ca781b, 0xA11C358C20b2baA682956EA2C7a659f6e9583f96)
15588857, ValidatorRegistered(0xa8023ca5b88e651ae642fc20094b73051de3524a03d4ee2a20d1fd8ce422878e3bfa76e46573039b0a95f140c2739545, 0xA11C358C20b2baA682956E
@ydm
ydm / flake.nix
Created March 9, 2023 13:24
Custom Rust version
{
inputs = {
nixpkgs.url = github:NixOS/nixpkgs/nixos-22.05;
flake-utils.url = github:numtide/flake-utils;
rust-overlay.url = github:oxalica/rust-overlay;
};
outputs = { self, nixpkgs, flake-utils, rust-overlay }:
flake-utils.lib.simpleFlake {
inherit self nixpkgs;
@notice provide general information about the contract
@dev provide developer comments
@require describe a precondition for a function
@return describe return value
@deprecated indicate that a function is deprecated
@event describe an event emitted by a function
@inheritdoc indicate that the documentation for a function or contract is inherited from a parent contract
@param