This repository is for the audit competition for the Intuition. To participate, submit your findings only by using the on-chain submission process on https://app.hats.finance/vulnerability .
We look forward to seeing your findings.
Intuition is an Ethereum-based attestation protocol harnessing the wisdom of the crowds to create an open knowledge and reputation graph. Our infrastructure makes it easy for applications and their users to capture, explore, and curate verifiable data. We’ve prioritized making developer integrations easy and have implemented incentive structures that prioritize ‘useful’ data and discourage spam.
In bringing this new data layer to the decentralized web, we’re opening the flood gates to countless new use cases that we believe will kick off a consumer application boom.
The Intuition Knowledge Graph will be recognized as an organic flywheel, where the more developers that implement it, the more valuable the data it houses becomes.
The main branches we use are:
To get a basic understanding of the Intuition protocol, please check out the following:
To build the project and run tests, follow these steps:
$ npm i
$ forge install
$ forge build
$ forge test -vvv
To deploy the v1 smart contract system on to a public testnet or mainnet, you’ll need the following:
PRIVATE_KEY
of a deployer account in the terminal, and fund it with some test ETH to be able to cover the gas fees for the smart contract deployments$ forge script script/Deploy.s.sol --broadcast --rpc-url <your_rpc_url> --private-key $PRIVATE_KEY
To verify the deployed smart contracts on Basescan, you’ll need to export your Basescan API key as ETHERSCAN_API_KEY
in the terminal, and then run the following command:
$ forge verify-contract <0x_contract_address> ContractName --watch --chain-id <chain_id>
Notes:
--constructor-args
to pass the constructor arguments of the smart contract in the ABI-encoded format84532
, whereas the chain ID for Base Mainnet is 8453
Name | Proxy | Implementation | Notes |
---|---|---|---|
AtomWallet |
0x69eaaae77Fb6be0D3c423fe5e5A982d53a1C8CBc |
0xDF0d74A6325082b9E6041e4A5F8a6d52E0e8de46 |
AtomWalletBeacon: BeaconProxy Atom Wallets: UpgradeableBeacon |
EthMultiVault |
0x61200E985eF40c676b58Ac42012Fa924981d88FB |
0x43eF3B52BE0DDD1112E87d0ea492d9eF38786659 |
Proxy: TUP@5.0.2 |
ProxyAdmin |
- | 0x8e2b6ad9B28d5e239EE779814b23d4766A9a3600 |
Used for upgrading EthMultiVault proxy contract |
TimelockController |
- | 0xd75B08Ff002BE0B1ce43A91aE6Eabf5Ef04ec8ab |
Owner of the ProxyAdmin and AtomWalletBeacon |