public final class Function
extends java.lang.Object
implements java.io.Serializable
| 限定符和类型 | 类和说明 |
|---|---|
static class |
Function.Type |
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
SELECTOR_LEN |
| 构造器和说明 |
|---|
Function(Function.Type type,
java.lang.String signature,
java.lang.String outputs,
java.security.MessageDigest messageDigest) |
Function(java.lang.String signature) |
Function(java.lang.String signature,
java.lang.String outputs) |
Function(java.lang.String signature,
java.lang.String outputs,
java.security.MessageDigest messageDigest) |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
callLength(Tuple args) |
int |
callLength(Tuple args,
boolean validate) |
Tuple |
decodeCall(byte[] array)
把合约方法调用的data解码为Java对象
|
Tuple |
decodeCall(java.nio.ByteBuffer abiBuffer)
把合约方法调用的data解码为Java对象
|
Tuple |
decodeReturn(byte[] returnVals) |
Tuple |
decodeReturn(java.nio.ByteBuffer returnVals) |
java.nio.ByteBuffer |
encodeCall(Tuple args) |
Function |
encodeCall(Tuple args,
java.nio.ByteBuffer dest,
boolean validate) |
java.nio.ByteBuffer |
encodeCallWithArgs(java.lang.Object... args) |
boolean |
equals(java.lang.Object o) |
static java.lang.String |
formatCall(byte[] abiCall) |
static java.lang.String |
formatCall(byte[] buffer,
int offset,
int length)
Returns a formatted string for a given ABI-encoded function call.
|
static Function |
fromJson(java.lang.String functionJson) |
static Function |
fromJsonObject(com.google.gson.JsonObject function) |
java.lang.String |
getCanonicalSignature() |
java.lang.String |
getHashAlgorithm() |
java.lang.String |
getName() |
TupleType |
getOutputTypes() |
TupleType |
getParamTypes() |
java.lang.String |
getStateMutability() |
Function.Type |
getType() |
int |
hashCode() |
static java.lang.String |
hexOf(byte[] bytes) |
static java.lang.String |
hexOf(java.nio.ByteBuffer buffer) |
static java.security.MessageDigest |
newDefaultDigest() |
static Function |
parse(java.lang.String signature) |
byte[] |
selector() |
java.lang.String |
selectorHex() |
public static final int SELECTOR_LEN
public Function(java.lang.String signature)
throws java.text.ParseException
java.text.ParseExceptionpublic Function(java.lang.String signature,
java.lang.String outputs)
throws java.text.ParseException
java.text.ParseExceptionpublic Function(java.lang.String signature,
java.lang.String outputs,
java.security.MessageDigest messageDigest)
throws java.text.ParseException
java.text.ParseExceptionpublic Function(Function.Type type, java.lang.String signature, java.lang.String outputs, java.security.MessageDigest messageDigest) throws java.text.ParseException
type - to denote function, constructor, or fallbacksignature - the function signatureoutputs - the signature of the tuple containing the return typesmessageDigest - the hash function with which to generate the 4-byte selectorjava.text.ParseException - if signature or outputs is malformedpublic java.lang.String getCanonicalSignature()
public Function.Type getType()
public java.lang.String getName()
public TupleType getParamTypes()
public TupleType getOutputTypes()
public byte[] selector()
public java.lang.String selectorHex()
public java.lang.String getHashAlgorithm()
public java.lang.String getStateMutability()
public Tuple decodeReturn(byte[] returnVals)
public Tuple decodeReturn(java.nio.ByteBuffer returnVals)
public int callLength(Tuple args)
public int callLength(Tuple args, boolean validate)
public java.nio.ByteBuffer encodeCallWithArgs(java.lang.Object... args)
public java.nio.ByteBuffer encodeCall(Tuple args)
public Tuple decodeCall(byte[] array)
array - public Tuple decodeCall(java.nio.ByteBuffer abiBuffer)
abiBuffer - 需要注意它的positionpublic static java.security.MessageDigest newDefaultDigest()
public int hashCode()
hashCode 在类中 java.lang.Objectpublic boolean equals(java.lang.Object o)
equals 在类中 java.lang.Objectpublic static java.lang.String formatCall(byte[] abiCall)
public static java.lang.String formatCall(byte[] buffer,
int offset,
int length)
buffer - the buffer containing the ABI calloffset - the offset into the input buffer of the ABI calllength - the length of the ABI calljava.lang.IllegalArgumentException - if the input length mod 32 != 4public static Function parse(java.lang.String signature) throws java.text.ParseException
java.text.ParseExceptionpublic static Function fromJson(java.lang.String functionJson) throws java.text.ParseException
java.text.ParseExceptionpublic static Function fromJsonObject(com.google.gson.JsonObject function) throws java.text.ParseException
java.text.ParseExceptionpublic static java.lang.String hexOf(byte[] bytes)
public static java.lang.String hexOf(java.nio.ByteBuffer buffer)