Bytes.smali

.class public Lorg/web3j/abi/datatypes/Bytes;
.super Lorg/web3j/abi/datatypes/BytesType;
.source "Bytes.java"


# static fields
.field public static final TYPE_NAME:Ljava/lang/String; = "bytes"


# direct methods
.method protected constructor <init>(I[B)V
    .registers 5

    .prologue
    .line 11
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "bytes"

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    array-length v1, p2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, p2, v0}, Lorg/web3j/abi/datatypes/BytesType;-><init>([BLjava/lang/String;)V

    .line 12
    invoke-direct {p0, p1, p2}, Lorg/web3j/abi/datatypes/Bytes;->isValid(I[B)Z

    move-result v0

    if-nez v0, :cond_21

    .line 13
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "Input byte array must be in range 0 < M <= 32 and length must match type"

    invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 16
    :cond_21
    return-void
.end method

.method private isValid(I[B)Z
    .registers 5

    .prologue
    .line 19
    array-length v0, p2

    .line 20
    if-lez v0, :cond_b

    const/16 v1, 0x20

    if-gt v0, v1, :cond_b

    if-ne v0, p1, :cond_b

    const/4 v0, 0x1

    :goto_a
    return v0

    :cond_b
    const/4 v0, 0x0

    goto :goto_a
.end method