a.smali
.class public Lcom/cmcm/safewallet/data/coinprovider/erc20/a;
.super Ljava/lang/Object;
.source "ERC20ProviderImpl.java"
# interfaces
.implements Lcom/cmcm/safewallet/data/c/a;
# static fields
.field private static final TAG:Ljava/lang/String;
# instance fields
.field private OP:Lcom/cmcm/safewallet/data/c/f;
.field private To:Lorg/web3j/protocol/Web3j;
.field private Tp:Lcom/cmcm/safewallet/data/c/e;
.field private Tq:Lcom/cmcm/safewallet/data/coinprovider/erc20/d;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 57
const-class v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(IZ)V
.registers 5
.prologue
const/4 v1, 0x2
.line 64
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 58
const/4 v0, 0x0
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->To:Lorg/web3j/protocol/Web3j;
.line 65
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/n;->fY()Lcom/cmcm/safewallet/data/c/f;
move-result-object v0
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->OP:Lcom/cmcm/safewallet/data/c/f;
.line 67
if-eqz p2, :cond_36
.line 68
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
invoke-virtual {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/n;->ax(I)Lcom/cmcm/safewallet/data/c/e;
move-result-object v0
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tp:Lcom/cmcm/safewallet/data/c/e;
.line 72
:goto_1d
new-instance v0, Lorg/web3j/protocol/http/HttpService;
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/c;->iQ()Lcom/cmcm/safewallet/data/coinprovider/eth/depends/e;
move-result-object v1
iget-object v1, v1, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/e;->Ue:Ljava/lang/String;
invoke-direct {v0, v1}, Lorg/web3j/protocol/http/HttpService;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Lorg/web3j/protocol/Web3jFactory;->build(Lorg/web3j/protocol/Web3jService;)Lorg/web3j/protocol/Web3j;
move-result-object v0
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->To:Lorg/web3j/protocol/Web3j;
.line 73
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/d;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/d;-><init>()V
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tq:Lcom/cmcm/safewallet/data/coinprovider/erc20/d;
.line 74
return-void
.line 70
:cond_36
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
invoke-virtual {v0, v1, p1}, Lcom/cmcm/safewallet/data/coinprovider/n;->y(II)Lcom/cmcm/safewallet/data/c/e;
move-result-object v0
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tp:Lcom/cmcm/safewallet/data/c/e;
goto :goto_1d
.end method
.method private E(Ljava/lang/String;Ljava/lang/String;)Ljava/math/BigInteger;
.registers 7
.prologue
.line 482
.line 12603
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 12604
new-instance v1, Lorg/web3j/abi/datatypes/Address;
invoke-direct {v1, p1}, Lorg/web3j/abi/datatypes/Address;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 12606
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 12607
new-instance v2, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$6;
invoke-direct {v2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$6;-><init>()V
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 12609
new-instance v2, Lorg/web3j/abi/datatypes/Function;
const-string v3, "balanceOf"
invoke-direct {v2, v3, v0, v1}, Lorg/web3j/abi/datatypes/Function;-><init>(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
.line 12613
:try_start_21
invoke-static {v2}, Lorg/web3j/abi/FunctionEncoder;->encode(Lorg/web3j/abi/datatypes/Function;)Ljava/lang/String;
move-result-object v0
.line 12615
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->To:Lorg/web3j/protocol/Web3j;
.line 12616
invoke-static {p2, p2, v0}, Lorg/web3j/protocol/core/methods/request/Transaction;->createEthCallTransaction(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/web3j/protocol/core/methods/request/Transaction;
move-result-object v0
sget-object v3, Lorg/web3j/protocol/core/DefaultBlockParameterName;->LATEST:Lorg/web3j/protocol/core/DefaultBlockParameterName;
.line 12615
invoke-interface {v1, v0, v3}, Lorg/web3j/protocol/Web3j;->ethCall(Lorg/web3j/protocol/core/methods/request/Transaction;Lorg/web3j/protocol/core/DefaultBlockParameter;)Lorg/web3j/protocol/core/Request;
move-result-object v0
.line 12618
invoke-virtual {v0}, Lorg/web3j/protocol/core/Request;->sendAsync()Ljava/util/concurrent/Future;
move-result-object v0
invoke-interface {v0}, Ljava/util/concurrent/Future;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/web3j/protocol/core/methods/response/EthCall;
.line 12620
invoke-virtual {v0}, Lorg/web3j/protocol/core/methods/response/EthCall;->getValue()Ljava/lang/String;
move-result-object v0
.line 485
invoke-virtual {v2}, Lorg/web3j/abi/datatypes/Function;->getOutputParameters()Ljava/util/List;
move-result-object v1
invoke-static {v0, v1}, Lorg/web3j/abi/FunctionReturnDecoder;->decode(Ljava/lang/String;Ljava/util/List;)Ljava/util/List;
move-result-object v0
.line 486
const/4 v1, 0x0
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/web3j/abi/datatypes/Type;
invoke-interface {v0}, Lorg/web3j/abi/datatypes/Type;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/math/BigInteger;
:try_end_54
.catch Ljava/lang/Exception; {:try_start_21 .. :try_end_54} :catch_55
.line 491
:goto_54
return-object v0
.line 487
:catch_55
move-exception v0
.line 488
sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->TAG:Ljava/lang/String;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "getBalanceInternal exception, "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 13052
invoke-static {v1, v2}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 489
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 491
const/4 v0, 0x0
goto :goto_54
.end method
.method static synthetic a(Lcom/cmcm/safewallet/data/coinprovider/erc20/a;Ljava/lang/String;Ljava/lang/String;)Ljava/math/BigInteger;
.registers 4
.prologue
.line 56
invoke-direct {p0, p1, p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->E(Ljava/lang/String;Ljava/lang/String;)Ljava/math/BigInteger;
move-result-object v0
return-object v0
.end method
.method private aK(Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
.registers 7
.prologue
const/4 v1, 0x0
const/4 v4, 0x1
.line 127
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->OP:Lcom/cmcm/safewallet/data/c/f;
const/4 v2, 0x0
invoke-interface {v0, v2, v4}, Lcom/cmcm/safewallet/data/c/f;->c(ZZ)Ljava/util/Map;
move-result-object v0
.line 128
if-nez v0, :cond_c
.line 145
:goto_b
return-object v1
.line 133
:cond_c
invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_14
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_3a
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
.line 135
iget v3, v0, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
if-eq v3, v4, :cond_14
.line 138
iget-object v3, v0, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 2073
iget-object v3, v3, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->RR:Ljava/lang/String;
.line 138
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_14
.line 139
iget-object v3, v0, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 3073
iget-object v3, v3, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->RR:Ljava/lang/String;
.line 139
invoke-virtual {v3, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_14
:goto_38
move-object v1, v0
.line 145
goto :goto_b
:cond_3a
move-object v0, v1
goto :goto_38
.end method
.method private static aL(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.prologue
.line 294
invoke-static {p0}, Lorg/web3j/ens/EnsResolver;->isValidEnsName(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4a
.line 295
invoke-static {p0}, Lorg/web3j/crypto/WalletUtils;->isValidAddress(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_21
.line 296
const-string v0, "@@@"
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "token getAddrFromEnsIfNeeded not ens address return valid address:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 4052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 314
:goto_20
return-object p0
.line 299
:cond_21
const-string v0, "@@@"
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "token getAddrFromEnsIfNeeded not valid eth address:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 5052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 300
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/InvalidAddressException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "token invalid eth address : "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/cm/InvalidAddressException;-><init>(Ljava/lang/String;)V
throw v0
.line 303
:cond_4a
new-instance v0, Lorg/web3j/protocol/http/HttpService;
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/c;->iQ()Lcom/cmcm/safewallet/data/coinprovider/eth/depends/e;
move-result-object v1
iget-object v1, v1, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/e;->Ue:Ljava/lang/String;
invoke-direct {v0, v1}, Lorg/web3j/protocol/http/HttpService;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Lorg/web3j/protocol/Web3jFactory;->build(Lorg/web3j/protocol/Web3jService;)Lorg/web3j/protocol/Web3j;
move-result-object v0
.line 304
new-instance v1, Lorg/web3j/ens/EnsResolver;
invoke-direct {v1, v0}, Lorg/web3j/ens/EnsResolver;-><init>(Lorg/web3j/protocol/Web3j;)V
.line 307
:try_start_5e
invoke-virtual {v1, p0}, Lorg/web3j/ens/EnsResolver;->resolve(Ljava/lang/String;)Ljava/lang/String;
:try_end_61
.catch Ljava/lang/Exception; {:try_start_5e .. :try_end_61} :catch_7e
move-result-object v0
.line 312
const-string v1, "@@@"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "token getAddrFromEnsIfNeeded ens address:"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 6052
invoke-static {v1, v2}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 313
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_97
move-object p0, v0
.line 314
goto :goto_20
.line 309
:catch_7e
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 310
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/EnsNameNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "token invalid ens address : "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/cm/EnsNameNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 317
:cond_97
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/EnsNameNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "token invalid address : "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/cm/EnsNameNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public final a(Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;)D
.registers 12
.prologue
const/4 v7, 0x2
const/4 v9, 0x1
const/4 v8, 0x0
const-wide/16 v2, 0x0
.line 433
iget-object v4, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tq:Lcom/cmcm/safewallet/data/coinprovider/erc20/d;
.line 8186
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
.line 8190
invoke-virtual {v4, p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/d;->b(Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;)D
move-result-wide v0
.line 8191
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "getTokenToCurrencyRate : "
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, " , token : "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCoinName()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 8192
cmpg-double v5, v0, v2
if-gtz v5, :cond_12b
.line 10050
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
invoke-virtual {v0, v7}, Lcom/cmcm/safewallet/data/coinprovider/n;->az(I)Lcom/cmcm/safewallet/data/c/a;
move-result-object v0
.line 10051
iget-object v1, p1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->address:Ljava/lang/String;
iget-object v5, p1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->contractAddr:Ljava/lang/String;
invoke-interface {v0, v1, v5}, Lcom/cmcm/safewallet/data/c/a;->k(Ljava/lang/String;Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/b;
move-result-object v0
.line 10052
invoke-interface {v0}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
.line 10053
if-nez v1, :cond_60
.line 10054
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/d;->TAG:Ljava/lang/String;
const-string v1, "getTokenCurrencyByLiqui exception, tokenBalance == null"
.line 11052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 8194
:goto_47
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "getTokenToCurrencyRate liqui : "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " , token : "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCoinName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 433
:goto_5f
return-wide v2
.line 10057
:cond_60
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/n;->fX()Lcom/cmcm/safewallet/data/c/b;
move-result-object v5
.line 10063
const-string v0, "%s_%s"
new-array v6, v7, [Ljava/lang/Object;
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCoinName()Ljava/lang/String;
move-result-object v7
aput-object v7, v6, v8
const-string v7, "eth"
aput-object v7, v6, v9
invoke-static {v0, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
.line 10064
new-array v6, v9, [Ljava/lang/String;
aput-object v0, v6, v8
invoke-static {v6}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v6
invoke-virtual {v4, v6}, Lcom/cmcm/safewallet/data/coinprovider/erc20/d;->j(Ljava/util/List;)Ljava/util/Map;
move-result-object v4
.line 10066
if-eqz v4, :cond_129
.line 10067
invoke-interface {v4, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Double;
.line 10068
if-eqz v0, :cond_9c
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v6
cmpg-double v4, v6, v2
if-gtz v4, :cond_11d
.line 10069
:cond_9c
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getTokenToEth()D
move-result-wide v6
invoke-static {v6, v7}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v0
.line 10070
new-instance v4, Ljava/lang/StringBuilder;
const-string v6, "\u8054\u7f51\u5237\u65b0 Token \u540cETH \u6c47\u7387\u5931\u8d25, \u83b7\u53d6Token\u6c47\u7387\u4e3a\u7a7a,\u4f7f\u7528\u4e0a\u6b21\u7f13\u5b58, [exchange:"
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v6, ",name:"
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCoinName()Ljava/lang/String;
move-result-object v6
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v6, "]"
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 11072
:goto_c2
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/erc20/c;->iN()Lcom/cmcm/safewallet/data/coinprovider/erc20/b;
move-result-object v4
.line 10074
iget-object v6, p1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->contractAddr:Ljava/lang/String;
invoke-virtual {v4, v6}, Lcom/cmcm/safewallet/data/coinprovider/erc20/b;->aN(Ljava/lang/String;)I
move-result v4
invoke-static {v1, v4}, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/a;->a(Ljava/math/BigInteger;I)Ljava/math/BigDecimal;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigDecimal;->doubleValue()D
move-result-wide v6
.line 10075
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v0
mul-double/2addr v0, v6
.line 12028
:goto_d9
invoke-static {}, Lcom/cmcm/safewallet/data/d/b/d;->lj()Lcom/cmcm/safewallet/data/d/b/c;
move-result-object v4
.line 10078
invoke-virtual {v4}, Lcom/cmcm/safewallet/data/d/b/c;->lc()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v4
.line 10079
const-string v6, "ETH"
invoke-interface {v5, v4, v6}, Lcom/cmcm/safewallet/data/c/b;->h(Ljava/lang/String;Ljava/lang/String;)D
move-result-wide v4
.line 10080
cmpg-double v2, v4, v2
if-gtz v2, :cond_125
.line 10081
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "\u8054\u7f51\u5237\u65b0 Token eth\u6cd5\u5e01\u6c47\u7387\u5931\u8d25, [rate:"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v4, v5}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "balanceTokenToEth:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ",name:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCoinName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 10082
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;-><init>()V
throw v0
.line 10072
:cond_11d
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v6
invoke-virtual {p1, v6, v7}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setTokenToEth(D)V
goto :goto_c2
.line 10085
:cond_125
mul-double v2, v4, v0
goto/16 :goto_47
:cond_129
move-wide v0, v2
goto :goto_d9
:cond_12b
move-wide v2, v0
goto/16 :goto_5f
.end method
.method public final a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/math/BigInteger;Ljava/math/BigInteger;)Lcom/cmcm/safewallet/data/models/d;
.registers 14
.prologue
.line 323
invoke-static {p4}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->aL(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 324
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_10
.line 325
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$4;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$4;-><init>()V
.line 373
:goto_f
return-object v0
:cond_10
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v5, p5
move-object v6, p6
invoke-virtual/range {v0 .. v6}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/math/BigInteger;Ljava/math/BigInteger;)Lcom/cmcm/safewallet/data/models/d;
move-result-object v0
goto :goto_f
.end method
.method protected final a(Lorg/web3j/crypto/Credentials;Ljava/lang/String;Ljava/lang/String;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/lang/String;
.registers 11
.prologue
.line 511
.line 13555
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 13556
new-instance v1, Lorg/web3j/abi/datatypes/Address;
invoke-direct {v1, p2}, Lorg/web3j/abi/datatypes/Address;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 13557
new-instance v1, Lorg/web3j/abi/datatypes/generated/Uint256;
invoke-direct {v1, p4}, Lorg/web3j/abi/datatypes/generated/Uint256;-><init>(Ljava/math/BigInteger;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 13560
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 13561
new-instance v2, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$5;
invoke-direct {v2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$5;-><init>()V
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 13564
new-instance v2, Lorg/web3j/abi/datatypes/Function;
const-string v3, "transfer"
invoke-direct {v2, v3, v0, v1}, Lorg/web3j/abi/datatypes/Function;-><init>(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
.line 15072
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/erc20/c;->iN()Lcom/cmcm/safewallet/data/coinprovider/erc20/b;
move-result-object v0
.line 14527
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/b;->iL()Ljava/util/Map;
move-result-object v0
invoke-virtual {p3}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;
iget-object v1, v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->Tm:Ljava/math/BigInteger;
.line 14528
invoke-virtual {p1}, Lorg/web3j/crypto/Credentials;->getAddress()Ljava/lang/String;
move-result-object v0
.line 15519
iget-object v3, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->To:Lorg/web3j/protocol/Web3j;
sget-object v4, Lorg/web3j/protocol/core/DefaultBlockParameterName;->LATEST:Lorg/web3j/protocol/core/DefaultBlockParameterName;
invoke-interface {v3, v0, v4}, Lorg/web3j/protocol/Web3j;->ethGetTransactionCount(Ljava/lang/String;Lorg/web3j/protocol/core/DefaultBlockParameter;)Lorg/web3j/protocol/core/Request;
move-result-object v0
.line 15520
invoke-virtual {v0}, Lorg/web3j/protocol/core/Request;->sendAsync()Ljava/util/concurrent/Future;
move-result-object v0
invoke-interface {v0}, Ljava/util/concurrent/Future;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/web3j/protocol/core/methods/response/EthGetTransactionCount;
.line 15522
invoke-virtual {v0}, Lorg/web3j/protocol/core/methods/response/EthGetTransactionCount;->getTransactionCount()Ljava/math/BigInteger;
move-result-object v0
.line 14530
invoke-static {v2}, Lorg/web3j/abi/FunctionEncoder;->encode(Lorg/web3j/abi/datatypes/Function;)Ljava/lang/String;
move-result-object v2
.line 14532
invoke-static {v0, p5, v1, p3, v2}, Lorg/web3j/crypto/RawTransaction;->createTransaction(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/lang/String;Ljava/lang/String;)Lorg/web3j/crypto/RawTransaction;
move-result-object v0
.line 14539
invoke-static {v0, p1}, Lorg/web3j/crypto/TransactionEncoder;->signMessage(Lorg/web3j/crypto/RawTransaction;Lorg/web3j/crypto/Credentials;)[B
move-result-object v0
.line 14540
invoke-static {v0}, Lorg/web3j/utils/Numeric;->toHexString([B)Ljava/lang/String;
move-result-object v0
.line 14542
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->To:Lorg/web3j/protocol/Web3j;
invoke-interface {v1, v0}, Lorg/web3j/protocol/Web3j;->ethSendRawTransaction(Ljava/lang/String;)Lorg/web3j/protocol/core/Request;
move-result-object v0
.line 14543
invoke-virtual {v0}, Lorg/web3j/protocol/core/Request;->send()Lorg/web3j/protocol/core/Response;
move-result-object v0
check-cast v0, Lorg/web3j/protocol/core/methods/response/EthSendTransaction;
.line 14545
invoke-virtual {v0}, Lorg/web3j/protocol/core/methods/response/EthSendTransaction;->hasError()Z
move-result v1
if-eqz v1, :cond_89
.line 14546
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Lorg/web3j/protocol/core/methods/response/EthSendTransaction;->getError()Lorg/web3j/protocol/core/Response$Error;
move-result-object v2
invoke-virtual {v2}, Lorg/web3j/protocol/core/Response$Error;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 14549
:cond_89
invoke-virtual {v0}, Lorg/web3j/protocol/core/methods/response/EthSendTransaction;->getTransactionHash()Ljava/lang/String;
move-result-object v0
.line 514
const-string v1, "@@@"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "token tx hash:"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 16052
invoke-static {v1, v2}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 515
return-object v0
.end method
.method public a(Ljava/lang/String;Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;)Z
.registers 9
.prologue
const/4 v1, 0x0
.line 78
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->aK(Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
move-result-object v2
.line 79
if-eqz v2, :cond_4d
.line 80
new-instance v3, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
invoke-direct {v3}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;-><init>()V
.line 81
iput-object p1, v3, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->address:Ljava/lang/String;
.line 82
iget-object v0, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->contractAddress:Ljava/lang/String;
iput-object v0, v3, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->contractAddr:Ljava/lang/String;
.line 83
iget-object v0, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->name:Ljava/lang/String;
iput-object v0, v3, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->name:Ljava/lang/String;
.line 84
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setCreateTime(J)V
.line 85
iget-object v0, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->Tj:Ljava/lang/String;
invoke-virtual {v3, v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setIconUrl(Ljava/lang/String;)V
.line 86
iget-object v0, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->mCoinName:Ljava/lang/String;
invoke-virtual {v3, v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setCoinName(Ljava/lang/String;)V
.line 87
iget-object v0, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->Tl:Ljava/lang/String;
invoke-virtual {v3, v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setFullName(Ljava/lang/String;)V
.line 89
iget-object v0, v2, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 1045
iget-object v0, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zl:Ljava/util/List;
.line 90
if-nez v0, :cond_45
.line 91
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 98
:cond_37
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 99
iget-object v1, v2, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 1049
iput-object v0, v1, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zl:Ljava/util/List;
.line 100
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->OP:Lcom/cmcm/safewallet/data/c/f;
invoke-interface {v0, v2}, Lcom/cmcm/safewallet/data/c/f;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
move-result v0
.line 102
:goto_44
return v0
.line 93
:cond_45
invoke-interface {v0, v3}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_37
move v0, v1
.line 94
goto :goto_44
:cond_4d
move v0, v1
.line 102
goto :goto_44
.end method
.method public final ai(Ljava/lang/String;)Ljava/util/List;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/models/d;",
">;"
}
.end annotation
.prologue
.line 448
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tp:Lcom/cmcm/safewallet/data/c/e;
const/4 v1, 0x1
const/16 v2, 0x32
invoke-interface {v0, p1, v1, v2}, Lcom/cmcm/safewallet/data/c/e;->a(Ljava/lang/String;II)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/math/BigInteger;Ljava/math/BigInteger;)Lcom/cmcm/safewallet/data/models/d;
.registers 13
.prologue
.line 188
:try_start_0
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->B(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 189
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_30
.line 190
new-instance v1, Ljava/math/BigInteger;
const/16 v2, 0x10
invoke-direct {v1, v0, v2}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
invoke-static {v1}, Lorg/web3j/crypto/ECKeyPair;->create(Ljava/math/BigInteger;)Lorg/web3j/crypto/ECKeyPair;
move-result-object v0
.line 191
invoke-static {v0}, Lorg/web3j/crypto/Credentials;->create(Lorg/web3j/crypto/ECKeyPair;)Lorg/web3j/crypto/Credentials;
move-result-object v1
move-object v0, p0
move-object v2, p4
move-object v3, p3
move-object v4, p5
move-object v5, p6
.line 192
invoke-virtual/range {v0 .. v5}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->a(Lorg/web3j/crypto/Credentials;Ljava/lang/String;Ljava/lang/String;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/lang/String;
move-result-object v1
.line 193
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$2;
invoke-direct {v0, v1, p4}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$2;-><init>(Ljava/lang/String;Ljava/lang/String;)V
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2b} :catch_2c
.line 243
:goto_2b
return-object v0
.line 241
:catch_2c
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 243
:cond_30
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$3;
invoke-direct {v0, p4}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$3;-><init>(Ljava/lang/String;)V
goto :goto_2b
.end method
.method public final b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;)Z
.registers 6
.prologue
const/4 v1, 0x0
.line 406
if-eqz p1, :cond_d
iget-object v0, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
if-eqz v0, :cond_d
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_f
:cond_d
move v0, v1
.line 423
:goto_e
return v0
.line 410
:cond_f
iget-object v0, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 8045
iget-object v0, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zl:Ljava/util/List;
.line 411
if-eqz v0, :cond_1b
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v2
if-eqz v2, :cond_1d
:cond_1b
move v0, v1
.line 412
goto :goto_e
.line 415
:cond_1d
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_21
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_3b
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
.line 416
if-eqz v0, :cond_21
.line 419
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getContractAddr()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_21
.line 420
const/4 v0, 0x1
goto :goto_e
:cond_3b
move v0, v1
.line 423
goto :goto_e
.end method
.method public final fM()Lcom/cmcm/safewallet/data/c/d;
.registers 3
.prologue
const/4 v1, 0x0
.line 428
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tp:Lcom/cmcm/safewallet/data/c/e;
invoke-interface {v0, v1, v1}, Lcom/cmcm/safewallet/data/c/e;->a(Ljava/lang/String;Lcom/cmcm/safewallet/data/coinprovider/btc/e;)Lcom/cmcm/safewallet/data/c/d;
move-result-object v0
return-object v0
.end method
.method public final fN()Z
.registers 3
.prologue
.line 438
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tq:Lcom/cmcm/safewallet/data/coinprovider/erc20/d;
.line 12204
iget-object v1, v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/d;->TH:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->clear()V
.line 12205
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/d;->iO()Z
move-result v0
.line 438
return v0
.end method
.method public j(Ljava/lang/String;Ljava/lang/String;)Z
.registers 8
.prologue
const/4 v1, 0x0
.line 107
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->aK(Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
move-result-object v3
.line 108
if-nez v3, :cond_9
move v0, v1
.line 123
:goto_8
return v0
.line 111
:cond_9
iget-object v0, v3, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 2045
iget-object v4, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zl:Ljava/util/List;
.line 112
if-eqz v4, :cond_37
.line 113
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
move v2, v0
:goto_16
if-ltz v2, :cond_37
.line 114
invoke-interface {v4, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
.line 115
iget-object v0, v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->contractAddr:Ljava/lang/String;
invoke-virtual {p2, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_33
.line 116
invoke-interface {v4, v2}, Ljava/util/List;->remove(I)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_33
.line 117
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->OP:Lcom/cmcm/safewallet/data/c/f;
invoke-interface {v0, v3}, Lcom/cmcm/safewallet/data/c/f;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.line 118
const/4 v0, 0x1
goto :goto_8
.line 113
:cond_33
add-int/lit8 v0, v2, -0x1
move v2, v0
goto :goto_16
:cond_37
move v0, v1
.line 123
goto :goto_8
.end method
.method public final k(Ljava/lang/String;Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/b;
.registers 4
.prologue
.line 168
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$1;
invoke-direct {v0, p0, p1, p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a$1;-><init>(Lcom/cmcm/safewallet/data/coinprovider/erc20/a;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method
.method public final l(Ljava/lang/String;Ljava/lang/String;)I
.registers 4
.prologue
.line 453
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->Tp:Lcom/cmcm/safewallet/data/c/e;
invoke-interface {v0, p1, p2}, Lcom/cmcm/safewallet/data/c/e;->n(Ljava/lang/String;Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public m(Ljava/lang/String;Ljava/lang/String;)Z
.registers 6
.prologue
const/4 v1, 0x0
.line 379
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_d
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_f
:cond_d
move v0, v1
.line 401
:goto_e
return v0
.line 383
:cond_f
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/a;->aK(Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
move-result-object v0
.line 384
if-nez v0, :cond_17
move v0, v1
.line 385
goto :goto_e
.line 387
:cond_17
iget-object v0, v0, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 7045
iget-object v0, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zl:Ljava/util/List;
.line 388
if-eqz v0, :cond_23
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v2
if-eqz v2, :cond_25
:cond_23
move v0, v1
.line 389
goto :goto_e
.line 392
:cond_25
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_29
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_45
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
.line 393
if-eqz v0, :cond_29
.line 396
if-eqz v0, :cond_29
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getContractAddr()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_29
.line 397
const/4 v0, 0x1
goto :goto_e
:cond_45
move v0, v1
.line 401
goto :goto_e
.end method