Exemplo n.º 1
0
        //------------------------------------------------------------------------------------------------
        // construction
        //------------------------------------------------------------------------------------------------

        public DeribitSupportingService(DeribitService deribit, IMapper mapper,
                                        IDeribitJsonRpcService jsonrpc)
        {
            this.deribit = deribit;
            this.mapper  = mapper;
            this.jsonrpc = jsonrpc;
        }
Exemplo n.º 2
0
        //------------------------------------------------------------------------------------------------
        // 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();
            };
            //---------------------------------------------------------------------
        }
Exemplo n.º 4
0
        //------------------------------------------------------------------------------------------------
        // construction
        //------------------------------------------------------------------------------------------------

        public DeribitAccountManagementService(DeribitService deribit, IMapper mapper,
                                               IDeribitJsonRpcService jsonrpc)
        {
            this.deribit = deribit;
            this.mapper  = mapper;
            this.jsonrpc = jsonrpc;
        }
Exemplo n.º 5
0
        //------------------------------------------------------------------------------------------------
        // construction
        //------------------------------------------------------------------------------------------------

        public DeribitSupportingService(DeribitService deribit, IMapper mapper,
                                        IDeribitJsonRpcProxy rpcproxy, StreamJsonRpc.JsonRpc jsonrpc)
        {
            this.deribit  = deribit;
            this.mapper   = mapper;
            this.rpcproxy = rpcproxy;
            this.jsonrpc  = jsonrpc;
        }
Exemplo n.º 6
0
        //------------------------------------------------------------------------------------------------
        // 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;
        }
Exemplo n.º 8
0
        //------------------------------------------------------------------------------------------------
        // 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;
        }
Exemplo n.º 9
0
        //------------------------------------------------------------------------------------------------
        // 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;
        }
Exemplo n.º 10
0
        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);