Skip to content

Instantly share code, notes, and snippets.

View lucadonnoh's full-sized avatar
🐛

Luca Donno lucadonnoh

🐛
View GitHub Profile
@lucadonnoh
lucadonnoh / dead-links.py
Created September 30, 2024 09:39
Find dead links (404) in a repo.
@lucadonnoh
lucadonnoh / optimism.pl
Created September 6, 2024 09:42
OP Mainnet permissions modelling in Prolog.
:- discontiguous malicious/1.
:- discontiguous finalized_invalid_root/1.
:- discontiguous recovers/1.
:- discontiguous invalid_state/1.
% DEFINED IN PROXY
malicious_upgrade(proxy(_, Admin)) :- malicious(Admin).
% DEFINED IN MULTISIG (e.g. GNOSIS SAFE)
@lucadonnoh
lucadonnoh / arbitrum_exit_window.py
Last active May 23, 2024 13:26
Calculate the exit window given chain params such as timelocks and other delays.
from datetime import timedelta, datetime
CHALLENGE_PERIOD = timedelta(days=7)
FORCED_TRANSACTION_DELAY = timedelta(days=1)
L2_TIMELOCK_DELAY = timedelta(days=3)
L1_TIMELOCK_DELAY = timedelta(days=3)
SELF_PROPOSE_DELAY = timedelta(days=7)
"""
ASSUMPTIONS:
I contributed to the Semaphore Trusted Setup Multi-Party Ceremony.
The following are my contribution signatures:
Circuit: semaphore16
Contributor # 41
Hash: 2746fa3a 89ade992 7ab19019 65ae81c0
a7497d83 22a2118c 6f98f984 9b9a6878
7cefdb5b a2c4e678 a35e14eb 2e2886ae
3d5c6bd5 969ea0e2 6b832caf 8d3344ff
This post links my 3Box profile to my Github account! Web3 social profiles by 3Box.
✅ did:3:bafyreidtelq76onyyypjmkdyjuj2dtiawujupa6xjl3c2krjlf5pxcvwgy ✅
Create your profile today to start building social connection and trust online at https://3Box.io/
{
"title": "Asset Metadata",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "FooBar"
},
"description": {
"type": "string",
1. .sol files in a contracts subfolder
2. npm init in the main folder
3. install packages with npm install --save ganache-cli mocha solc fs-extra web3

Keybase proof

I hereby claim:

  • I am lucadonnoh on github.
  • I am donnoh (https://keybase.io/donnoh) on keybase.
  • I have a public key ASBNJUAt4SvvYigFK9XgdMiavjhQnPlX4DSxdX6Yph5IgQo

To claim this, I am signing this object: