Skip to content

Ikpong-Joseph/foundry-devops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

foundry-devops

A repo to get the most recent deployment from a given environment in foundry. This way, you can do scripting off previous deployments in solidity.

It will look through your broadcast folder at your most recent deployment.

Getting Started

Requirements

  • git
    • You'll know you did it right if you can run git --version and you see a response like git version x.x.x
  • foundry
    • You'll know you did it right if you can run forge --version and you see a response like forge 0.2.0 (816e00b 2023-03-16T00:05:26.396218Z)
  • jq
    • A lot already have it installed. Try it with jq --version and see a response like jq-1.6

Installation

forge install Cyfrin/foundry-devops --no-commit
  • Update forge-std to use newer FS cheatcodes
git rm -rf lib/forge-std
 rm -rf lib/forge-std
 forge install foundry-rs/[email protected] --no-commit

Usage

  1. Update your foundry.toml to have read permissions on the broadcast folder.
fs_permissions = [{ access = "read", path = "./broadcast" }]
  1. Import the package, and call DevOpsTools.get_most_recent_deployment("MyContract", chainid);

ie:

import {DevOpsTools} from "lib/foundry-devops/src/DevOpsTools.sol";
import {MyContract} from "my-contract/MyContract.sol";
.
.
.
function interactWithPreviouslyDeployedContracts() public {
    address contractAddress = DevOpsTools.get_most_recent_deployment("MyContract", block.chainid);
    MyContract myContract = MyContract(contractAddress);
    myContract.doSomething();
}

Contributing

PRs are welcome!

git clone https://github.com/Cyfrin/foundry-devops
cd foundry-devops
forge install

Testing

forge test

About

To patch the installation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 95.0%
  • Makefile 5.0%