Gmx v2 - Funding rates (#6)

* Setup GMX v2

* Add get markets

* Map token with service

* Add get market info data

* Add get markets

* Add get market token prices

* Get markets infos multicall

* Try call datastore

* Add some tests to figure out why datastore call dont work

* Update funding rates

* clean
This commit is contained in:
Oda
2024-08-17 06:50:18 +07:00
committed by GitHub
parent b4087753c7
commit 68aa7fff5d
75 changed files with 8979 additions and 608 deletions

View File

@@ -1,5 +1,7 @@
# How to launch the App
## Requirements
- NET .Core framework
- MongoDb
- Node.JS
@@ -8,28 +10,31 @@
# First setup
## Generate dev certificate
- ```dotnet dev-certs https -ep \.aspnet\https\aspnetapp.pfx -p password```
- ```dotnet dev-certs https --trust```
## Setup docker
- Update ```apps\src\Managing.Api\appsettings.MYNAME.json``` with your configuration settings
- Update ```apps\src\Managing.Api.Workers\appsettings.MYNAME.json``` with your configuration settings
- Then execute from the root of the project : ```.\scripts\docker-deploy-sandbox.cmd```
- At this point, only Managing.Api.Workers should be NOT running. It because we didn't create an account.
## Setup an account
- ```cd src/Managing.WebApp```
- ```npm run dev```
- Go to front-end app ```http://localhost:3000/```
- If request end up with a 500 error, you should open the url of the container and validate the certificate.
- If request end up with a 500 error, you should open the url of the container and validate the certificate.
- Connect your ETH account
- Setup a username for your account
- On Account page : Create an EVM account for trading (Not necessary if you don't want to trade)
## Setup InfluxDb
- Go to http://localhost:8086/
- Then initialize InfluxDb
@@ -38,9 +43,11 @@
- Go to api keys
![InfluxDb Api](assets/img/doc-influxdb-apikeys-1.png)
- Create an apikey and update the ```apps\src\Managing.Api.Workers\appsettings.MYNAME.json``` file with the api key
- Create an apikey and update the ```apps\src\Managing.Api.Workers\appsettings.MYNAME.json``` file with the api key
![InfluxDb Api](assets/img/doc-influxdb-apikeys-2.png)
- Then redeploy by executing : ```.\scripts\docker-deploy-sandbox.cmd```
- Check influxdb > buckets > prices-bucket > if there is data
@@ -50,12 +57,17 @@
- It may take some time to see the candles in the front-end
## Setup default strategies, scenario and money management
- Go to Managing.Api swagger ```https://localhost/index.html```
- Execute ```POST /settings```
![Api Settings](assets/img/doc-settings.png)
![Api Settings](assets/img/doc-settings.png)
# Dev
# Dev
## Generate Api Client
- Use [NSwag](https://github.com/RicoSuter/NSwag)
- Generate a Typescript client with Fetch template
- Generate a Typescript client with Fetch template
- Deposit the file in ```Managing.WebApp\src\generated\```
- Generatet ABI
service ```Nethereum.Generator.Console generate from-abi -abi ./DataStore/DataStore.abi -o . -ns Managing.Tools```