Files
anonklub/contracts
Iskander 25b0cd8bfc chore: lift up halo2-* package folders (#444)
* chore: merge staging (#473)

* dev sripwoud (#472)

* fix(ui): check env var def depending client/server side

* refactor(ui): remove `force-dynamic` for server route

* chore(ui): remove TODO

* chore(ui): use `next/legacy/image`

* fix(ui): force asset/nft/punk page to be dynamic

* chore(ui): custom next config instead of soft linking wasm

* upadte cond

* fix: set ARG in Dockerfile

* fix

* refactor

* fix: revert change on wasm file soft link

* chore: restructure the whole halo2 pkgs structure

* fix: cargo lint

* fix: lint

* fix: cargo lint fix

* fix: cargo lint fix

* fix: package.json

* fix: delete .env file

---------

Co-authored-by: sripwoud <me@sripwoud.xyz>
2024-08-07 22:42:08 +02:00
..
2023-06-27 16:17:15 +02:00
2023-06-27 16:17:15 +02:00
2024-07-15 14:35:51 +02:00

Contracts

Environment

Environment variables used in this directory:

Variable
DEPLOYER_PRIVATEKEY
SEPOLIA_RPC_URL
ETHERSCAN_API_KEY

Deploy

pn --filter contracts deploy.sepolia

Network Contract Address Comment
Sepolia Groth16Verifier 0x893f293e3918a179bf87fb772206e9927db61b0c
Sepolia AnonMinter 0xcc639e338f9fb382d76f30928559cf14943600e0 The merkle root used as constructor argument to deploy this contract corresponds to all the addresses that owned at least 360 ENS on mainnet as of "block somewhere around 17361666" (don't remember exactly 😅).

Verify

Somehow verification at deployment with forge create --verify or even forge verify-contract failed.
So instead use --show-standard-json-input to get json input and upload that file manually to etherscan.
See pn --filter contracts verify.sepolia

Mint

Example:

cast send --private-key $DEPLOYER_PRIVATEKEY --rpc-url $SEPOLIA_RPC_URL --chain 11155111 0xCC639e338F9fb382D76F30928559Cf14943600E0 "mint(address,uint,uint[2],uint[2][2],uint[2],uint[5])" 0xc122c870eA9179989C57A8F4cBf409B6BfDc99
88 123 $(tsnd circuits/circom/scripts/generate-calldata-base10.ts)

tx