Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
# IS_VERIFICATION_API_V2: ${{ vars.IS_VERIFICATION_API_V2 }}
run: npm run deploy -- --network ${{ inputs.network }}

- name: Update config.json with ERC1538Proxy address
- name: Update config.json with Diamond address
if: inputs.network != 'hardhat'
env:
DEPLOYER_PRIVATE_KEY: ${{ secrets.DEPLOYER_PRIVATE_KEY }} # Fixes hardhat issue.
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changelog

## vNEXT

- Support Arbitrum One (#248)
- Save IexecLibOrders_v5 in config file (#242)
- Migrate proxy to Diamond pattern (ERC-2535):
- Use lib as storage. (#243)
Expand Down
21 changes: 21 additions & 0 deletions config/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,27 @@
"salt": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
},
"42161": {
"_comment": "Arbitrum One Mainnet",
"asset": "Token",
"token": "0xe649e6a1F2afc63ca268C2363691ceCAF75CF47C",
"richman": "",
"owner": "0x111165e3c379e4f8285df34d7137b433c30afa66",
"uniswap": false,
"v3": {
"Hub": null,
"AppRegistry": null,
"DatasetRegistry": null,
"WorkerpoolRegistry": null
},
"v5": {
"factory": "0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed",
"factoryType": "createx",
"DiamondProxy": "",
"salt": "0x0000000000000000000000000000000000000000000000000000000000000000",
"IexecLibOrders_v5": ""
}
},
"421614": {
"_comment": "Arbitrum Sepolia Testnet",
"asset": "Token",
Expand Down
4 changes: 2 additions & 2 deletions contracts/facets/IexecPoco1Facet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {FacetBase} from "./FacetBase.v8.sol";
import {PocoStorageLib} from "../libs/PocoStorageLib.v8.sol";
import {IexecPoco1} from "../interfaces/IexecPoco1.v8.sol";
import {IexecEscrow} from "./IexecEscrow.v8.sol";
import {IexecPocoCommonFacet} from "./IexecPocoCommonFacet.sol";
import {IexecPocoCommon} from "./IexecPocoCommon.sol";
import {SignatureVerifier} from "./SignatureVerifier.v8.sol";

struct Matching {
Expand All @@ -31,7 +31,7 @@ contract IexecPoco1Facet is
FacetBase,
IexecEscrow,
SignatureVerifier,
IexecPocoCommonFacet
IexecPocoCommon
{
using Math for uint256;
using IexecLibOrders_v5 for IexecLibOrders_v5.AppOrder;
Expand Down
4 changes: 2 additions & 2 deletions contracts/facets/IexecPocoAccessorsFacet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {FacetBase} from "./FacetBase.v8.sol";
import {IexecLibCore_v5} from "../libs/IexecLibCore_v5.sol";
import {IexecLibOrders_v5} from "../libs/IexecLibOrders_v5.sol";
import {IexecPocoAccessors} from "../interfaces/IexecPocoAccessors.sol";
import {IexecPocoCommonFacet} from "./IexecPocoCommonFacet.sol";
import {IexecPocoCommon} from "./IexecPocoCommon.sol";
import {SignatureVerifier} from "./SignatureVerifier.v8.sol";

/**
Expand All @@ -18,7 +18,7 @@ contract IexecPocoAccessorsFacet is
IexecPocoAccessors,
FacetBase,
SignatureVerifier,
IexecPocoCommonFacet
IexecPocoCommon
{
using IexecLibOrders_v5 for IexecLibOrders_v5.AppOrder;
using IexecLibOrders_v5 for IexecLibOrders_v5.DatasetOrder;
Expand Down
4 changes: 2 additions & 2 deletions contracts/facets/IexecPocoBoostFacet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {IWorkerpool} from "../registries/workerpools/IWorkerpool.v8.sol";
import {FacetBase} from "./FacetBase.v8.sol";
import {IexecPocoBoost} from "../interfaces/IexecPocoBoost.sol";
import {IexecEscrow} from "./IexecEscrow.v8.sol";
import {IexecPocoCommonFacet} from "./IexecPocoCommonFacet.sol";
import {IexecPocoCommon} from "./IexecPocoCommon.sol";
import {SignatureVerifier} from "./SignatureVerifier.v8.sol";
import {PocoStorageLib} from "../libs/PocoStorageLib.v8.sol";

Expand All @@ -29,7 +29,7 @@ contract IexecPocoBoostFacet is
FacetBase,
IexecEscrow,
SignatureVerifier,
IexecPocoCommonFacet
IexecPocoCommon
{
using ECDSA for bytes32;
using MessageHashUtils for bytes32;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {PocoStorageLib} from "../libs/PocoStorageLib.v8.sol";
import {IexecLibOrders_v5} from "../libs/IexecLibOrders_v5.sol";
import {FacetBase} from "./FacetBase.v8.sol";

contract IexecPocoCommonFacet is FacetBase {
contract IexecPocoCommon is FacetBase {
using Math for uint256;
using IexecLibOrders_v5 for IexecLibOrders_v5.AppOrder;
using IexecLibOrders_v5 for IexecLibOrders_v5.DatasetOrder;
Expand Down
18 changes: 12 additions & 6 deletions deploy/0_deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,21 +90,27 @@ export default async function deploy() {
const iexecLibOrders = {
['contracts/libs/IexecLibOrders_v5.sol:IexecLibOrders_v5']: iexecLibOrdersAddress,
};
const isArbitrumMainnet = (await ethers.provider.getNetwork()).chainId === 42161n;
const facets = [
new IexecAccessorsFacet__factory(),
new IexecAccessorsABILegacyFacet__factory(),
new IexecAccessorsFacet__factory(),
new IexecCategoryManagerFacet__factory(),
new IexecConfigurationExtraFacet__factory(),
new IexecConfigurationFacet__factory(iexecLibOrders),
new IexecERC20Facet__factory(),
isTokenMode ? new IexecEscrowTokenFacet__factory() : new IexecEscrowNativeFacet__factory(),
new IexecConfigurationFacet__factory(iexecLibOrders),
// new IexecEscrowTokenSwapFacet__factory(), not deployed.
new IexecOrderManagementFacet__factory(iexecLibOrders),
new IexecPoco1Facet__factory(iexecLibOrders),
new IexecPoco2Facet__factory(),
new IexecRelayFacet__factory(),
new IexecConfigurationExtraFacet__factory(),
new IexecPocoAccessorsFacet__factory(iexecLibOrders),
new IexecPocoBoostFacet__factory(iexecLibOrders),
new IexecPocoBoostAccessorsFacet__factory(),
...(!isArbitrumMainnet
? [
new IexecPocoBoostFacet__factory(iexecLibOrders), // not deployed on Arbitrum mainnet
new IexecPocoBoostAccessorsFacet__factory(), // not deployed on Arbitrum mainnet
]
: []),
new IexecRelayFacet__factory(),
];
for (const facet of facets) {
const address = await factoryDeployer.deployContract(facet);
Expand Down
18 changes: 18 additions & 0 deletions hardhat.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ const arbitrumSepoliaBaseConfig = {
chainId: 421614,
};

// Arbitrum specific configuration
const arbitrumBaseConfig = {
blockGasLimit: 30_000_000,
chainId: 42161,
};

const settings = {
optimizer: {
enabled: true,
Expand Down Expand Up @@ -164,6 +170,17 @@ const config: HardhatUserConfig = {
],
...fujiBaseConfig,
},
arbitrum: {
url:
process.env.ARBITRUM_RPC_URL || // Used in local development
process.env.RPC_URL || // Defined in Github Actions environments
'https://arbitrum.gateway.tenderly.co',
accounts: [
process.env.DEPLOYER_PRIVATE_KEY ||
'0x0000000000000000000000000000000000000000000000000000000000000000',
],
...arbitrumBaseConfig,
},
arbitrumSepolia: {
url:
process.env.ARBITRUM_SEPOLIA_RPC_URL || // Used in local development
Expand Down Expand Up @@ -194,6 +211,7 @@ const config: HardhatUserConfig = {
etherscan: {
// TODO migrate to Etherscan V2 API and use process.env.EXPLORER_API_KEY
apiKey: {
arbitrum: process.env.ARBISCAN_API_KEY || '',
avalancheFujiTestnet: 'nothing', // a non-empty string is needed by the plugin.
arbitrumSepolia: process.env.ARBISCAN_API_KEY || '',
bellecour: 'nothing', // a non-empty string is needed by the plugin.
Expand Down