Skip to content
4 changes: 3 additions & 1 deletion deployments/arbitrum.diamond.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
"0x9149e311B70A7E61CCe4C963CbeFC6bc72746A22",
"0x51439AdC4d262580F355c450e78662BC80ab35ed",
"0x9f50F4122B3d66397859C146e3489B4c0f66E17d",
"0x050b1A40fBcAC0beccD9520D7363A33827283030"
"0x050b1A40fBcAC0beccD9520D7363A33827283030",
"0x167D54C29A448fC0b9596EA530223330D608e22f",
"0x4dd8D62229BaF0B1ACcC3dE5c0637291323EF6b6"
]
}
4 changes: 3 additions & 1 deletion deployments/arbitrum.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@
"Executor": "0x9E4B1205291d21eDaB4f710b2905628640e8D0F1",
"Receiver": "0xb15A66101ac2A6de589dAd1dCbbd7566DCCaB61D",
"SymbiosisFacet": "0xeCF2e32AfC90A774b0fc3cbd012B681EBfaA0BAF",
"TransferFacet": "0x9f50F4122B3d66397859C146e3489B4c0f66E17d"
"TransferFacet": "0x9f50F4122B3d66397859C146e3489B4c0f66E17d",
"GenericSwapFacetV2": "0x167D54C29A448fC0b9596EA530223330D608e22f",
"GenericCrossChainFacetV2": "0x4dd8D62229BaF0B1ACcC3dE5c0637291323EF6b6"
}
3 changes: 2 additions & 1 deletion deployments/avalanche.diamond.staging.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"0x0B24e264659B3c903C818170498e093916Ed66AA",
"0x65FDD04099a08b362d8ddB7e4a8EF467D464EC1c",
"0xEA967afBA9E692E4B8dd984A0713FA5E4139993b",
"0x51439AdC4d262580F355c450e78662BC80ab35ed"
"0x51439AdC4d262580F355c450e78662BC80ab35ed",
"0xB1B7434e6cf2e2B8DB2a947c96D8CCAC9406b9C0"
]
}
2 changes: 1 addition & 1 deletion deployments/avalanche.staging.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"MultichainFacet": "0x25192a562D1d14735a5b3c52432766a6Cd04a841",
"StargateFacet": "0x578b327C89DF0f33995Cb93415E191e7bF942270",
"XYFacet": "0x21998A2E576B62152D64eCFcE9DE2DAAeCDa75D6",
"GenericSwapFacet": "0x9149e311B70A7E61CCe4C963CbeFC6bc72746A22",
"GenericSwapFacet": "0xB1B7434e6cf2e2B8DB2a947c96D8CCAC9406b9C0",
"GenericCrossChainFacet": "0x51439AdC4d262580F355c450e78662BC80ab35ed",
"RubicMultiProxy": "0xb177ba361941bA2C382484e83ba521451557901f",
"ERC20Proxy": "0x91ba630F63991A15D35f69F57ef0C931fD8BB5f6"
Expand Down
4 changes: 3 additions & 1 deletion deployments/bsc.diamond.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
"0x9149e311B70A7E61CCe4C963CbeFC6bc72746A22",
"0x51439AdC4d262580F355c450e78662BC80ab35ed",
"0x21998A2E576B62152D64eCFcE9DE2DAAeCDa75D6",
"0x050b1A40fBcAC0beccD9520D7363A33827283030"
"0x050b1A40fBcAC0beccD9520D7363A33827283030",
"0x167D54C29A448fC0b9596EA530223330D608e22f",
"0x4dd8D62229BaF0B1ACcC3dE5c0637291323EF6b6"
]
}
4 changes: 3 additions & 1 deletion deployments/bsc.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@
"GenericCrossChainFacet": "0x050b1A40fBcAC0beccD9520D7363A33827283030",
"Executor": "0x9E4B1205291d21eDaB4f710b2905628640e8D0F1",
"Receiver": "0xb15A66101ac2A6de589dAd1dCbbd7566DCCaB61D",
"TransferFacet": "0x9f50F4122B3d66397859C146e3489B4c0f66E17d"
"TransferFacet": "0x9f50F4122B3d66397859C146e3489B4c0f66E17d",
"GenericSwapFacetV2": "0x167D54C29A448fC0b9596EA530223330D608e22f",
"GenericCrossChainFacetV2": "0x4dd8D62229BaF0B1ACcC3dE5c0637291323EF6b6"
}
3 changes: 2 additions & 1 deletion deployments/polygon.diamond.staging.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"0x0B24e264659B3c903C818170498e093916Ed66AA",
"0x65FDD04099a08b362d8ddB7e4a8EF467D464EC1c",
"0xEA967afBA9E692E4B8dd984A0713FA5E4139993b",
"0xe6606249C53620FfE7b26D905FCCe99dCDeadb47"
"0xe6606249C53620FfE7b26D905FCCe99dCDeadb47",
"0xB1B7434e6cf2e2B8DB2a947c96D8CCAC9406b9C0"
]
}
4 changes: 2 additions & 2 deletions deployments/polygon.staging.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
"MultichainFacet": "0x25192a562D1d14735a5b3c52432766a6Cd04a841",
"XYFacet": "0x21998A2E576B62152D64eCFcE9DE2DAAeCDa75D6",
"StargateFacet": "0x578b327C89DF0f33995Cb93415E191e7bF942270",
"GenericSwapFacet": "0x9149e311B70A7E61CCe4C963CbeFC6bc72746A22",
"GenericSwapFacet": "0xB1B7434e6cf2e2B8DB2a947c96D8CCAC9406b9C0",
"GenericCrossChainFacet": "0xe6606249C53620FfE7b26D905FCCe99dCDeadb47",
"RubicMultiProxy": "0xb177ba361941bA2C382484e83ba521451557901f",
"ERC20Proxy": "0x91ba630F63991A15D35f69F57ef0C931fD8BB5f6"
}
}
2 changes: 1 addition & 1 deletion diamondABI/diamond.json

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions script/DeployGenericCrossChainFacetV2.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import { DeployScriptBase } from "./utils/DeployScriptBase.sol";
import { GenericCrossChainFacetV2 as GenericCrossChainFacet } from "rubic/Facets/GenericCrossChainFacetV2.sol";

contract DeployScript is DeployScriptBase {
constructor() DeployScriptBase("GenericCrossChainFacetV2") {}

function run() public returns (GenericCrossChainFacet deployed) {
vm.startBroadcast(deployerPrivateKey);

if (isDeployed()) {
return GenericCrossChainFacet(predicted);
}

if (networkSupportsCreate3(network)) {
deployed = GenericCrossChainFacet(
factory.deploy(salt, type(GenericCrossChainFacet).creationCode)
);
} else {
deployed = new GenericCrossChainFacet();
}

vm.stopBroadcast();
}
}
27 changes: 27 additions & 0 deletions script/DeployGenericSwapFacetV2.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import { DeployScriptBase } from "./utils/DeployScriptBase.sol";
import { GenericSwapFacetV2 as GenericSwapFacet } from "rubic/Facets/GenericSwapFacetV2.sol";

contract DeployScript is DeployScriptBase {
constructor() DeployScriptBase("GenericSwapFacetV2") {}

function run() public returns (GenericSwapFacet deployed) {
vm.startBroadcast(deployerPrivateKey);

if (isDeployed()) {
return GenericSwapFacet(predicted);
}

if (networkSupportsCreate3(network)) {
deployed = GenericSwapFacet(
factory.deploy(salt, type(GenericSwapFacet).creationCode)
);
} else {
deployed = new GenericSwapFacet();
}

vm.stopBroadcast();
}
}
45 changes: 45 additions & 0 deletions script/UpdateGenericCrossChainFacetV2.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import { UpdateScriptBase } from "./utils/UpdateScriptBase.sol";
import { stdJson } from "forge-std/StdJson.sol";
import { DiamondCutFacet, IDiamondCut } from "rubic/Facets/DiamondCutFacet.sol";

contract DeployScript is UpdateScriptBase {
using stdJson for string;

function run() public returns (address[] memory facets) {
string memory path = string.concat(
root,
"/deployments/",
network,
".",
fileSuffix,
"json"
);
string memory json = vm.readFile(path);
address facet = json.readAddress(".GenericCrossChainFacetV2");

vm.startBroadcast(deployerPrivateKey);

// GenericSwap
if (loupe.facetFunctionSelectors(facet).length == 0) {
bytes4[] memory exclude;
cut.push(
IDiamondCut.FacetCut({
facetAddress: address(facet),
action: IDiamondCut.FacetCutAction.Add,
functionSelectors: getSelectors(
"GenericCrossChainFacetV2",
exclude
)
})
);
cutter.diamondCut(cut, address(0), "");
}

facets = loupe.facetAddresses();

vm.stopBroadcast();
}
}
45 changes: 45 additions & 0 deletions script/UpdateGenericSwapFacetV2.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import { UpdateScriptBase } from "./utils/UpdateScriptBase.sol";
import { stdJson } from "forge-std/StdJson.sol";
import { DiamondCutFacet, IDiamondCut } from "rubic/Facets/DiamondCutFacet.sol";

contract DeployScript is UpdateScriptBase {
using stdJson for string;

function run() public returns (address[] memory facets) {
string memory path = string.concat(
root,
"/deployments/",
network,
".",
fileSuffix,
"json"
);
string memory json = vm.readFile(path);
address facet = json.readAddress(".GenericSwapFacetV2");

vm.startBroadcast(deployerPrivateKey);

// GenericSwap
if (loupe.facetFunctionSelectors(facet).length == 0) {
bytes4[] memory exclude;
cut.push(
IDiamondCut.FacetCut({
facetAddress: address(facet),
action: IDiamondCut.FacetCutAction.Add,
functionSelectors: getSelectors(
"GenericSwapFacetV2",
exclude
)
})
);
cutter.diamondCut(cut, address(0), "");
}

facets = loupe.facetAddresses();

vm.stopBroadcast();
}
}
Loading