Skip to content

Instantly share code, notes, and snippets.

View julien51's full-sized avatar

Julien Genestoux julien51

View GitHub Profile
[{"inputs":[],"name":"CANNOT_APPROVE_SELF","type":"error"},{"inputs":[],"name":"CANT_BE_SMALLER_THAN_SUPPLY","type":"error"},{"inputs":[],"name":"CANT_EXTEND_NON_EXPIRING_KEY","type":"error"},{"inputs":[],"name":"GAS_REFUND_FAILED","type":"error"},{"inputs":[],"name":"INSUFFICIENT_ERC20_VALUE","type":"error"},{"inputs":[],"name":"INSUFFICIENT_VALUE","type":"error"},{"inputs":[],"name":"INVALID_ADDRESS","type":"error"},{"inputs":[{"internalType":"uint8","name":"hookIndex","type":"uint8"}],"name":"INVALID_HOOK","type":"error"},{"inputs":[],"name":"INVALID_LENGTH","type":"error"},{"inputs":[],"name":"INVALID_TOKEN","type":"error"},{"inputs":[],"name":"KEY_NOT_VALID","type":"error"},{"inputs":[],"name":"KEY_TRANSFERS_DISABLED","type":"error"},{"inputs":[],"name":"LOCK_HAS_CHANGED","type":"error"},{"inputs":[],"name":"LOCK_SOLD_OUT","type":"error"},{"inputs":[],"name":"MAX_KEYS_REACHED","type":"error"},{"inputs":[],"name":"MIGRATION_REQUIRED","type":"error"},{"inputs":[],"name":"NON_COMPLIANT_ERC721_RECEIVER","typ
@julien51
julien51 / grant-batch.js
Created September 18, 2023 21:15
grant-batch.js
const ethers = require('ethers')
const fs = require("fs")
const readline = require("readline")
const contracts = require('@unlock-protocol/contracts')
/**
* A script that airdrops NFT memberships to users
*/
const batchSize = 200
npub1ctsq6nmn5af0evwrlka32kqc7tuhkwzmxlmu6lxt5qw2r6wfnuaqmcad65
// ABI for the Unlock contract (partial)
// You can also get it from the package '@unlock-protocol/contracts'
const UNLOCK_ABI = [
{
inputs: [
{
internalType: "bytes",
name: "data",
type: "bytes",
},

Invalid Input:

0x3381899700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003a949daf5a5d0d77169785b3f5aae4592a4572e100000000000000000000000000000000000000000000000000000000000000010000000000000000000000003a949daf5a5d0d77169785b3f5aae4592a4572e1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000
@julien51
julien51 / attestation.txt
Created April 5, 2022 21:47
Attestation
I contributed to the Semaphore Trusted Setup Multi-Party Ceremony.
The following are my contribution signatures:
Circuit: semaphore16
Contributor # 88
Hash: 8f996cb2 e0b08298 0ff33fb9 0eef636a
cf86f79e a5489639 4bc3cbc8 9101463d
47791ceb df47aa05 79049d1c d9881805
446a88ad 3cf84e05 b432d7d7 1e290745
did:3:kjzl6cwe1jw14agld7sf72cva37djnrq5l8u6qlxcna6xoakw71gx7cqi9lmkhe

Tweeting on behalf of users is bad

I just got trapped by Prismatic who tweeted a metric ton of messages on my twitter account. I do not want to pick on Prismatic who is probably a great product otherwise. However this is clearly a pattern that we've all seen too many times and this has to stop.

Before anything else, I could have very well done a mistake and hit the wrong buttons/settings. I am not putting the blame on Prismatic, but on this crazy system that allows machines to post on my behalf. No matter what, though, they should obviously prevent me from doing something that dumb, if that's my fault.

What happened

@julien51
julien51 / attestation.txt
Created September 7, 2021 12:14
Attestation
I contributed to the clr.fund Trusted Setup Multi-Party Ceremony.
The following are my contribution signatures:
Circuit: qvt32
Contributor # 751
Hash: undefined
Circuit: batchUst 32
Contributor # 842
Hash: undefined
{
"name": "Unlock Token list",
"logoURI": "ipfs://QmYeu5fxHrXLkWsH2tXW5cDhiCyfAjH2w7Aich2wz7q8u1",
"keywords": [],
"timestamp": "2021-05-24T00:00:00+00:00",
"tags": {
"unlock": {
"name": "Unlock Protocol",
"description": "Tokens for Unlock Protocol"
},