GMX v2 - Trading (#7)
* Move PrivateKeys.cs * Update gitignore * Update gitignore * updt * Extract GmxServiceTests.cs * Refact * update todo * Update code * Fix hashdata * Replace static token hashed datas * Set allowance * Add get orders * Add get orders tests * Add ignore * add close orders * revert * Add get gas limit * Start increasePosition. Todo: Finish GetExecutionFee and estimateGas * little refact * Update gitignore * Fix namespaces and clean repo * Add tests samples * Add execution fee * Add increase position * Handle backtest on the frontend * Add tests * Update increase * Test increase * fix increase * Fix size * Start get position * Update get positions * Fix get position * Update rpc and trade mappers * Finish close position * Fix leverage
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using System.Numerics;
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class CreateDepositParams : CreateDepositParamsBase
|
||||
{
|
||||
}
|
||||
|
||||
public class CreateDepositParamsBase
|
||||
{
|
||||
[Parameter("address", "receiver", 1)] public virtual string Receiver { get; set; }
|
||||
|
||||
[Parameter("address", "callbackContract", 2)]
|
||||
public virtual string CallbackContract { get; set; }
|
||||
|
||||
[Parameter("address", "uiFeeReceiver", 3)]
|
||||
public virtual string UiFeeReceiver { get; set; }
|
||||
|
||||
[Parameter("address", "market", 4)] public virtual string Market { get; set; }
|
||||
|
||||
[Parameter("address", "initialLongToken", 5)]
|
||||
public virtual string InitialLongToken { get; set; }
|
||||
|
||||
[Parameter("address", "initialShortToken", 6)]
|
||||
public virtual string InitialShortToken { get; set; }
|
||||
|
||||
[Parameter("address[]", "longTokenSwapPath", 7)]
|
||||
public virtual List<string> LongTokenSwapPath { get; set; }
|
||||
|
||||
[Parameter("address[]", "shortTokenSwapPath", 8)]
|
||||
public virtual List<string> ShortTokenSwapPath { get; set; }
|
||||
|
||||
[Parameter("uint256", "minMarketTokens", 9)]
|
||||
public virtual BigInteger MinMarketTokens { get; set; }
|
||||
|
||||
[Parameter("bool", "shouldUnwrapNativeToken", 10)]
|
||||
public virtual bool ShouldUnwrapNativeToken { get; set; }
|
||||
|
||||
[Parameter("uint256", "executionFee", 11)]
|
||||
public virtual BigInteger ExecutionFee { get; set; }
|
||||
|
||||
[Parameter("uint256", "callbackGasLimit", 12)]
|
||||
public virtual BigInteger CallbackGasLimit { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class CreateOrderParams : CreateOrderParamsBase
|
||||
{
|
||||
}
|
||||
|
||||
public class CreateOrderParamsBase
|
||||
{
|
||||
[Parameter("tuple", "addresses", 1)] public virtual CreateOrderParamsAddresses Addresses { get; set; }
|
||||
[Parameter("tuple", "numbers", 2)] public virtual CreateOrderParamsNumbers Numbers { get; set; }
|
||||
[Parameter("uint8", "orderType", 3)] public virtual byte OrderType { get; set; }
|
||||
|
||||
[Parameter("uint8", "decreasePositionSwapType", 4)]
|
||||
public virtual byte DecreasePositionSwapType { get; set; }
|
||||
|
||||
[Parameter("bool", "isLong", 5)] public virtual bool IsLong { get; set; }
|
||||
|
||||
[Parameter("bool", "shouldUnwrapNativeToken", 6)]
|
||||
public virtual bool ShouldUnwrapNativeToken { get; set; }
|
||||
|
||||
[Parameter("bool", "autoCancel", 7)] public virtual bool AutoCancel { get; set; }
|
||||
|
||||
[Parameter("bytes32", "referralCode", 8)]
|
||||
public virtual byte[] ReferralCode { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class CreateOrderParamsAddresses : CreateOrderParamsAddressesBase
|
||||
{
|
||||
}
|
||||
|
||||
public class CreateOrderParamsAddressesBase
|
||||
{
|
||||
[Parameter("address", "receiver", 1)] public virtual string Receiver { get; set; }
|
||||
|
||||
[Parameter("address", "cancellationReceiver", 2)]
|
||||
public virtual string CancellationReceiver { get; set; }
|
||||
|
||||
[Parameter("address", "callbackContract", 3)]
|
||||
public virtual string CallbackContract { get; set; }
|
||||
|
||||
[Parameter("address", "uiFeeReceiver", 4)]
|
||||
public virtual string UiFeeReceiver { get; set; }
|
||||
|
||||
[Parameter("address", "market", 5)] public virtual string Market { get; set; }
|
||||
|
||||
[Parameter("address", "initialCollateralToken", 6)]
|
||||
public virtual string InitialCollateralToken { get; set; }
|
||||
|
||||
[Parameter("address[]", "swapPath", 7)]
|
||||
public virtual List<string> SwapPath { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Numerics;
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class CreateOrderParamsNumbers : CreateOrderParamsNumbersBase
|
||||
{
|
||||
}
|
||||
|
||||
public class CreateOrderParamsNumbersBase
|
||||
{
|
||||
[Parameter("uint256", "sizeDeltaUsd", 1)]
|
||||
public virtual BigInteger SizeDeltaUsd { get; set; }
|
||||
|
||||
[Parameter("uint256", "initialCollateralDeltaAmount", 2)]
|
||||
public virtual BigInteger InitialCollateralDeltaAmount { get; set; }
|
||||
|
||||
[Parameter("uint256", "triggerPrice", 3)]
|
||||
public virtual BigInteger TriggerPrice { get; set; }
|
||||
|
||||
[Parameter("uint256", "acceptablePrice", 4)]
|
||||
public virtual BigInteger AcceptablePrice { get; set; }
|
||||
|
||||
[Parameter("uint256", "executionFee", 5)]
|
||||
public virtual BigInteger ExecutionFee { get; set; }
|
||||
|
||||
[Parameter("uint256", "callbackGasLimit", 6)]
|
||||
public virtual BigInteger CallbackGasLimit { get; set; }
|
||||
|
||||
[Parameter("uint256", "minOutputAmount", 7)]
|
||||
public virtual BigInteger MinOutputAmount { get; set; }
|
||||
|
||||
[Parameter("uint256", "validFromTime", 8)]
|
||||
public virtual BigInteger ValidFromTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System.Numerics;
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class CreateShiftParams : CreateShiftParamsBase
|
||||
{
|
||||
}
|
||||
|
||||
public class CreateShiftParamsBase
|
||||
{
|
||||
[Parameter("address", "receiver", 1)] public virtual string Receiver { get; set; }
|
||||
|
||||
[Parameter("address", "callbackContract", 2)]
|
||||
public virtual string CallbackContract { get; set; }
|
||||
|
||||
[Parameter("address", "uiFeeReceiver", 3)]
|
||||
public virtual string UiFeeReceiver { get; set; }
|
||||
|
||||
[Parameter("address", "fromMarket", 4)]
|
||||
public virtual string FromMarket { get; set; }
|
||||
|
||||
[Parameter("address", "toMarket", 5)] public virtual string ToMarket { get; set; }
|
||||
|
||||
[Parameter("uint256", "minMarketTokens", 6)]
|
||||
public virtual BigInteger MinMarketTokens { get; set; }
|
||||
|
||||
[Parameter("uint256", "executionFee", 7)]
|
||||
public virtual BigInteger ExecutionFee { get; set; }
|
||||
|
||||
[Parameter("uint256", "callbackGasLimit", 8)]
|
||||
public virtual BigInteger CallbackGasLimit { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using System.Numerics;
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class CreateWithdrawalParams : CreateWithdrawalParamsBase
|
||||
{
|
||||
}
|
||||
|
||||
public class CreateWithdrawalParamsBase
|
||||
{
|
||||
[Parameter("address", "receiver", 1)] public virtual string Receiver { get; set; }
|
||||
|
||||
[Parameter("address", "callbackContract", 2)]
|
||||
public virtual string CallbackContract { get; set; }
|
||||
|
||||
[Parameter("address", "uiFeeReceiver", 3)]
|
||||
public virtual string UiFeeReceiver { get; set; }
|
||||
|
||||
[Parameter("address", "market", 4)] public virtual string Market { get; set; }
|
||||
|
||||
[Parameter("address[]", "longTokenSwapPath", 5)]
|
||||
public virtual List<string> LongTokenSwapPath { get; set; }
|
||||
|
||||
[Parameter("address[]", "shortTokenSwapPath", 6)]
|
||||
public virtual List<string> ShortTokenSwapPath { get; set; }
|
||||
|
||||
[Parameter("uint256", "minLongTokenAmount", 7)]
|
||||
public virtual BigInteger MinLongTokenAmount { get; set; }
|
||||
|
||||
[Parameter("uint256", "minShortTokenAmount", 8)]
|
||||
public virtual BigInteger MinShortTokenAmount { get; set; }
|
||||
|
||||
[Parameter("bool", "shouldUnwrapNativeToken", 9)]
|
||||
public virtual bool ShouldUnwrapNativeToken { get; set; }
|
||||
|
||||
[Parameter("uint256", "executionFee", 10)]
|
||||
public virtual BigInteger ExecutionFee { get; set; }
|
||||
|
||||
[Parameter("uint256", "callbackGasLimit", 11)]
|
||||
public virtual BigInteger CallbackGasLimit { get; set; }
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
|
||||
using System.Numerics;
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class Props : PropsBase
|
||||
{
|
||||
}
|
||||
|
||||
public class PropsBase
|
||||
{
|
||||
[Parameter("uint256", "min", 1)] public virtual BigInteger Min { get; set; }
|
||||
[Parameter("uint256", "max", 2)] public virtual BigInteger Max { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class SetPricesParams : SetPricesParamsBase
|
||||
{
|
||||
}
|
||||
|
||||
public class SetPricesParamsBase
|
||||
{
|
||||
[Parameter("address[]", "tokens", 1)] public virtual List<string> Tokens { get; set; }
|
||||
|
||||
[Parameter("address[]", "providers", 2)]
|
||||
public virtual List<string> Providers { get; set; }
|
||||
|
||||
[Parameter("bytes[]", "data", 3)] public virtual List<byte[]> Data { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.Numerics;
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
|
||||
namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
|
||||
{
|
||||
public partial class SimulatePricesParams : SimulatePricesParamsBase
|
||||
{
|
||||
}
|
||||
|
||||
public class SimulatePricesParamsBase
|
||||
{
|
||||
[Parameter("address[]", "primaryTokens", 1)]
|
||||
public virtual List<string> PrimaryTokens { get; set; }
|
||||
|
||||
[Parameter("tuple[]", "primaryPrices", 2)]
|
||||
public virtual List<Props> PrimaryPrices { get; set; }
|
||||
|
||||
[Parameter("uint256", "minTimestamp", 3)]
|
||||
public virtual BigInteger MinTimestamp { get; set; }
|
||||
|
||||
[Parameter("uint256", "maxTimestamp", 4)]
|
||||
public virtual BigInteger MaxTimestamp { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user