use of org.hyperledger.besu.evm.log.LogTopic in project hedera-services by hashgraph.
the class EncodingFacadeTest method logBuilderWithTopicsWithDifferentTypes.
@Test
void logBuilderWithTopicsWithDifferentTypes() {
final var log = EncodingFacade.LogBuilder.logBuilder().forLogger(logger).forEventSignature(TRANSFER_EVENT).forIndexedArgument(senderAddress).forIndexedArgument(20L).forIndexedArgument(BigInteger.valueOf(20)).forIndexedArgument(Boolean.TRUE).forIndexedArgument(false).build();
final List<LogTopic> topics = new ArrayList<>();
topics.add(LogTopic.wrap(Bytes.fromHexString("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")));
topics.add(LogTopic.wrap(Bytes.fromHexString("0x0000000000000000000000000000000000000000000000000000000000000008")));
topics.add(LogTopic.wrap(Bytes.fromHexString("0x0000000000000000000000000000000000000000000000000000000000000014")));
topics.add(LogTopic.wrap(Bytes.fromHexString("0x0000000000000000000000000000000000000000000000000000000000000014")));
topics.add(LogTopic.wrap(Bytes.fromHexString("0x0000000000000000000000000000000000000000000000000000000000000001")));
topics.add(LogTopic.wrap(Bytes.fromHexString("0x0000000000000000000000000000000000000000000000000000000000000000")));
assertEquals(new Log(logger, Bytes.EMPTY, topics), log);
}
use of org.hyperledger.besu.evm.log.LogTopic in project hedera-services by hashgraph.
the class EncodingFacadeTest method logBuilderWithTopics.
@Test
void logBuilderWithTopics() {
final var log = EncodingFacade.LogBuilder.logBuilder().forLogger(logger).forEventSignature(TRANSFER_EVENT).forIndexedArgument(senderAddress).forIndexedArgument(recipientAddress).build();
final List<LogTopic> topics = new ArrayList<>();
topics.add(LogTopic.wrap(Bytes.fromHexString("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")));
topics.add(LogTopic.wrap(Bytes.fromHexString("0x0000000000000000000000000000000000000000000000000000000000000008")));
topics.add(LogTopic.wrap(Bytes.fromHexString("0x0000000000000000000000000000000000000000000000000000000000000006")));
assertEquals(new Log(logger, Bytes.EMPTY, topics), log);
}
use of org.hyperledger.besu.evm.log.LogTopic in project besu by hyperledger.
the class LogsQueryTest method univariateTopicQueryLogWithoutTopicReturnFalse.
@Test
public void univariateTopicQueryLogWithoutTopicReturnFalse() {
final Address address = Address.fromHexString("0x1111111111111111111111111111111111111111");
final LogTopic topic = LogTopic.fromHexString("0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
final List<LogTopic> topics = new ArrayList<>();
topics.add(topic);
final List<List<LogTopic>> topicsQuery = new ArrayList<>();
topicsQuery.add(topics);
final LogsQuery query = new LogsQuery.Builder().address(address).topics(topicsQuery).build();
final Log log = new Log(address, data, Lists.newArrayList());
assertThat(query.matches(log)).isFalse();
}
use of org.hyperledger.besu.evm.log.LogTopic in project besu by hyperledger.
the class LogsQueryTest method multivariateTopicQueryMismatchReturnFalse.
@Test
public void multivariateTopicQueryMismatchReturnFalse() {
final Address address = Address.fromHexString("0x1111111111111111111111111111111111111111");
final LogTopic topic1 = LogTopic.fromHexString("0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
final LogTopic topic2 = LogTopic.fromHexString("0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
final LogTopic topic3 = LogTopic.fromHexString("0xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc");
final List<LogTopic> logTopics = new ArrayList<>();
logTopics.add(topic1);
logTopics.add(topic2);
final List<LogTopic> queryTopics = new ArrayList<>();
queryTopics.add(topic3);
final List<List<LogTopic>> queryParameter = new ArrayList<>();
queryParameter.add(queryTopics);
final LogsQuery query = new LogsQuery.Builder().address(address).topics(queryParameter).build();
final Log log = new Log(address, data, logTopics);
assertThat(query.matches(log)).isFalse();
}
use of org.hyperledger.besu.evm.log.LogTopic in project besu by hyperledger.
the class LogsQueryTest method univariateTopicQueryMatchReturnTrue.
@Test
public void univariateTopicQueryMatchReturnTrue() {
final Address address = Address.fromHexString("0x1111111111111111111111111111111111111111");
final LogTopic topic = LogTopic.fromHexString("0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
final List<LogTopic> topics = new ArrayList<>();
topics.add(topic);
final List<List<LogTopic>> topicsQuery = new ArrayList<>();
topicsQuery.add(topics);
final LogsQuery query = new LogsQuery.Builder().address(address).topics(topicsQuery).build();
final Log log = new Log(address, data, Lists.newArrayList(topic));
assertThat(query.couldMatch(LogsBloomFilter.builder().insertLog(log).build())).isTrue();
assertThat(query.matches(log)).isTrue();
}
Aggregations