Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
farcasterxyz/contracts: Implementation of the Farcaster contracts

farcasterxyz/contracts: Implementation of the Farcaster contracts

4 hours ago

Contracts

This repository contains all the contracts deployed by the Farcaster protocol. The contracts are:

  1. Id Registry - tracks ownership of Farcaster identities (fids).
  2. Storage Registry - allocates storage to fids and collects rent.
  3. Key Registry - tracks associations between fids and key pairs for signing messages.
  4. Id Gateway - issues Farcaster identities (fids) to new users.
  5. Key Gateway - adds new associations between fids and keys.
  6. Bundler - allows calling gateways and storage in a single transaction.
  7. Signed Key Request Validator - validates key registry metadata.
  8. Recovery Proxy - proxy for recovery service operators to initiate fid recovery.
  9. Fname Resolver - validates Farcaster ENS names which were issued offchain.
  10. Tier Registry - processes Farcaster Pro subscription payments.
  11. Snapchain Config Registry - holds the validator sets and gossip peer lists for a Snapchain network.
Read the docs for more details on how the contracts work.

Deployments

The v3.1 contracts are deployed across both OP Mainnet and Ethereum Mainnet.

OP Mainnet

| Contract | Address | | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | IdRegistry | 0x00000000fc6c5f01fc30151999387bb99a9f489b | | StorageRegistry | 0x00000000fcce7f938e7ae6d3c335bd6a1a7c593d | | KeyRegistry | 0x00000000fc1237824fb747abde0ff18990e59b7e | | IdGateway | 0x00000000fc25870c6ed6b6c7e41fb078b7656f69 | | KeyGateway | 0x00000000fc56947c7e7183f8ca4b62398caadf0b | | Bundler | 0x00000000fc04c910a0b5fea33b03e0447ad0b0aa | | SignedKeyRequestValidator | 0x00000000fc700472606ed4fa22623acf62c60553 | | RecoveryProxy | 0x00000000fcb080a4d6c39a9354da9eb9bc104cd7 |

Base Mainnet

| Contract | Address | | ------------ | --------------------------------------------------------------------------------------------------------------------- | | TierRegistry | 0x00000000fc84484d585c3cf48d213424dfde43fd |

ETH Mainnet

| Contract | Address | | ----------------------- | ---------------- | | FnameResolver | Not yet deployed | | SnapchainConfigRegistry | Not yet deployed |

ETH Sepolia

Serves the Snapchain Testnet network. A separate chain rather than a second address on mainnet, so a testnet config mistake cannot touch mainnet state and the rehearsal costs nothing real.

| Contract | Address | | ----------------------- | ---------------- | | SnapchainConfigRegistry | Not yet deployed |

Audits

The v3.2 contracts contracts were reviewed by 0xMacro.

The v3.1 contracts contracts were reviewed by 0xMacro and Cyfrin.

The v3.0 contracts contracts were reviewed by 0xMacro:

Contributing

Please see the contributing guidelines.

Chat with me