예제 #1
0
        public async Task <Storage.Contract> Add(string address, string apikey)
        {
            if (_configuration.GetValue <string>("ApiKey") != apikey)
            {
                return(null);
            }

            address = address.ToLower();
            var token = await _etherScanClient.GetErc20TokenTransfers(address, limit : 1);

            var contracts = await _context.Contract.ToListAsync();

            contracts.ForEach(o => o.Active = false);

            var contract = contracts.FirstOrDefault(o => o.Address == address);

            if (contract == null)
            {
                contract = new Storage.Contract {
                    Address = address, LastBlock = token.result[0].blockNumber - 1
                };
                _context.Add(contract);
            }
            contract.Active = true;
            contract.Token  = token.result[0].tokenSymbol;
            await _context.SaveChangesAsync();

            return(contract);
        }
예제 #2
0
        public void Should_Return_Erc20TxList()
        {
            var requestNormal = _client.GetErc20TokenTransfers("0xe4c89b9fcab29c5bee3971b698cca4528f2644e2", null, 6220000, page: 1, limit: 100);

            //  var request = _client.GetInternalTransactions("0x004be92725a0979b9de76ee58330b00bb2f7a82a", 6220000, page: 1, limit: 1000);

            Assert.True(1 == 1);
        }