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