//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitSupportingService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcService jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.jsonrpc = jsonrpc; }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitMarketDataService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcService jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.jsonrpc = jsonrpc; }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitAuthenticationService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcService jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.jsonrpc = jsonrpc; //--------------------------------------------------------------------- // refresh auth token periodically { this.RefreshAuthTokenTimer = new System.Timers.Timer() { Interval = TimeSpan.FromMinutes(this.RefreshAuthTokenLoopPeriodMins).TotalMilliseconds, Enabled = !this.deribit.deribitconfig.NoRefreshAuthToken, }; } this.RefreshAuthTokenTimer.Elapsed += async(sender, e) => { if (this.deribit.deribitconfig.NoRefreshAuthToken) { return; } await this.RefreshAuthTokenLoop(); }; //--------------------------------------------------------------------- }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitAccountManagementService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcService jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.jsonrpc = jsonrpc; }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitSupportingService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcProxy rpcproxy, StreamJsonRpc.JsonRpc jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.rpcproxy = rpcproxy; this.jsonrpc = jsonrpc; }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitSessionManagementService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcService jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.jsonrpc = jsonrpc; this.jsonrpc.ReconnectionHappened += this.Jsonrpc_ReconnectionHappened; }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitAccountManagementService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcProxy rpcproxy, StreamJsonRpc.JsonRpc jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.rpcproxy = rpcproxy; this.jsonrpc = jsonrpc; }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitSubscriptionManagementService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcProxy rpcproxy, StreamJsonRpc.JsonRpc jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.rpcproxy = rpcproxy; this.jsonrpc = jsonrpc; this.rpcproxy.subscription += this.handle_notification; }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitSessionManagementService(DeribitService deribit, IMapper mapper, IDeribitJsonRpcProxy rpcproxy, StreamJsonRpc.JsonRpc jsonrpc) { this.deribit = deribit; this.mapper = mapper; this.rpcproxy = rpcproxy; this.jsonrpc = jsonrpc; this.rpcproxy.heartbeat += this.handle_heartbeat; }
static async Task Main(string[] args) { // configure serilog ConfigureSerilog(); // create config DeribitConfig deribitconfig = new DeribitConfig { Environment = DeribitEnvironment.Test, EnableJsonRpcTracing = true, }; // construct services deribit = new DeribitService(deribitconfig); // connect await deribit.Connect(default);
public async Task OneTimeSetUp() { // read config this.configurationRoot = new ConfigurationBuilder() .AddJsonFile("config/config.json", false) .AddJsonFile("config/secrets.json", false) .Build(); // determine environment if (this.configurationRoot["deribit:environment"] == "live") { this.deribitenvironment = DeribitEnvironment.Live; } else { this.deribitenvironment = DeribitEnvironment.Test; } // create config deribitconfig = new DeribitConfig { Environment = this.deribitenvironment, EnableJsonRpcTracing = true, }; // bind credentials this.deribitcredentials = this.configurationRoot .GetSection("deribit:credentials") .Get <DeribitCredentials>(); // construct services deribit = new DeribitService(deribitconfig); // connect await deribit.Connect(default);