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
@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"
},
{
"name": "Unlock Token list",
"logoURI": "ipfs://QmYeu5fxHrXLkWsH2tXW5cDhiCyfAjH2w7Aich2wz7q8u1",
"keywords": [],
"timestamp": "2021-05-24T00:00:00+00:00",
"tags": {
"unlock-protocol": {
"name": "Unlock Protocol",
"description": "Tokens for Unlock Protocol"
},