diff --git a/contracts/bridging/WormholeBridgeForColony.sol b/contracts/bridging/WormholeBridgeForColony.sol
index 89b9b04f1d..3a2979bd59 100644
--- a/contracts/bridging/WormholeBridgeForColony.sol
+++ b/contracts/bridging/WormholeBridgeForColony.sol
@@ -19,8 +19,7 @@
pragma solidity 0.8.27;
import { IWormhole } from "../../lib/wormhole/ethereum/contracts/interfaces/IWormhole.sol";
-import { IColonyNetwork } from "../colonyNetwork/IColonyNetwork.sol";
-import { IColonyBridge } from "./IColonyBridge.sol";
+import { IColonyBridge } from "../interfaces/IColonyBridge.sol";
import { CallWithGuards } from "../common/CallWithGuards.sol";
import { DSAuth } from "../../lib/dappsys/auth.sol";
diff --git a/contracts/colony/Colony.sol b/contracts/colony/Colony.sol
index 26112ab33d..7ed329180a 100755
--- a/contracts/colony/Colony.sol
+++ b/contracts/colony/Colony.sol
@@ -21,10 +21,10 @@ pragma experimental ABIEncoderV2;
import { ERC20Extended } from "./../common/ERC20Extended.sol";
import { Multicall } from "./../common/Multicall.sol";
-import { IEtherRouter } from "./../common/IEtherRouter.sol";
+import { IEtherRouter } from "./../interfaces/IEtherRouter.sol";
import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { PatriciaTreeProofs } from "./../patriciaTree/PatriciaTreeProofs.sol";
import { ColonyStorage } from "./ColonyStorage.sol";
import { ColonyAuthority } from "./ColonyAuthority.sol";
diff --git a/contracts/colony/ColonyArbitraryTransaction.sol b/contracts/colony/ColonyArbitraryTransaction.sol
index 91d7943d47..b2b5b91ed1 100644
--- a/contracts/colony/ColonyArbitraryTransaction.sol
+++ b/contracts/colony/ColonyArbitraryTransaction.sol
@@ -20,11 +20,11 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { ERC20Extended } from "./../common/ERC20Extended.sol";
-import { IEtherRouter } from "./../common/IEtherRouter.sol";
+import { IEtherRouter } from "./../interfaces/IEtherRouter.sol";
import { MultiChain } from "./../common/MultiChain.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ColonyStorage } from "./ColonyStorage.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ColonyExtension } from "./../extensions/ColonyExtension.sol";
contract ColonyArbitraryTransaction is ColonyStorage {
diff --git a/contracts/colony/ColonyDomains.sol b/contracts/colony/ColonyDomains.sol
index fa6518fef5..ef246fb532 100644
--- a/contracts/colony/ColonyDomains.sol
+++ b/contracts/colony/ColonyDomains.sol
@@ -20,7 +20,7 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { ColonyStorage } from "./ColonyStorage.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
contract ColonyDomains is ColonyStorage {
// prettier-ignore
diff --git a/contracts/colony/ColonyFunding.sol b/contracts/colony/ColonyFunding.sol
index d4f533980f..b5828b7a94 100755
--- a/contracts/colony/ColonyFunding.sol
+++ b/contracts/colony/ColonyFunding.sol
@@ -19,10 +19,10 @@
pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ColonyStorage } from "./ColonyStorage.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
contract ColonyFunding is
ColonyStorage // ignore-swc-123
diff --git a/contracts/colony/ColonyRewards.sol b/contracts/colony/ColonyRewards.sol
index 7068e47f48..eddb2b3eb8 100644
--- a/contracts/colony/ColonyRewards.sol
+++ b/contracts/colony/ColonyRewards.sol
@@ -19,11 +19,11 @@
pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ColonyStorage } from "./ColonyStorage.sol";
import { PatriciaTreeProofs } from "./../patriciaTree/PatriciaTreeProofs.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
contract ColonyRewards is
ColonyStorage,
diff --git a/contracts/colony/ColonyStorage.sol b/contracts/colony/ColonyStorage.sol
index 850d8c653e..6452c53704 100755
--- a/contracts/colony/ColonyStorage.sol
+++ b/contracts/colony/ColonyStorage.sol
@@ -23,7 +23,7 @@ import { DSMath } from "./../../lib/dappsys/math.sol";
import { CommonStorage } from "./../common/CommonStorage.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
import { DomainRoles } from "./../common/DomainRoles.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ColonyNetworkDataTypes } from "./../colonyNetwork/ColonyNetworkDataTypes.sol";
import { ColonyExtension } from "./../extensions/ColonyExtension.sol";
import { PatriciaTreeProofs } from "./../patriciaTree/PatriciaTreeProofs.sol";
diff --git a/contracts/colony/IColony.sol.flattened b/contracts/colony/IColony.sol.flattened
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/contracts/colony/IColony.sol.flattened
@@ -0,0 +1 @@
+
diff --git a/contracts/colonyNetwork/ColonyNetwork.sol b/contracts/colonyNetwork/ColonyNetwork.sol
index da1baa2e1f..4fb19dc6b2 100644
--- a/contracts/colonyNetwork/ColonyNetwork.sol
+++ b/contracts/colonyNetwork/ColonyNetwork.sol
@@ -20,7 +20,7 @@ pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
-import { IReputationMiningCycle } from "./../reputationMiningCycle/IReputationMiningCycle.sol";
+import { IReputationMiningCycle } from "./../interfaces/IReputationMiningCycle.sol";
import { ColonyNetworkStorage } from "./ColonyNetworkStorage.sol";
import { Multicall } from "./../common/Multicall.sol";
diff --git a/contracts/colonyNetwork/ColonyNetworkAuction.sol b/contracts/colonyNetwork/ColonyNetworkAuction.sol
index 6bee21a2b2..463aa1da0e 100644
--- a/contracts/colonyNetwork/ColonyNetworkAuction.sol
+++ b/contracts/colonyNetwork/ColonyNetworkAuction.sol
@@ -22,7 +22,7 @@ import { ColonyNetworkStorage } from "./ColonyNetworkStorage.sol";
import { MultiChain } from "./../common/MultiChain.sol";
import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
-import { IMetaColony } from "./../colony/IMetaColony.sol";
+import { IMetaColony } from "./../interfaces/IMetaColony.sol";
import { DSMath } from "./../../lib/dappsys/math.sol";
contract ColonyNetworkAuction is ColonyNetworkStorage {
diff --git a/contracts/colonyNetwork/ColonyNetworkDeployer.sol b/contracts/colonyNetwork/ColonyNetworkDeployer.sol
index 09e31096c8..f7bf9846aa 100644
--- a/contracts/colonyNetwork/ColonyNetworkDeployer.sol
+++ b/contracts/colonyNetwork/ColonyNetworkDeployer.sol
@@ -20,9 +20,9 @@ pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
import { EtherRouter } from "./../common/EtherRouter.sol";
import { ColonyAuthority } from "./../colony/ColonyAuthority.sol";
-import { IColony } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
import { ColonyNetworkStorage } from "./ColonyNetworkStorage.sol";
-import { IColonyNetwork } from "./IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { MetaTxToken } from "./../metaTxToken/MetaTxToken.sol";
import { DSAuth, DSAuthority } from "./../../lib/dappsys/auth.sol";
import { ICreateX } from "./../../lib/createx/src/ICreateX.sol";
diff --git a/contracts/colonyNetwork/ColonyNetworkExtensions.sol b/contracts/colonyNetwork/ColonyNetworkExtensions.sol
index 6a732a332c..58ccb3f136 100644
--- a/contracts/colonyNetwork/ColonyNetworkExtensions.sol
+++ b/contracts/colonyNetwork/ColonyNetworkExtensions.sol
@@ -20,7 +20,7 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { ColonyDataTypes } from "../colony/ColonyDataTypes.sol";
-import { IColonyNetwork } from "../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "../interfaces/IColonyNetwork.sol";
import { ColonyExtension } from "../extensions/ColonyExtension.sol";
import { ColonyNetworkStorage } from "./ColonyNetworkStorage.sol";
import { MetaTxToken } from "./../metaTxToken/MetaTxToken.sol";
diff --git a/contracts/colonyNetwork/ColonyNetworkMining.sol b/contracts/colonyNetwork/ColonyNetworkMining.sol
index 47e18ced1c..b591db30bf 100644
--- a/contracts/colonyNetwork/ColonyNetworkMining.sol
+++ b/contracts/colonyNetwork/ColonyNetworkMining.sol
@@ -22,12 +22,12 @@ pragma experimental "ABIEncoderV2";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
import { EtherRouter } from "./../common/EtherRouter.sol";
import { MultiChain } from "./../common/MultiChain.sol";
-import { IReputationMiningCycle } from "./../reputationMiningCycle/IReputationMiningCycle.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { IReputationMiningCycle } from "./../interfaces/IReputationMiningCycle.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ColonyNetworkStorage } from "./ColonyNetworkStorage.sol";
-import { IMetaColony } from "./../colony/IMetaColony.sol";
-import { IColonyBridge } from "./../bridging/IColonyBridge.sol";
-import { IColonyNetwork } from "./IColonyNetwork.sol";
+import { IMetaColony } from "./../interfaces/IMetaColony.sol";
+import { IColonyBridge } from "./../interfaces/IColonyBridge.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ColonyDataTypes } from "./../colony/ColonyDataTypes.sol";
contract ColonyNetworkMining is ColonyNetworkStorage {
diff --git a/contracts/colonyNetwork/ColonyNetworkSkills.sol b/contracts/colonyNetwork/ColonyNetworkSkills.sol
index 17c83c4b5f..ec202dc2e2 100644
--- a/contracts/colonyNetwork/ColonyNetworkSkills.sol
+++ b/contracts/colonyNetwork/ColonyNetworkSkills.sol
@@ -18,10 +18,10 @@
pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
-import "./../reputationMiningCycle/IReputationMiningCycle.sol";
-import "./../common/Multicall.sol";
-import "./ColonyNetworkStorage.sol";
-import { IColonyBridge } from "./../bridging/IColonyBridge.sol";
+import { IReputationMiningCycle } from "./../interfaces/IReputationMiningCycle.sol";
+import { Multicall } from "./../common/Multicall.sol";
+import { ColonyNetworkStorage } from "./ColonyNetworkStorage.sol";
+import { IColonyBridge } from "./../interfaces/IColonyBridge.sol";
import { CallWithGuards } from "../common/CallWithGuards.sol";
contract ColonyNetworkSkills is ColonyNetworkStorage, Multicall, CallWithGuards {
diff --git a/contracts/colonyNetwork/ColonyNetworkStorage.sol b/contracts/colonyNetwork/ColonyNetworkStorage.sol
index c22a18d695..32d2a53310 100644
--- a/contracts/colonyNetwork/ColonyNetworkStorage.sol
+++ b/contracts/colonyNetwork/ColonyNetworkStorage.sol
@@ -19,7 +19,7 @@
pragma solidity 0.8.27;
import { DSMath } from "./../../lib/dappsys/math.sol";
-import { IMetaColony } from "./../colony/IMetaColony.sol";
+import { IMetaColony } from "./../interfaces/IMetaColony.sol";
import { CommonStorage } from "./../common/CommonStorage.sol";
import { MultiChain } from "./../common/MultiChain.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
diff --git a/contracts/common/BasicMetaTransaction.sol b/contracts/common/BasicMetaTransaction.sol
index eabfcdf9c9..30850f6337 100644
--- a/contracts/common/BasicMetaTransaction.sol
+++ b/contracts/common/BasicMetaTransaction.sol
@@ -4,7 +4,7 @@ pragma solidity 0.8.27;
import { DSMath } from "../../lib/dappsys/math.sol";
import { MetaTransactionMsgSender } from "./MetaTransactionMsgSender.sol";
import { MultiChain } from "./MultiChain.sol";
-import { IBasicMetaTransaction } from "./IBasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
abstract contract BasicMetaTransaction is
IBasicMetaTransaction,
diff --git a/contracts/common/ContractRecovery.sol b/contracts/common/ContractRecovery.sol
index fba3793f57..bc49f97ab3 100644
--- a/contracts/common/ContractRecovery.sol
+++ b/contracts/common/ContractRecovery.sol
@@ -22,7 +22,7 @@ import { CommonDataTypes } from "./CommonDataTypes.sol";
import { ContractRecoveryDataTypes } from "./ContractRecoveryDataTypes.sol";
import { CommonAuthority } from "./CommonAuthority.sol";
import { CommonStorage } from "./CommonStorage.sol";
-import { IRecovery } from "./IRecovery.sol";
+import { IRecovery } from "./../interfaces/IRecovery.sol";
contract ContractRecovery is
ContractRecoveryDataTypes,
diff --git a/contracts/common/GetActionDomainSkillId.sol b/contracts/common/GetActionDomainSkillId.sol
index 6503b3465c..ba51efe897 100644
--- a/contracts/common/GetActionDomainSkillId.sol
+++ b/contracts/common/GetActionDomainSkillId.sol
@@ -15,8 +15,8 @@
along with The Colony Network. If not, see .
*/
-import { IColony } from "./../colony/IColony.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColony } from "./../interfaces/IColony.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
diff --git a/contracts/common/GetActionSummary.sol b/contracts/common/GetActionSummary.sol
index 8f6230c7aa..2c479e0ca6 100644
--- a/contracts/common/GetActionSummary.sol
+++ b/contracts/common/GetActionSummary.sol
@@ -15,7 +15,7 @@
along with The Colony Network. If not, see .
*/
-import { IColony } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
import { ExtractCallData } from "./ExtractCallData.sol";
import { GetActionDomainSkillId } from "./GetActionDomainSkillId.sol";
import { CommonDataTypes } from "./CommonDataTypes.sol";
diff --git a/contracts/extensions/CoinMachine.sol b/contracts/extensions/CoinMachine.sol
index 47484e0b4e..26e48d43c6 100644
--- a/contracts/extensions/CoinMachine.sol
+++ b/contracts/extensions/CoinMachine.sol
@@ -20,7 +20,8 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { ERC20 } from "./../../lib/dappsys/erc20.sol";
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
import { ColonyExtension } from "./ColonyExtension.sol";
import { Whitelist } from "./Whitelist.sol";
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
diff --git a/contracts/extensions/ColonyExtension.sol b/contracts/extensions/ColonyExtension.sol
index 35ada837f3..0aa5e848fb 100644
--- a/contracts/extensions/ColonyExtension.sol
+++ b/contracts/extensions/ColonyExtension.sol
@@ -23,15 +23,15 @@ import { DSMath } from "./../../lib/dappsys/math.sol";
import { DSAuth } from "./../../lib/dappsys/auth.sol";
import { EtherRouter } from "./../common/EtherRouter.sol";
import { Multicall } from "./../common/Multicall.sol";
-import { IColony } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
import { ColonyDataTypes } from "./../colony/ColonyDataTypes.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { PatriciaTreeProofs } from "./../patriciaTree/PatriciaTreeProofs.sol";
import { MultiChain } from "./../common/MultiChain.sol";
-import { IColonyExtension } from "./IColonyExtension.sol";
+import { IColonyExtension } from "./../interfaces/IColonyExtension.sol";
// This is a 'dummy' import to ensure that functions implemented from DSAuth get commented
-import { IDSAuth } from "./../common/IDSAuth.sol";
+import { IDSAuth } from "./../interfaces/IDSAuth.sol";
abstract contract ColonyExtension is
IColonyExtension,
diff --git a/contracts/extensions/ColonyExtensionMeta.sol b/contracts/extensions/ColonyExtensionMeta.sol
index 903d0461c1..2014471832 100644
--- a/contracts/extensions/ColonyExtensionMeta.sol
+++ b/contracts/extensions/ColonyExtensionMeta.sol
@@ -19,7 +19,8 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
import { ColonyExtension } from "./ColonyExtension.sol";
abstract contract ColonyExtensionMeta is BasicMetaTransaction, ColonyExtension {
diff --git a/contracts/extensions/EvaluatedExpenditure.sol b/contracts/extensions/EvaluatedExpenditure.sol
index 033b249be6..eb52207bfe 100644
--- a/contracts/extensions/EvaluatedExpenditure.sol
+++ b/contracts/extensions/EvaluatedExpenditure.sol
@@ -20,7 +20,8 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { ColonyExtension } from "./ColonyExtension.sol";
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
// ignore-file-swc-108
diff --git a/contracts/extensions/FundingQueue.sol b/contracts/extensions/FundingQueue.sol
index bf144c2836..9d5524740c 100644
--- a/contracts/extensions/FundingQueue.sol
+++ b/contracts/extensions/FundingQueue.sol
@@ -20,9 +20,10 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ColonyExtension } from "./ColonyExtension.sol";
contract FundingQueue is ColonyExtension, BasicMetaTransaction {
diff --git a/contracts/extensions/MultisigPermissions.sol b/contracts/extensions/MultisigPermissions.sol
index 0cbe3d43de..0f82f73132 100644
--- a/contracts/extensions/MultisigPermissions.sol
+++ b/contracts/extensions/MultisigPermissions.sol
@@ -18,9 +18,10 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IColony, ColonyDataTypes } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
+import { ColonyDataTypes } from "./../colony/ColonyDataTypes.sol";
import { ColonyRoles } from "./../colony/ColonyRoles.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ColonyNetworkDataTypes } from "./../colonyNetwork/ColonyNetworkDataTypes.sol";
import { ColonyExtensionMeta } from "./ColonyExtensionMeta.sol";
import { GetActionSummary, ActionSummary } from "./../common/GetActionSummary.sol";
diff --git a/contracts/extensions/OneTxPayment.sol b/contracts/extensions/OneTxPayment.sol
index 504f96e65c..8db395304d 100644
--- a/contracts/extensions/OneTxPayment.sol
+++ b/contracts/extensions/OneTxPayment.sol
@@ -21,7 +21,8 @@ pragma experimental ABIEncoderV2;
import { CommonDataTypes } from "../common/CommonDataTypes.sol";
import { ColonyExtension } from "./ColonyExtension.sol";
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
// ignore-file-swc-108
diff --git a/contracts/extensions/ReputationBootstrapper.sol b/contracts/extensions/ReputationBootstrapper.sol
index 7acd7a0e38..3cf29e6e1a 100644
--- a/contracts/extensions/ReputationBootstrapper.sol
+++ b/contracts/extensions/ReputationBootstrapper.sol
@@ -20,8 +20,8 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { ERC20 } from "./../../lib/dappsys/erc20.sol";
-import { IReputationMiningCycle } from "./../reputationMiningCycle/IReputationMiningCycle.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IReputationMiningCycle } from "./../interfaces/IReputationMiningCycle.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ColonyExtensionMeta } from "./ColonyExtensionMeta.sol";
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
diff --git a/contracts/extensions/StagedExpenditure.sol b/contracts/extensions/StagedExpenditure.sol
index 8fda530626..116de48d28 100644
--- a/contracts/extensions/StagedExpenditure.sol
+++ b/contracts/extensions/StagedExpenditure.sol
@@ -19,7 +19,8 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IColony, ColonyDataTypes } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
+import { ColonyDataTypes } from "./../colony/ColonyDataTypes.sol";
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
import { ColonyExtensionMeta } from "./ColonyExtensionMeta.sol";
diff --git a/contracts/extensions/StakedExpenditure.sol b/contracts/extensions/StakedExpenditure.sol
index f97a4dd1bf..657c2eeafc 100644
--- a/contracts/extensions/StakedExpenditure.sol
+++ b/contracts/extensions/StakedExpenditure.sol
@@ -21,7 +21,7 @@ pragma experimental ABIEncoderV2;
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
import { ColonyDataTypes } from "./../colony/ColonyDataTypes.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ColonyExtensionMeta } from "./ColonyExtensionMeta.sol";
// ignore-file-swc-108
diff --git a/contracts/extensions/TokenSupplier.sol b/contracts/extensions/TokenSupplier.sol
index d299c7f014..e2f86c8347 100644
--- a/contracts/extensions/TokenSupplier.sol
+++ b/contracts/extensions/TokenSupplier.sol
@@ -19,10 +19,11 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
import { ColonyExtension } from "./ColonyExtension.sol";
-import { IColony } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
contract TokenSupplier is ColonyExtension, BasicMetaTransaction {
uint256 constant ISSUANCE_PERIOD = 1 days;
diff --git a/contracts/extensions/Whitelist.sol b/contracts/extensions/Whitelist.sol
index 377cbf4ad7..05ce6ae60a 100644
--- a/contracts/extensions/Whitelist.sol
+++ b/contracts/extensions/Whitelist.sol
@@ -19,11 +19,12 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
import { ColonyExtension } from "./ColonyExtension.sol";
-import { IColony } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
// ignore-file-swc-108
diff --git a/contracts/extensions/votingReputation/IVotingReputation.sol.flattened b/contracts/extensions/votingReputation/IVotingReputation.sol.flattened
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/contracts/extensions/votingReputation/IVotingReputation.sol.flattened
@@ -0,0 +1 @@
+
diff --git a/contracts/extensions/votingReputation/VotingReputation.sol b/contracts/extensions/votingReputation/VotingReputation.sol
index c1487ac230..4188835789 100644
--- a/contracts/extensions/votingReputation/VotingReputation.sol
+++ b/contracts/extensions/votingReputation/VotingReputation.sol
@@ -20,7 +20,8 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { VotingReputationStorage } from "./VotingReputationStorage.sol";
-import { IColony, ColonyDataTypes } from "./../../colony/IColony.sol";
+import { IColony } from "./../../interfaces/IColony.sol";
+import { ColonyDataTypes } from "./../../colony/ColonyDataTypes.sol";
import { ActionSummary } from "./../../common/GetActionSummary.sol";
contract VotingReputation is VotingReputationStorage {
diff --git a/contracts/extensions/votingReputation/VotingReputationMisalignedRecovery.sol b/contracts/extensions/votingReputation/VotingReputationMisalignedRecovery.sol
index fbc670cbc9..9a1ab99a2d 100644
--- a/contracts/extensions/votingReputation/VotingReputationMisalignedRecovery.sol
+++ b/contracts/extensions/votingReputation/VotingReputationMisalignedRecovery.sol
@@ -19,9 +19,9 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IColonyNetwork } from "./../../colonyNetwork/IColonyNetwork.sol";
-import { IColony } from "./../../colony/IColony.sol";
-import { ITokenLocking } from "./../../tokenLocking/ITokenLocking.sol";
+import { IColonyNetwork } from "./../../interfaces/IColonyNetwork.sol";
+import { IColony } from "./../../interfaces/IColony.sol";
+import { ITokenLocking } from "./../../interfaces/ITokenLocking.sol";
import { DSMath } from "./../../../lib/dappsys/math.sol";
import { DSAuth } from "./../../../lib/dappsys/auth.sol";
import { VotingReputationDataTypes } from "./VotingReputationDataTypes.sol";
diff --git a/contracts/extensions/votingReputation/VotingReputationStorage.sol b/contracts/extensions/votingReputation/VotingReputationStorage.sol
index b96227aa56..21e611a73c 100644
--- a/contracts/extensions/votingReputation/VotingReputationStorage.sol
+++ b/contracts/extensions/votingReputation/VotingReputationStorage.sol
@@ -19,12 +19,13 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IColonyNetwork } from "./../../colonyNetwork/IColonyNetwork.sol";
-import { IColony } from "./../../colony/IColony.sol";
+import { IColonyNetwork } from "./../../interfaces/IColonyNetwork.sol";
+import { IColony } from "./../../interfaces/IColony.sol";
import { CommonDataTypes } from "./../../common/CommonDataTypes.sol";
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../../interfaces/IBasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../../common/BasicMetaTransaction.sol";
import { ActionSummary, GetActionSummary } from "./../../common/GetActionSummary.sol";
-import { ITokenLocking } from "./../../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "./../../interfaces/ITokenLocking.sol";
import { ColonyExtension } from "./../ColonyExtension.sol";
import { VotingReputationDataTypes } from "./VotingReputationDataTypes.sol";
diff --git a/contracts/common/IBasicMetaTransaction.sol b/contracts/interfaces/IBasicMetaTransaction.sol
similarity index 100%
rename from contracts/common/IBasicMetaTransaction.sol
rename to contracts/interfaces/IBasicMetaTransaction.sol
diff --git a/contracts/colony/IColony.sol b/contracts/interfaces/IColony.sol
similarity index 99%
rename from contracts/colony/IColony.sol
rename to contracts/interfaces/IColony.sol
index d2cffee40e..7b4ccb181b 100644
--- a/contracts/colony/IColony.sol
+++ b/contracts/interfaces/IColony.sol
@@ -19,11 +19,11 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental ABIEncoderV2;
-import { IRecovery } from "./../common/IRecovery.sol";
-import { IBasicMetaTransaction } from "./../common/IBasicMetaTransaction.sol";
-import { IMulticall } from "./../common/IMulticall.sol";
-import { ColonyDataTypes } from "./ColonyDataTypes.sol";
-import { IDSAuth } from "./../common/IDSAuth.sol";
+import { IRecovery } from "./IRecovery.sol";
+import { IBasicMetaTransaction } from "./IBasicMetaTransaction.sol";
+import { IMulticall } from "./IMulticall.sol";
+import { ColonyDataTypes } from "./../colony/ColonyDataTypes.sol";
+import { IDSAuth } from "./IDSAuth.sol";
interface IColony is IDSAuth, ColonyDataTypes, IRecovery, IBasicMetaTransaction, IMulticall {
// Implemented in Colony.sol
diff --git a/contracts/bridging/IColonyBridge.sol b/contracts/interfaces/IColonyBridge.sol
similarity index 100%
rename from contracts/bridging/IColonyBridge.sol
rename to contracts/interfaces/IColonyBridge.sol
diff --git a/contracts/extensions/IColonyExtension.sol b/contracts/interfaces/IColonyExtension.sol
similarity index 97%
rename from contracts/extensions/IColonyExtension.sol
rename to contracts/interfaces/IColonyExtension.sol
index 4b51678d7d..68974f54e7 100644
--- a/contracts/extensions/IColonyExtension.sol
+++ b/contracts/interfaces/IColonyExtension.sol
@@ -18,7 +18,7 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IBasicMetaTransaction } from "./../common/IBasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./IBasicMetaTransaction.sol";
interface IColonyExtension is IBasicMetaTransaction {
/// @notice Returns the identifier of the extension
diff --git a/contracts/colonyNetwork/IColonyNetwork.sol b/contracts/interfaces/IColonyNetwork.sol
similarity index 99%
rename from contracts/colonyNetwork/IColonyNetwork.sol
rename to contracts/interfaces/IColonyNetwork.sol
index dd4c754399..3e4b14fc38 100644
--- a/contracts/colonyNetwork/IColonyNetwork.sol
+++ b/contracts/interfaces/IColonyNetwork.sol
@@ -19,11 +19,10 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental "ABIEncoderV2";
-import { IRecovery } from "./../common/IRecovery.sol";
-import { IBasicMetaTransaction } from "./../common/IBasicMetaTransaction.sol";
-import { IMulticall } from "./../common/IMulticall.sol";
-
-import { ColonyNetworkDataTypes } from "./ColonyNetworkDataTypes.sol";
+import { IRecovery } from "./IRecovery.sol";
+import { IBasicMetaTransaction } from "./IBasicMetaTransaction.sol";
+import { IMulticall } from "./IMulticall.sol";
+import { ColonyNetworkDataTypes } from "./../colonyNetwork/ColonyNetworkDataTypes.sol";
interface IColonyNetwork is ColonyNetworkDataTypes, IRecovery, IBasicMetaTransaction, IMulticall {
/// @notice Query if a contract implements an interface
diff --git a/contracts/common/IDSAuth.sol b/contracts/interfaces/IDSAuth.sol
similarity index 100%
rename from contracts/common/IDSAuth.sol
rename to contracts/interfaces/IDSAuth.sol
diff --git a/contracts/common/IEtherRouter.sol b/contracts/interfaces/IEtherRouter.sol
similarity index 100%
rename from contracts/common/IEtherRouter.sol
rename to contracts/interfaces/IEtherRouter.sol
diff --git a/contracts/colony/IMetaColony.sol b/contracts/interfaces/IMetaColony.sol
similarity index 100%
rename from contracts/colony/IMetaColony.sol
rename to contracts/interfaces/IMetaColony.sol
diff --git a/contracts/common/IMulticall.sol b/contracts/interfaces/IMulticall.sol
similarity index 100%
rename from contracts/common/IMulticall.sol
rename to contracts/interfaces/IMulticall.sol
diff --git a/contracts/patriciaTree/IPatriciaTree.sol b/contracts/interfaces/IPatriciaTree.sol
similarity index 96%
rename from contracts/patriciaTree/IPatriciaTree.sol
rename to contracts/interfaces/IPatriciaTree.sol
index 4685c04877..f35fa9b1d0 100644
--- a/contracts/patriciaTree/IPatriciaTree.sol
+++ b/contracts/interfaces/IPatriciaTree.sol
@@ -2,7 +2,6 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental "ABIEncoderV2";
-import { Data } from "./Data.sol";
import { IPatriciaTreeBase } from "./IPatriciaTreeBase.sol";
interface IPatriciaTree is IPatriciaTreeBase {
diff --git a/contracts/patriciaTree/IPatriciaTreeBase.sol b/contracts/interfaces/IPatriciaTreeBase.sol
similarity index 93%
rename from contracts/patriciaTree/IPatriciaTreeBase.sol
rename to contracts/interfaces/IPatriciaTreeBase.sol
index c457855b77..9401dd40a2 100644
--- a/contracts/patriciaTree/IPatriciaTreeBase.sol
+++ b/contracts/interfaces/IPatriciaTreeBase.sol
@@ -2,7 +2,7 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental "ABIEncoderV2";
-import { Data } from "./Data.sol";
+import { Data } from "./../patriciaTree/Data.sol";
interface IPatriciaTreeBase {
/// @notice Get the root hash
diff --git a/contracts/patriciaTree/IPatriciaTreeNoHash.sol b/contracts/interfaces/IPatriciaTreeNoHash.sol
similarity index 96%
rename from contracts/patriciaTree/IPatriciaTreeNoHash.sol
rename to contracts/interfaces/IPatriciaTreeNoHash.sol
index b3df9bc8a5..3f5f56ec2f 100644
--- a/contracts/patriciaTree/IPatriciaTreeNoHash.sol
+++ b/contracts/interfaces/IPatriciaTreeNoHash.sol
@@ -2,7 +2,6 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental "ABIEncoderV2";
-import { Data } from "./Data.sol";
import { IPatriciaTreeBase } from "./IPatriciaTreeBase.sol";
/// More info at: https://github.com/chriseth/patricia-trie
diff --git a/contracts/common/IRecovery.sol b/contracts/interfaces/IRecovery.sol
similarity index 97%
rename from contracts/common/IRecovery.sol
rename to contracts/interfaces/IRecovery.sol
index 876ae5ed81..553e00c95c 100644
--- a/contracts/common/IRecovery.sol
+++ b/contracts/interfaces/IRecovery.sol
@@ -19,7 +19,7 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental "ABIEncoderV2";
-import { ContractRecoveryDataTypes } from "./ContractRecoveryDataTypes.sol";
+import { ContractRecoveryDataTypes } from "./../common/ContractRecoveryDataTypes.sol";
interface IRecovery is ContractRecoveryDataTypes {
/// @notice Put colony network mining into recovery mode.
diff --git a/contracts/reputationMiningCycle/IReputationMiningCycle.sol b/contracts/interfaces/IReputationMiningCycle.sol
similarity index 99%
rename from contracts/reputationMiningCycle/IReputationMiningCycle.sol
rename to contracts/interfaces/IReputationMiningCycle.sol
index 8f855b85a7..48330beb2f 100644
--- a/contracts/reputationMiningCycle/IReputationMiningCycle.sol
+++ b/contracts/interfaces/IReputationMiningCycle.sol
@@ -19,7 +19,7 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental "ABIEncoderV2";
-import { ReputationMiningCycleDataTypes } from "./ReputationMiningCycleDataTypes.sol";
+import { ReputationMiningCycleDataTypes } from "./../reputationMiningCycle/ReputationMiningCycleDataTypes.sol";
interface IReputationMiningCycle is ReputationMiningCycleDataTypes {
/// @notice The getter for the disputeRounds mapping.
diff --git a/contracts/tokenLocking/ITokenLocking.sol b/contracts/interfaces/ITokenLocking.sol
similarity index 98%
rename from contracts/tokenLocking/ITokenLocking.sol
rename to contracts/interfaces/ITokenLocking.sol
index b20fe672f4..1138d473aa 100644
--- a/contracts/tokenLocking/ITokenLocking.sol
+++ b/contracts/interfaces/ITokenLocking.sol
@@ -19,8 +19,8 @@
pragma solidity >=0.8.27; // ignore-swc-103
pragma experimental "ABIEncoderV2";
-import { TokenLockingDataTypes } from "./TokenLockingDataTypes.sol";
-import { IBasicMetaTransaction } from "./../common/IBasicMetaTransaction.sol";
+import { TokenLockingDataTypes } from "./../tokenLocking/TokenLockingDataTypes.sol";
+import { IBasicMetaTransaction } from "./IBasicMetaTransaction.sol";
interface ITokenLocking is TokenLockingDataTypes, IBasicMetaTransaction {
/// @notice Set the ColonyNetwork contract address.
diff --git a/contracts/extensions/votingReputation/IVotingReputation.sol b/contracts/interfaces/IVotingReputation.sol
similarity index 98%
rename from contracts/extensions/votingReputation/IVotingReputation.sol
rename to contracts/interfaces/IVotingReputation.sol
index 6bc0e18755..febb7fd557 100644
--- a/contracts/extensions/votingReputation/IVotingReputation.sol
+++ b/contracts/interfaces/IVotingReputation.sol
@@ -19,9 +19,9 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IColonyExtension } from "./../IColonyExtension.sol";
-import { VotingReputationDataTypes } from "./VotingReputationDataTypes.sol";
-import { ActionSummary } from "./../../common/GetActionSummary.sol";
+import { IColonyExtension } from "./IColonyExtension.sol";
+import { VotingReputationDataTypes } from "./../extensions/votingReputation/VotingReputationDataTypes.sol";
+import { ActionSummary } from "./../common/GetActionSummary.sol";
interface IVotingReputation is IColonyExtension, VotingReputationDataTypes {
/// @notice Initialise the extension
diff --git a/contracts/metaTxToken/DSAuthMeta.sol b/contracts/metaTxToken/DSAuthMeta.sol
index 9405eaab4e..b08d9d4642 100644
--- a/contracts/metaTxToken/DSAuthMeta.sol
+++ b/contracts/metaTxToken/DSAuthMeta.sol
@@ -15,7 +15,7 @@ import { ERC20Extended } from "./../common/ERC20Extended.sol";
import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
import { DSAuth, DSAuthEvents, DSAuthority } from "./../../lib/dappsys/auth.sol";
-import { IDSAuth } from "./../common/IDSAuth.sol";
+import { IDSAuth } from "./../interfaces/IDSAuth.sol";
pragma solidity 0.8.27;
diff --git a/contracts/patriciaTree/PatriciaTree.sol b/contracts/patriciaTree/PatriciaTree.sol
index 4843dec792..ccc568aad2 100644
--- a/contracts/patriciaTree/PatriciaTree.sol
+++ b/contracts/patriciaTree/PatriciaTree.sol
@@ -3,8 +3,8 @@ pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
import { PatriciaTreeBase } from "./PatriciaTreeBase.sol";
-import { IPatriciaTreeBase } from "./IPatriciaTreeBase.sol";
-import { IPatriciaTree } from "./IPatriciaTree.sol";
+import { IPatriciaTreeBase } from "./../interfaces/IPatriciaTreeBase.sol";
+import { IPatriciaTree } from "./../interfaces/IPatriciaTree.sol";
import { Data } from "./Data.sol";
import { Bits } from "./Bits.sol";
diff --git a/contracts/patriciaTree/PatriciaTreeNoHash.sol b/contracts/patriciaTree/PatriciaTreeNoHash.sol
index b0cea9b47b..9ea53841e6 100644
--- a/contracts/patriciaTree/PatriciaTreeNoHash.sol
+++ b/contracts/patriciaTree/PatriciaTreeNoHash.sol
@@ -3,8 +3,8 @@ pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
import { PatriciaTreeBase } from "./PatriciaTreeBase.sol";
-import { IPatriciaTreeBase } from "./IPatriciaTreeBase.sol";
-import { IPatriciaTreeNoHash } from "./IPatriciaTreeNoHash.sol";
+import { IPatriciaTreeBase } from "./../interfaces/IPatriciaTreeBase.sol";
+import { IPatriciaTreeNoHash } from "./../interfaces/IPatriciaTreeNoHash.sol";
import { Data } from "./Data.sol";
import { Bits } from "./Bits.sol";
diff --git a/contracts/reputationMiningCycle/ReputationMiningCycle.sol b/contracts/reputationMiningCycle/ReputationMiningCycle.sol
index dc5ba823d3..23ce4e7a83 100644
--- a/contracts/reputationMiningCycle/ReputationMiningCycle.sol
+++ b/contracts/reputationMiningCycle/ReputationMiningCycle.sol
@@ -20,9 +20,9 @@ pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
import { DSMath } from "./../../lib/dappsys/math.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { PatriciaTreeProofs } from "./../patriciaTree/PatriciaTreeProofs.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ReputationMiningCycleCommon } from "./ReputationMiningCycleCommon.sol";
contract ReputationMiningCycle is ReputationMiningCycleCommon {
diff --git a/contracts/reputationMiningCycle/ReputationMiningCycleBinarySearch.sol b/contracts/reputationMiningCycle/ReputationMiningCycleBinarySearch.sol
index 73db799cf4..0972f8e46e 100644
--- a/contracts/reputationMiningCycle/ReputationMiningCycleBinarySearch.sol
+++ b/contracts/reputationMiningCycle/ReputationMiningCycleBinarySearch.sol
@@ -20,9 +20,9 @@ pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
import { DSMath } from "../../lib/dappsys/math.sol";
-import { IColonyNetwork } from "../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "../interfaces/IColonyNetwork.sol";
import { PatriciaTreeProofs } from "../patriciaTree/PatriciaTreeProofs.sol";
-import { ITokenLocking } from "../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "../interfaces/ITokenLocking.sol";
import { ReputationMiningCycleStorage } from "./ReputationMiningCycleStorage.sol";
import { ReputationMiningCycleCommon } from "./ReputationMiningCycleCommon.sol";
diff --git a/contracts/reputationMiningCycle/ReputationMiningCycleCommon.sol b/contracts/reputationMiningCycle/ReputationMiningCycleCommon.sol
index b9e22dc93f..df8fbce7e0 100644
--- a/contracts/reputationMiningCycle/ReputationMiningCycleCommon.sol
+++ b/contracts/reputationMiningCycle/ReputationMiningCycleCommon.sol
@@ -21,8 +21,8 @@ pragma experimental "ABIEncoderV2";
import { DSMath } from "./../../lib/dappsys/math.sol";
import { PatriciaTreeProofs } from "./../patriciaTree/PatriciaTreeProofs.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ReputationMiningCycleStorage } from "./ReputationMiningCycleStorage.sol";
contract ReputationMiningCycleCommon is ReputationMiningCycleStorage, PatriciaTreeProofs, DSMath {
diff --git a/contracts/reputationMiningCycle/ReputationMiningCycleRespond.sol b/contracts/reputationMiningCycle/ReputationMiningCycleRespond.sol
index 5d170d62bb..4f866e68f7 100644
--- a/contracts/reputationMiningCycle/ReputationMiningCycleRespond.sol
+++ b/contracts/reputationMiningCycle/ReputationMiningCycleRespond.sol
@@ -19,9 +19,9 @@
pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { PatriciaTreeProofs } from "./../patriciaTree/PatriciaTreeProofs.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { Bits } from "./../patriciaTree/Bits.sol";
import { ReputationMiningCycleCommon } from "./ReputationMiningCycleCommon.sol";
diff --git a/contracts/testHelpers/FunctionsNotAvailableOnColony.sol b/contracts/testHelpers/FunctionsNotAvailableOnColony.sol
index 814c873fe4..06ade54e29 100644
--- a/contracts/testHelpers/FunctionsNotAvailableOnColony.sol
+++ b/contracts/testHelpers/FunctionsNotAvailableOnColony.sol
@@ -20,7 +20,7 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { Colony } from "./../colony/Colony.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
contract FunctionsNotAvailableOnColony is Colony {
function registerUserLabel(string memory username, string memory orbitdb) public {
diff --git a/contracts/testHelpers/GasGuzzler.sol b/contracts/testHelpers/GasGuzzler.sol
index 2b24e21cc2..ce4acc24e7 100644
--- a/contracts/testHelpers/GasGuzzler.sol
+++ b/contracts/testHelpers/GasGuzzler.sol
@@ -19,7 +19,7 @@
pragma solidity 0.8.27;
import { ColonyExtensionMeta } from "./../extensions/ColonyExtensionMeta.sol";
-import { IColony } from "../colony/IColony.sol";
+import { IColony } from "../interfaces/IColony.sol";
contract GasGuzzler is ColonyExtensionMeta {
uint256 storageVar;
diff --git a/contracts/testHelpers/NoLimitSubdomains.sol b/contracts/testHelpers/NoLimitSubdomains.sol
index 0b165a9863..1f4bdcf5d7 100644
--- a/contracts/testHelpers/NoLimitSubdomains.sol
+++ b/contracts/testHelpers/NoLimitSubdomains.sol
@@ -20,7 +20,7 @@ pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
import { ColonyStorage } from "./../colony/ColonyStorage.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
contract NoLimitSubdomains is ColonyStorage {
function addDomain(
diff --git a/contracts/testHelpers/VotingReputationMisaligned.sol b/contracts/testHelpers/VotingReputationMisaligned.sol
index 9e20afe10a..50231e3195 100644
--- a/contracts/testHelpers/VotingReputationMisaligned.sol
+++ b/contracts/testHelpers/VotingReputationMisaligned.sol
@@ -19,13 +19,14 @@
pragma solidity 0.8.27;
pragma experimental ABIEncoderV2;
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ColonyRoles } from "./../colony/ColonyRoles.sol";
-import { IBasicMetaTransaction, BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
+import { IBasicMetaTransaction } from "./../interfaces/IBasicMetaTransaction.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
-import { ITokenLocking } from "./../tokenLocking/ITokenLocking.sol";
+import { ITokenLocking } from "./../interfaces/ITokenLocking.sol";
import { ColonyExtension } from "./../extensions/ColonyExtension.sol";
-import { IColony } from "./../colony/IColony.sol";
+import { IColony } from "./../interfaces/IColony.sol";
import { CommonDataTypes } from "./../common/CommonDataTypes.sol";
contract VotingReputationMisaligned is ColonyExtension, BasicMetaTransaction {
// Events
diff --git a/contracts/tokenLocking/TokenLocking.sol b/contracts/tokenLocking/TokenLocking.sol
index 3868da8feb..7ca505d175 100644
--- a/contracts/tokenLocking/TokenLocking.sol
+++ b/contracts/tokenLocking/TokenLocking.sol
@@ -20,11 +20,11 @@ pragma solidity 0.8.27;
pragma experimental "ABIEncoderV2";
import { DSMath } from "./../../lib/dappsys/math.sol";
-import { IMetaColony } from "./../colony/IMetaColony.sol";
-import { IColonyNetwork } from "./../colonyNetwork/IColonyNetwork.sol";
+import { IMetaColony } from "./../interfaces/IMetaColony.sol";
+import { IColonyNetwork } from "./../interfaces/IColonyNetwork.sol";
import { ERC20Extended } from "./../common/ERC20Extended.sol";
import { BasicMetaTransaction } from "./../common/BasicMetaTransaction.sol";
-import { IReputationMiningCycle } from "./../reputationMiningCycle/IReputationMiningCycle.sol";
+import { IReputationMiningCycle } from "./../interfaces/IReputationMiningCycle.sol";
import { TokenLockingStorage } from "./../tokenLocking/TokenLockingStorage.sol";
contract TokenLocking is
diff --git a/helpers/upgradable-contracts.js b/helpers/upgradable-contracts.js
index d65c032ddb..ed083172b3 100644
--- a/helpers/upgradable-contracts.js
+++ b/helpers/upgradable-contracts.js
@@ -57,7 +57,8 @@ exports.setupEtherRouter = async function setupEtherRouter(contractDir, interfac
const functionsToResolve = {};
// Load ABI of the interface of the contract we're trying to stich together
- const iAbi = readArtifact(contractDir, interfaceName).abi;
+ const interfaceDir = interfaceName[0] === "I" ? "interfaces" : contractDir;
+ const iAbi = readArtifact(interfaceDir, interfaceName).abi;
iAbi.map((value) => {
const fName = value.name;
const fType = value.type;
diff --git a/package.json b/package.json
index be472d0ebc..c20872a34b 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"check:versioning": "bash ./scripts/versioningCheck.sh",
"check:coverage": "istanbul-combine -d coverage-merged -p detail -r html -r json coverage-*/coverage-final.json && istanbul check-coverage ./coverage-merged/coverage-final.json --statements 99 --branches 94 --functions 99 --lines 99",
"version:contracts": "bash ./scripts/version-contracts.sh",
- "flatten:contracts": "mkdir -p ./build/flattened/ && steamroller contracts/colonyNetwork/IColonyNetwork.sol > build/flattened/flatIColonyNetwork.sol && steamroller contracts/colony/IColony.sol > build/flattened/flatIColony.sol && steamroller contracts/reputationMiningCycle/IReputationMiningCycle.sol > build/flattened/flatIReputationMiningCycle.sol && steamroller contracts/colony/IMetaColony.sol > build/flattened/flatIMetaColony.sol && steamroller contracts/common/IRecovery.sol > build/flattened/flatIRecovery.sol && steamroller contracts/common/IEtherRouter.sol > build/flattened/flatIEtherRouter.sol",
+ "flatten:contracts": "mkdir -p ./build/flattened/ && steamroller contracts/interfaces/IColonyNetwork.sol > build/flattened/flatIColonyNetwork.sol && steamroller contracts/interfaces/IColony.sol > build/flattened/flatIColony.sol && steamroller contracts/interfaces/IReputationMiningCycle.sol > build/flattened/flatIReputationMiningCycle.sol && steamroller contracts/interfaces/IMetaColony.sol > build/flattened/flatIMetaColony.sol && steamroller contracts/interfaces/IRecovery.sol > build/flattened/flatIRecovery.sol && steamroller contracts/interfaces/IEtherRouter.sol > build/flattened/flatIEtherRouter.sol",
"normalize:storageSlots": "./scripts/normalize-storage-slots.js",
"generate:test:contracts": "bash ./scripts/generate-test-contracts.sh",
"clean:test:contracts": "rimraf ./contracts/*Updated*.*",
diff --git a/scripts/check-auth.js b/scripts/check-auth.js
index c7941e63f1..ff43938dec 100755
--- a/scripts/check-auth.js
+++ b/scripts/check-auth.js
@@ -70,22 +70,26 @@ walkSync("./contracts/").forEach((contractName) => {
// Basically only Colony.sol, ColonyFunding.sol, ColonyExpenditure.sol (?)
if (
[
+ "contracts/interfaces/IColony.sol",
+ "contracts/interfaces/IMetaColony.sol",
+ "contracts/interfaces/IColonyNetwork.sol",
+ "contracts/interfaces/IRecovery.sol",
+ "contracts/interfaces/IPatriciaTree.sol",
+ "contracts/interfaces/IPatriciaTreeNoHash.sol",
+ "contracts/interfaces/IReputationMiningCycle.sol",
+ "contracts/interfaces/ITokenLocking.sol",
"contracts/colony/ColonyAuthority.sol",
"contracts/colony/ColonyStorage.sol",
- "contracts/colony/IColony.sol",
- "contracts/colony/IMetaColony.sol",
"contracts/colonyNetwork/ColonyNetwork.sol",
"contracts/colonyNetwork/ColonyNetworkAuction.sol",
"contracts/colonyNetwork/ColonyNetworkAuthority.sol",
"contracts/colonyNetwork/ColonyNetworkENS.sol",
"contracts/colonyNetwork/ColonyNetworkMining.sol",
"contracts/colonyNetwork/ColonyNetworkStorage.sol",
- "contracts/colonyNetwork/IColonyNetwork.sol",
"contracts/common/CommonAuthority.sol",
"contracts/common/ERC20Extended.sol",
"contracts/common/EtherRouter.sol",
"contracts/common/EtherRouterCreate3.sol",
- "contracts/common/IRecovery.sol",
"contracts/common/Resolver.sol",
"contracts/common/TokenAuthority.sol", // Imported from colonyToken repo
"contracts/ens/ENS.sol",
@@ -93,20 +97,16 @@ walkSync("./contracts/").forEach((contractName) => {
"contracts/gnosis/MultiSigWallet.sol",
"contracts/patriciaTree/Bits.sol",
"contracts/patriciaTree/Data.sol",
- "contracts/patriciaTree/IPatriciaTree.sol",
- "contracts/patriciaTree/IPatriciaTreeNoHash.sol",
"contracts/patriciaTree/PatriciaTree.sol",
"contracts/patriciaTree/PatriciaTreeNoHash.sol",
"contracts/patriciaTree/PatriciaTreeBase.sol",
"contracts/patriciaTree/PatriciaTreeProofs.sol",
- "contracts/reputationMiningCycle/IReputationMiningCycle.sol",
"contracts/reputationMiningCycle/ReputationMiningCycle.sol",
"contracts/reputationMiningCycle/ReputationMiningCycleRespond.sol",
"contracts/testHelpers/ContractEditing.sol",
"contracts/testHelpers/TasksPayments.sol",
"contracts/testHelpers/ToggleableToken.sol",
"contracts/testHelpers/ERC20Like.sol",
- "contracts/tokenLocking/ITokenLocking.sol",
"contracts/tokenLocking/TokenLocking.sol",
"contracts/tokenLocking/TokenLockingStorage.sol",
"contracts/Migrations.sol",
diff --git a/scripts/check-recovery.js b/scripts/check-recovery.js
index 6ef94c8ff8..8add535c6e 100755
--- a/scripts/check-recovery.js
+++ b/scripts/check-recovery.js
@@ -25,32 +25,37 @@ walkSync("./contracts/").forEach((contractName) => {
// ColonyNetwork, ColonyNetworkAuction, ColonyNetworkENS, ColonyNetworkMining
if (
[
- "contracts/bridging/IColonyBridge.sol",
+ "contracts/interfaces/IColonyBridge.sol",
+ "contracts/interfaces/IColony.sol",
+ "contracts/interfaces/IMetaColony.sol",
+ "contracts/interfaces/IColonyNetwork.sol",
+ "contracts/interfaces/IBasicMetaTransaction.sol",
+ "contracts/interfaces/IDSAuth.sol",
+ "contracts/interfaces/IEtherRouter.sol",
+ "contracts/interfaces/IMulticall.sol",
+ "contracts/interfaces/IRecovery.sol",
+ "contracts/interfaces/IColonyExtension.sol",
+ "contracts/interfaces/votingReputation/IVotingReputation.sol",
+ "contracts/interfaces/IPatriciaTree.sol",
+ "contracts/interfaces/IPatriciaTreeNoHash.sol",
+ "contracts/interfaces/IReputationMiningCycle.sol",
+ "contracts/interfaces/ITokenLocking.sol",
"contracts/bridging/WormholeBridgeForColony.sol",
"contracts/colony/ColonyAuthority.sol",
"contracts/colony/ColonyStorage.sol",
- "contracts/colony/IColony.sol",
- "contracts/colony/IMetaColony.sol",
"contracts/colonyNetwork/ColonyNetworkAuthority.sol",
"contracts/colonyNetwork/ColonyNetworkStorage.sol",
- "contracts/colonyNetwork/IColonyNetwork.sol",
"contracts/common/BasicMetaTransaction.sol",
- "contracts/common/IBasicMetaTransaction.sol",
"contracts/common/CommonAuthority.sol",
"contracts/common/DomainRoles.sol",
"contracts/common/ERC20Extended.sol",
"contracts/common/EtherRouter.sol",
"contracts/common/EtherRouterCreate3.sol",
- "contracts/common/IDSAuth.sol",
- "contracts/common/IEtherRouter.sol",
- "contracts/common/IMulticall.sol",
- "contracts/common/IRecovery.sol",
"contracts/common/Multicall.sol",
"contracts/common/Resolver.sol",
"contracts/common/TokenAuthority.sol", // Imported from colonyToken repo
"contracts/ens/ENS.sol",
"contracts/ens/ENSRegistry.sol",
- "contracts/extensions/IColonyExtension.sol",
"contracts/extensions/CoinMachine.sol",
"contracts/extensions/ColonyExtension.sol",
"contracts/extensions/ColonyExtensionMeta.sol",
@@ -67,18 +72,14 @@ walkSync("./contracts/").forEach((contractName) => {
"contracts/extensions/votingReputation/VotingReputationStaking.sol",
"contracts/extensions/votingReputation/VotingReputationStorage.sol",
"contracts/extensions/votingReputation/VotingReputationMisalignedRecovery.sol",
- "contracts/extensions/votingReputation/IVotingReputation.sol",
"contracts/extensions/Whitelist.sol",
"contracts/gnosis/MultiSigWallet.sol",
"contracts/patriciaTree/Bits.sol",
"contracts/patriciaTree/Data.sol",
- "contracts/patriciaTree/IPatriciaTree.sol",
- "contracts/patriciaTree/IPatriciaTreeNoHash.sol",
"contracts/patriciaTree/PatriciaTree.sol",
"contracts/patriciaTree/PatriciaTreeNoHash.sol",
"contracts/patriciaTree/PatriciaTreeBase.sol",
"contracts/patriciaTree/PatriciaTreeProofs.sol",
- "contracts/reputationMiningCycle/IReputationMiningCycle.sol",
"contracts/reputationMiningCycle/ReputationMiningCycle.sol",
"contracts/reputationMiningCycle/ReputationMiningCycleBinarySearch.sol",
"contracts/reputationMiningCycle/ReputationMiningCycleCommon.sol",
@@ -104,7 +105,6 @@ walkSync("./contracts/").forEach((contractName) => {
"contracts/testHelpers/VotingReputationMisaligned.sol",
"contracts/testHelpers/WormholeMock.sol",
"contracts/testHelpers/ZodiacBridgeModuleMock.sol",
- "contracts/tokenLocking/ITokenLocking.sol",
"contracts/tokenLocking/TokenLocking.sol",
"contracts/tokenLocking/TokenLockingStorage.sol",
"contracts/Migrations.sol",
diff --git a/scripts/docgen.js b/scripts/docgen.js
index 65dd2814fa..e94262f650 100755
--- a/scripts/docgen.js
+++ b/scripts/docgen.js
@@ -8,60 +8,52 @@ const ethers = require("ethers");
const INTERFACES = [
{
- contractFile: path.resolve(__dirname, "..", "contracts", "colony", "IColony.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IColony.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "icolony.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "icolony.md"),
- artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "colony", "IColony.sol", "IColony.json"),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IColony.sol", "IColony.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "colonyNetwork", "IColonyNetwork.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IColonyNetwork.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "icolonynetwork.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "icolonynetwork.md"),
- artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "colonyNetwork", "IColonyNetwork.sol", "IColonyNetwork.json"),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IColonyNetwork.sol", "IColonyNetwork.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "common", "IEtherRouter.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IEtherRouter.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "ietherrouter.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "ietherrouter.md"),
- artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "common", "IEtherRouter.sol", "IEtherRouter.json"),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IEtherRouter.sol", "IEtherRouter.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "colony", "IMetaColony.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IMetaColony.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "imetacolony.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "imetacolony.md"),
- artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "colony", "IMetaColony.sol", "IMetaColony.json"),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IMetaColony.sol", "IMetaColony.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "common", "IRecovery.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IRecovery.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "irecovery.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "irecovery.md"),
- artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "common", "IRecovery.sol", "IRecovery.json"),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IRecovery.sol", "IRecovery.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "reputationMiningCycle", "IReputationMiningCycle.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IReputationMiningCycle.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "ireputationminingcycle.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "ireputationminingcycle.md"),
- artifactFile: path.resolve(
- __dirname,
- "..",
- "artifacts",
- "contracts",
- "reputationMiningCycle",
- "IReputationMiningCycle.sol",
- "IReputationMiningCycle.json",
- ),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IReputationMiningCycle.sol", "IReputationMiningCycle.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "tokenLocking", "ITokenLocking.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "ITokenLocking.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "itokenlocking.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "itokenlocking.md"),
- artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "tokenLocking", "ITokenLocking.sol", "ITokenLocking.json"),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "ITokenLocking.sol", "ITokenLocking.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "extensions", "IColonyExtension.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IColonyExtension.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "icolonyextension.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "extensions", "icolonyextension.md"),
- artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "extensions", "IColonyExtension.sol", "IColonyExtension.json"),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IColonyExtension.sol", "IColonyExtension.json"),
},
{
contractFile: path.resolve(__dirname, "..", "contracts", "extensions", "CoinMachine.sol"),
@@ -106,19 +98,10 @@ const INTERFACES = [
artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "extensions", "TokenSupplier.sol", "TokenSupplier.json"),
},
{
- contractFile: path.resolve(__dirname, "..", "contracts", "extensions", "votingReputation", "IVotingReputation.sol"),
+ contractFile: path.resolve(__dirname, "..", "contracts", "interfaces", "IVotingReputation.sol"),
templateFile: path.resolve(__dirname, "..", "docs", ".templates", "votingreputation.md"),
outputFile: path.resolve(__dirname, "..", "docs", "interfaces", "extensions", "votingreputation.md"),
- artifactFile: path.resolve(
- __dirname,
- "..",
- "artifacts",
- "contracts",
- "extensions",
- "votingReputation",
- "IVotingReputation.sol",
- "IVotingReputation.json",
- ),
+ artifactFile: path.resolve(__dirname, "..", "artifacts", "contracts", "interfaces", "IVotingReputation.sol", "IVotingReputation.json"),
},
{
contractFile: path.resolve(__dirname, "..", "contracts", "extensions", "Whitelist.sol"),
diff --git a/scripts/generate-test-contracts.sh b/scripts/generate-test-contracts.sh
index 3d9b23661c..f884dd69f4 100644
--- a/scripts/generate-test-contracts.sh
+++ b/scripts/generate-test-contracts.sh
@@ -11,10 +11,10 @@ sed -i.bak "s/function stringToSig/function isUpdated() public pure returns(bool
cp ./contracts/colony/Colony.sol ./contracts/colony/UpdatedColony.sol
cp ./contracts/colony/ColonyDataTypes.sol ./contracts/colony/UpdatedColonyDataTypes.sol
cp ./contracts/colony/ColonyStorage.sol ./contracts/colony/UpdatedColonyStorage.sol
-cp ./contracts/colony/IColony.sol ./contracts/colony/IUpdatedColony.sol
+cp ./contracts/interfaces/IColony.sol ./contracts/interfaces/IUpdatedColony.sol
cp ./contracts/colonyNetwork/ColonyNetwork.sol ./contracts/colonyNetwork/UpdatedColonyNetwork.sol
cp ./contracts/reputationMiningCycle/ReputationMiningCycle.sol ./contracts/reputationMiningCycle/UpdatedReputationMiningCycle.sol
-cp ./contracts/reputationMiningCycle/IReputationMiningCycle.sol ./contracts/reputationMiningCycle/IUpdatedReputationMiningCycle.sol
+cp ./contracts/interfaces/IReputationMiningCycle.sol ./contracts/interfaces/IUpdatedReputationMiningCycle.sol
# Modify UpdatedColonyNetwork contract
sed -i.bak "s/contract ColonyNetwork/contract UpdatedColonyNetwork/g" ./contracts/colonyNetwork/UpdatedColonyNetwork.sol
sed -i.bak "s/address resolver;/address resolver;function isUpdated() public pure returns(bool) {return true;}/g" ./contracts/colonyNetwork/UpdatedColonyNetwork.sol
@@ -30,12 +30,12 @@ sed -i.bak "s/mapping (uint8 => mapping (address => uint256)) payouts;/mapping (
sed -i.bak "s/ColonyStorage/UpdatedColonyStorage/g" ./contracts/colony/UpdatedColonyStorage.sol
sed -i.bak "s/ColonyDataTypes/UpdatedColonyDataTypes/g" ./contracts/colony/UpdatedColonyStorage.sol
# Modify IUpdatedColony contract
-sed -i.bak "s/interface IColony/interface IUpdatedColony/g" ./contracts/colony/IUpdatedColony.sol
-sed -i.bak "s/ColonyDataTypes/UpdatedColonyDataTypes/g" ./contracts/colony/IUpdatedColony.sol
-sed -i.bak "s/interface IUpdatedColony is\(.*\){/interface IUpdatedColony is\1{function isUpdated() external pure returns(bool);/g" ./contracts/colony/IUpdatedColony.sol
+sed -i.bak "s/interface IColony/interface IUpdatedColony/g" ./contracts/interfaces/IUpdatedColony.sol
+sed -i.bak "s/ColonyDataTypes/UpdatedColonyDataTypes/g" ./contracts/interfaces/IUpdatedColony.sol
+sed -i.bak "s/interface IUpdatedColony is\(.*\){/interface IUpdatedColony is\1{function isUpdated() external pure returns(bool);/g" ./contracts/interfaces/IUpdatedColony.sol
# Modify UpdatedReputationMiningCycle contract
sed -i.bak "s/contract ReputationMiningCycle/contract UpdatedReputationMiningCycle/g" ./contracts/reputationMiningCycle/UpdatedReputationMiningCycle.sol
sed -i.bak "s| is ReputationMiningCycleCommon {| is ReputationMiningCycleCommon {\nfunction isUpdated() public pure returns(bool) {return true;}|g" ./contracts/reputationMiningCycle/UpdatedReputationMiningCycle.sol
# Modify IReputationMiningCycle contract
-sed -i.bak "s/interface IReputationMiningCycle/interface IUpdatedReputationMiningCycle/g" ./contracts/reputationMiningCycle/IUpdatedReputationMiningCycle.sol
-sed -i.bak "s/function resetWindow() public;/function resetWindow() public; function isUpdated() public pure returns(bool);/g" ./contracts/reputationMiningCycle/IUpdatedReputationMiningCycle.sol
\ No newline at end of file
+sed -i.bak "s/interface IReputationMiningCycle/interface IUpdatedReputationMiningCycle/g" ./contracts/interfaces/IUpdatedReputationMiningCycle.sol
+sed -i.bak "s/function resetWindow() public;/function resetWindow() public; function isUpdated() public pure returns(bool);/g" ./contracts/interfaces/IUpdatedReputationMiningCycle.sol