NativeSecp256k1.smali

.class public Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoin/NativeSecp256k1;
.super Ljava/lang/Object;
.source "NativeSecp256k1.java"


# static fields
.field private static final rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 42
    new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V

    .line 43
    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoin/NativeSecp256k1;->rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;

    .line 44
    sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoin/NativeSecp256k1;->rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;

    .line 45
    new-instance v0, Ljava/lang/ThreadLocal;

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

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .prologue
    .line 40
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method private static native secp256k1_context_randomize(Ljava/nio/ByteBuffer;J)I
.end method

.method private static native secp256k1_ctx_clone(J)J
.end method

.method private static native secp256k1_destroy_context(J)V
.end method

.method private static native secp256k1_ec_pubkey_create(Ljava/nio/ByteBuffer;J)[[B
.end method

.method private static native secp256k1_ec_pubkey_parse(Ljava/nio/ByteBuffer;JI)[[B
.end method

.method private static native secp256k1_ec_seckey_verify(Ljava/nio/ByteBuffer;J)I
.end method

.method private static native secp256k1_ecdh(Ljava/nio/ByteBuffer;JI)[[B
.end method

.method private static native secp256k1_ecdsa_sign(Ljava/nio/ByteBuffer;J)[[B
.end method

.method private static native secp256k1_ecdsa_verify(Ljava/nio/ByteBuffer;JII)I
.end method

.method private static native secp256k1_privkey_tweak_add(Ljava/nio/ByteBuffer;J)[[B
.end method

.method private static native secp256k1_privkey_tweak_mul(Ljava/nio/ByteBuffer;J)[[B
.end method

.method private static native secp256k1_pubkey_tweak_add(Ljava/nio/ByteBuffer;JI)[[B
.end method

.method private static native secp256k1_pubkey_tweak_mul(Ljava/nio/ByteBuffer;JI)[[B
.end method

.method private static native secp256k1_schnorr_sign(Ljava/nio/ByteBuffer;J)[[B
.end method