Skip to content

Commit be0bc7c

Browse files
committed
fix dependencies, add README.md
1 parent 46a3cc3 commit be0bc7c

File tree

15 files changed

+136
-894
lines changed

15 files changed

+136
-894
lines changed

LICENSE

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Licensed Work: Intuition Protocol Contracts
1515
Additional Use Grant: None.
1616

1717
Change Date: The earlier of 2026-06-01 (June 1st, 2026) or a date
18-
specified at https://
18+
specified at v1-core-license-date.0xintuition.eth
1919

2020
Change License: MIT
2121

@@ -67,7 +67,7 @@ MariaDB hereby grants you permission to use this License’s text to license
6767
your works, and to refer to it using the trademark "Business Source License",
6868
as long as you comply with the Covenants of Licensor below.
6969

70-
-----------------------------------------------------------------------------
70+
---
7171

7272
Covenants of Licensor
7373

@@ -90,10 +90,10 @@ other recipients of the licensed work to be provided by Licensor:
9090

9191
4. Not to modify this License in any other way.
9292

93-
-----------------------------------------------------------------------------
93+
---
9494

9595
Notice
9696

9797
The Business Source License (this document, or the "License") is not an Open
9898
Source license. However, the Licensed Work will eventually be made available
99-
under an Open Source License, as stated in this License.
99+
under an Open Source License, as stated in this License.

README.md

Lines changed: 109 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,111 @@
11
# Intuition Protocol
22

3-
The open source contracts of the Intuition protocol v1.
3+
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.
4+
5+
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.
6+
7+
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.
8+
9+
## Getting Started
10+
- [Intuition Protocol](#intuition-protocol)
11+
- [Getting Started](#getting-started)
12+
- [Branching](#branching)
13+
- [Documentation](#documentation)
14+
- [Building and Running Tests](#building-and-running-tests)
15+
- [Prerequisites](#prerequisites)
16+
- [Step by Step Guide](#step-by-step-guide)
17+
- [Install Dependencies](#install-dependencies)
18+
- [Build](#build)
19+
- [Run Tests](#run-tests)
20+
- [Deployment Process using OpenZeppelin Defender](#deployment-process-using-openzeppelin-defender)
21+
- [Deployment Verification](#deployment-verification)
22+
- [Upgrade Process](#upgrade-process)
23+
- [Deployments](#deployments)
24+
- [Base Sepolia Testnet](#base-sepolia-testnet)
25+
26+
## Branching
27+
28+
The main branches we use are:
29+
- [main (default)](https://github.com/0xIntuition/intuition-contracts/tree/main): The most up-to-date branch, containing the work-in-progress code for upcoming releases
30+
- [tob-audit](https://github.com/0xIntuition/intuition-contracts/tree/tob-audit): The snapshot of the code that was audited by Trail of Bits in March and April 2024
31+
32+
## Documentation
33+
34+
To get a basic understanding of the Intuition protocol, please check out the following:
35+
- [Official Website](https://intuition.systems)
36+
- [Official Documentation](https://docs.intuition.systems)
37+
- [Deep Dive into Our Smart Contracts](https://intuition.gitbook.io/intuition-or-beta-contracts)
38+
39+
## Building and Running Tests
40+
41+
To build the project and run tests, follow these steps:
42+
43+
### Prerequisites
44+
45+
- [Foundry](https://getfoundry.sh)
46+
- (Optional) [VSCode Hardhat Solidity Plugin](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity)
47+
- (Optional) [VSCode Coverage Gutters](https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters)
48+
49+
### Step by Step Guide
50+
51+
#### Install Dependencies
52+
53+
```shell
54+
$ npm i
55+
$ forge install
56+
```
57+
58+
#### Build
59+
60+
```shell
61+
$ forge build
62+
```
63+
64+
#### Run Tests
65+
66+
```shell
67+
$ forge test -vvv
68+
```
69+
70+
### Deployment Process using OpenZeppelin Defender
71+
72+
To deploy the v1 smart contract system on to a public testnet or mainnet, you’ll need the following:
73+
- Set the credentials DEFENDER_KEY and DEFENDER_SECRET on a .env file
74+
- 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)
75+
- 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
76+
- For Base Sepolia, there is a reliable [testnet faucet](https://alchemy.com/faucets/base-sepolia) deployed by Alchemy
77+
- Deploy smart contracts using the following command:
78+
79+
```shell
80+
$ forge script script/Deploy.s.sol --broadcast --rpc-url <your_rpc_url> --private-key $PRIVATE_KEY
81+
```
82+
83+
After the deployment go to the Deploy dashboard on OpenZeppelin Defender and approve
84+
85+
### Deployment Verification
86+
87+
To 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:
88+
89+
```shell
90+
$ forge verify-contract <0x_contract_address> ContractName --watch --chain-id <chain_id>
91+
```
92+
93+
**Notes:**
94+
- When verifying your smart conttacts, you can use an optional parameter `--constructor-args` to pass the constructor arguments of the smart contract in the ABI-encoded format
95+
- The chain ID for Base Sepolia is `84532`, whereas the chain ID for Base Mainnet is `8453`
96+
97+
### Upgrade Process
98+
99+
To upgrade the smart contract you need:
100+
- Deploy a new version of contracts you want to upgrade, for example `EthMultiVault`. You need to add the directive `@custom:oz-upgrades-from` on the line before where you define the contract and set the version of the upgrade on the `init` function (e.g. `reinitializer(2)`)
101+
- If using a multisig as an upgrade admin, schedule the upgrade for some time in the future (e.g. 2 days) using this script to generate the parameters that can be used in Safe Transaction Builder:
102+
103+
```shell
104+
$ forge script script/TimelockController.s.sol
105+
```
106+
107+
- After the delay passes (e.g. 2 days) you can call this again, just change the method on the target to `execute`
108+
109+
## Deployments
110+
111+
### Base Sepolia Testnet

_playground/DeployAtomWallet.ts

Lines changed: 0 additions & 140 deletions
This file was deleted.

0 commit comments

Comments
 (0)