Skip to content

Commit

Permalink
Named imports (#1)
Browse files Browse the repository at this point in the history
* init

* added ci
  • Loading branch information
dovgopoly authored Dec 18, 2023
1 parent e4d8e45 commit 62f4c8e
Show file tree
Hide file tree
Showing 25 changed files with 180 additions and 86 deletions.
13 changes: 13 additions & 0 deletions .github/actions/setup/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: setup

runs:
using: composite
steps:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: "16.18.x"
cache: npm
- name: Install packages
run: npm install
shell: bash
26 changes: 26 additions & 0 deletions .github/workflows/deploy-bindings.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#
# Builds the bindings and deploys bindings branch
#
# https://github.com/actions/setup-node
# Using https://github.com/marketplace/actions/deploy-to-github-pages
name: Deploy bindings
on:
push:
branches:
- master

jobs:
deploy_bindings:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v3

- name: Install and Generate bindings
run: npm install && npm run generate-types

- name: Deploy bindings
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: bindings # The branch the action should deploy to.
folder: generated-types # The folder the action should deploy.
21 changes: 21 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "tests"

on:
push:
branches:
- master
pull_request:
branches:
- master
- dev

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
- name: Run tests
run: npm run test
4 changes: 2 additions & 2 deletions contracts/SwapDiamond.sol
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamond.sol";
import {OwnableDiamond} from "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamond.sol";

import "./SwapDiamondStorage.sol";
import {SwapDiamondStorage} from "./SwapDiamondStorage.sol";

contract SwapDiamond is OwnableDiamond, SwapDiamondStorage {
receive() external payable {}
Expand Down
10 changes: 5 additions & 5 deletions contracts/imports/Imports.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@rarimo/evm-bridge-contracts/tokens/ERC20MintableBurnable.sol";
import "@rarimo/evm-bridge-contracts/tokens/ERC721MintableBurnable.sol";
import "@rarimo/evm-bridge-contracts/tokens/ERC1155MintableBurnable.sol";
import "@rarimo/evm-bridge-contracts/facade/BridgeFacade.sol";
import "@rarimo/evm-bridge-contracts/bridge/Bridge.sol";
import {ERC20MintableBurnable} from "@rarimo/evm-bridge-contracts/tokens/ERC20MintableBurnable.sol";
import {ERC721MintableBurnable} from "@rarimo/evm-bridge-contracts/tokens/ERC721MintableBurnable.sol";
import {ERC1155MintableBurnable} from "@rarimo/evm-bridge-contracts/tokens/ERC1155MintableBurnable.sol";
import {BridgeFacade} from "@rarimo/evm-bridge-contracts/facade/BridgeFacade.sol";
import {Bridge} from "@rarimo/evm-bridge-contracts/bridge/Bridge.sol";
21 changes: 13 additions & 8 deletions contracts/integration-facets/routers/BridgeRouter.sol
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";
import {OwnableDiamondStorage} from "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";

import "@rarimo/evm-bridge-contracts/interfaces/facade/IBridgeFacade.sol";
import "@rarimo/evm-bridge-contracts/interfaces/bundle/IBundler.sol";
import {IBridge} from "@rarimo/evm-bridge-contracts/interfaces/bridge/IBridge.sol";
import {IFeeManager} from "@rarimo/evm-bridge-contracts/interfaces/facade/IFeeManager.sol";
import {IBridgeFacade} from "@rarimo/evm-bridge-contracts/interfaces/facade/IBridgeFacade.sol";
import {IBundler} from "@rarimo/evm-bridge-contracts/interfaces/bundle/IBundler.sol";
import {Constants as BridgeConstants} from "@rarimo/evm-bridge-contracts/libs/Constants.sol";

import "../../libs/Approver.sol";
import "../../libs/Constants.sol";
import "../../libs/Resolver.sol";
import "../storages/BridgeRouterStorage.sol";
import {Approver} from "../../libs/Approver.sol";
import {Constants} from "../../libs/Constants.sol";
import {Resolver} from "../../libs/Resolver.sol";
import {BridgeRouterStorage} from "../storages/BridgeRouterStorage.sol";

contract BridgeRouter is OwnableDiamondStorage, BridgeRouterStorage {
using Approver for *;
Expand Down
4 changes: 2 additions & 2 deletions contracts/integration-facets/routers/MulticallRouter.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "../../libs/Resolver.sol";
import "../../libs/ErrorHelper.sol";
import {Resolver} from "../../libs/Resolver.sol";
import {ErrorHelper} from "../../libs/ErrorHelper.sol";

contract MulticallRouter {
using Resolver for *;
Expand Down
13 changes: 7 additions & 6 deletions contracts/integration-facets/routers/TraderJoeRouter.sol
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";
import {OwnableDiamondStorage} from "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";

import "@traderjoe-xyz/core/contracts/traderjoe/interfaces/IJoeRouter01.sol";
import {IJoeRouter01} from "@traderjoe-xyz/core/contracts/traderjoe/interfaces/IJoeRouter01.sol";

import "../../libs/Approver.sol";
import "../../libs/Resolver.sol";
import "../storages/TraderJoeRouterStorage.sol";
import {Approver} from "../../libs/Approver.sol";
import {Resolver} from "../../libs/Resolver.sol";
import {TraderJoeRouterStorage} from "../storages/TraderJoeRouterStorage.sol";

contract TraderJoeRouter is OwnableDiamondStorage, TraderJoeRouterStorage {
using SafeERC20 for IERC20;
Expand Down
11 changes: 6 additions & 5 deletions contracts/integration-facets/routers/TransferRouter.sol
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import "../../libs/Resolver.sol";
import {MasterRouterStorage} from "../../master-facet/MasterRouterStorage.sol";
import {Resolver} from "../../libs/Resolver.sol";

contract TransferRouter is MasterRouterStorage {
using SafeERC20 for IERC20;
Expand Down
13 changes: 7 additions & 6 deletions contracts/integration-facets/routers/UniswapV2Router.sol
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";
import {OwnableDiamondStorage} from "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";

import "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol";
import {IUniswapV2Router01} from "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol";

import "../../libs/Approver.sol";
import "../../libs/Resolver.sol";
import "../storages/UniswapV2RouterStorage.sol";
import {Approver} from "../../libs/Approver.sol";
import {Resolver} from "../../libs/Resolver.sol";
import {UniswapV2RouterStorage} from "../storages/UniswapV2RouterStorage.sol";

contract UniswapV2Router is OwnableDiamondStorage, UniswapV2RouterStorage {
using SafeERC20 for IERC20;
Expand Down
17 changes: 9 additions & 8 deletions contracts/integration-facets/routers/UniswapV3Router.sol
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";
import {OwnableDiamondStorage} from "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";

import "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol";
import "@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol";
import {ISwapRouter} from "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol";
import {IPeripheryPayments} from "@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol";

import "../../libs/BytesHelper.sol";
import "../../libs/Approver.sol";
import "../../libs/Resolver.sol";
import "../storages/UniswapV3RouterStorage.sol";
import {BytesHelper} from "../../libs/BytesHelper.sol";
import {Approver} from "../../libs/Approver.sol";
import {Resolver} from "../../libs/Resolver.sol";
import {UniswapV3RouterStorage} from "../storages/UniswapV3RouterStorage.sol";

contract UniswapV3Router is OwnableDiamondStorage, UniswapV3RouterStorage {
using SafeERC20 for IERC20;
Expand Down
14 changes: 8 additions & 6 deletions contracts/integration-facets/routers/WrapRouter.sol
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";

import "../../libs/Resolver.sol";
import "../../interfaces/tokens/IWrappedNative.sol";
import "../../master-facet/MasterRouterStorage.sol";
import "../storages/WrapRouterRouterStorage.sol";
import "./TransferRouter.sol";
import {OwnableDiamondStorage} from "@solarity/solidity-lib/diamond/presets/OwnableDiamond/OwnableDiamondStorage.sol";

import {Resolver} from "../../libs/Resolver.sol";
import {IWrappedNative} from "../../interfaces/tokens/IWrappedNative.sol";
import {MasterRouterStorage} from "../../master-facet/MasterRouterStorage.sol";
import {WrapRouterStorage} from "../storages/WrapRouterStorage.sol";
import {TransferRouter} from "./TransferRouter.sol";

contract WrapRouter is OwnableDiamondStorage, WrapRouterStorage, TransferRouter {
using Resolver for uint256;
Expand Down
2 changes: 1 addition & 1 deletion contracts/interfaces/tokens/IWrappedNative.sol
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";

/// @title Interface for WETH9
interface IWrappedNative is IERC20 {
Expand Down
6 changes: 3 additions & 3 deletions contracts/libs/Approver.sol
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";

library Approver {
function approveMax(IERC20 erc20_, address to_) internal {
Expand Down
8 changes: 4 additions & 4 deletions contracts/libs/Resolver.sol
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";

import "./Constants.sol";
import "../master-facet/MasterRouterStorage.sol";
import {Constants} from "./Constants.sol";
import {MasterRouterStorage} from "../master-facet/MasterRouterStorage.sol";

library Resolver {
function resolve(address address_) internal view returns (address) {
Expand Down
32 changes: 16 additions & 16 deletions contracts/master-facet/MasterRouter.sol
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";
import "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";

import "@solarity/solidity-lib/diamond/DiamondStorage.sol";

import "../libs/Commands.sol";
import "../libs/ErrorHelper.sol";
import "./MasterRouterStorage.sol";
import "../SwapDiamondStorage.sol";
import "../integration-facets/routers/BridgeRouter.sol";
import "../integration-facets/routers/TransferRouter.sol";
import "../integration-facets/routers/WrapRouter.sol";
import "../integration-facets/routers/MulticallRouter.sol";
import "../integration-facets/routers/UniswapV2Router.sol";
import "../integration-facets/routers/UniswapV3Router.sol";
import "../integration-facets/routers/TraderJoeRouter.sol";
import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";
import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";

import {DiamondStorage} from "@solarity/solidity-lib/diamond/DiamondStorage.sol";

import {Commands} from "../libs/Commands.sol";
import {ErrorHelper} from "../libs/ErrorHelper.sol";
import {MasterRouterStorage} from "./MasterRouterStorage.sol";
import {SwapDiamondStorage} from "../SwapDiamondStorage.sol";
import {BridgeRouter} from "../integration-facets/routers/BridgeRouter.sol";
import {TransferRouter} from "../integration-facets/routers/TransferRouter.sol";
import {WrapRouter} from "../integration-facets/routers/WrapRouter.sol";
import {MulticallRouter} from "../integration-facets/routers/MulticallRouter.sol";
import {UniswapV2Router} from "../integration-facets/routers/UniswapV2Router.sol";
import {UniswapV3Router} from "../integration-facets/routers/UniswapV3Router.sol";
import {TraderJoeRouter} from "../integration-facets/routers/TraderJoeRouter.sol";

contract MasterRouter is
DiamondStorage,
Expand Down
5 changes: 3 additions & 2 deletions contracts/mock/dex/AbstractSwapRouterMock.sol
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import "../../interfaces/tokens/IWrappedNative.sol";
import {IWrappedNative} from "../../interfaces/tokens/IWrappedNative.sol";

abstract contract AbstractSwapRouterMock {
using SafeERC20 for IERC20;
Expand Down
2 changes: 1 addition & 1 deletion contracts/mock/dex/TraderJoeMock.sol
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "./AbstractSwapRouterMock.sol";
import {AbstractSwapRouterMock} from "./AbstractSwapRouterMock.sol";

contract TraderJoeMock is AbstractSwapRouterMock {
constructor(address wavax_) AbstractSwapRouterMock(wavax_) {}
Expand Down
2 changes: 1 addition & 1 deletion contracts/mock/dex/UniswapV2RouterMock.sol
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "./AbstractSwapRouterMock.sol";
import {AbstractSwapRouterMock} from "./AbstractSwapRouterMock.sol";

contract UniswapV2RouterMock is AbstractSwapRouterMock {
constructor(address weth9_) AbstractSwapRouterMock(weth9_) {}
Expand Down
8 changes: 4 additions & 4 deletions contracts/mock/dex/UniswapV3RouterMock.sol
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@solarity/solidity-lib/libs/arrays/ArrayHelper.sol";
import {ArrayHelper} from "@solarity/solidity-lib/libs/arrays/ArrayHelper.sol";

import "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol";
import {ISwapRouter} from "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol";

import "./AbstractSwapRouterMock.sol";
import "../../libs/BytesHelper.sol";
import {AbstractSwapRouterMock} from "./AbstractSwapRouterMock.sol";
import {BytesHelper} from "../../libs/BytesHelper.sol";

contract UniswapV3RouterMock is AbstractSwapRouterMock {
using ArrayHelper for address[];
Expand Down
4 changes: 2 additions & 2 deletions contracts/mock/tokens/WrappedNativeMock.sol
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";

import "../../interfaces/tokens/IWrappedNative.sol";
import {IWrappedNative} from "../../interfaces/tokens/IWrappedNative.sol";

contract WrappedNativeMock is IWrappedNative, ERC20 {
constructor() ERC20("WrappedNativeMock", "WNM") {}
Expand Down
2 changes: 1 addition & 1 deletion contracts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rarimo/evm-swap-contracts-v2",
"version": "1.0.0",
"version": "1.0.1",
"author": "Rarimo Foundation",
"keywords": [
"solidity",
Expand Down
Loading

0 comments on commit 62f4c8e

Please sign in to comment.