-
Notifications
You must be signed in to change notification settings - Fork 12
/
Native.java
127 lines (102 loc) · 6.48 KB
/
Native.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package io.emurgo.rnhaskellshelley;
import java.util.Map;
final class Native {
static final Native I;
static {
I = new Native();
System.loadLibrary("react_native_haskell_shelley");
I.initLibrary();
}
private Native() { }
private native void initLibrary();
// Utils
public final native Result<RPtr> makeIcarusBootstrapWitness(RPtr txBodyHash, RPtr addr, RPtr key);
public final native Result<RPtr> makeVkeyWitness(RPtr txBodyHash, RPtr sk);
// public final native Result<RPtr> hashTransaction(RPtr txBody);
// BigNum
public final native Result<RPtr> bigNumFromStr(String str);
public final native Result<String> bigNumToStr(RPtr bigNum);
// Bip32PrivateKey
public final native Result<RPtr> bip32PrivateKeyDerive(RPtr bip32PrivateKey, long index);
public final native Result<RPtr> bip32PrivateKeyGenerateEd25519Bip32();
public final native Result<RPtr> bip32PrivateKeyToRawKey(RPtr bip32PrivateKey);
public final native Result<RPtr> bip32PrivateKeyToPublic(RPtr bip32PrivateKey);
public final native Result<RPtr> bip32PrivateKeyFromBytes(byte[] bytes);
public final native Result<byte[]> bip32PrivateKeyAsBytes(RPtr bip32PrivateKey);
public final native Result<RPtr> bip32PrivateKeyFromBech32(String bech32Str);
public final native Result<String> bip32PrivateKeyToBech32(RPtr bip32PrivateKey);
public final native Result<RPtr> bip32PrivateKeyFromBip39Entropy(byte[] entropy, byte[] password);
// ByronAddress
public final native Result<String> byronAddressToBase58(RPtr byronAddress);
public final native Result<RPtr> byronAddressFromBase58(String str);
// Address
public final native Result<byte[]> addressToBytes(RPtr address);
public final native Result<RPtr> addressFromBytes(byte[] bytes);
// Ed25519KeyHash
public final native Result<byte[]> ed25519KeyHashToBytes(RPtr ed25519KeyHash);
public final native Result<RPtr> ed25519KeyHashFromBytes(byte[] bytes);
// TransactionHash
public final native Result<byte[]> transactionHashToBytes(RPtr transactionHash);
public final native Result<RPtr> transactionHashFromBytes(byte[] bytes);
// StakeCredential
public final native Result<RPtr> stakeCredentialFromKeyHash(RPtr keyHash);
public final native Result<RPtr> stakeCredentialToKeyHash(RPtr stakeCredential);
public final native Result<Integer> stakeCredentialKind(RPtr stakeCredential);
public final native Result<byte[]> stakeCredentialToBytes(RPtr stakeCredential);
public final native Result<RPtr> stakeCredentialFromBytes(byte[] bytes);
// BaseAddress
public final native Result<RPtr> baseAddressNew(int network, RPtr payment, RPtr stake);
public final native Result<RPtr> baseAddressPaymentCred(RPtr baseAddress);
public final native Result<RPtr> baseAddressStakeCred(RPtr baseAddress);
// UnitInterval
public final native Result<byte[]> unitIntervalToBytes(RPtr unitInterval);
public final native Result<RPtr> unitIntervalFromBytes(byte[] bytes);
public final native Result<RPtr> unitIntervalNew(RPtr numerator, RPtr denominator);
// TransactionInput
public final native Result<byte[]> transactionInputToBytes(RPtr transactionInput);
public final native Result<RPtr> transactionInputFromBytes(byte[] bytes);
public final native Result<RPtr> transactionInputTransactionId(RPtr transactionInput);
public final native Result<Long> transactionInputIndex(RPtr transactionInput);
public final native Result<RPtr> transactionInputNew(RPtr transactionId, long index);
// TransactionOutput
public final native Result<byte[]> transactionOutputToBytes(RPtr transactionOutput);
public final native Result<RPtr> transactionOutputFromBytes(byte[] bytes);
public final native Result<RPtr> transactionOutputNew(RPtr address, RPtr amount);
// LinearFee
public final native Result<RPtr> linearFeeCoefficient(RPtr linearFee);
public final native Result<RPtr> linearFeeConstant(RPtr linearFee);
public final native Result<RPtr> linearFeeNew(RPtr coefficient, RPtr constant);
// Vkeywitnesses
public final native Result<RPtr> vkeywitnessesNew();
public final native Result<Long> vkeywitnessesLen(RPtr vkwitnesses);
public final native Result<Void> vkeywitnessesAdd(RPtr vkwitnesses, RPtr item);
// BootstrapWitnesses
public final native Result<RPtr> bootstrapWitnessesNew();
public final native Result<Long> bootstrapWitnessesLen(RPtr witnesses);
public final native Result<Void> bootstrapWitnessesAdd(RPtr witnesses, RPtr item);
// TransactionWitnessSet
public final native Result<RPtr> transactionWitnessSetNew();
public final native Result<Void> transactionWitnessSetSetVkeys(RPtr witnessSet, RPtr vkeys);
public final native Result<Void> transactionWitnessSetSetBootstraps(RPtr witnessSet, RPtr bootstraps);
// TransactionBody
public final native Result<byte[]> transactionBodyToBytes(RPtr TransactionBody);
public final native Result<RPtr> transactionBodyFromBytes(byte[] bytes);
// Transaction
public final native Result<RPtr> transactionNew(RPtr body, RPtr witnessSet);
public final native Result<byte[]> transactionToBytes(RPtr Transaction);
public final native Result<RPtr> transactionFromBytes(byte[] bytes);
// TransactionBuilder
public final native Result<Void> transactionBuilderAddKeyInput(RPtr txBuilder, RPtr hash, RPtr input, RPtr value);
public final native Result<Void> transactionBuilderAddBootstrapInput(RPtr txBuilder, RPtr hash, RPtr input, RPtr value);
public final native Result<Void> transactionBuilderAddOutput(RPtr txBuilder, RPtr input);
public final native Result<Void> transactionBuilderSetFee(RPtr txBuilder, RPtr fee);
public final native Result<Void> transactionBuilderSetTtl(RPtr txBuilder, long ttl);
public final native Result<RPtr> transactionBuilderNew(RPtr linearFee, RPtr minimumUtxoVal, RPtr poolDeposit, RPtr keyDeposit);
public final native Result<RPtr> transactionBuilderGetExplicitInput(RPtr txBuilder);
public final native Result<RPtr> transactionBuilderGetImplicitInput(RPtr txBuilder);
public final native Result<RPtr> transactionBuilderGetExplicitOutput(RPtr txBuilder);
public final native Result<Boolean> transactionBuilderAddChangeIfNeeded(RPtr txBuilder, RPtr address);
public final native Result<RPtr> transactionBuilderBuild(RPtr txBuilder);
public final native Result<RPtr> transactionBuilderEstimateFee(RPtr txBuilder);
public final native void ptrFree(RPtr ptr);
}