Pinto is low volatility money built on Base.
Code Version: 1.0.0
Whitepaper Version: 1.0.0
Pinto inherits significant audit coverage from Beanstalk. Prior Beanstalk audits can be found here. A list of changes in Pinto can be found here.
A comprehensive list of deployed contract addresses related to Pinto is available here.
This directory contains the code for the core Pinto protocol, including its contracts, interfaces, ecosystem contracts and tests.
The Pinto contract is a multi-facet proxy that implements EIP-2535. Thus, the Pinto contract implements functionality from multiple different Facet contracts that all share a common storage.
- Clone the repository, enter root directory
- Install dependencies
yarn install
- Build contracts
foundryup
forge install foundry-rs/forge-std --no-commit
forge build
- Ensure you are in the root directory
- Have a FORKING_RPC as an environment variable pointing to ETH Mainnet.
- We fork ETH Mainnet to run our test suite locally. Note, this will make a large number of API calls to your
FORKING_RPC
- We fork ETH Mainnet to run our test suite locally. Note, this will make a large number of API calls to your
- Run all tests
yarn test
- Ensure you are in the root directory
- Install foundry with
foundryup
- instructions here forge install foundry-rs/forge-std --no-commit
forge test
- Ensure you are in the root repository
- Run
foundryup
to ensure you have downloaded the latest version - Start a locally forked node with the following command:
anvil --fork-url <FORKING_RPC> --fork-block-number <BLOCK_NUMBER> --chain-id 1337
For <FORKING_RPC>
, use an Alchemy or Infura RPC URL.
Note: anvil
will cache the blockchain provided that BLOCK_NUMBER
does NOT change. Given this, we recommend picking a block and sticking to it.