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
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ jobs:
- name: Install dependencies
run: npm ci
- name: Check code formatting
run: npm run check-format
run: npm run format:check
- name: Check documentation is up-to-date
run: npm run check-doc
run: npm run doc:check
- name: Build
run: npm run build
- name: Check storage layout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

pragma solidity ^0.8.0;
import {PocoStorageLib} from "../libs/PocoStorageLib.sol";
import {FacetBase} from "../abstract/FacetBase.sol";
import {FacetBase} from "./FacetBase.sol";

/**
* @title Manage (lock/unlock/reward/seize) user funds.
*/
contract IexecEscrow is FacetBase {
abstract contract IexecEscrow is FacetBase {
event Transfer(address indexed from, address indexed to, uint256 value);
event Lock(address owner, uint256 amount);
event Unlock(address owner, uint256 amount);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ pragma solidity ^0.8.0;
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
import {PocoStorageLib} from "../libs/PocoStorageLib.sol";
import {IexecLibOrders_v5} from "../libs/IexecLibOrders_v5.sol";
import {FacetBase} from "../abstract/FacetBase.sol";
import {FacetBase} from "./FacetBase.sol";

contract IexecPocoCommon is FacetBase {
abstract contract IexecPocoCommon is FacetBase {
using Math for uint256;
using IexecLibOrders_v5 for IexecLibOrders_v5.AppOrder;
using IexecLibOrders_v5 for IexecLibOrders_v5.DatasetOrder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ pragma solidity ^0.8.0;
import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";
import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
import {MessageHashUtils} from "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol";
import {FacetBase} from "../abstract/FacetBase.sol";
import {FacetBase} from "./FacetBase.sol";
import {IERC734} from "../external/interfaces/IERC734.sol";
import {PocoStorageLib} from "../libs/PocoStorageLib.sol";

contract SignatureVerifier is FacetBase {
abstract contract SignatureVerifier is FacetBase {
using ECDSA for bytes32;

/**
Expand Down
5 changes: 3 additions & 2 deletions contracts/facets/IexecEscrowTokenFacet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,11 @@ contract IexecEscrowTokenFacet is IexecEscrowToken, IexecTokenSpender, IexecERC2
IexecLibOrders_v5.RequestOrder
)
);

// Validate that sender is the requester
// This ensures the caller is authorized to create this deal
if (requestorder.requester != sender) revert("caller-must-be-requester");
if (requestorder.requester != sender) {
revert("caller-must-be-requester");
}
}

function _deposit(address from, uint256 amount) internal {
Expand Down
2 changes: 1 addition & 1 deletion contracts/facets/IexecOrderManagementFacet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ pragma solidity ^0.8.0;

import {IERC5313} from "@openzeppelin/contracts/interfaces/IERC5313.sol";
import {FacetBase} from "../abstract/FacetBase.sol";
import {SignatureVerifier} from "./SignatureVerifier.sol";
import {SignatureVerifier} from "../abstract/SignatureVerifier.sol";
import {IexecOrderManagement} from "../interfaces/IexecOrderManagement.sol";
import {PocoStorageLib} from "../libs/PocoStorageLib.sol";
import {IexecLibOrders_v5} from "../libs/IexecLibOrders_v5.sol";
Expand Down
6 changes: 3 additions & 3 deletions contracts/facets/IexecPoco1Facet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import {FacetBase} from "../abstract/FacetBase.sol";
import {PocoStorageLib} from "../libs/PocoStorageLib.sol";
import {IexecPoco1} from "../interfaces/IexecPoco1.sol";
import {IexecPoco1Errors} from "../interfaces/IexecPoco1Errors.sol";
import {IexecEscrow} from "./IexecEscrow.v8.sol";
import {IexecPocoCommon} from "./IexecPocoCommon.sol";
import {SignatureVerifier} from "./SignatureVerifier.sol";
import {IexecEscrow} from "../abstract/IexecEscrow.sol";
import {IexecPocoCommon} from "../abstract/IexecPocoCommon.sol";
import {SignatureVerifier} from "../abstract/SignatureVerifier.sol";

struct Matching {
bytes32 apporderHash;
Expand Down
4 changes: 2 additions & 2 deletions contracts/facets/IexecPoco2Facet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import {IexecLibCore_v5} from "../libs/IexecLibCore_v5.sol";
import {IexecLibOrders_v5} from "../libs/IexecLibOrders_v5.sol";
import {FacetBase} from "../abstract/FacetBase.sol";
import {IexecPoco2} from "../interfaces/IexecPoco2.sol";
import {IexecEscrow} from "./IexecEscrow.v8.sol";
import {SignatureVerifier} from "./SignatureVerifier.sol";
import {IexecEscrow} from "../abstract/IexecEscrow.sol";
import {SignatureVerifier} from "../abstract/SignatureVerifier.sol";

contract IexecPoco2Facet is IexecPoco2, FacetBase, IexecEscrow, SignatureVerifier {
modifier onlyScheduler(bytes32 _taskId) {
Expand Down
4 changes: 2 additions & 2 deletions contracts/facets/IexecPocoAccessorsFacet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import {IApp} from "../registries/apps/IApp.v8.sol";
import {IWorkerpool} from "../registries/workerpools/IWorkerpool.v8.sol";
import {IexecPocoAccessors} from "../interfaces/IexecPocoAccessors.sol";
import {IRegistry} from "../registries/IRegistry.sol";
import {IexecPocoCommon} from "./IexecPocoCommon.sol";
import {SignatureVerifier} from "./SignatureVerifier.sol";
import {IexecPocoCommon} from "../abstract/IexecPocoCommon.sol";
import {SignatureVerifier} from "../abstract/SignatureVerifier.sol";

/**
* @title Getters contract for PoCo facets.
Expand Down
6 changes: 3 additions & 3 deletions contracts/facets/IexecPocoBoostFacet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ import {IexecLibOrders_v5} from "../libs/IexecLibOrders_v5.sol";
import {IWorkerpool} from "../registries/workerpools/IWorkerpool.v8.sol";
import {FacetBase} from "../abstract/FacetBase.sol";
import {IexecPocoBoost} from "../interfaces/IexecPocoBoost.sol";
import {IexecEscrow} from "./IexecEscrow.v8.sol";
import {IexecPocoCommon} from "./IexecPocoCommon.sol";
import {IexecEscrow} from "../abstract/IexecEscrow.sol";
import {IexecPocoCommon} from "../abstract/IexecPocoCommon.sol";
import {PocoStorageLib} from "../libs/PocoStorageLib.sol";
import {SignatureVerifier} from "./SignatureVerifier.sol";
import {SignatureVerifier} from "../abstract/SignatureVerifier.sol";

//
// Not deployed yet!
Expand Down
4 changes: 2 additions & 2 deletions contracts/tools/testing/IexecEscrowTestContract.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

pragma solidity ^0.8.0;

import {IexecEscrow} from "../../facets/IexecEscrow.v8.sol";
import {IexecEscrow} from "../../abstract/IexecEscrow.sol";
import {PocoStorageLib} from "../../libs/PocoStorageLib.sol";

/**
* @notice a wrapper contract to make internal functions of
* IexecEscrow.v8 testable.
* IexecEscrow testable.
*/
contract IexecEscrowTestContract is IexecEscrow {
function lock_(address account, uint256 value) external {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,10 @@ pragma solidity ^0.8.0;
import {IexecLibOrders_v5} from "../../libs/IexecLibOrders_v5.sol";

/**
* @title ReceiveApprovalTestHelper
* @notice Helper contract to test edge cases in receiveApproval function
* @dev This contract simulates a facet that fails silently (no error data)
* @dev This contract simulates a matchOrders that fails with empty error data.
*/
contract ReceiveApprovalTestHelper {
/**
* @notice Mock matchOrders function that fails without returning error data
* @dev Uses assembly to revert without data, simulating the edge case where
* delegatecall fails and result.length == 0
*/
contract MatchOrdersFacetMock {
function matchOrders(
IexecLibOrders_v5.AppOrder calldata,
IexecLibOrders_v5.DatasetOrder calldata,
Expand All @@ -24,8 +18,6 @@ contract ReceiveApprovalTestHelper {
) external pure returns (bytes32) {
// Revert without any error data
// This simulates: delegatecall fails with success=false and result.length=0
assembly {
revert(0, 0)
}
revert();
}
}
64 changes: 32 additions & 32 deletions docs/solidity/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,38 @@ function increaseAllowance(address spender, uint256 addedValue) external returns
function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool)
```

## IexecEscrow

### Transfer

```solidity
event Transfer(address from, address to, uint256 value)
```

### Lock

```solidity
event Lock(address owner, uint256 amount)
```

### Unlock

```solidity
event Unlock(address owner, uint256 amount)
```

### Reward

```solidity
event Reward(address owner, uint256 amount, bytes32 ref)
```

### Seize

```solidity
event Seize(address owner, uint256 amount, bytes32 ref)
```

## IexecCategoryManagerFacet

### createCategory
Expand Down Expand Up @@ -114,38 +146,6 @@ function setTeeBroker(address _teebroker) external
function setCallbackGas(uint256 _callbackgas) external
```

## IexecEscrow

### Transfer

```solidity
event Transfer(address from, address to, uint256 value)
```

### Lock

```solidity
event Lock(address owner, uint256 amount)
```

### Unlock

```solidity
event Unlock(address owner, uint256 amount)
```

### Reward

```solidity
event Reward(address owner, uint256 amount, bytes32 ref)
```

### Seize

```solidity
event Seize(address owner, uint256 amount, bytes32 ref)
```

## IexecEscrowNativeFacet

### receive
Expand Down
Loading
Loading