All notable changes to gateway should be added to this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added uniswap routes:
/
/price
/trade
- A uniswap service class.
- create an test script that uses all of the ethereum routes. Can be run with
yarn test-scripts
.
- /config/update to update the config file and reload the server
-
run gateway with https as default
-
hidden option to run in http. This is unsafe and should only be done in development mode.
-
manual/curl-with-private-key.sh to test routes while using https
-
Added ethereum routes:
/eth
/eth/balances
/eth/approve
/eth/poll
-
Simple express error handler (to be improved in future PRs)
-
Add approvedSpenders to Ethereum.
-
Add getTokenBySymbol to Ethereum.
-
uniswap.config.ts with Uniswap addresses.
-
balancer.config.ts with Balancer addresses
- Tests for config-manager.ts.
-
Drop EthTransactionReceipt, use providers.TransactionReceipt for getTransactionReceipt.
-
Trade yaml for js-yaml because it has types.
-
Add a Config type to ConfigManager.
-
Ethereum extends EthereumBase and has custom behavior for the ethereum gas price.
-
Add src/services/gateway-config.ts based on the file from gateway-api, but much simpler and without file watching (the API should be responsible for restarting the service if there is a change to the config file).
-
Add src/services/base.ts to hold types and functions common to all services.
- Update src/services/ethereum-base.ts to be an implementation using what was in src/chains/ethereum/ethereum.ts.
- Delete all code in src/chains/ethereum/ethereum.ts since it was moved to ethereum-base.ts. In a future PR this will become a class that inherits from EthereumBase.
-
Initate a new repo for gateway. This will replace gateway-api and eventually be added to hummingbot to form a monorepo.
-
Add libraries for TypeScript, eslint, express and uniswap.
-
Create dirs and files according to Mike's architecture proposal.
-
Create a test dir with a single set of unit tests.
-
Create ethereum base class, config and service.