Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 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
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@
// SPDX-FileCopyrightText: Copyright (c) 2020 thedavidmeister
pragma solidity ^0.8.18;

import {IERC3156FlashLender} from "../ierc3156/IERC3156FlashLender.sol";
import {IERC3156FlashLender} from "./ierc3156/IERC3156FlashLender.sol";
import {
EvaluableV4,
IInterpreterCallerV4,
SignedContextV1,
//forge-lint: disable-next-line(unused-import)
IInterpreterV4,
//forge-lint: disable-next-line(unused-import)
IInterpreterStoreV3
} from "../../../lib/rain.interpreter.interface/src/interface/unstable/IInterpreterCallerV4.sol";
} from "../../lib/rain.interpreter.interface/src/interface/unstable/IInterpreterCallerV4.sol";

/// Import unmodified structures from older versions of `IOrderBook`.
import {NoOrders, ZeroMaximumInput} from "../IOrderBookV4.sol";
//forge-lint: disable-start(unused-import)
import {NoOrders, ZeroMaximumInput} from "./deprecated/v4/IOrderBookV4.sol";
//forge-lint: disable-end(unused-import)

import {Float} from "rain.math.float/lib/LibDecimalFloat.sol";

Expand Down Expand Up @@ -46,9 +50,13 @@ struct ClearStateChangeV2 {
/// @param bobBountyVaultId The vault ID that the bounty from order B should move
/// to for the clearer.
struct ClearConfigV2 {
//forge-lint: disable-next-line(mixed-case-variable)
uint256 aliceInputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 aliceOutputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 bobInputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 bobOutputIOIndex;
bytes32 aliceBountyVaultId;
bytes32 bobBountyVaultId;
Expand All @@ -74,6 +82,7 @@ struct TaskV2 {
/// withdraw step.
/// @param vaultId The vault ID that tokens will move into if this is an input
/// or move out from if this is an output.
//forge-lint: disable-next-line(pascal-case-struct)
struct IOV2 {
address token;
bytes32 vaultId;
Expand Down Expand Up @@ -138,7 +147,9 @@ struct OrderV4 {
/// taken order.
struct TakeOrderConfigV4 {
OrderV4 order;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 inputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 outputIOIndex;
SignedContextV1[] signedContext;
}
Expand All @@ -161,6 +172,7 @@ struct TakeOrderConfigV4 {
struct TakeOrdersConfigV4 {
Float minimumInput;
Float maximumInput;
//forge-lint: disable-next-line(mixed-case-variable)
Float maximumIORatio;
TakeOrderConfigV4[] orders;
bytes data;
Expand All @@ -174,7 +186,9 @@ struct TakeOrdersConfigV4 {
/// quote.
struct QuoteV2 {
OrderV4 order;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 inputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 outputIOIndex;
SignedContextV1[] signedContext;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@
pragma solidity ^0.8.18;

import {IOrderBookV5OrderTaker} from "./IOrderBookV5OrderTaker.sol";
import {TakeOrdersConfigV4, IOrderBookV5, TaskV2, EvaluableV4} from "./IOrderBookV5.sol";
import {
TakeOrdersConfigV4,
IOrderBookV5,
TaskV2,
//forge-lint: disable-next-line(unused-import)
EvaluableV4
} from "./IOrderBookV5.sol";

interface IOrderBookV5ArbOrderTaker is IOrderBookV5OrderTaker {
function arb4(IOrderBookV5 orderBook, TakeOrdersConfigV4 calldata takeOrders, TaskV2 calldata task)
Expand Down
21 changes: 18 additions & 3 deletions src/interface/deprecated/v1/IOrderBookV1.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@
// SPDX-FileCopyrightText: Copyright (c) 2020 thedavidmeister
pragma solidity ^0.8.18;

import "../../ierc3156/IERC3156FlashLender.sol";
import "rain.interpreter.interface/lib/caller/LibEvaluable.sol";
import "rain.interpreter.interface/interface/deprecated/IInterpreterCallerV1.sol";
import {IERC3156FlashLender} from "../../ierc3156/IERC3156FlashLender.sol";
//forge-lint: disable-next-line(unused-import)
import {LibEvaluable} from "rain.interpreter.interface/lib/caller/LibEvaluable.sol";
import {
EvaluableConfig,
Evaluable,
SignedContext,
IInterpreterCallerV1
} from "rain.interpreter.interface/interface/deprecated/IInterpreterCallerV1.sol";
import {IExpressionDeployerV3} from "rain.interpreter.interface/interface/deprecated/IExpressionDeployerV3.sol";

/// Configuration for a deposit. All deposits are processed by and for
Expand Down Expand Up @@ -43,6 +49,7 @@ struct WithdrawConfig {
/// to compensate for any loss of precision during decimal rescaling.
/// @param vaultId The vault ID that tokens will move into if this is an input
/// or move out from if this is an output.
//forge-lint: disable-next-line(pascal-case-struct)
struct IO {
address token;
uint8 decimals;
Expand Down Expand Up @@ -83,6 +90,7 @@ struct OrderConfig {
/// so these tokens will be sent from the owners vault.
struct Order {
address owner;
//forge-lint: disable-next-line(mixed-case-variable)
bool handleIO;
Evaluable evaluable;
IO[] validInputs;
Expand All @@ -107,6 +115,7 @@ struct TakeOrdersConfig {
address input;
uint256 minimumInput;
uint256 maximumInput;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 maximumIORatio;
TakeOrderConfig[] orders;
}
Expand All @@ -122,7 +131,9 @@ struct TakeOrdersConfig {
/// taken order.
struct TakeOrderConfig {
Order order;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 inputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 outputIOIndex;
SignedContext[] signedContext;
}
Expand All @@ -138,9 +149,13 @@ struct TakeOrderConfig {
/// @param bobBountyVaultId The vault ID that the bounty from order B should move
/// to for the clearer.
struct ClearConfig {
//forge-lint: disable-next-line(mixed-case-variable)
uint256 aliceInputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 aliceOutputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 bobInputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 bobOutputIOIndex;
uint256 aliceBountyVaultId;
uint256 bobBountyVaultId;
Expand Down
9 changes: 9 additions & 0 deletions src/interface/deprecated/v2/IOrderBookV2.sol
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ struct WithdrawConfig {
/// to compensate for any loss of precision during decimal rescaling.
/// @param vaultId The vault ID that tokens will move into if this is an input
/// or move out from if this is an output.
//forge-lint: disable-next-line(pascal-case-struct)
struct IO {
address token;
uint8 decimals;
Expand Down Expand Up @@ -86,6 +87,7 @@ struct OrderConfig {
/// so these tokens will be sent from the owners vault.
struct Order {
address owner;
//forge-lint: disable-next-line(mixed-case-variable)
bool handleIO;
Evaluable evaluable;
IO[] validInputs;
Expand All @@ -110,6 +112,7 @@ struct TakeOrdersConfig {
address input;
uint256 minimumInput;
uint256 maximumInput;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 maximumIORatio;
TakeOrderConfig[] orders;
}
Expand All @@ -125,7 +128,9 @@ struct TakeOrdersConfig {
/// taken order.
struct TakeOrderConfig {
Order order;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 inputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 outputIOIndex;
SignedContextV1[] signedContext;
}
Expand All @@ -141,9 +146,13 @@ struct TakeOrderConfig {
/// @param bobBountyVaultId The vault ID that the bounty from order B should move
/// to for the clearer.
struct ClearConfig {
//forge-lint: disable-next-line(mixed-case-variable)
uint256 aliceInputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 aliceOutputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 bobInputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 bobOutputIOIndex;
uint256 aliceBountyVaultId;
uint256 bobBountyVaultId;
Expand Down
4 changes: 4 additions & 0 deletions src/interface/deprecated/v3/IOrderBookV3.sol
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ struct OrderConfigV2 {
/// taken order.
struct TakeOrderConfigV2 {
OrderV2 order;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 inputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 outputIOIndex;
SignedContextV1[] signedContext;
}
Expand All @@ -71,6 +73,7 @@ struct TakeOrderConfigV2 {
/// so these tokens will be sent from the owners vault.
struct OrderV2 {
address owner;
//forge-lint: disable-next-line(mixed-case-variable)
bool handleIO;
EvaluableV2 evaluable;
IO[] validInputs;
Expand All @@ -95,6 +98,7 @@ struct OrderV2 {
struct TakeOrdersConfigV2 {
uint256 minimumInput;
uint256 maximumInput;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 maximumIORatio;
TakeOrderConfigV2[] orders;
bytes data;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,19 @@
// SPDX-FileCopyrightText: Copyright (c) 2020 thedavidmeister
pragma solidity ^0.8.18;

import {IERC3156FlashLender} from "./ierc3156/IERC3156FlashLender.sol";
import {IERC3156FlashLender} from "../../ierc3156/IERC3156FlashLender.sol";
import {
EvaluableV3,
IInterpreterCallerV3,
SignedContextV1,
//forge-lint: disable-next-line(unused-import)
IInterpreterV3,
//forge-lint: disable-next-line(unused-import)
IInterpreterStoreV2
} from "../../lib/rain.interpreter.interface/src/interface/IInterpreterCallerV3.sol";
} from "../../../../lib/rain.interpreter.interface/src/interface/IInterpreterCallerV3.sol";

/// Import unmodified structures from older versions of `IOrderBook`.
import {ClearStateChange, ClearConfig, IO} from "./deprecated/v3/IOrderBookV3.sol";
import {ClearStateChange, ClearConfig, IO} from "../v3/IOrderBookV3.sol";

/// Thrown when take orders is called with no orders.
error NoOrders();
Expand Down Expand Up @@ -55,7 +57,9 @@ struct OrderConfigV3 {
/// taken order.
struct TakeOrderConfigV3 {
OrderV3 order;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 inputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 outputIOIndex;
SignedContextV1[] signedContext;
}
Expand Down Expand Up @@ -102,6 +106,7 @@ struct OrderV3 {
struct TakeOrdersConfigV3 {
uint256 minimumInput;
uint256 maximumInput;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 maximumIORatio;
TakeOrderConfigV3[] orders;
bytes data;
Expand All @@ -128,7 +133,9 @@ struct TaskV1 {
/// quote.
struct Quote {
OrderV3 order;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 inputIOIndex;
//forge-lint: disable-next-line(mixed-case-variable)
uint256 outputIOIndex;
SignedContextV1[] signedContext;
}
Expand Down
Loading