Java源码示例:org.web3j.abi.datatypes.generated.Bytes32
示例1
public RemoteFunctionCall<List> getParticipants(byte[] _enclaveKey) {
final org.web3j.abi.datatypes.Function function =
new org.web3j.abi.datatypes.Function(
FUNC_GETPARTICIPANTS,
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Bytes32(_enclaveKey)),
Arrays.<TypeReference<?>>asList(new TypeReference<DynamicArray<Bytes32>>() {}));
return new RemoteFunctionCall<List>(
function,
new Callable<List>() {
@Override
@SuppressWarnings("unchecked")
public List call() throws Exception {
List<Type> result = (List<Type>) executeCallSingleValueReturn(function, List.class);
return convertToNative(result);
}
});
}
示例2
@Test
public void testGetNativeType() {
assertThat(getNativeType(TypeName.get(Address.class)),
equalTo(TypeName.get(String.class)));
assertThat(getNativeType(TypeName.get(Uint256.class)),
equalTo(TypeName.get(BigInteger.class)));
assertThat(getNativeType(TypeName.get(Int256.class)),
equalTo(TypeName.get(BigInteger.class)));
assertThat(getNativeType(TypeName.get(Utf8String.class)),
equalTo(TypeName.get(String.class)));
assertThat(getNativeType(TypeName.get(Bool.class)),
equalTo(TypeName.get(Boolean.class)));
assertThat(getNativeType(TypeName.get(Bytes32.class)),
equalTo(TypeName.get(byte[].class)));
assertThat(getNativeType(TypeName.get(DynamicBytes.class)),
equalTo(TypeName.get(byte[].class)));
}
示例3
public RemoteCall<Tuple2<byte[], BigInteger>> bids(String param0, BigInteger param1) {
final Function function = new Function(FUNC_BIDS,
Arrays.<Type>asList(new org.web3j.abi.datatypes.Address(param0),
new org.web3j.abi.datatypes.generated.Uint256(param1)),
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}, new TypeReference<Uint256>() {}));
return new RemoteCall<Tuple2<byte[], BigInteger>>(
new Callable<Tuple2<byte[], BigInteger>>() {
@Override
public Tuple2<byte[], BigInteger> call() throws Exception {
List<Type> results = executeCallMultipleValueReturn(function);
return new Tuple2<byte[], BigInteger>(
(byte[]) results.get(0).getValue(),
(BigInteger) results.get(1).getValue());
}
});
}
示例4
public Observable<ContentChangedEventResponse> contentChangedEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("ContentChanged",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}),
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, ContentChangedEventResponse>() {
@Override
public ContentChangedEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
ContentChangedEventResponse typedResponse = new ContentChangedEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.hash = (byte[]) eventValues.getNonIndexedValues().get(0).getValue();
return typedResponse;
}
});
}
示例5
public Observable<NameChangedEventResponse> nameChangedEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("NameChanged",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}),
Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, NameChangedEventResponse>() {
@Override
public NameChangedEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
NameChangedEventResponse typedResponse = new NameChangedEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.name = (String) eventValues.getNonIndexedValues().get(0).getValue();
return typedResponse;
}
});
}
示例6
public Observable<ABIChangedEventResponse> aBIChangedEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("ABIChanged",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}, new TypeReference<Uint256>() {}),
Arrays.<TypeReference<?>>asList());
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, ABIChangedEventResponse>() {
@Override
public ABIChangedEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
ABIChangedEventResponse typedResponse = new ABIChangedEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.contentType = (BigInteger) eventValues.getIndexedValues().get(1).getValue();
return typedResponse;
}
});
}
示例7
public Observable<PubkeyChangedEventResponse> pubkeyChangedEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("PubkeyChanged",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}),
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}, new TypeReference<Bytes32>() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, PubkeyChangedEventResponse>() {
@Override
public PubkeyChangedEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
PubkeyChangedEventResponse typedResponse = new PubkeyChangedEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.x = (byte[]) eventValues.getNonIndexedValues().get(0).getValue();
typedResponse.y = (byte[]) eventValues.getNonIndexedValues().get(1).getValue();
return typedResponse;
}
});
}
示例8
public RemoteCall<Tuple2<BigInteger, byte[]>> ABI(byte[] node, BigInteger contentTypes) {
final Function function = new Function("ABI",
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Bytes32(node),
new org.web3j.abi.datatypes.generated.Uint256(contentTypes)),
Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}, new TypeReference<DynamicBytes>() {}));
return new RemoteCall<Tuple2<BigInteger, byte[]>>(
new Callable<Tuple2<BigInteger, byte[]>>() {
@Override
public Tuple2<BigInteger, byte[]> call() throws Exception {
List<Type> results = executeCallMultipleValueReturn(function);;
return new Tuple2<BigInteger, byte[]>(
(BigInteger) results.get(0).getValue(),
(byte[]) results.get(1).getValue());
}
});
}
示例9
public Observable<NewOwnerEventResponse> newOwnerEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("NewOwner",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}, new TypeReference<Bytes32>() {}),
Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, NewOwnerEventResponse>() {
@Override
public NewOwnerEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
NewOwnerEventResponse typedResponse = new NewOwnerEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.label = (byte[]) eventValues.getIndexedValues().get(1).getValue();
typedResponse.owner = (String) eventValues.getNonIndexedValues().get(0).getValue();
return typedResponse;
}
});
}
示例10
public Observable<TransferEventResponse> transferEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("Transfer",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}),
Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, TransferEventResponse>() {
@Override
public TransferEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
TransferEventResponse typedResponse = new TransferEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.owner = (String) eventValues.getNonIndexedValues().get(0).getValue();
return typedResponse;
}
});
}
示例11
public Observable<NewResolverEventResponse> newResolverEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("NewResolver",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}),
Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, NewResolverEventResponse>() {
@Override
public NewResolverEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
NewResolverEventResponse typedResponse = new NewResolverEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.resolver = (String) eventValues.getNonIndexedValues().get(0).getValue();
return typedResponse;
}
});
}
示例12
public Observable<NewTTLEventResponse> newTTLEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("NewTTL",
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}),
Arrays.<TypeReference<?>>asList(new TypeReference<Uint64>() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1<Log, NewTTLEventResponse>() {
@Override
public NewTTLEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
NewTTLEventResponse typedResponse = new NewTTLEventResponse();
typedResponse.node = (byte[]) eventValues.getIndexedValues().get(0).getValue();
typedResponse.ttl = (BigInteger) eventValues.getNonIndexedValues().get(0).getValue();
return typedResponse;
}
});
}
示例13
public RemoteFunctionCall<TransactionReceipt> deposit(
byte[] pubkey,
byte[] withdrawal_credentials,
byte[] signature,
byte[] deposit_data_root,
BigInteger weiValue) {
final org.web3j.abi.datatypes.Function function =
new org.web3j.abi.datatypes.Function(
FUNC_DEPOSIT,
Arrays.<Type>asList(
new org.web3j.abi.datatypes.DynamicBytes(pubkey),
new org.web3j.abi.datatypes.DynamicBytes(withdrawal_credentials),
new org.web3j.abi.datatypes.DynamicBytes(signature),
new org.web3j.abi.datatypes.generated.Bytes32(deposit_data_root)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function, weiValue);
}
示例14
public RemoteCall<Tuple8<String, String, BigInteger, BigInteger, BigInteger, BigInteger, String, byte[]>> shipments(String param0) {
final Function function = new Function(FUNC_SHIPMENTS,
Arrays.<Type>asList(new org.web3j.abi.datatypes.Address(param0)),
Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}, new TypeReference<Address>() {}, new TypeReference<Uint256>() {}, new TypeReference<Uint256>() {}, new TypeReference<Uint8>() {}, new TypeReference<Uint256>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Bytes32>() {}));
return new RemoteCall<Tuple8<String, String, BigInteger, BigInteger, BigInteger, BigInteger, String, byte[]>>(
new Callable<Tuple8<String, String, BigInteger, BigInteger, BigInteger, BigInteger, String, byte[]>>() {
@Override
public Tuple8<String, String, BigInteger, BigInteger, BigInteger, BigInteger, String, byte[]> call() throws Exception {
List<Type> results = executeCallMultipleValueReturn(function);
return new Tuple8<String, String, BigInteger, BigInteger, BigInteger, BigInteger, String, byte[]>(
(String) results.get(0).getValue(),
(String) results.get(1).getValue(),
(BigInteger) results.get(2).getValue(),
(BigInteger) results.get(3).getValue(),
(BigInteger) results.get(4).getValue(),
(BigInteger) results.get(5).getValue(),
(String) results.get(6).getValue(),
(byte[]) results.get(7).getValue());
}
});
}
示例15
@SuppressWarnings("unchecked")
public <T extends Type> Type decodeEventParameter(
String rawInput, TypeReference<T> typeReference) {
String input = Numeric.cleanHexPrefix(rawInput);
try {
Class<T> type = typeReference.getClassType();
if (Bytes.class.isAssignableFrom(type)) {
Class<Bytes> bytesClass = (Class<Bytes>) Class.forName(type.getName());
return TypeDecoder.decodeBytes(input, bytesClass);
} else if (Array.class.isAssignableFrom(type)
|| BytesType.class.isAssignableFrom(type)
|| Utf8String.class.isAssignableFrom(type)) {
return TypeDecoder.decodeBytes(input, Bytes32.class);
} else {
return TypeDecoder.decode(input, type);
}
} catch (ClassNotFoundException e) {
throw new UnsupportedOperationException("Invalid class reference provided", e);
}
}
示例16
public RemoteCall<Tuple2<byte[], BigInteger>> proposals(BigInteger param0) {
final Function function = new Function(FUNC_PROPOSALS,
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Uint256(param0)),
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}, new TypeReference<Uint256>() {}));
return new RemoteCall<Tuple2<byte[], BigInteger>>(
new Callable<Tuple2<byte[], BigInteger>>() {
@Override
public Tuple2<byte[], BigInteger> call() throws Exception {
List<Type> results = executeCallMultipleValueReturn(function);
return new Tuple2<byte[], BigInteger>(
(byte[]) results.get(0).getValue(),
(BigInteger) results.get(1).getValue());
}
});
}
示例17
public RemoteFunctionCall<TransactionReceipt> removeParticipant(
byte[] _enclaveKey, byte[] _account) {
final org.web3j.abi.datatypes.Function function =
new org.web3j.abi.datatypes.Function(
FUNC_REMOVEPARTICIPANT,
Arrays.<Type>asList(
new org.web3j.abi.datatypes.generated.Bytes32(_enclaveKey),
new org.web3j.abi.datatypes.generated.Bytes32(_account)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}
示例18
public RemoteCall<TransactionReceipt> setName(byte[] node, String name) {
final Function function = new Function(
FUNC_SETNAME,
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Bytes32(node),
new org.web3j.abi.datatypes.Utf8String(name)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}
示例19
public RemoteCall<TransactionReceipt> setOwner(byte[] node, String owner) {
final Function function = new Function(
FUNC_SETOWNER,
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Bytes32(node),
new org.web3j.abi.datatypes.Address(owner)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}
示例20
public RemoteFunctionCall<TransactionReceipt> removeParticipant(
byte[] enclaveKey, byte[] account) {
final Function function =
new Function(
FUNC_REMOVEPARTICIPANT,
Arrays.<Type>asList(
new org.web3j.abi.datatypes.generated.Bytes32(enclaveKey),
new org.web3j.abi.datatypes.generated.Bytes32(account)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}
示例21
public RemoteFunctionCall<TransactionReceipt> addParticipants(
byte[] enclaveKey, List<byte[]> participants) {
final Function function =
new Function(
FUNC_ADDPARTICIPANTS,
Arrays.<Type>asList(
new org.web3j.abi.datatypes.generated.Bytes32(enclaveKey),
new org.web3j.abi.datatypes.DynamicArray<org.web3j.abi.datatypes.generated.Bytes32>(
org.web3j.abi.datatypes.generated.Bytes32.class,
org.web3j.abi.Utils.typeMap(
participants, org.web3j.abi.datatypes.generated.Bytes32.class))),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}
示例22
public RemoteFunctionCall<byte[]> getVersion() {
final Function function =
new Function(
FUNC_GETVERSION,
Arrays.<Type>asList(),
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}));
return executeRemoteCallSingleValueReturn(function, byte[].class);
}
示例23
public RemoteFunctionCall<TransactionReceipt> removeParticipant(
byte[] enclaveKey, byte[] account) {
final Function function =
new Function(
FUNC_REMOVEPARTICIPANT,
Arrays.<Type>asList(
new org.web3j.abi.datatypes.generated.Bytes32(enclaveKey),
new org.web3j.abi.datatypes.generated.Bytes32(account)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}
示例24
@Test
public void testDecodeIndexedStringValue() {
Utf8String string = new Utf8String("some text");
String encoded = TypeEncoder.encodeString(string);
String hash = Hash.sha3(encoded);
assertThat(FunctionReturnDecoder.decodeIndexedValue(
hash,
new TypeReference<Utf8String>() {}),
equalTo(new Bytes32(Numeric.hexStringToByteArray(hash))));
}
示例25
@Test
public void testDecodeIndexedBytes32Value() {
String rawInput = "0x1234567890123456789012345678901234567890123456789012345678901234";
byte[] rawInputBytes = Numeric.hexStringToByteArray(rawInput);
assertThat(FunctionReturnDecoder.decodeIndexedValue(
rawInput,
new TypeReference<Bytes32>(){}),
equalTo(new Bytes32(rawInputBytes)));
}
示例26
public RemoteCall<TransactionReceipt> bid(byte[] _blindedBid, BigInteger weiValue) {
final Function function = new Function(
FUNC_BID,
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Bytes32(_blindedBid)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function, weiValue);
}
示例27
@Test
public void testDecodeIndexedDynamicArrayValue() {
DynamicArray<Uint256> array = new DynamicArray<>(new Uint256(BigInteger.TEN));
String encoded = TypeEncoder.encodeDynamicArray(array);
String hash = Hash.sha3(encoded);
assertThat(FunctionReturnDecoder.decodeIndexedValue(
hash,
new TypeReference<DynamicArray>() {}),
equalTo(new Bytes32(Numeric.hexStringToByteArray(hash))));
}
示例28
public RemoteCall<TransactionReceipt> reveal(List<BigInteger> _values, List<Boolean> _fake, List<byte[]> _secret) {
final Function function = new Function(
FUNC_REVEAL,
Arrays.<Type>asList(new org.web3j.abi.datatypes.DynamicArray<org.web3j.abi.datatypes.generated.Uint256>(
org.web3j.abi.datatypes.generated.Uint256.class,
org.web3j.abi.Utils.typeMap(_values, org.web3j.abi.datatypes.generated.Uint256.class)),
new org.web3j.abi.datatypes.DynamicArray<org.web3j.abi.datatypes.Bool>(
org.web3j.abi.datatypes.Bool.class,
org.web3j.abi.Utils.typeMap(_fake, org.web3j.abi.datatypes.Bool.class)),
new org.web3j.abi.datatypes.DynamicArray<org.web3j.abi.datatypes.generated.Bytes32>(
org.web3j.abi.datatypes.generated.Bytes32.class,
org.web3j.abi.Utils.typeMap(_secret, org.web3j.abi.datatypes.generated.Bytes32.class))),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}
示例29
public RemoteCall<Tuple2<byte[], byte[]>> pubkey(byte[] node) {
final Function function = new Function(FUNC_PUBKEY,
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Bytes32(node)),
Arrays.<TypeReference<?>>asList(new TypeReference<Bytes32>() {}, new TypeReference<Bytes32>() {}));
return new RemoteCall<Tuple2<byte[], byte[]>>(
new Callable<Tuple2<byte[], byte[]>>() {
@Override
public Tuple2<byte[], byte[]> call() throws Exception {
List<Type> results = executeCallMultipleValueReturn(function);
return new Tuple2<byte[], byte[]>(
(byte[]) results.get(0).getValue(),
(byte[]) results.get(1).getValue());
}
});
}
示例30
public RemoteCall<TransactionReceipt> setTTL(byte[] node, BigInteger ttl) {
final Function function = new Function(
FUNC_SETTTL,
Arrays.<Type>asList(new org.web3j.abi.datatypes.generated.Bytes32(node),
new org.web3j.abi.datatypes.generated.Uint64(ttl)),
Collections.<TypeReference<?>>emptyList());
return executeRemoteCallTransaction(function);
}