Contracts
Pool
At the core of our protocol is the Bermuda pool. It is a standard Solidity smart contract without any privileged admin functions. ZK circuit verifiers deployed as satellite contracts perform the ZK proof verification while the pool handles auxiliary constraints, preconditions and side-effects.
Verifiers
The pool's associated verifier contracts encapsulate the ZK proof verification given a proof and its public inputs. These are factory verifiers shipped by the Noir team. We have multiple verifier instances attached to our pool to accommodate various UTXO topologies and spending scenarios. These verifiers as well as our pool are fully immutable contracts.
Registry
Bermuda has a simple registry contract that allows users to publish their Bermuda and Ethereum address alongside an optional .bay alias. Once set, an alias can be used to lookup a Bermuda address and vice versa. The same applies to Ethereum addresses, meaning once registered, users can lookup and send shielded funds to others without explicitly exchanging Bermuda addresses.
Compliance Gateway
Content coming soon.