-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1531 from sphinx-labs/develop
Release
- Loading branch information
Showing
40 changed files
with
24,778 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
'@sphinx-labs/contracts': patch | ||
'@sphinx-labs/plugins': patch | ||
--- | ||
|
||
Support installing Sphinx Library contracts via NPM |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
[submodule "packages/contracts/lib/forge-std"] | ||
path = packages/contracts/lib/forge-std | ||
url = https://github.com/sphinx-labs/forge-std | ||
url = https://github.com/foundry-rs/forge-std |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity >=0.6.2 <0.9.0; | ||
|
||
import { StdStorage } from "./StdStorage.sol"; | ||
import { Vm, VmSafe } from "./Vm.sol"; | ||
|
||
abstract contract CommonBase { | ||
// Cheat code address, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D. | ||
address internal constant VM_ADDRESS = address(uint160(uint256(keccak256("hevm cheat code")))); | ||
// console.sol and console2.sol work by executing a staticcall to this address. | ||
address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67; | ||
// Used when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy. | ||
address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C; | ||
// Default address for tx.origin and msg.sender, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38. | ||
address internal constant DEFAULT_SENDER = | ||
address(uint160(uint256(keccak256("foundry default caller")))); | ||
// Address of the test contract, deployed by the DEFAULT_SENDER. | ||
address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f; | ||
// Deterministic deployment address of the Multicall3 contract. | ||
address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11; | ||
// The order of the secp256k1 curve. | ||
uint256 internal constant SECP256K1_ORDER = | ||
115792089237316195423570985008687907852837564279074904382605163141518161494337; | ||
|
||
uint256 internal constant UINT256_MAX = | ||
115792089237316195423570985008687907853269984665640564039457584007913129639935; | ||
|
||
Vm internal constant vm = Vm(VM_ADDRESS); | ||
StdStorage internal stdstore; | ||
} | ||
|
||
abstract contract TestBase is CommonBase {} | ||
|
||
abstract contract ScriptBase is CommonBase { | ||
VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity >=0.6.2 <0.9.0; | ||
|
||
// 💬 ABOUT | ||
// Forge Std's default Script. | ||
|
||
// 🧩 MODULES | ||
import { console } from "./console.sol"; | ||
import { console2 } from "./console2.sol"; | ||
import { safeconsole } from "./safeconsole.sol"; | ||
import { StdChains } from "./StdChains.sol"; | ||
import { StdCheatsSafe } from "./StdCheats.sol"; | ||
import { stdJson } from "./StdJson.sol"; | ||
import { stdMath } from "./StdMath.sol"; | ||
import { StdStorage, stdStorageSafe } from "./StdStorage.sol"; | ||
import { StdStyle } from "./StdStyle.sol"; | ||
import { StdUtils } from "./StdUtils.sol"; | ||
import { VmSafe } from "./Vm.sol"; | ||
|
||
// 📦 BOILERPLATE | ||
import { ScriptBase } from "./Base.sol"; | ||
|
||
// ⭐️ SCRIPT | ||
abstract contract Script is ScriptBase, StdChains, StdCheatsSafe, StdUtils { | ||
// Note: IS_SCRIPT() must return true. | ||
bool public IS_SCRIPT = true; | ||
} |
Oops, something went wrong.