Skip to content
Merged
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
41 changes: 21 additions & 20 deletions src/itest/java/com/iexec/blockchain/IntegrationTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@
import com.iexec.common.sdk.broker.BrokerOrder;
import com.iexec.commons.poco.chain.*;
import com.iexec.commons.poco.eip712.EIP712Domain;
import com.iexec.commons.poco.eip712.entity.EIP712AppOrder;
import com.iexec.commons.poco.eip712.entity.EIP712DatasetOrder;
import com.iexec.commons.poco.eip712.entity.EIP712RequestOrder;
import com.iexec.commons.poco.eip712.entity.EIP712WorkerpoolOrder;
import com.iexec.commons.poco.order.AppOrder;
import com.iexec.commons.poco.order.DatasetOrder;
import com.iexec.commons.poco.order.RequestOrder;
Expand Down Expand Up @@ -74,6 +70,7 @@

import static com.iexec.commons.poco.chain.ChainTaskStatus.ACTIVE;
import static com.iexec.commons.poco.chain.ChainTaskStatus.UNSET;
import static com.iexec.commons.poco.chain.Web3jAbstractService.toEthereumAddress;
import static com.iexec.commons.poco.encoding.AssetDataEncoder.*;
import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await;
Expand All @@ -89,9 +86,10 @@ class IntegrationTests {
private static final String MONGO_SVC_NAME = "ibaa-blockchain-adapter-mongo";
private static final int MONGO_SVC_PORT = 27017;

private static final String APP_REGISTRY_ADDRESS = "0xd5Fe43e3cDD29812949dc9b368345537D7B73001";
private static final String DATASET_REGISTRY_ADDRESS = "0xf3bd0602fA481230271c5396f146e5695D3750A6";
private static final String WORKERPOOL_REGISTRY_ADDRESS = "0x6Cb57fA761812c34645C945cA89AAe3602D42eD3";
private static final String IEXEC_HUB_ADDRESS = "0xeB196D71Bf359bfDB7Ee54429236A09DBF3966B3";
private static final String APP_REGISTRY_SELECTOR = "0x45b637a9";
private static final String DATASET_REGISTRY_SELECTOR = "0xb1b11d2c";
private static final String WORKERPOOL_REGISTRY_SELECTOR = "0x90a0f546";

public static final String USER = "admin";
public static final String PASSWORD = "whatever";
Expand All @@ -110,7 +108,7 @@ class IntegrationTests {
@DynamicPropertySource
static void registerProperties(DynamicPropertyRegistry registry) {
registry.add("chain.id", () -> "65535");
registry.add("chain.hubAddress", () -> "0xc4b11f41746D3Ad8504da5B383E1aB9aa969AbC7");
registry.add("chain.hubAddress", () -> IEXEC_HUB_ADDRESS);
registry.add("chain.nodeAddress", () -> getServiceUrl(
environment.getServiceHost(CHAIN_SVC_NAME, CHAIN_SVC_PORT),
environment.getServicePort(CHAIN_SVC_NAME, CHAIN_SVC_PORT)));
Expand All @@ -128,17 +126,24 @@ static void registerProperties(DynamicPropertyRegistry registry) {
private final EIP712Domain domain;
private BlockchainAdapterApiClient appClient;

private final String appRegistryAddress;
private final String datasetRegistryAddress;
private final String workerpoolRegistryAddress;

@Autowired
IntegrationTests(final IexecHubService iexecHubService,
final Web3jService web3jService,
final SignerService signerService,
final BrokerService brokerService,
final ChainConfig chainConfig) {
final ChainConfig chainConfig) throws IOException {
this.iexecHubService = iexecHubService;
this.web3jService = web3jService;
this.signerService = signerService;
this.brokerService = brokerService;
this.domain = new EIP712Domain(chainConfig.getId(), chainConfig.getHubAddress());
this.appRegistryAddress = toEthereumAddress(signerService.sendCall(IEXEC_HUB_ADDRESS, APP_REGISTRY_SELECTOR));
this.datasetRegistryAddress = toEthereumAddress(signerService.sendCall(IEXEC_HUB_ADDRESS, DATASET_REGISTRY_SELECTOR));
this.workerpoolRegistryAddress = toEthereumAddress(signerService.sendCall(IEXEC_HUB_ADDRESS, WORKERPOOL_REGISTRY_SELECTOR));
}

@BeforeEach
Expand Down Expand Up @@ -232,21 +237,21 @@ private String triggerDeal(int taskVolume) throws IOException {
Numeric.toHexStringNoPrefix(new byte[32]),
"");
final String appTxHash = signerService.signAndSendTransaction(
nonce, BigInteger.ZERO, APP_REGISTRY_ADDRESS, appTxData);
nonce, BigInteger.ZERO, appRegistryAddress, appTxData);
nonce = nonce.add(BigInteger.ONE);
final String workerpoolTxData = encodeWorkerpool(
signerService.getAddress(),
buildRandomName("pool"));
final String workerpoolTxHash = signerService.signAndSendTransaction(
nonce, BigInteger.ZERO, WORKERPOOL_REGISTRY_ADDRESS, workerpoolTxData);
nonce, BigInteger.ZERO, workerpoolRegistryAddress, workerpoolTxData);
nonce = nonce.add(BigInteger.ONE);
final String datasetTxData = encodeDataset(
signerService.getAddress(),
buildRandomName("data"),
"https://abc.com/def.jpeg",
Numeric.toHexStringNoPrefix(new byte[32]));
final String datasetTxHash = signerService.signAndSendTransaction(
nonce, BigInteger.ZERO, DATASET_REGISTRY_ADDRESS, datasetTxData);
nonce, BigInteger.ZERO, datasetRegistryAddress, datasetTxData);

// Wait for a max of 2 blocks for Transactions to be mined
await().atMost(10, TimeUnit.SECONDS)
Expand Down Expand Up @@ -309,8 +314,7 @@ private AppOrder buildAppOrder(String appAddress, int volume) {
.requesterrestrict(BytesUtils.EMPTY_ADDRESS)
.salt(Hash.sha3String(RandomStringUtils.randomAlphanumeric(20)))
.build();
final String sig = signerService.signEIP712Entity(new EIP712AppOrder(domain, appOrder));
return appOrder.withSignature(sig);
return (AppOrder) signerService.signOrderForDomain(appOrder, domain);
}

private WorkerpoolOrder buildWorkerpoolOrder(String workerpoolAddress, int volume) {
Expand All @@ -326,8 +330,7 @@ private WorkerpoolOrder buildWorkerpoolOrder(String workerpoolAddress, int volum
.datasetrestrict(BytesUtils.EMPTY_ADDRESS)
.salt(Hash.sha3String(RandomStringUtils.randomAlphanumeric(20)))
.build();
final String sig = signerService.signEIP712Entity(new EIP712WorkerpoolOrder(domain, workerpoolOrder));
return workerpoolOrder.withSignature(sig);
return (WorkerpoolOrder) signerService.signOrderForDomain(workerpoolOrder, domain);
}

private DatasetOrder buildDatasetOrder(String datasetAddress, int volume) {
Expand All @@ -341,8 +344,7 @@ private DatasetOrder buildDatasetOrder(String datasetAddress, int volume) {
.requesterrestrict(BytesUtils.EMPTY_ADDRESS)
.salt(Hash.sha3String(RandomStringUtils.randomAlphanumeric(20)))
.build();
final String sig = signerService.signEIP712Entity(new EIP712DatasetOrder(domain, datasetOrder));
return datasetOrder.withSignature(sig);
return (DatasetOrder) signerService.signOrderForDomain(datasetOrder, domain);
}

private RequestOrder buildRequestOrder(
Expand Down Expand Up @@ -376,8 +378,7 @@ private RequestOrder buildRequestOrder(
.params(dealParams.toJsonString())
.salt(Hash.sha3String(RandomStringUtils.randomAlphanumeric(20)))
.build();
final String sig = signerService.signEIP712Entity(new EIP712RequestOrder(domain, requestOrder));
return requestOrder.withSignature(sig);
return (RequestOrder) signerService.signOrderForDomain(requestOrder, domain);
}

private void waitStatus(String chainTaskId, ChainTaskStatus statusToWait, int maxAttempts) {
Expand Down