コード例 #1
0
        public ContractInfo GetContract(NodeClient client, string hash, string addr, bool enqueue = false)
        {
            try
            {
                if (_tzKtUrl == null)
                {
                    return(client.GetContractInfo(hash, addr));
                }

                var str      = client.Download(_tzKtUrl + "v1/accounts/" + addr);
                var contract = JsonConvert.DeserializeObject <TzKt.Account>(str);
                return(new ContractInfo
                {
                    balance = contract.balance - contract.frozenDeposits - contract.frozenRewards - contract.frozenFees,
                    @delegate = contract.@delegate?.address,
                    manager = contract.manager?.address,
                    Hash = hash
                });
            }
            catch
            {
                var ci = client.GetContractInfo(hash, addr);
                ci.Hash = hash;

                return(ci ?? new ContractInfo());
            }
        }