hats-finance / Intuition-0x538dbadc50cc87b281cd655f1edbc6ebda02a66a

The smart contracts of the Intuition protocol v1.
https://intuition.systems
Other
0 stars 1 forks source link

Audit Competition for Intuition

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 .

How to participate

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.

Getting Started

Branching

The main branches we use are:

Documentation

To get a basic understanding of the Intuition protocol, please check out the following:

Known Nuances

Building and Running Tests

To build the project and run tests, follow these steps:

Prerequisites

Step by Step Guide

Install Dependencies

$ npm i
$ forge install

Build

$ forge build

Run Tests

$ forge test -vvv

Deployment Process

To deploy the v1 smart contract system on to a public testnet or mainnet, you’ll need the following:

$ forge script script/Deploy.s.sol --broadcast --rpc-url <your_rpc_url> --private-key $PRIVATE_KEY

Deployment Verification

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:

Deployments

Base Sepolia Testnet

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