{"id":28987887,"url":"https://github.com/0xintuition/intuition-beta-contracts","last_synced_at":"2025-06-24T21:15:38.682Z","repository":{"id":275829788,"uuid":"737698029","full_name":"0xIntuition/intuition-beta-contracts","owner":"0xIntuition","description":"Solidity implementation of Intuition's on-chain smart contracts (Beta; WIP).","archived":false,"fork":false,"pushed_at":"2025-06-04T18:13:35.000Z","size":50150,"stargazers_count":15,"open_issues_count":10,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-04T18:58:41.894Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://intuition.systems","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xIntuition.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-01T06:01:44.000Z","updated_at":"2025-06-04T18:07:43.000Z","dependencies_parsed_at":"2025-02-19T03:23:01.329Z","dependency_job_id":"593c9f35-2250-43bc-b949-56b0031623fd","html_url":"https://github.com/0xIntuition/intuition-beta-contracts","commit_stats":null,"previous_names":["0xintuition/intuition-beta-contracts"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/0xIntuition/intuition-beta-contracts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xIntuition%2Fintuition-beta-contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xIntuition%2Fintuition-beta-contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xIntuition%2Fintuition-beta-contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xIntuition%2Fintuition-beta-contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xIntuition","download_url":"https://codeload.github.com/0xIntuition/intuition-beta-contracts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xIntuition%2Fintuition-beta-contracts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261756802,"owners_count":23205165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-24T21:15:37.091Z","updated_at":"2025-06-24T21:15:38.669Z","avatar_url":"https://github.com/0xIntuition.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Intuition Protocol\n\nIntuition 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.\n\nIn 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.\n\nThe 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.\n\n## Getting Started\n\n- [Intuition Protocol](#intuition-protocol)\n  - [Getting Started](#getting-started)\n  - [Documentation](#documentation)\n    - [Rationale](#rationale)\n  - [Building and Running Tests](#building-and-running-tests)\n    - [Prerequisites](#prerequisites)\n    - [Step by Step Guide](#step-by-step-guide)\n      - [Install Dependencies](#install-dependencies)\n      - [Build](#build)\n      - [Run Tests](#run-tests)\n      - [Run Fuzz Tests](#run-fuzz-tests)\n      - [Run Slither (Static Analysis)](#run-slither-static-analysis)\n      - [Run Manticore (Symbolic Execution)](#run-manticore-symbolic-execution)\n    - [Deployment Process](#deployment-process)\n    - [Deployment Verification](#deployment-verification)\n  - [Deployed Contracts](#deployed-contracts)\n    - [Base Mainnet](#base-mainnet)\n    - [Base Sepolia](#base-sepolia)\n    - [Linea Mainnet (ValueSys)](#linea-mainnet-valuesys)\n\n## Documentation\n\nTo get a basic understanding of the Intuition protocol, please check out the following:\n\n- [Official Website](https://intuition.systems)\n- [Official Documentation](https://docs.intuition.systems)\n- [Deep Dive into Our Smart Contracts](https://intuition.gitbook.io/intuition-or-beta-contracts)\n- [Full Contracts Documentation](https://0xintuition.github.io/intuition-beta-contracts)\n\n### Rationale\n\n- This repository contains a sort of frankenstein of the previously audited EthMultiVault and the new Bonding Curve Registry features.\n- All bonding curve related activities have their own methods / routes in the EthMultiVault.\n- This results in duplicative code, but enables us to keep the old EthMultiVault and the new Bonding Curve Registry features separate.\n- The next version of the MultiVault will consolidate and converge these disparate pathways into a far more elegant and organized system.\n\n## Building and Running Tests\n\nTo build the project and run tests, follow these steps:\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/en/download/)\n- [Foundry](https://getfoundry.sh)\n\n### Step by Step Guide\n\n#### Install Dependencies\n\n```shell\n$ npm i\n$ forge install\n```\n\n#### Build\n\n```shell\n$ forge build\n```\n\n#### Run Tests\n\n```shell\n$ forge test -vvv\n```\n\n#### Run Fuzz Tests\n\n- Make sure you have at least node 16 and python 3.6 installed on your local machine\n- Add your FUZZ_AP_KEY to the .env file locally\n- Run the following command to install the `diligence-fuzzing` package:\n\n```shell\n$ pip3 install diligence-fuzzing\n```\n\n- After the installation is completed, run the fuzzing CLI:\n\n```shell\n$ fuzz forge test\n```\n\n- Finally, check your Diligence Fuzzing dashboard to see the results of the fuzzing tests\n\n#### Run Slither (Static Analysis)\n\n- Install the `slither-analyzer` package:\n\n```shell\n  $ pip3 install slither-analyzer\n```\n\n- After the installation is completed, run the slither analysis bash script:\n\n```shell\n  $ npm run slither\n```\n\n#### Run Manticore (Symbolic Execution)\n\n- Make sure you have [Docker](https://docker.com/products/docker-desktop) installed on your local machine\n\n- Build the Docker image:\n\n```shell\n  $ docker build -t manticore-analysis .\n```\n\n- Run the Docker container:\n\n```shell\n  $ docker run --rm -v \"$(pwd)\":/app manticore-analysis\n```\n\n### Deployment Process\n\nTo deploy the Beta smart contract system on to a public testnet or mainnet, you’ll need the following:\n\n- RPC URL of the network that you’re trying to deploy to (as for us, we’re targeting Base Sepolia testnet as our target chain for the testnet deployments)\n- Export `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\n- For Base Sepolia, there is a reliable [testnet faucet](https://alchemy.com/faucets/base-sepolia) deployed by Alchemy\n- Deploy smart contracts using the following command:\n\n```shell\n$ forge script script/Deploy.s.sol --broadcast --rpc-url \u003cyour_rpc_url\u003e --private-key $PRIVATE_KEY\n```\n\n### Deployment Verification\n\nTo verify the deployed smart contracts on Etherscan, you’ll need to export your Etherscan API key as `ETHERSCAN_API_KEY` in the terminal, and then run the following command:\n\n```shell\n$ forge verify-contract \u003c0x_contract_address\u003e ContractName --watch --chain-id \u003cchain_id\u003e\n```\n\n**Notes:**\n\n- When verifying your smart contracts, you can use an optional parameter `--constructor-args` to pass the constructor arguments of the smart contract in the ABI-encoded format\n- The chain ID for Base Sepolia is `84532`, whereas the chain ID for Base Mainnet is `8453`\n\n## Deployed Contracts\n\n### Base Mainnet\n\nProxyAdmin: 0xc920E2F5eB6925faE85C69a98a2df6f56a7a245A\n\nTimelockController (proxy admin owner): 0xE4992f9805D7737b5bDaDBEF5688087CF25D4B89\n\nEthMultiVault (proxy address): 0x430BbF52503Bd4801E51182f4cB9f8F534225DE5\n\nAdmin Safe: 0xa28d4AAcA48bE54824dA53a19b05121DE71Ef480\n\n### Base Sepolia\n\nProxyAdmin: 0xD4436f981D2dcE0C074Eca869fdA1650227c7Efe\n\nTimelockController (proxy admin owner): 0xe6BE2A42cCAeB73909A79CC89299eBDA7bAa7Ea2\n\nEthMultiVault (proxy address): 0x1A6950807E33d5bC9975067e6D6b5Ea4cD661665\n\nAdmin Safe: 0xEcAc3Da134C2e5f492B702546c8aaeD2793965BB\n\n### Linea Mainnet (ValueSys)\n\nProxyAdmin: 0x89e65a3c49cb1DF3D8Ee6036a158A728603CC1AD\n\nTimelockController (proxy admin owner): 0xA71B2185D10CaB95Cd0d2DA2B9b0210f8ed31A66\n\nEthMultiVault (proxy address): 0xB4375293a13017BCe71a034bB588786A3D3C7295\n\nAdmin Safe: 0x323e9506B929C21AE602D64d3807721AA49b4884\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xintuition%2Fintuition-beta-contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xintuition%2Fintuition-beta-contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xintuition%2Fintuition-beta-contracts/lists"}