public Task ExecuteAsync(RuntimeContext context) { if (context.Contracts.ContainsKey(Name)) { throw new Exception($"The name '{Name}' already exists."); } if (!EthAddressParser.ValidateAddress(Address)) { throw new Exception($"The address '{Address}' is invalid."); } context.Contracts.Add(Name, new EthContractDescriptor(Name, Address)); Console.WriteLine($"Contract at '{Address}' registered as '{Name}'."); return(Task.CompletedTask); }
public bool TryResolveContractReference(string reference, out string address) { if (Contracts.ContainsKey(reference)) { address = Contracts[reference].ContractAddress; return(true); } if (EthAddressParser.ValidateAddress(reference)) { address = reference; return(true); } address = null; return(false); }