/// <summary> /// Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call GetFilterChanges. /// </summary> /// <param name="fromBlock">(optional, default: "latest") Integer block number, </param> /// <param name="toBlock"></param> /// <param name="address"></param> /// <param name="topics"></param> /// <returns></returns> public string NewFilter(Filter filter) { var rpcRequest = new RpcRequest(RpcMethod.eth_newFilter); rpcRequest.AddParam(filter); var rpcResult = new RpcConnector().MakeRequest(rpcRequest); return rpcResult.Result; }
private void LoadAccounts() { Accounts = new List<Account>(); var accounts = EthereumService.GetAccounts(); cmdAccounts.Items.Clear(); foreach (var account in accounts) { var a = new Account(); a.Address = account; var filter = new Filter(fromBlock: "0x01") { Address = a.Address }; a.FilterId = EthereumService.NewFilter(filter); Accounts.Add(a); var sign = EthereumService.Sign(a.Address, "hello"); a.Unlocked = sign != null; cmdAccounts.Items.Add(a); //EthereumService.UnlockAccount(a.Address, "lawrence"); } if (accounts.Any()) { cmdAccounts.SelectedIndex = 0; } }