protected override async Task InvokeAsyncBase(InvocationContext context) { byte[] buf = new byte[32]; var names = await NameRepository.AsOracleNameRepository().GetIds(); foreach (var o in names.OrderBy(n => n.Key)) { context.Console.Out.WriteLine($"{o.Key}\t{o.Value}"); } }
protected override async Task InvokeAsyncBase(InvocationContext context) { var name = context.ParseResult.CommandResult.GetArgumentValueOrDefault <string>("name"); if (name is null) { throw new CommandOptionRequiredException("name"); } var oracle = await GetOracle("name", name); await NameRepository.RemoveMapping(Scopes.Oracles, name); await Repository.RemoveOracle(oracle.PubKey); }
public async Task <int> InvokeAsync(InvocationContext context) { try { Network = Bitcoin.Instance.GetNetwork(GetNetworkType(context.ParseResult.RootCommandResult.ValueForOption("network") as string ?? "mainnet")); _Repository = new Repository(context.ParseResult.RootCommandResult.ValueForOption <string>("datadir"), Network); _NameRepository = new NameRepository(Path.Combine(_Repository.RepositoryDirectory, "names.json")); NDLC.Messages.Serializer.Configure(JsonSerializerSettings, Network); await InvokeAsyncBase(context); return(0); } catch (CommandException ex) { context.Console.Error.WriteLine(ex.Message); return(1); } }
public async Task <int> InvokeAsync(InvocationContext context) { try { Network = context.ParseResult.RootCommandResult.ValueForOption <bool>("testnet") ? Network.TestNet : context.ParseResult.RootCommandResult.ValueForOption <bool>("regtest") ? Network.RegTest : Network.Main; _Repository = new Repository(context.ParseResult.RootCommandResult.ValueForOption <string>("datadir"), Network); _NameRepository = new NameRepository(Path.Combine(_Repository.RepositoryDirectory, "names.json")); NDLC.Messages.Serializer.Configure(JsonSerializerSettings, Network); await InvokeAsyncBase(context); return(0); } catch (CommandException ex) { context.Console.Error.WriteLine(ex.Message); return(1); } }
protected override async Task InvokeAsyncBase(InvocationContext context) { var oracleName = context.ParseResult.CommandResult.GetArgumentValueOrDefault <string>("name")?.ToLowerInvariant().Trim(); if (oracleName is null) { throw new CommandOptionRequiredException("name"); } if (await TryGetOracle(oracleName) is Oracle) { throw new CommandException("name", "This oracle already exists"); } var key = await Repository.CreatePrivateKey(); var pubkey = key.PrivateKey.PubKey.ToECPubKey().ToXOnlyPubKey(out _); await NameRepository.SetMapping(Scopes.Oracles, oracleName, Encoders.Hex.EncodeData(pubkey.ToBytes())); await Repository.AddOracle(pubkey, key.KeyPath); context.Console.Out.Write(Helpers.ToString(pubkey)); }
protected override async Task InvokeAsyncBase(InvocationContext context) { var oracleName = context.ParseResult.CommandResult.GetArgumentValueOrDefault <string>("name")?.Trim(); if (oracleName is null) { throw new CommandOptionRequiredException("name"); } var pubkey = context.ParseResult.CommandResult.GetArgumentValueOrDefault <string>("pubkey")?.ToLowerInvariant()?.Trim(); if (pubkey is null) { throw new CommandOptionRequiredException("pubkey"); } if (!OracleId.TryParse(pubkey, out var oracleId)) { throw new CommandException("pubkey", "Invalid pubkey"); } if (Set) { var oracle = await GetOracle("name", oracleName); await Repository.RemoveOracle(oracle.PubKey); await Repository.AddOracle(oracleId.PubKey); } else { var oracle = await TryGetOracle(oracleName); if (oracle is Oracle) { throw new CommandException("name", "This oracle already exists"); } await Repository.AddOracle(oracleId.PubKey); } await NameRepository.SetMapping(Scopes.Oracles, oracleName, oracleId.ToString()); }
public DLCNameRepository(NameRepository nameRepository) { this.NameRepository = nameRepository; }
public OracleNameRepository(NameRepository nameRepository) { NameRepository = nameRepository; }
public EventNameRepository(NameRepository nameRepository) { NameRepository = nameRepository; }