@bananapus/core-v6 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/core-v6",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,7 @@
26
26
  "artifacts": "source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-core-v6'"
27
27
  },
28
28
  "dependencies": {
29
- "@bananapus/permission-ids-v6": "^0.0.2",
29
+ "@bananapus/permission-ids-v6": "^0.0.4",
30
30
  "@chainlink/contracts": "^1.3.0",
31
31
  "@openzeppelin/contracts": "^5.2.0",
32
32
  "@prb/math": "^4.1.0",
@@ -44,6 +44,14 @@ contract DeployPeriphery is Script, Sphinx {
44
44
  /// @notice The nonce that gets used across all chains to sync deployment addresses and allow for new deployments of
45
45
  /// the same bytecode.
46
46
  uint256 private CORE_DEPLOYMENT_NONCE = 6;
47
+
48
+ /// @notice The address of the omnichain ruleset operator contract (e.g. JBOmnichainDeployer).
49
+ /// @dev TRUST ASSUMPTION: This address is granted implicit permission to launch rulesets, set terminals, and queue
50
+ /// rulesets on any project via the JBController (bypassing normal JBPermissions checks). A compromised or
51
+ /// incorrect operator address could manipulate any project's rulesets across chains.
52
+ /// @dev This address should correspond to the deterministic CREATE2 deployment of the omnichain deployer contract
53
+ /// from the nana-omnichain-deployers-v6 repository. Verify it matches the deployed address on all target chains
54
+ /// before running this script.
47
55
  address private OMNICHAIN_RULESET_OPERATOR = address(0x8f5DED85c40b50d223269C1F922A056E72101590);
48
56
 
49
57
  function configureSphinx() public override {
@@ -66,6 +74,9 @@ contract DeployPeriphery is Script, Sphinx {
66
74
  }
67
75
 
68
76
  function deploy() public sphinx {
77
+ // Validate the omnichain ruleset operator is set. See TRUST ASSUMPTION above.
78
+ require(OMNICHAIN_RULESET_OPERATOR != address(0), "Omnichain ruleset operator not set");
79
+
69
80
  // Deploy the ETH/USD price feed.
70
81
  IJBPriceFeed feed;
71
82