diff --git a/utils/src/main/java/org/web3j/utils/Bloom.java b/utils/src/main/java/org/web3j/utils/Bloom.java new file mode 100644 index 000000000..a8e072b5b --- /dev/null +++ b/utils/src/main/java/org/web3j/utils/Bloom.java @@ -0,0 +1,213 @@ +/* + * Copyright 2019 Web3 Labs Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package org.web3j.utils; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.Arrays; + +import org.web3j.crypto.Hash; + +/** + * Ethereum Bloom filter. can be used to create a filter or test an item (topic) for a given filter. + * + * @author Mehrdad Salehi + */ +public class Bloom { + // implemented as Ethereum yellow paper, section 4.3.1 + private static final int BYTES_LENGTH = 256; + private final byte[] bytes = new byte[BYTES_LENGTH]; + + /** + * test topics against a bloom filter. + * + * @param bloomBytes the filter bytes. + * @param topics topics to be tested + * @return true if all topics is present in filter, otherwise returns false + * @throws IllegalArgumentException if bloomBytes length is not 256, or it is null, or topics is + * null. + */ + public static boolean test(byte[] bloomBytes, byte[]... topics) { + Bloom bloom = new Bloom(bloomBytes); + if (topics == null) { + throw new IllegalArgumentException("topics can not be null"); + } + for (byte[] topic : topics) { + if (!bloom.test(topic)) { + return false; + } + } + return true; + } + + /** + * test topics against a bloom filter. + * + * @param bloomBytes the filter bytes. + * @param topics topics to be tested + * @return true if all topics is present in filter, otherwise returns false + * @throws IllegalArgumentException if bloomBytes length is not 256, or it is null, or topics is + * null. + */ + public static boolean test(String bloomBytes, String... topics) { + Bloom bloom = new Bloom(bloomBytes); + if (topics == null) { + throw new IllegalArgumentException("topics can not be null"); + } + for (String topic : topics) { + if (!bloom.test(topic)) { + return false; + } + } + return true; + } + + /** creates empty filter (all bits set to zero). */ + public Bloom() {} + + /** + * create filter from hex string. + * + * @param bytes the filter data. its length must be 256 bytes. + * @throws IllegalArgumentException if bytes length is not 256, or it is null. + */ + public Bloom(String bytes) { + if (bytes == null) { + throw new IllegalArgumentException("bytes can not be null"); + } + setBytes(Numeric.hexStringToByteArray(bytes)); + } + + /** + * create filter from bytes. + * + * @param bytes the filter data. its length must be 256 bytes. + * @throws IllegalArgumentException if bytes length is not 256, or it is null. + */ + public Bloom(byte[] bytes) { + setBytes(bytes); + } + + /** + * add a byte array (topic) to filter. after adding, test() will return true for this topic. + * + * @param topic the topic hex string. + * @throws IllegalArgumentException if topic is null. + */ + public void add(String topic) { + if (topic == null) { + throw new IllegalArgumentException("topic can not be null"); + } + add(Numeric.hexStringToByteArray(topic)); + } + + /** + * add a byte array (topic) to filter. after adding, test() will return true for this topic. + * + * @param topic the topic hex string. + * @throws IllegalArgumentException if topic is null. + */ + public void add(byte[] topic) { + if (topic == null) { + throw new IllegalArgumentException("topic can not be null"); + } + BloomValues b = getBloomValues(topic); + this.bytes[b.index[0]] |= b.value[0]; + this.bytes[b.index[1]] |= b.value[1]; + this.bytes[b.index[2]] |= b.value[2]; + } + + /** + * test presents of a topic. for every topic added by add() this returns true. + * + * @param topic the topic hex string. + * @return true if topic is present (false-positive is possible), and false if topic is not + * present(false-negative is not possible). + * @throws IllegalArgumentException if topic is null. + */ + public boolean test(String topic) { + if (topic == null) { + throw new IllegalArgumentException("topic can not be null"); + } + return test(Numeric.hexStringToByteArray(topic)); + } + + /** + * test presents of a topic. for every topic added by add() this returns true. + * + * @param topic the topic bytes. + * @return true if topic is present (false-positive is possible), and false if topic is not + * present(false-negative is not possible). + * @throws IllegalArgumentException if topic is null. + */ + public boolean test(byte[] topic) { + BloomValues b = getBloomValues(topic); + return b.value[0] == (b.value[0] & this.bytes[b.index[0]]) + && b.value[1] == (b.value[1] & this.bytes[b.index[1]]) + && b.value[2] == (b.value[2] & this.bytes[b.index[2]]); + } + + @Override + public String toString() { + return getBytesHexString(); + } + + /** @return Bloom filter bytes as hex string */ + public String getBytesHexString() { + return Numeric.toHexString(this.bytes); + } + + /** @return Bloom filter bytes (returns a copy) */ + public byte[] getBytes() { + byte[] bytesCopy = new byte[BYTES_LENGTH]; + System.arraycopy(this.bytes, 0, bytesCopy, 0, BYTES_LENGTH); + return bytesCopy; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Bloom bloom = (Bloom) o; + return Arrays.equals(bytes, bloom.bytes); + } + + @Override + public int hashCode() { + return Arrays.hashCode(bytes); + } + + private void setBytes(byte[] bytes) { + if (bytes == null) { + throw new IllegalArgumentException("bytes can not be null"); + } + if (bytes.length != BYTES_LENGTH) { + throw new IllegalArgumentException("bytes must be 256 in length"); + } + System.arraycopy(bytes, 0, this.bytes, 0, BYTES_LENGTH); + } + + private BloomValues getBloomValues(byte[] item) { + final byte[] hash = Hash.sha3(item); + byte v1 = (byte) (1 << (hash[1] & 0x7)); + byte v2 = (byte) (1 << (hash[3] & 0x7)); + byte v3 = (byte) (1 << (hash[5] & 0x7)); + ByteBuffer byteBuffer = ByteBuffer.wrap(hash).order(ByteOrder.BIG_ENDIAN); + int i1 = BYTES_LENGTH - ((byteBuffer.getShort(0) & 0x7ff) >> 3) - 1; + int i2 = BYTES_LENGTH - ((byteBuffer.getShort(2) & 0x7ff) >> 3) - 1; + int i3 = BYTES_LENGTH - ((byteBuffer.getShort(4) & 0x7ff) >> 3) - 1; + return new BloomValues(new byte[] {v1, v2, v3}, new int[] {i1, i2, i3}); + } + + private record BloomValues(byte[] value, int[] index) {} +} diff --git a/utils/src/test/java/org/web3j/utils/BloomTest.java b/utils/src/test/java/org/web3j/utils/BloomTest.java new file mode 100644 index 000000000..a514eda74 --- /dev/null +++ b/utils/src/test/java/org/web3j/utils/BloomTest.java @@ -0,0 +1,2240 @@ +/* + * Copyright 2019 Web3 Labs Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package org.web3j.utils; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.jupiter.api.Test; + +import static java.util.Arrays.asList; +import static org.junit.jupiter.api.Assertions.*; + +/** @author Mehrdad Salehi */ +public class BloomTest { + + // Ethereum logsBloom and logs for block + // '0xd865345454f7b3ea4c65bbeaf420d1aa591a788bb49bf45839f51d85cecb1d50' + // using real ethereum data is a great test case for Bloom class. + private static final String ethereumSampleLogsBloom = + "0xa165399f470c1660df9af0a2889b452611324e442c01850e6181081410e90f8202f4a3c1804802a983d03b4200160b230e3502028c06bdde5420de9f236cd7b82abec259ceb0182e9a4beb2c760796b088a125920164aa87cff59445c9b04820faa7010c96127e0f6595795782baae6e90d0860833126f3e821313d004ac002c086a0d5eee8a0199a45c52e8070a00fea4c89c81d9de069f11280646d611a92caec934758be0a6406f3e48eddc520ca1ccd2428d6b7b8acf060fda631f768607545c719211840cd687b89531054db2cf0c61423897e67fd03ec1441a007a64ed7fb3e94cc25408a1050cf002422108a485801d9a4dd8b04bab8d7b632308dc4b"; + private static final List ethereumSampleLogs = new ArrayList<>(); + + static { + // each line is a log (consisting of its topics) + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3")); + ethereumSampleLogs.addAll( + asList( + "0x0981d9774a59a703db85f5eaa23672283ea31106", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x0000000000000000000000000981d9774a59a703db85f5eaa23672283ea31106")); + ethereumSampleLogs.addAll( + asList( + "0x0981d9774a59a703db85f5eaa23672283ea31106", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0x1cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x1cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de", + "0x000000000000000000000000edabd7ee017fbac322d65aea7497899a211a7124")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0xf8d443502d122ef30743d2eafc4651d3501343de", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0xf8d443502d122ef30743d2eafc4651d3501343de", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3")); + ethereumSampleLogs.addAll( + asList( + "0x0981d9774a59a703db85f5eaa23672283ea31106", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x0000000000000000000000000981d9774a59a703db85f5eaa23672283ea31106")); + ethereumSampleLogs.addAll( + asList( + "0x0981d9774a59a703db85f5eaa23672283ea31106", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x000000000000000000000000f8eb9c2248ce3b6357c7e7067d4d16d62b7ed004")); + ethereumSampleLogs.addAll( + asList( + "0x1cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x1cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000f8eb9c2248ce3b6357c7e7067d4d16d62b7ed004")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de", + "0x000000000000000000000000edabd7ee017fbac322d65aea7497899a211a7124")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631")); + ethereumSampleLogs.addAll( + asList( + "0xf8d443502d122ef30743d2eafc4651d3501343de", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0xf8d443502d122ef30743d2eafc4651d3501343de", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x000000000000000000000000edabd7ee017fbac322d65aea7497899a211a7124")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x000000000000000000000000d1a041eb146e5d965f2d39746e17818caac763f3")); + ethereumSampleLogs.addAll( + asList( + "0x881d40237659c251811cec9c364ef91dc08d300c", + "0xbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d", + "0x9e4182a38ef65fd4828a1563124c6ada8e2cd461a1a638cbc46803f0cd3e7f48", + "0x000000000000000000000000d1a041eb146e5d965f2d39746e17818caac763f3")); + ethereumSampleLogs.addAll( + asList( + "0x0981d9774a59a703db85f5eaa23672283ea31106", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x0000000000000000000000000981d9774a59a703db85f5eaa23672283ea31106")); + ethereumSampleLogs.addAll( + asList( + "0x0981d9774a59a703db85f5eaa23672283ea31106", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0x1cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x1cf4b25ea65cec291fd17aa3769867c32de0fff3", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x000000000000000000000000edabd7ee017fbac322d65aea7497899a211a7124")); + ethereumSampleLogs.addAll( + asList( + "0xedabd7ee017fbac322d65aea7497899a211a7124", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f8d443502d122ef30743d2eafc4651d3501343de", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0xf8d443502d122ef30743d2eafc4651d3501343de", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0xf8d443502d122ef30743d2eafc4651d3501343de", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80", + "0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2", + "0x000000000000000000000000299ba7376a749aa70c681856991a235de59afd4a")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2", + "0x000000000000000000000000b3cb53696fa10e5465ebff96de82f5adb7262d01")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x000000000000000000000000b3cb53696fa10e5465ebff96de82f5adb7262d01")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x000000000000000000000000df1787149aebcfbc74913d12bc9281f4a22bf512")); + ethereumSampleLogs.addAll( + asList( + "0x7e9a53f35582c937008fd2ffd61455a7d5b2db8a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000df1787149aebcfbc74913d12bc9281f4a22bf512", + "0x00000000000000000000000078b1094269465e61b08fe6040db5cb754e85a159")); + ethereumSampleLogs.addAll( + asList( + "0xdf1787149aebcfbc74913d12bc9281f4a22bf512", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0xdf1787149aebcfbc74913d12bc9281f4a22bf512", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x00000000000000000000000078b1094269465e61b08fe6040db5cb754e85a159")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e47fb0e937399c95fa036242c524b3062662c711", + "0x0000000000000000000000002515c6b737151bbd5c7826c04717b342ac44c1da")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e47fb0e937399c95fa036242c524b3062662c711", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002515c6b737151bbd5c7826c04717b342ac44c1da", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x2515c6b737151bbd5c7826c04717b342ac44c1da", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x2515c6b737151bbd5c7826c04717b342ac44c1da", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f67b8a996e77b1ef8cece67b36672129cb730723", + "0x000000000000000000000000299ba7376a749aa70c681856991a235de59afd4a")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f67b8a996e77b1ef8cece67b36672129cb730723", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f67b8a996e77b1ef8cece67b36672129cb730723", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f", + "0x0000000000000000000000001b8aa0d4171528da5053477a0fb553287e5a0d28")); + ethereumSampleLogs.addAll( + asList( + "0x88e8e2675f1c68a1df2927e31523bb3ed320f808", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001b8aa0d4171528da5053477a0fb553287e5a0d28", + "0x00000000000000000000000088e8e2675f1c68a1df2927e31523bb3ed320f808")); + ethereumSampleLogs.addAll( + asList( + "0x88e8e2675f1c68a1df2927e31523bb3ed320f808", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001b8aa0d4171528da5053477a0fb553287e5a0d28", + "0x0000000000000000000000004945604635e64e230f5b0936b35b2c80f665673a")); + ethereumSampleLogs.addAll( + asList( + "0x1b8aa0d4171528da5053477a0fb553287e5a0d28", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x1b8aa0d4171528da5053477a0fb553287e5a0d28", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f", + "0x0000000000000000000000004945604635e64e230f5b0936b35b2c80f665673a")); + ethereumSampleLogs.addAll( + asList( + "0x77edae6a5f332605720688c7fda7476476e8f83f", + "0x20efd6d5195b7b50273f01cd79a27989255356f9f13293edc53ee142accfdb75")); + ethereumSampleLogs.addAll( + asList( + "0x4d73adb72bc3dd368966edd0f0b2148401a178e2", + "0x2bd2d8a84b748439fd50d79a49502b4eb5faa25b864da6a9ab5c150704be9a4d", + "0x000000000000000000000000000000000000000000000000000000000000006f", + "0x000000000000000000000000296f55f8fb28e498b858d0bcda06d955b2cb3f97")); + ethereumSampleLogs.addAll( + asList( + "0x101816545f6bd2b1076434b54383a1e633390a2e", + "0xdbdd25248751feb2f3b66721dfdd11662a68bc155af3771e661aabec92fba814")); + ethereumSampleLogs.addAll( + asList( + "0x72e2f4830b9e45d52f80ac08cb2bec0fef72ed9c", + "0xb4a87134099d10c48345145381989042ab07dc53e6e62a6511fca55438562e26", + "0x000000000000000000000000101816545f6bd2b1076434b54383a1e633390a2e", + "0x00000000000000000000000084913f6e40f17a93b84c8caf3e2afbcbcf09c89c")); + ethereumSampleLogs.addAll( + asList( + "0x101816545f6bd2b1076434b54383a1e633390a2e", + "0xfb2b592367452f1c437675bed47f5e1e6c25188c17d7ba01a12eb030bc41ccef")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ec30d02f10353f8efc9601371f56e808751f396f", + "0x0000000000000000000000005e135d990c7e54fc3a10f806fb96db01194dec65")); + ethereumSampleLogs.addAll( + asList( + "0x5e8422345238f34275888049021821e8e08caa1f", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a1f8a6807c402e4a15ef4eba36528a3fed24e577", + "0x00000000000000000000000089060182b5b69888ed076b6995ff4272067d2cb1")); + ethereumSampleLogs.addAll( + asList( + "0xa1f8a6807c402e4a15ef4eba36528a3fed24e577", + "0x8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140", + "0x00000000000000000000000089060182b5b69888ed076b6995ff4272067d2cb1")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000000bee740c1e0c707091018537f760fe19d355a693", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x00000000000000000000000004d540b6dbb7b6077b4efa2b4045164057c19bb2")); + ethereumSampleLogs.addAll( + asList( + "0xf0396e9fa7d7099a7f38afa68f400f48ab611e65", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000004d540b6dbb7b6077b4efa2b4045164057c19bb2", + "0x000000000000000000000000f0396e9fa7d7099a7f38afa68f400f48ab611e65")); + ethereumSampleLogs.addAll( + asList( + "0xf0396e9fa7d7099a7f38afa68f400f48ab611e65", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000004d540b6dbb7b6077b4efa2b4045164057c19bb2", + "0x000000000000000000000000dcfe57fa52b484672e7704bf96656cd3328b6169")); + ethereumSampleLogs.addAll( + asList( + "0x04d540b6dbb7b6077b4efa2b4045164057c19bb2", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x04d540b6dbb7b6077b4efa2b4045164057c19bb2", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x000000000000000000000000dcfe57fa52b484672e7704bf96656cd3328b6169")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000082ac51d37c7165fe1c854425fd6a0a7c41e0eb4", + "0x0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a")); + ethereumSampleLogs.addAll( + asList( + "0x265f542c1e78068f13d87c6fe0df54f3e9562a48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002160632e38e61336ea6b7d5cc03a52959e72e67c", + "0x0000000000000000000000004357ea68633a079fdfae21b35a68bc0f9d590402")); + ethereumSampleLogs.addAll( + asList( + "0x265f542c1e78068f13d87c6fe0df54f3e9562a48", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000002160632e38e61336ea6b7d5cc03a52959e72e67c", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004357ea68633a079fdfae21b35a68bc0f9d590402", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x4357ea68633a079fdfae21b35a68bc0f9d590402", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x4357ea68633a079fdfae21b35a68bc0f9d590402", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008effa86c6530763cbb8030fb883046135dda3ed1", + "0x000000000000000000000000299ba7376a749aa70c681856991a235de59afd4a")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008effa86c6530763cbb8030fb883046135dda3ed1", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000008effa86c6530763cbb8030fb883046135dda3ed1", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x5d22045daceab03b158031ecb7d9d06fad24609b", + "0x06724742ccc8c330a39a641ef02a0b419bd09248360680bb38159b0a8c2635d6")); + ethereumSampleLogs.addAll( + asList( + "0x0474801e5eb8e369b219740e7b542243cf822c81", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008f7d5718bf464d3a7307618072248d2f50f43844", + "0x0000000000000000000000000474801e5eb8e369b219740e7b542243cf822c81")); + ethereumSampleLogs.addAll( + asList( + "0xad574c1b36cb5f03eb471a9501c4ccff8040dd2d", + "0x96d62f25518350ace6bbb1a985c6538769c45b92ee3bb0e861f4bd945145be05")); + ethereumSampleLogs.addAll( + asList( + "0xee56293ef5ed7ae73ccb8d8e68d5f0e2c1f1e40c", + "0x76b049c6a58fbcb3b1b5c347116d3f7bb8ee99c66d0a424ef58b5539acde2e25", + "0x000000000000000000000000e1b8b355d4f8ded50c513eb073dd0a373f443f60")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0xdb80dd488acf86d17c747445b0eabb5d57c541d3bd7b6b87af987858e5066b2b", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x5b5dbc6c64043a15d3fe6943a6e443a826b78755edc257b2ec890c022225dbcf", + "0x000000000000000000000000507cc038bbb890ed37ac360339280da47b680e44", + "0x039a9666dea630afcc70067c5c59f991a2d4ba8cbacfafd4599b5db1c2678ab4")); + ethereumSampleLogs.addAll( + asList( + "0xb2114e5420927932666a5c5bd1ac4e14d9ede32b", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000060cada2416b0b8a96a3367a42b3899bb9cba7872", + "0x000000000000000000000000b2114e5420927932666a5c5bd1ac4e14d9ede32b")); + ethereumSampleLogs.addAll( + asList( + "0xb2114e5420927932666a5c5bd1ac4e14d9ede32b", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000060cada2416b0b8a96a3367a42b3899bb9cba7872", + "0x0000000000000000000000002c0be28a222a21b9e3a237f72b20ee58dc1af111")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002c0be28a222a21b9e3a237f72b20ee58dc1af111", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x2c0be28a222a21b9e3a237f72b20ee58dc1af111", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x2c0be28a222a21b9e3a237f72b20ee58dc1af111", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000046705dfff24256421a05d056c29e81bdc09723b8", + "0x000000000000000000000000774beaf89772af0c64976ce994734df3c1161f20")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000046705dfff24256421a05d056c29e81bdc09723b8", + "0x000000000000000000000000a88bc3c8472f558d987d41de10deecbdea21e86a")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d1669ac6044269b59fa12c5822439f609ca54f41", + "0x000000000000000000000000056795dc791b2e0f849ef2ebe7a4128648a42382")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000005a5e62cebfb3fc3790f6c85fa620e82b5c58bd1", + "0x000000000000000000000000dcb9788a78dcbb43e95b987b6e72dc833dab9ae4")); + ethereumSampleLogs.addAll( + asList( + "0x4b9278b94a1112cad404048903b8d343a810b07e", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000059e4de75da572e5fcf7a6baf63d07f37a9c35785", + "0x0000000000000000000000008c8677c84b2c66a811ecd0640318479c52f18e2b")); + ethereumSampleLogs.addAll( + asList( + "0x4b9278b94a1112cad404048903b8d343a810b07e", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000059e4de75da572e5fcf7a6baf63d07f37a9c35785", + "0x0000000000000000000000007587bf25de6765de33a79b93364c47ac1d65f43c")); + ethereumSampleLogs.addAll( + asList( + "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d16e4cdb153b2dcc617061174223a6d4bfae53f5", + "0x0000000000000000000000009ab4a6d11a76d1a596f346986c5caff93c344398")); + ethereumSampleLogs.addAll( + asList( + "0x3597bfd533a99c9aa083587b074434e61eb0a258", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000dfd5293d8e347dfe59e90efd55b2956a1343963d", + "0x00000000000000000000000019325319b3510c0b1fe68bc61da460e7c0c48391")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000021a31ee1afc51d94c2efccaa2092ad1028285549", + "0x00000000000000000000000092bea576689f034274911ebc5acb508a53fb531d")); + ethereumSampleLogs.addAll( + asList( + "0xd814bf1470ba832b6577971bbb3c9309028f224b", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000000edf4ceffd3c74013769bce363764e91d4d93c58", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a7dd0e36637c9d4e70e3cc5bff1ba9cdd06ac662", + "0x000000000000000000000000921d1f55ba9430f27f5cb81038f09a2b8feb8a26")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x4531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a382")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x4531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a382")); + ethereumSampleLogs.addAll( + asList( + "0x473037de59cf9484632f4a27b509cfe8d4a31404", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000eb49f0309dd219846758d1d4b15a381542182825", + "0x000000000000000000000000edee7b5989428ee82e7d25064415ea046d0fd15c")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x4531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a382")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x4531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a382")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x4531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a382")); + ethereumSampleLogs.addAll( + asList( + "0x70008f18fc58928dce982b0a69c2c21ff80dca54", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000093e5fd53384e697e91c4e7df124dd5dbaf9dcfb", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8e", + "0x0000000000000000000000000f8086d08a69ebd8e3a130a87a3b6a260723976f")); + ethereumSampleLogs.addAll( + asList( + "0xa9b1eb5908cfc3cdf91f9b8b3a74108598009096", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000f8086d08a69ebd8e3a130a87a3b6a260723976f", + "0x00000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8e")); + ethereumSampleLogs.addAll( + asList( + "0x0f8086d08a69ebd8e3a130a87a3b6a260723976f", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x0f8086d08a69ebd8e3a130a87a3b6a260723976f", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8e", + "0x00000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8e")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0x9866f8ddfe70bb512b2f2b28b49d4017c43f7ba775f1a20c61c13eea8cdac111")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0x9592d37825c744e33fa80c469683bbd04d336241bb600b574758efd182abe26a", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0x9592d37825c744e33fa80c469683bbd04d336241bb600b574758efd182abe26a", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0x9592d37825c744e33fa80c469683bbd04d336241bb600b574758efd182abe26a", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0x9592d37825c744e33fa80c469683bbd04d336241bb600b574758efd182abe26a", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0x9592d37825c744e33fa80c469683bbd04d336241bb600b574758efd182abe26a", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0x9592d37825c744e33fa80c469683bbd04d336241bb600b574758efd182abe26a", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0xd342ddf7a308dec111745b00315c14b7efb2bdae570a6856e088ed0c65a3576c")); + ethereumSampleLogs.addAll( + asList( + "0x419d0d8bdd9af5e606ae2232ed285aff190e711b", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000028c6c06298d514db089934071355e5743bf21d60", + "0x0000000000000000000000005e8304b5600cccba6d6292c6687ac9ead0ec6288")); + ethereumSampleLogs.addAll( + asList( + "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e8c6c9227491c0a8156a0106a0204d881bb7e531", + "0x0000000000000000000000004a137fd5e7a256ef08a7de531a17d0be0cc7b6b6")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004a137fd5e7a256ef08a7de531a17d0be0cc7b6b6", + "0x000000000000000000000000e8c6c9227491c0a8156a0106a0204d881bb7e531")); + ethereumSampleLogs.addAll( + asList( + "0xe8c6c9227491c0a8156a0106a0204d881bb7e531", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564", + "0x0000000000000000000000004a137fd5e7a256ef08a7de531a17d0be0cc7b6b6")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005777d92f208679db4b9778590fa3cab3ac9e2168", + "0x0000000000000000000000002d2a7d56773ae7d5c7b9f1b57f7be05039447b4d")); + ethereumSampleLogs.addAll( + asList( + "0x6b175474e89094c44da98b954eedeac495271d0f", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000075bff91af9878f5ec3fede9b52d51159afc2430a", + "0x0000000000000000000000005777d92f208679db4b9778590fa3cab3ac9e2168")); + ethereumSampleLogs.addAll( + asList( + "0x419d0d8bdd9af5e606ae2232ed285aff190e711b", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000486263aa56d1b49d78dea765754164b880c99954", + "0x00000000000000000000000075bff91af9878f5ec3fede9b52d51159afc2430a")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002d2a7d56773ae7d5c7b9f1b57f7be05039447b4d", + "0x000000000000000000000000486263aa56d1b49d78dea765754164b880c99954")); + ethereumSampleLogs.addAll( + asList( + "0x486263aa56d1b49d78dea765754164b880c99954", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000002d2a7d56773ae7d5c7b9f1b57f7be05039447b4d", + "0x00000000000000000000000075bff91af9878f5ec3fede9b52d51159afc2430a")); + ethereumSampleLogs.addAll( + asList( + "0x75bff91af9878f5ec3fede9b52d51159afc2430a", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000002d2a7d56773ae7d5c7b9f1b57f7be05039447b4d", + "0x0000000000000000000000005777d92f208679db4b9778590fa3cab3ac9e2168")); + ethereumSampleLogs.addAll( + asList( + "0x5777d92f208679db4b9778590fa3cab3ac9e2168", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000002d2a7d56773ae7d5c7b9f1b57f7be05039447b4d", + "0x0000000000000000000000002d2a7d56773ae7d5c7b9f1b57f7be05039447b4d")); + ethereumSampleLogs.addAll( + asList( + "0x7ee68a5b4f11365b361e32c6d6fe3fb4973e4524", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000190417184a9a19386c29022399d6b291fac6c92d", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582")); + ethereumSampleLogs.addAll( + asList( + "0x7ee68a5b4f11365b361e32c6d6fe3fb4973e4524", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000190417184a9a19386c29022399d6b291fac6c92d", + "0x00000000000000000000000021cc2f06d372ae3ab455116b3d203b431255760e")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000021cc2f06d372ae3ab455116b3d203b431255760e", + "0x00000000000000000000000006da0fd433c1a5d7a4faa01111c044910a184553")); + ethereumSampleLogs.addAll( + asList( + "0x21cc2f06d372ae3ab455116b3d203b431255760e", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x21cc2f06d372ae3ab455116b3d203b431255760e", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582", + "0x00000000000000000000000006da0fd433c1a5d7a4faa01111c044910a184553")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000006da0fd433c1a5d7a4faa01111c044910a184553", + "0x000000000000000000000000190417184a9a19386c29022399d6b291fac6c92d")); + ethereumSampleLogs.addAll( + asList( + "0x06da0fd433c1a5d7a4faa01111c044910a184553", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x06da0fd433c1a5d7a4faa01111c044910a184553", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582", + "0x000000000000000000000000190417184a9a19386c29022399d6b291fac6c92d")); + ethereumSampleLogs.addAll( + asList( + "0x00000000000000adc04c56bf30ac9d3c0aaf14dc", + "0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31", + "0x0000000000000000000000003b09a0e57a1bfc5b4d1a6a6335ecfa92be3c78e7", + "0x000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00")); + ethereumSampleLogs.addAll( + asList( + "0xfd384bd3b79ed98f0f00ecba8a22230406a700d5", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000003b09a0e57a1bfc5b4d1a6a6335ecfa92be3c78e7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000000000000000000000000000000000009b8")); + ethereumSampleLogs.addAll( + asList( + "0xfd384bd3b79ed98f0f00ecba8a22230406a700d5", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003b09a0e57a1bfc5b4d1a6a6335ecfa92be3c78e7", + "0x0000000000000000000000005bb8bd0d1a9f2d80c05dfb799dc08afcc509fc84", + "0x00000000000000000000000000000000000000000000000000000000000009b8")); + ethereumSampleLogs.addAll( + asList( + "0xabea9132b05a70803a4e85094fd0e1800777fbef", + "0xd0943372c08b438a88d4b39d77216901079eda9ca59d45349841c099083b6830")); + ethereumSampleLogs.addAll( + asList( + "0xabea9132b05a70803a4e85094fd0e1800777fbef", + "0x8f5f51448394699ad6a3b80cdadf4ec68c5d724c8c3fea09bea55b3c2d0e2dd0", + "0x0000000000000000000000000000000000000000000000000000000000000000")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000281c3f10852fa733990c867621a850779b07ecdf", + "0x0000000000000000000000002515c6b737151bbd5c7826c04717b342ac44c1da")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000281c3f10852fa733990c867621a850779b07ecdf", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002515c6b737151bbd5c7826c04717b342ac44c1da", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x2515c6b737151bbd5c7826c04717b342ac44c1da", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x2515c6b737151bbd5c7826c04717b342ac44c1da", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d894d7909917ded810e67fe6dd964017f632d962", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631")); + ethereumSampleLogs.addAll( + asList( + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000d894d7909917ded810e67fe6dd964017f632d962", + "0x000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c")); + ethereumSampleLogs.addAll( + asList( + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588")); + ethereumSampleLogs.addAll( + asList( + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000069d91b94f0aaf8e8a2586909fa77a5c2c89818d5", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582")); + ethereumSampleLogs.addAll( + asList( + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588", + "0x00000000000000000000000069d91b94f0aaf8e8a2586909fa77a5c2c89818d5")); + ethereumSampleLogs.addAll( + asList( + "0x69d91b94f0aaf8e8a2586909fa77a5c2c89818d5", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582")); + ethereumSampleLogs.addAll( + asList( + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588", + "0x00000000000000000000000055d5c232d921b9eaa6b37b5845e439acd04b4dba")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000055d5c232d921b9eaa6b37b5845e439acd04b4dba", + "0x000000000000000000000000655edce464cc797526600a462a8154650eee4b77")); + ethereumSampleLogs.addAll( + asList( + "0x55d5c232d921b9eaa6b37b5845e439acd04b4dba", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x55d5c232d921b9eaa6b37b5845e439acd04b4dba", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588", + "0x000000000000000000000000655edce464cc797526600a462a8154650eee4b77")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000082743c07bf3be4d55876f87bca6cce5f84429bd0", + "0x000000000000000000000000655edce464cc797526600a462a8154650eee4b77")); + ethereumSampleLogs.addAll( + asList( + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588", + "0x00000000000000000000000082743c07bf3be4d55876f87bca6cce5f84429bd0")); + ethereumSampleLogs.addAll( + asList( + "0x82743c07bf3be4d55876f87bca6cce5f84429bd0", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588", + "0x000000000000000000000000655edce464cc797526600a462a8154650eee4b77")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000655edce464cc797526600a462a8154650eee4b77", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588")); + ethereumSampleLogs.addAll( + asList( + "0x655edce464cc797526600a462a8154650eee4b77", + "0x4be05c8d54f5e056ab2cfa033e9f582057001268c3e28561bb999d35d2c8f2c8", + "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000092f3f71cef740ed5784874b8c70ff87ecdf33588", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x0000000000000000000000002acf35c9a3f4c5c3f4c78ef5fb64c3ee82f07c45")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x000000000000000000000000d894d7909917ded810e67fe6dd964017f632d962")); + ethereumSampleLogs.addAll( + asList( + "0x881d40237659c251811cec9c364ef91dc08d300c", + "0xbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d", + "0xf35f348d53012d52a5d39f9390d246956ac932d5778d2bb49e359dba4fa0896d", + "0x000000000000000000000000d894d7909917ded810e67fe6dd964017f632d962")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f7e388f0a9227b40eabbde85ecec2ae0a6c43010", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000aa6d4f0d0787bb815d4eeb1b03f874667733b17b", + "0x0000000000000000000000002515c6b737151bbd5c7826c04717b342ac44c1da")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000aa6d4f0d0787bb815d4eeb1b03f874667733b17b", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002515c6b737151bbd5c7826c04717b342ac44c1da", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x2515c6b737151bbd5c7826c04717b342ac44c1da", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x2515c6b737151bbd5c7826c04717b342ac44c1da", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c35f1217b87b1d5ebafef711453499f8d68be3ff", + "0x000000000000000000000000b8001c3ec9aa1985f6c747e25c28324e4a361ec1")); + ethereumSampleLogs.addAll( + asList( + "0xde30da39c46104798bb5aa3fe8b9e0e1f348163f", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f5ea82ea954608be5326ef229b9f005b4325b8d5", + "0x0000000000000000000000000e3efd5be54cc0f4c64e0d186b0af4b7f2a0e95f")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000006941888f86d97b4832810d3fd04a225a8488aeb5")); + ethereumSampleLogs.addAll( + asList( + "0x2e0d6baf75f79e814019926b4329aab2e559f395", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006941888f86d97b4832810d3fd04a225a8488aeb5", + "0x000000000000000000000000a56d91fdbef5325891a08ea3831baaf5ec1594df")); + ethereumSampleLogs.addAll( + asList( + "0x6941888f86d97b4832810d3fd04a225a8488aeb5", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x6941888f86d97b4832810d3fd04a225a8488aeb5", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000a56d91fdbef5325891a08ea3831baaf5ec1594df")); + ethereumSampleLogs.addAll( + asList( + "0x88e8e2675f1c68a1df2927e31523bb3ed320f808", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000babc570306f5a390f5117f2587e345389d0946c2", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0x88e8e2675f1c68a1df2927e31523bb3ed320f808", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000babc570306f5a390f5117f2587e345389d0946c2", + "0x00000000000000000000000088e8e2675f1c68a1df2927e31523bb3ed320f808")); + ethereumSampleLogs.addAll( + asList( + "0x88e8e2675f1c68a1df2927e31523bb3ed320f808", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000088e8e2675f1c68a1df2927e31523bb3ed320f808", + "0x0000000000000000000000001b8aa0d4171528da5053477a0fb553287e5a0d28")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001b8aa0d4171528da5053477a0fb553287e5a0d28", + "0x0000000000000000000000002435aa6afd562b316180802c4f90d9323789114d")); + ethereumSampleLogs.addAll( + asList( + "0x1b8aa0d4171528da5053477a0fb553287e5a0d28", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x1b8aa0d4171528da5053477a0fb553287e5a0d28", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000002435aa6afd562b316180802c4f90d9323789114d")); + ethereumSampleLogs.addAll( + asList( + "0x88e8e2675f1c68a1df2927e31523bb3ed320f808", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000babc570306f5a390f5117f2587e345389d0946c2", + "0x0000000000000000000000001b8aa0d4171528da5053477a0fb553287e5a0d28")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001b8aa0d4171528da5053477a0fb553287e5a0d28", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0x1b8aa0d4171528da5053477a0fb553287e5a0d28", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x1b8aa0d4171528da5053477a0fb553287e5a0d28", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f", + "0x000000000000000000000000dcf63a49f5938fd3b673271015ecf1aa3a2ef154")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x000000000000000000000000dcf63a49f5938fd3b673271015ecf1aa3a2ef154")); + ethereumSampleLogs.addAll( + asList( + "0x77edae6a5f332605720688c7fda7476476e8f83f", + "0x20efd6d5195b7b50273f01cd79a27989255356f9f13293edc53ee142accfdb75")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000732a0534f24dc37d1d0205d427827cec32d03116", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000005eba75c233518cf8f27a0949bd870557045c7e72", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000001962a84b4d64ee0af2995b2151ba52ac39a2318", + "0x000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff")); + ethereumSampleLogs.addAll( + asList( + "0xb2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5", + "0xf4092a7c54e135dc5f273d6675327b7b7838392537d2f7b63f7acbec8c7cd296", + "0x000000000000000000000000f86aaeb9a6a8bba1e2c4317e771e1ca044449799")); + ethereumSampleLogs.addAll( + asList( + "0x000000000022d473030f116ddee9f6b43ac78ba3", + "0xc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec", + "0x00000000000000000000000072665730836bffd5743f4cea4973370e95e6b335", + "0x000000000000000000000000299ba7376a749aa70c681856991a235de59afd4a", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000072665730836bffd5743f4cea4973370e95e6b335", + "0x000000000000000000000000299ba7376a749aa70c681856991a235de59afd4a")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000072665730836bffd5743f4cea4973370e95e6b335", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000072665730836bffd5743f4cea4973370e95e6b335", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x3a23f943181408eac424116af7b7790c94cb97a5", + "0x6ea2964966a13d361befaca87edb26595ca75a30f3b77887d67d5a7d0e4805c0")); + ethereumSampleLogs.addAll( + asList( + "0xb584d4be1a5470ca1a8778e9b86c81e165204599", + "0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15", + "0x000000000000000000000000bd3c5a08181a374662a47c0493e7a9f1a02a8eee", + "0x0000000000000000000000000000000000000000000000000000000000000144")); + ethereumSampleLogs.addAll( + asList( + "0x3a23f943181408eac424116af7b7790c94cb97a5", + "0x74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609")); + ethereumSampleLogs.addAll( + asList( + "0x7448c7456a97769f6cd04f1e83a4a23ccdc46abd", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000058adf9953e5a2d175a15dc5807aca3520bf46cb3", + "0x000000000000000000000000dd32284b8ac3f78cbddc7f96d9cc35bfbecc99de")); + ethereumSampleLogs.addAll( + asList( + "0x58adf9953e5a2d175a15dc5807aca3520bf46cb3", + "0xd9cb1e2714d65a111c0f20f060176ad657496bd47a3de04ec7c3d4ca232112ac", + "0x000000000000000000000000000000000000000000000000000000000000588f", + "0x000000000000000000000000dd32284b8ac3f78cbddc7f96d9cc35bfbecc99de")); + ethereumSampleLogs.addAll( + asList( + "0xefaed650f1a94801806bb110019d9b0dc79531a8", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000009bd69ddddf7954b733730369c13717409c1631d5", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000003000e")); + ethereumSampleLogs.addAll( + asList( + "0xefaed650f1a94801806bb110019d9b0dc79531a8", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009bd69ddddf7954b733730369c13717409c1631d5", + "0x00000000000000000000000038fd17958dd5fd50655934596b9afdb4bef4273a", + "0x000000000000000000000000000000000000000000000000000000000003000e")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x686f2404e77ab0d9070a46cdfb0b7fecdd2318b0", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005104846dc1c3c7697b856dc69e350ae4dcc47e24", + "0x00000000000000000000000071d9e6d1e3302885ff22928bcf53e37a9e241336")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000005104846dc1c3c7697b856dc69e350ae4dcc47e24")); + ethereumSampleLogs.addAll( + asList( + "0x5104846dc1c3c7697b856dc69e350ae4dcc47e24", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x00000000000000000000000071d9e6d1e3302885ff22928bcf53e37a9e241336")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x5f5166c4fdb9055efb24a7e75cc1a21ca8ca61a3", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c479ec273f96d04b0dca154d7653a091c07f5575", + "0x000000000000000000000000cb8ea77a7bc005c435e404d94cff9efb54aac33f")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000c479ec273f96d04b0dca154d7653a091c07f5575")); + ethereumSampleLogs.addAll( + asList( + "0xc479ec273f96d04b0dca154d7653a091c07f5575", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000cb8ea77a7bc005c435e404d94cff9efb54aac33f")); + ethereumSampleLogs.addAll( + asList( + "0x4d224452801aced8b2f0aebe155379bb5d594381", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005954ab967bc958940b7eb73ee84797dc8a2afbb9", + "0x000000000000000000000000276266acada1798bcfac5822936768383d2ed782")); + ethereumSampleLogs.addAll( + asList( + "0x5954ab967bc958940b7eb73ee84797dc8a2afbb9", + "0xd334b3114fc25cbd72389ff9c361d5f8b0924e35fa237c65ac209a2cdcf4ba13", + "0x000000000000000000000000276266acada1798bcfac5822936768383d2ed782", + "0x0000000000000000000000000000000000000000000000000000000000000001")); + ethereumSampleLogs.addAll( + asList( + "0xc55126051b22ebb829d00368f4b12bde432de5da", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000079c7df7740e999872277fe97eb3f8c106ee2af4b", + "0x000000000000000000000000742b70151cd3bc7ab598aaff1d54b90c3ebc6027")); + ethereumSampleLogs.addAll( + asList( + "0x742b70151cd3bc7ab598aaff1d54b90c3ebc6027", + "0xd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea5", + "0x00000000000000000000000079c7df7740e999872277fe97eb3f8c106ee2af4b", + "0x0000000000000000000000000000000000000000000000000000000064af3e80")); + ethereumSampleLogs.addAll( + asList( + "0xb584d4be1a5470ca1a8778e9b86c81e165204599", + "0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15", + "0x00000000000000000000000068db37632c236721ed4226f09c8ac6a4ba3a6c30", + "0x0000000000000000000000000000000000000000000000000000000000000038")); + ethereumSampleLogs.addAll( + asList( + "0xde30da39c46104798bb5aa3fe8b9e0e1f348163f", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f5ea82ea954608be5326ef229b9f005b4325b8d5", + "0x0000000000000000000000000e3efd5be54cc0f4c64e0d186b0af4b7f2a0e95f")); + ethereumSampleLogs.addAll( + asList( + "0x046eee2cc3188071c02bfc1745a6b17c656e3f3d", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000510100d5143e011db24e2aa38abe85d73d5b2177", + "0x000000000000000000000000ce736567abf129e336194e60e2ec96fe25d05a37")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ce736567abf129e336194e60e2ec96fe25d05a37", + "0x000000000000000000000000510100d5143e011db24e2aa38abe85d73d5b2177")); + ethereumSampleLogs.addAll( + asList( + "0x510100d5143e011db24e2aa38abe85d73d5b2177", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000ce736567abf129e336194e60e2ec96fe25d05a37")); + ethereumSampleLogs.addAll( + asList( + "0x2e0d6baf75f79e814019926b4329aab2e559f395", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000d2a3ccb365da1ae13287c6b1bdb30c96379e2d34", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0x2e0d6baf75f79e814019926b4329aab2e559f395", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002e0d6baf75f79e814019926b4329aab2e559f395", + "0x0000000000000000000000006941888f86d97b4832810d3fd04a225a8488aeb5")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006941888f86d97b4832810d3fd04a225a8488aeb5", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x6941888f86d97b4832810d3fd04a225a8488aeb5", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x6941888f86d97b4832810d3fd04a225a8488aeb5", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x2e0d6baf75f79e814019926b4329aab2e559f395", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d2a3ccb365da1ae13287c6b1bdb30c96379e2d34", + "0x0000000000000000000000002e0d6baf75f79e814019926b4329aab2e559f395")); + ethereumSampleLogs.addAll( + asList( + "0x2e0d6baf75f79e814019926b4329aab2e559f395", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d2a3ccb365da1ae13287c6b1bdb30c96379e2d34", + "0x0000000000000000000000006941888f86d97b4832810d3fd04a225a8488aeb5")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006941888f86d97b4832810d3fd04a225a8488aeb5", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0x6941888f86d97b4832810d3fd04a225a8488aeb5", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x6941888f86d97b4832810d3fd04a225a8488aeb5", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000077edae6a5f332605720688c7fda7476476e8f83f", + "0x000000000000000000000000dcf63a49f5938fd3b673271015ecf1aa3a2ef154")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x000000000000000000000000dcf63a49f5938fd3b673271015ecf1aa3a2ef154")); + ethereumSampleLogs.addAll( + asList( + "0x77edae6a5f332605720688c7fda7476476e8f83f", + "0x20efd6d5195b7b50273f01cd79a27989255356f9f13293edc53ee142accfdb75")); + ethereumSampleLogs.addAll( + asList( + "0xec7972f53d96a6a2260f8460768f49b8721b6106", + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "0x0000000000000000000000009ab17bdaa2ab4a70aedd11a2a2641a14d5b23ddb", + "0x0000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb")); + ethereumSampleLogs.addAll( + asList( + "0xba30e5f9bb24caa003e9f2f0497ad287fdf95623", + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "0x00000000000000000000000033bc00f70df5f87e31e81a0e920f1737d049c467", + "0x0000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb")); + ethereumSampleLogs.addAll( + asList( + "0xd8912c10681d8b21fd3742244f44658dba12264e", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000599b543e2d08b33cc934c4736df1c03c10674e9f", + "0x000000000000000000000000d10fb93013a889e372afcc3fa6e5e8c6747ffacc")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000009dcf87f65b0c9ed7bad50504727364e19cb14366", + "0x0000000000000000000000001715a3e4a142d8b698131108995174f37aeba10d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x06450dee7fd2fb8e39061434babcfc05599a6fb8", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002a9d2ba41aba912316d16742f259412b681898db", + "0x0000000000000000000000008a7457e00344973e5be44b6f1202e6392364a02b")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000002a9d2ba41aba912316d16742f259412b681898db")); + ethereumSampleLogs.addAll( + asList( + "0x2a9d2ba41aba912316d16742f259412b681898db", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000008a7457e00344973e5be44b6f1202e6392364a02b")); + ethereumSampleLogs.addAll( + asList( + "0x29469395eaf6f95920e59f858042f0e28d98a20b", + "0xe5095dc360d1a56740c946cccc76520c1a1a57381c950520062adeda68dbf572")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2", + "0x000000000000000000000000299ba7376a749aa70c681856991a235de59afd4a")); + ethereumSampleLogs.addAll( + asList( + "0x299ba7376a749aa70c681856991a235de59afd4a", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000697955d59d554ee723b0df1f664fc61120f922b2", + "0x000000000000000000000000c09aa480827a2fe5592cbd35d7db6b91e6ed5839")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x697955d59d554ee723b0df1f664fc61120f922b2", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000c09aa480827a2fe5592cbd35d7db6b91e6ed5839")); + ethereumSampleLogs.addAll( + asList( + "0x955d5c14c8d4944da1ea7836bd44d54a8ec35ba1", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000008ed66b9153c6f12602897b8f3e5c7792ef57a697", + "0x0000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x0f5d2fb29fb7d3cfee444a200298f468908cc942", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008661ae7918c0115af9e3691662f605e9c550ddc9", + "0x0000000000000000000000007c9043947aa4a16c6b3ad218ccee950fa5bf9a58")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000008661ae7918c0115af9e3691662f605e9c550ddc9")); + ethereumSampleLogs.addAll( + asList( + "0x8661ae7918c0115af9e3691662f605e9c550ddc9", + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000007c9043947aa4a16c6b3ad218ccee950fa5bf9a58")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0xdb80dd488acf86d17c747445b0eabb5d57c541d3bd7b6b87af987858e5066b2b", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x5b5dbc6c64043a15d3fe6943a6e443a826b78755edc257b2ec890c022225dbcf", + "0x000000000000000000000000a2f5c395c3aa091ff2957ac5fb9cd665f8e16179", + "0x04d344bf86e0dae1e04bb624ce3094c8ac3581e00ea34320d42651c9dd9a9bfa")); + ethereumSampleLogs.addAll( + asList( + "0x2a3dd3eb832af982ec71669e178424b10dca2ede", + "0x501781209a1f8899323b96b4ef08b168df93e0a90c673d1e4cce39366cb62f9b")); + ethereumSampleLogs.addAll( + asList( + "0x580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb", + "0x61014378f82a0d809aefaf87a8ac9505b89c321808287a6e7810f29304c1fce3", + "0x40ea7bebc9f35f62306b5d351267832428edc798cc6d4dea2f9135614164a85c", + "0x1f557f0fece7d7ede04688cd79722d4127d7f90a6b25f77b73d642ba06aeb872")); + ethereumSampleLogs.addAll( + asList( + "0xc662c410c0ecf747543f5ba90660f6abebd9c8c4", + "0xdb80dd488acf86d17c747445b0eabb5d57c541d3bd7b6b87af987858e5066b2b", + "0x000000000000000000000000ae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x073314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82", + "0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5")); + ethereumSampleLogs.addAll( + asList( + "0xae0ee0a63a2ce6baeeffe56e7714fb4efe48d419", + "0x5b5dbc6c64043a15d3fe6943a6e443a826b78755edc257b2ec890c022225dbcf", + "0x000000000000000000000000a149405152517a4fc9b26b1130b87ef0dd80f433", + "0x03b6821afda20f5b837082c7e032caae7fe63c69740ad05b59fd2058249654dd")); + ethereumSampleLogs.addAll( + asList( + "0xae7ab96520de3a18e5e111b5eaab095312d7fe84", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000c7eac8af908b54984e80ebac3f4fdf4e2d525622", + "0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000408446aac7a2638bf9043d3283e1f229594bcf52", + "0x0000000000000000000000008957d73f37d74ef86aa4386da8799ad14f92a524")); + ethereumSampleLogs.addAll( + asList( + "0xbbc7f7a6aadac103769c66cbc69ab720f7f9eae3", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000067208c7e28cf38c52d5925bc761762280395d2dd", + "0x00000000000000000000000052faced7f8529bd69b1c570c6464cef85e252496")); + ethereumSampleLogs.addAll( + asList( + "0xbbc7f7a6aadac103769c66cbc69ab720f7f9eae3", + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000067208c7e28cf38c52d5925bc761762280395d2dd", + "0x0000000000000000000000005ee36f573f0e543f905796c0e697caa7e984e0c8")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000d88256c89b4bbf246f6634a96301c6b056f9832a")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000056a2a171bbff5bfa6766fbc139e741ca82ad6402")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000c14a4727cdcd9ed8c1e84535c031b7842fdad151")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000ba9898ef227ba75b92d7c1b2927e9e6cc2f2b47a")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000de34e24dcfae916aff15ed3c8b408bfa98afbdf8")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000009a299150cdddf538e917a98310602ec2894661cb")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000006594185dbba35fac6838120cf496d2f62cbd11f1")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000424afec660f97f6cd87231a9413d1df1805a179c")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000075a78ab24134f76e167d85743d14c0bd1f2e9952")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000ad56a4f6169f5376078b5ba06152d2ecadbf48f4")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000db95a28dd010cc84c6a5c5581c575ddfcac10d43")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000e39fb530056843a5dc9303f99c7f2ee73adebb3b")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000081673be0d9e979413543b41531b1e85fd7e3f943")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000808904fc78e28af02f0dba6e9f5ac31ff08a1a8c")); + ethereumSampleLogs.addAll( + asList( + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000057891966931eb4bb6fb81430e6ce0a03aabde063", + "0x0000000000000000000000000e3ca8c0318ccfcd15bddc70b3239e0d09fcf80d")); + ethereumSampleLogs.addAll( + asList( + "0x57891966931eb4bb6fb81430e6ce0a03aabde063", + "0xac1b18083978656d557d6e91c88203585cfda1031bdb14538327121ef140d383", + "0x0000000000000000000000000e3ca8c0318ccfcd15bddc70b3239e0d09fcf80d", + "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000129dbf99a3daa889c964be5645170fcc036ba565")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000004a80f36e942527c3eb368a3500f8a01877e43ce5")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000ef7d0a63c78d18349cb2c912e6160bd1a12f1a03")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000009aeb52b64b159f8582ca2e1e92df5c8d7dbd8aca")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000072366274553f60823b3c96489d36697e1eaeb7dd")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000052fe57673dff3b13a8ab2a82f4da981ee0719817")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000d83256a8bb182e7be2382550ed24861c71108d35")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000e6acf6285e2ddaf5a115c7752c2028102fc18c9b")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000e8d0031d9d7fb35387706163e91a7ee338680fab")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000007d4806a76483883e286d96319c01822506ee6016")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000bb81903a440ccbb264df6c197c1ae01567ec9abf")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000009f0793f67344460177d6fd592275b7ecd1bccdd9")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000004baf33e1773333d762667b4c99bfdd14ab1f73b2")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000009f7bfbad1d63df041a64255c572cd217ee961147")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000e64285eb680ce846396556230a1ac2b689f4f748")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000009e79e819d3214a6ff2329651202e636b2bd4a6a")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000392f8d754e3301bd1cbeac7ea856a146781233df")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000058d465bac0f2c68a3910c3f96511423de57e8a3d")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000028409ed5c4f1a752a690d5acf50ec6ded38d9e16")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000fe20c54324ae4a5cbb716f198ef4c1b563479694")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000015a5b7ba8676d4f9db8d402308f1f40fffbacef3")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x000000000000000000000000cb73a2ba85ae0d135a13003c681e20dfc23aec89")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000003ffbec21ad1fa6987753b1c4753aa37ace32b67f")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x0000000000000000000000001473a847c7b2d856f815e6faf74863f44a37a192")); + ethereumSampleLogs.addAll( + asList( + "0x32400084c286cf3e17e7b677ea9583e60a000324", + "0x26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c8", + "0x00000000000000000000000015a5b7ba8676d4f9db8d402308f1f40fffbacef3")); + ethereumSampleLogs.addAll( + asList( + "0xc37126b2399b078e73cbcf7d7ed2df139114b2ae", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000645d821234cb223cf3be3d67fce25ac939705b26", + "0x000000000000000000000000c37126b2399b078e73cbcf7d7ed2df139114b2ae")); + ethereumSampleLogs.addAll( + asList( + "0xc37126b2399b078e73cbcf7d7ed2df139114b2ae", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000645d821234cb223cf3be3d67fce25ac939705b26", + "0x00000000000000000000000089a312c86a7a9f49550fa4254a9117e520b3d982")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000089a312c86a7a9f49550fa4254a9117e520b3d982", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x89a312c86a7a9f49550fa4254a9117e520b3d982", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x89a312c86a7a9f49550fa4254a9117e520b3d982", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xabea9132b05a70803a4e85094fd0e1800777fbef", + "0xd0943372c08b438a88d4b39d77216901079eda9ca59d45349841c099083b6830")); + ethereumSampleLogs.addAll( + asList( + "0xabea9132b05a70803a4e85094fd0e1800777fbef", + "0x8f5f51448394699ad6a3b80cdadf4ec68c5d724c8c3fea09bea55b3c2d0e2dd0", + "0x0000000000000000000000000000000000000000000000000000000000000000")); + ethereumSampleLogs.addAll( + asList( + "0xabea9132b05a70803a4e85094fd0e1800777fbef", + "0xd0943372c08b438a88d4b39d77216901079eda9ca59d45349841c099083b6830")); + ethereumSampleLogs.addAll( + asList( + "0xabea9132b05a70803a4e85094fd0e1800777fbef", + "0x8f5f51448394699ad6a3b80cdadf4ec68c5d724c8c3fea09bea55b3c2d0e2dd0", + "0x0000000000000000000000000000000000000000000000000000000000000000")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000002c0be28a222a21b9e3a237f72b20ee58dc1af111")); + ethereumSampleLogs.addAll( + asList( + "0xb2114e5420927932666a5c5bd1ac4e14d9ede32b", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002c0be28a222a21b9e3a237f72b20ee58dc1af111", + "0x000000000000000000000000b2114e5420927932666a5c5bd1ac4e14d9ede32b")); + ethereumSampleLogs.addAll( + asList( + "0xb2114e5420927932666a5c5bd1ac4e14d9ede32b", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002c0be28a222a21b9e3a237f72b20ee58dc1af111", + "0x000000000000000000000000b2dc388c52610c04694d6ba985215ca78ed55d7c")); + ethereumSampleLogs.addAll( + asList( + "0x2c0be28a222a21b9e3a237f72b20ee58dc1af111", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x2c0be28a222a21b9e3a237f72b20ee58dc1af111", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x000000000000000000000000b2dc388c52610c04694d6ba985215ca78ed55d7c")); + ethereumSampleLogs.addAll( + asList( + "0xdac17f958d2ee523a2206206994597c13d831ec7", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000169b829b0cb7bad4182a6550b394b2f31d7b6007", + "0x000000000000000000000000ec554417cb64c7433bb2f84a46b9ad633dd457c6")); + ethereumSampleLogs.addAll( + asList( + "0xdfe97868233d1aa22e815a266982f2cf17685a27", + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0x8d39e97da0ff8439e8ec469dbd47d4b61d0d2b606c76d4be9b2bf6cac3a58267", + "0x0000000000000000000000000000000000000000000000000000000000000310", + "0x00000000000000000000000000000000000000000000000000000000065b51ff")); + ethereumSampleLogs.addAll( + asList( + "0x821ac3ff49378d4c1c432ccce8b72fa1e54ee00c", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000d21365d0279454e2d51f7d6e2f7382ad2084813", + "0x000000000000000000000000592d74a6a463dac2fc98c2a5328206e349e9c6f6")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000592d74a6a463dac2fc98c2a5328206e349e9c6f6", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0x592d74a6a463dac2fc98c2a5328206e349e9c6f6", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x592d74a6a463dac2fc98c2a5328206e349e9c6f6", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d")); + ethereumSampleLogs.addAll( + asList( + "0xfb66321d7c674995dfcc2cb67a30bc978dc862ad", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000af05945e6f60c74a033fea30bf4836fe5e0216fc", + "0x000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad")); + ethereumSampleLogs.addAll( + asList( + "0xfb66321d7c674995dfcc2cb67a30bc978dc862ad", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000af05945e6f60c74a033fea30bf4836fe5e0216fc", + "0x000000000000000000000000076a3e1500f3110d8f4445d396a3d7ca6d0ca269")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000076a3e1500f3110d8f4445d396a3d7ca6d0ca269", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x076a3e1500f3110d8f4445d396a3d7ca6d0ca269", + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1")); + ethereumSampleLogs.addAll( + asList( + "0x076a3e1500f3110d8f4445d396a3d7ca6d0ca269", + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad")); + ethereumSampleLogs.addAll( + asList( + "0x3d3d35bb9bec23b06ca00fe472b50e7a4c692c30", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001165c6925e780a375215545f6e91d604644ba0e0", + "0x0000000000000000000000004e053ac1f6f34a73f5bbd876efd20525eacb5382")); + ethereumSampleLogs.addAll( + asList( + "0x3d3d35bb9bec23b06ca00fe472b50e7a4c692c30", + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e4684afe69ba238e3de17bbd0b1a64ce7077da42", + "0x0000000000000000000000001165c6925e780a375215545f6e91d604644ba0e0")); + ethereumSampleLogs.addAll( + asList( + "0xe4684afe69ba238e3de17bbd0b1a64ce7077da42", + "0xb72ef6a0e5a62f73e52dd5fa571d9f28d0d3c7895c4e1b60e5a8d01e879957ac", + "0x0000000000000000000000001165c6925e780a375215545f6e91d604644ba0e0", + "0x000000000000000000000000000000000000000000000000008f004c67e61a80")); + ethereumSampleLogs.addAll( + asList( + "0x4e053ac1f6f34a73f5bbd876efd20525eacb5382", + "0x650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce", + "0x0000000000000000000000001165c6925e780a375215545f6e91d604644ba0e0", + "0x0000000000000000000000000000000000000000000000000000000000000001")); + ethereumSampleLogs.addAll( + asList( + "0x4e053ac1f6f34a73f5bbd876efd20525eacb5382", + "0xdae4417c25a93cfb86ce5fbbb8fc1630945b61afaeab4f29cf301b9a058ba914", + "0x0000000000000000000000001165c6925e780a375215545f6e91d604644ba0e0", + "0x00000000000000000000000000000000000000000000001834eb47aaa867f7c6")); + } + + @Test + public void testNullHexStringFilterData() { + String nullHexString = null; + assertThrows(IllegalArgumentException.class, () -> new Bloom(nullHexString)); + } + + @Test + public void testNullBytesArrayFilterData() { + byte[] nullBytesArray = null; + assertThrows(IllegalArgumentException.class, () -> new Bloom(nullBytesArray)); + } + + @Test + public void testNot256BytesArrayForFilterData() { + byte[] bytes = new byte[] {1, 2, 3}; + assertThrows(IllegalArgumentException.class, () -> new Bloom(bytes)); + } + + @Test + public void testNot256HexStringForFilterData() { + String hex = "0xffccaa"; + assertThrows(IllegalArgumentException.class, () -> new Bloom(hex)); + } + + @Test + public void testAddedTopicsMustReturnTrueWhenTested() { + List topics = + asList( + "Mehrdad".getBytes(), + "test".getBytes(), + "hello".getBytes(), + "hello world".getBytes(), + "web3j".getBytes(), + "teeesssstttt121233".getBytes()); + + Bloom bloom = new Bloom(); + topics.forEach(bloom::add); + topics.forEach( + t -> { + boolean result = bloom.test(t); + assertTrue(result, "must return true"); + }); + } + + @Test + public void testNotAddedTopicsMustReturnFalseWhenTested() { + List topicsNotAdded = + asList( + "Mehrdad23".getBytes(), + "test2".getBytes(), + "hello2".getBytes(), + "hello world2".getBytes(), + "web3j2".getBytes(), + "teeesssstttt1212332".getBytes()); + + Bloom bloom = new Bloom(); + topicsNotAdded.forEach( + t -> { + boolean result = bloom.test(t); + assertFalse(result, "must return false"); + }); + } + + @Test + public void testNotAddedTopicsIsExpectedToReturnFalseWhenTested() { + List topicsAdded = + asList( + "Mehrdad".getBytes(), + "test".getBytes(), + "hello".getBytes(), + "hello world".getBytes(), + "web3j".getBytes(), + "teeesssstttt121233".getBytes()); + + List topicsNotAdded = + asList( + "Mehrdad2".getBytes(), + "test2".getBytes(), + "hello2".getBytes(), + "hello world2".getBytes(), + "web3j2".getBytes(), + "teeesssstttt1212332".getBytes()); + + Bloom bloom = new Bloom(); + topicsAdded.forEach(bloom::add); + topicsNotAdded.forEach( + t -> { + boolean result = bloom.test(t); + assertFalse( + result, "expected to return false (but false-positive is possible)"); + }); + } + + @Test + public void testEthereumSampleLogsWithItsLogsBloomToReturnTrueForAllTopics() { + Bloom bloom = new Bloom(ethereumSampleLogsBloom); + for (String topic : ethereumSampleLogs) { + boolean result = bloom.test(topic); + assertTrue(result, "must return true"); + } + } + + @Test + public void testEthereumSampleLogsBloomReconstructionFromItsTopics() { + Bloom reconstructedBloom = new Bloom(); + for (String topic : ethereumSampleLogs) { + reconstructedBloom.add(topic); + } + assertEquals( + new Bloom(ethereumSampleLogsBloom), + reconstructedBloom, + "reconstructed logsBloom should be equal"); + } + + @Test + public void testStaticMethodTestWhenAllTopicsIsInBloomForHexInput() { + boolean result = + Bloom.test( + ethereumSampleLogsBloom, + ethereumSampleLogs.get(0), + ethereumSampleLogs.get(100)); + assertTrue(result, "must return true"); + } + + @Test + public void testStaticMethodTestWhenAllTopicsIsInBloomForBytesInput() { + boolean result = + Bloom.test( + Numeric.hexStringToByteArray(ethereumSampleLogsBloom), + Numeric.hexStringToByteArray(ethereumSampleLogs.get(0)), + Numeric.hexStringToByteArray(ethereumSampleLogs.get(100))); + assertTrue(result, "must return true"); + } + + @Test + public void testStaticMethodTestWhenOneTopicIsNotInBloom() { + boolean result = + Bloom.test( + ethereumSampleLogsBloom, + ethereumSampleLogs.get(0), + ethereumSampleLogs.get(100), + "0xff"); + assertFalse(result, "expected to return false (but false-positive is possible)"); + } + + @Test + public void testStaticMethodTestWhenAllTopicsAreNotInBloom() { + boolean result = + Bloom.test(ethereumSampleLogsBloom, "0x10101121", "0xffffffffffccccaa112", "0xff"); + assertFalse(result, "expected to return false (but false-positive is possible)"); + } +}