/// <summary> /// Constructor /// </summary> /// <param name="config">Config</param> /// <param name="blockchain">Blockchain</param> /// <param name="logger">Logger</param> /// <param name="aclLoader">ACL Loader</param> public RpcServer( RpcConfig config, ILogger <RpcServer> logger, INetworkAclLoader aclLoader) { _config = config ?? throw new ArgumentNullException(nameof(config)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); if (aclLoader == null) { throw new ArgumentNullException(nameof(aclLoader)); } _acl = aclLoader.Load(config.AclConfig) ?? NetworkAcl.Default; InjectSpecialParameter(ctx => ctx); }
/// <summary> /// Constructor /// </summary> /// <param name="config">Config</param> /// <param name="blockchain">Blockchain</param> /// <param name="logger">Logger</param> /// <param name="aclFactory">ACL</param> public RpcServer( RpcConfig config, IBlockchain blockchain, ILogger <RpcServer> logger, NetworkACLFactory aclFactory) { _config = config ?? throw new ArgumentNullException(nameof(config)); _blockchain = blockchain ?? throw new ArgumentNullException(nameof(blockchain)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); if (aclFactory == null) { throw new ArgumentNullException(nameof(aclFactory)); } _acl = aclFactory.CreateNew(); _acl?.Load(config?.ACL); _callbacks = new List <IRpcProcessRequest>(); }