Code formatting

This commit is contained in:
Shriya Tyagi 2022-04-12 01:33:43 +04:00
parent e5c318d4e2
commit 89ba057da9
4 changed files with 167 additions and 168 deletions

View File

@ -1,25 +1,26 @@
pragma solidity ^0.7.0; pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2; pragma experimental ABIEncoderV2;
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
contract Events { contract Events {
event LogCreate( event LogCreate(
uint256 indexed tokenId, uint256 indexed tokenId,
uint256 liquidity, uint256 liquidity,
uint256 amount, uint256 amount,
int24 tickLower, int24 tickLower,
int24 tickUpper int24 tickUpper
); );
event LogWithdrawMid( event LogWithdrawMid(
uint256 indexed tokenId, uint256 indexed tokenId,
uint256 liquidity, uint256 liquidity,
uint256 amountA, uint256 amountA,
uint256 amountB uint256 amountB
); );
event LogWithdrawFull( event LogWithdrawFull(
uint256 indexed tokenId, uint256 indexed tokenId,
uint256 liquidity uint256 liquidity
); );
} }

View File

@ -6,59 +6,73 @@ import { Basic, TokenInterface } from "../../common/basic.sol";
import "./interface.sol"; import "./interface.sol";
contract Helpers is Basic { contract Helpers is Basic {
IUniLimitOrder public constant limitCon_ =
IUniLimitOrder(0x94F401fAD3ebb89fB7380f5fF6E875A88E6Af916);
IUniLimitOrder public constant limitCon_ = IUniLimitOrder(0x94F401fAD3ebb89fB7380f5fF6E875A88E6Af916); struct MintParams {
address token0;
address token1;
uint24 fee;
int24 tickLower;
int24 tickUpper;
uint256 amount;
bool tokenDirectn;
}
struct MintParams { /**
address token0; * @dev Create position
address token1; * @notice Create position that interacts with UniLimitOrder
uint24 fee; * @param params_ Create Position params.
int24 tickLower;
int24 tickUpper;
uint256 amount;
bool tokenDirectn;
}
/**
* @dev Mint function which interact with Uniswap v3
*/ */
function _createPosition (MintParams memory params_) function _createPosition(MintParams memory params_)
internal internal
returns ( returns (
uint256 tokenId_, uint256 tokenId_,
uint128 liquidity_, uint128 liquidity_,
uint256 mintAmount_ uint256 mintAmount_
) )
{ {
uint256 amountSend_; uint256 amountSend_;
(TokenInterface token0_, TokenInterface token1_) = changeMaticAddress( (TokenInterface token0_, TokenInterface token1_) = changeMaticAddress(
params_.token0, params_.token0,
params_.token1 params_.token1
); );
if(params_.tokenDirectn){ if (params_.tokenDirectn) {
amountSend_ = params_.amount == type(uint128).max ? getTokenBal(TokenInterface(params_.token0)) : params_.amount; amountSend_ = params_.amount == type(uint128).max
convertMaticToWmatic(params_.token0 == maticAddr, token0_, amountSend_); ? getTokenBal(TokenInterface(params_.token0))
approve(token0_, address(limitCon_), amountSend_); : params_.amount;
} else { convertMaticToWmatic(
amountSend_ = params_.amount == type(uint128).max ? getTokenBal(TokenInterface(params_.token1)) : params_.amount; params_.token0 == maticAddr,
convertMaticToWmatic(params_.token1 == maticAddr, token1_, amountSend_); token0_,
approve(token1_, address(limitCon_), amountSend_); amountSend_
} );
approve(token0_, address(limitCon_), amountSend_);
} else {
amountSend_ = params_.amount == type(uint128).max
? getTokenBal(TokenInterface(params_.token1))
: params_.amount;
convertMaticToWmatic(
params_.token1 == maticAddr,
token1_,
amountSend_
);
approve(token1_, address(limitCon_), amountSend_);
}
IUniLimitOrder.MintParams memory parameter = IUniLimitOrder.MintParams memory parameter = IUniLimitOrder.MintParams(
IUniLimitOrder.MintParams( address(token0_),
address(token0_), address(token1_),
address(token1_), params_.fee,
params_.fee, params_.tickLower,
params_.tickLower, params_.tickUpper,
params_.tickUpper, amountSend_,
amountSend_, params_.tokenDirectn
params_.tokenDirectn );
);
(tokenId_, liquidity_, mintAmount_) = limitCon_.createPosition(parameter); (tokenId_, liquidity_, mintAmount_) = limitCon_.createPosition(
parameter
} );
}
} }

View File

@ -2,9 +2,9 @@ pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2; pragma experimental ABIEncoderV2;
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
import {Helpers} from "./helpers.sol"; import { Helpers } from "./helpers.sol";
import {IUniLimitOrder} from "./interface.sol"; import { IUniLimitOrder } from "./interface.sol";
import {TokenInterface} from "../../common/interfaces.sol"; import { TokenInterface } from "../../common/interfaces.sol";
/** /**
* @title LimitOrderConnector. * @title LimitOrderConnector.
@ -12,80 +12,96 @@ import {TokenInterface} from "../../common/interfaces.sol";
*/ */
contract LimitOrderConnector is Helpers { contract LimitOrderConnector is Helpers {
function create( /**
address token0_, * @dev Create NFT
address token1_, * @notice Create NFT
uint24 fee_, * @param token0_ Token0 Address.
int24 tickLower_, * @param token1_ Token1 Amount.
int24 tickUpper_, * @param fee_ Pool fee.
uint256 amount_, * @param tickLower_ Lower tick.
bool tokenDirectn_ * @param tickUpper_ Upper tick.
) * @param amount_ Amount to deposit
external * @param tokenDirectn_ Token 0 to 1 bool
payable */
returns (string memory eventName_, bytes memory eventParam_) function create(
{ address token0_,
address token1_,
uint24 fee_,
int24 tickLower_,
int24 tickUpper_,
uint256 amount_,
bool tokenDirectn_
)
external
payable
returns (string memory eventName_, bytes memory eventParam_)
{
MintParams memory params_ = MintParams(
token0_,
token1_,
fee_,
tickLower_,
tickUpper_,
amount_,
tokenDirectn_
);
MintParams memory params_ = MintParams( (
token0_, uint256 tokenId_,
token1_, uint256 liquidity_,
fee_, uint256 minAmount_
tickLower_, ) = _createPosition(params_);
tickUpper_,
amount_,
tokenDirectn_
);
( eventName_ = "LogCreate(uint256,uint256,uint256,int24,int24)";
uint256 tokenId_, eventParam_ = abi.encode(
uint256 liquidity_, tokenId_,
uint256 minAmount_ liquidity_,
) = _createPosition(params_); minAmount_,
params_.tickLower,
params_.tickUpper
);
}
eventName_ = "LogCreate(uint256,uint256,uint256,int24,int24)"; /**
eventParam_ = abi.encode( * @dev Close NFT in Mid
tokenId_, * @notice Close NFT in Mid
liquidity_, * @param tokenId_ Token ID.
minAmount_, * @param amountAMin_ Amount A Min.
params_.tickLower, * @param amountBMin_ Amount B Min.
params_.tickUpper */
); function closeMid(
} uint256 tokenId_,
uint256 amountAMin_,
uint256 amountBMin_
)
external
payable
returns (string memory eventName_, bytes memory eventParam_)
{
(uint128 liquidity_, uint256 amount0, uint256 amount1) = limitCon_
.closeMidPosition(tokenId_, amountAMin_, amountBMin_);
eventName_ = "LogWithdrawMid(uint256,uint256,uint256,uint256)";
eventParam_ = abi.encode(tokenId_, liquidity_, amount0, amount1);
}
function closeMid( /**
uint256 tokenId_, * @dev Close NFT after swap completion
uint256 amountAMin_, * @notice Close NFT after swap completion
uint256 amountBMin_ * @param tokenId_ Token ID.
) */
external function closeFull(uint256 tokenId_)
payable external
returns (string memory eventName_, bytes memory eventParam_) payable
{ returns (string memory eventName_, bytes memory eventParam_)
{
(uint128 liquidity_, uint256 amount0, uint256 amount1) = limitCon_.closeMidPosition(tokenId_, amountAMin_, amountBMin_); uint256 closeAmount_ = limitCon_.closeFullPosition(tokenId_);
eventName_ = "LogWithdrawMid(uint256,uint256,uint256,uint256)";
eventParam_ = abi.encode(tokenId_, liquidity_, amount0, amount1);
}
function closeFull(
uint256 tokenId_
)
external
payable
returns (string memory eventName_, bytes memory eventParam_)
{
(uint256 closeAmount_) = limitCon_.closeFullPosition(tokenId_);
eventName_ = "LogWithdrawFull(uint256,uint256)";
eventParam_ = abi.encode(tokenId_, closeAmount_);
}
eventName_ = "LogWithdrawFull(uint256,uint256)";
eventParam_ = abi.encode(tokenId_, closeAmount_);
}
} }
contract ConnectV2LimitOrder is LimitOrderConnector { contract ConnectV2LimitOrder is LimitOrderConnector {
string public constant name = "Limit-Order-Connector"; string public constant name = "Limit-Order-Connector";
} }

View File

@ -1,32 +0,0 @@
// We require the Hardhat Runtime Environment explicitly here. This is optional
// but useful for running the script in a standalone fashion through `node <script>`.
//
// When running the script with `npx hardhat run <script>` you'll find the Hardhat
// Runtime Environment's members available in the global scope.
const hre = require("hardhat");
async function main() {
// Hardhat always runs the compile task when running scripts with its command
// line interface.
//
// If this script is run directly using `node` you may want to call compile
// manually to make sure everything is compiled
// await hre.run('compile');
// We get the contract to deploy
const Greeter = await hre.ethers.getContractFactory("ConnectV2LimitOrder");
const greeter = await Greeter.deploy();
await greeter.deployed();
console.log("Greeter deployed to:", greeter.address);
}
// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});