A utility for deploying Seaport v1.6 and related contracts to local chains for use in testing.
Include this repo as a submodule in your forge project:
$ forge install ProjectOpenSea/seaport-deploy
Then, you can use it like so:
pragma solidity ^0.8.24;
import {Vm} from "forge-std/Vm.sol";
import {Test} from "forge-std/Test.sol";
import {SeaportDeployer} from "seaport-deploy/src/SeaportDeployer.sol";
contract MyTest is Test {
using SeaportDeployer for Vm;
function setUp() public {
// To just deploy Seaport + related contracts:
vm.deploySeaport();
// Or, to also deploy and configure the OpenSea canonical conduit:
vm.deploySeaportAndConfigureConduit();
}
// tests here... they can now utilize Seaport 1.6 + related contracts locally
}
Be advised that you may need to manually set
evm_version='cancun'
orevm_version='shanghai'
in yourfoundry.toml
as Seaport v1.6 requiresPUSH0
support.