def __init__(self, args: list): parser = argparse.ArgumentParser(prog='dydx-market-maker-keeper') parser.add_argument("--dydx-api-server", type=str, required=True, help="Address of the Eth RPC node used for Dydx connection") parser.add_argument("--dydx-private-key", type=str, required=True, help="API key for the DyDx API") parser.add_argument("--pair", type=str, required=True, help="Token pair (sell/buy) on which the keeper will operate") parser.add_argument("--config", type=str, required=True, help="Bands configuration file") parser.add_argument("--price-feed", type=str, required=True, help="Source of price feed") parser.add_argument("--price-feed-expiry", type=int, default=120, help="Maximum age of the price feed (in seconds, default: 120)") parser.add_argument("--spread-feed", type=str, help="Source of spread feed") parser.add_argument("--spread-feed-expiry", type=int, default=3600, help="Maximum age of the spread feed (in seconds, default: 3600)") parser.add_argument("--control-feed", type=str, help="Source of control feed") parser.add_argument("--control-feed-expiry", type=int, default=86400, help="Maximum age of the control feed (in seconds, default: 86400)") parser.add_argument("--order-history", type=str, help="Endpoint to report active orders to") parser.add_argument("--order-history-every", type=int, default=30, help="Frequency of reporting active orders (in seconds, default: 30)") parser.add_argument("--refresh-frequency", type=int, default=3, help="Order book refresh frequency (in seconds, default: 3)") parser.add_argument("--debug", dest='debug', action='store_true', help="Enable debug output") self.arguments = parser.parse_args(args) self.dydx_api = DydxApi(node=self.arguments.dydx_api_server, private_key=self.arguments.dydx_private_key) self.market_info = self.dydx_api.get_markets() super().__init__(self.arguments, self.dydx_api)
# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import sys from pyexchange.dydx import DydxApi dydx = DydxApi(sys.argv[1], sys.argv[2]) # print(dydx.get_markets()) # print(dydx.get_pair("WETH-DAI")) print(dydx.get_balances()) # print(dydx.deposit_funds("USDC", 1.0)) # print(dydx.set_allowances()) # print(dydx.get_balances()) # print(dydx.withdraw_funds("ETH", 0.998)) # print(dydx.withdraw_all_funds("USDC"))
def setup_method(self): self.dydx = DydxApi( "http://localhost:8555", "dcba44978751342a68e81b0e487de87e52720f6f94792cc237045bce0f9d05fc" )