├── .github └── workflows │ ├── auto-test.yml │ ├── publish-to-pypi.yml │ └── publish-to-s3.yml ├── .gitignore ├── LICENSE ├── README.md ├── datawaves ├── __init__.py ├── ethereum │ ├── __init__.py │ ├── condition.py │ └── providers.py └── utils.py ├── example └── spark3_example.py ├── java ├── pom.xml └── src │ ├── main │ └── java │ │ └── io │ │ └── iftech │ │ └── sparkudf │ │ ├── Decoder.java │ │ ├── converter │ │ ├── Converter.java │ │ ├── HiveConverter.java │ │ └── SparkConverter.java │ │ ├── hive │ │ ├── DecodeContractEventHiveUDF.java │ │ └── DecodeContractFunctionHiveUDF.java │ │ └── spark │ │ ├── DecodeContractEventUDF.java │ │ └── DecodeContractFunctionUDF.java │ └── test │ ├── java │ └── io │ │ └── iftech │ │ └── sparkudf │ │ ├── DecoderTest.java │ │ ├── Mocks.java │ │ ├── TestUtils.java │ │ ├── converter │ │ ├── HiveConverterTest.java │ │ └── SparkConverterTest.java │ │ ├── hive │ │ ├── DecodeContractEventHiveImpl.java │ │ ├── DecodeContractEventHiveUDFTest.java │ │ ├── DecodeContractFunctionHiveImpl.java │ │ ├── DecodeContractFunctionHiveUDFTest.java │ │ ├── OpenseaWyvernExchangeV2AtomicMatch.java │ │ └── OpenseaWyvernExchangeV2AtomicMatchTest.java │ │ └── spark │ │ ├── DecodeContractEventUDFTest.java │ │ └── DecodeContractFunctionUDFTest.java │ └── resources │ ├── converter │ └── function_abi.json │ └── log4j.properties ├── requirements_test.txt ├── setup.py ├── spark3 ├── __init__.py ├── ethereum │ ├── __init__.py │ ├── abi_type.py │ ├── condition.py │ ├── contract.py │ ├── exceptions.py │ └── type_factory.py ├── exceptions.py ├── main.py ├── providers.py ├── types.py └── utils │ ├── __init__.py │ ├── abi.py │ └── df_util.py └── test ├── __init__.py ├── datawaves ├── __init__.py └── test_utils.py ├── resources ├── conf │ └── log4j.properties ├── contract_test │ └── abi1.json └── ethereum_test │ ├── log1.json │ ├── log_abi1.json │ ├── log_abi2.json │ ├── trace_abi1.json │ └── trace_input1.txt └── spark3 ├── __init__.py ├── _utils.py ├── ethereum ├── __init__.py ├── test_contract.py └── test_type_factory.py ├── test_ethereum.py └── utils ├── __init__.py └── test_abi.py /.github/workflows/auto-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/.github/workflows/auto-test.yml -------------------------------------------------------------------------------- /.github/workflows/publish-to-pypi.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/.github/workflows/publish-to-pypi.yml -------------------------------------------------------------------------------- /.github/workflows/publish-to-s3.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/.github/workflows/publish-to-s3.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/README.md -------------------------------------------------------------------------------- /datawaves/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/datawaves/__init__.py -------------------------------------------------------------------------------- /datawaves/ethereum/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /datawaves/ethereum/condition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/datawaves/ethereum/condition.py -------------------------------------------------------------------------------- /datawaves/ethereum/providers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/datawaves/ethereum/providers.py -------------------------------------------------------------------------------- /datawaves/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/datawaves/utils.py -------------------------------------------------------------------------------- /example/spark3_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/example/spark3_example.py -------------------------------------------------------------------------------- /java/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/pom.xml -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/Decoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/Decoder.java -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/converter/Converter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/converter/Converter.java -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/converter/HiveConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/converter/HiveConverter.java -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/converter/SparkConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/converter/SparkConverter.java -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/hive/DecodeContractEventHiveUDF.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/hive/DecodeContractEventHiveUDF.java -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/hive/DecodeContractFunctionHiveUDF.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/hive/DecodeContractFunctionHiveUDF.java -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/spark/DecodeContractEventUDF.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/spark/DecodeContractEventUDF.java -------------------------------------------------------------------------------- /java/src/main/java/io/iftech/sparkudf/spark/DecodeContractFunctionUDF.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/main/java/io/iftech/sparkudf/spark/DecodeContractFunctionUDF.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/DecoderTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/DecoderTest.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/Mocks.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/Mocks.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/TestUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/TestUtils.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/converter/HiveConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/converter/HiveConverterTest.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/converter/SparkConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/converter/SparkConverterTest.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/hive/DecodeContractEventHiveImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/hive/DecodeContractEventHiveImpl.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/hive/DecodeContractEventHiveUDFTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/hive/DecodeContractEventHiveUDFTest.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/hive/DecodeContractFunctionHiveImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/hive/DecodeContractFunctionHiveImpl.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/hive/DecodeContractFunctionHiveUDFTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/hive/DecodeContractFunctionHiveUDFTest.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/hive/OpenseaWyvernExchangeV2AtomicMatch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/hive/OpenseaWyvernExchangeV2AtomicMatch.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/hive/OpenseaWyvernExchangeV2AtomicMatchTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/hive/OpenseaWyvernExchangeV2AtomicMatchTest.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/spark/DecodeContractEventUDFTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/spark/DecodeContractEventUDFTest.java -------------------------------------------------------------------------------- /java/src/test/java/io/iftech/sparkudf/spark/DecodeContractFunctionUDFTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/java/io/iftech/sparkudf/spark/DecodeContractFunctionUDFTest.java -------------------------------------------------------------------------------- /java/src/test/resources/converter/function_abi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/resources/converter/function_abi.json -------------------------------------------------------------------------------- /java/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/java/src/test/resources/log4j.properties -------------------------------------------------------------------------------- /requirements_test.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/requirements_test.txt -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/setup.py -------------------------------------------------------------------------------- /spark3/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/__init__.py -------------------------------------------------------------------------------- /spark3/ethereum/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spark3/ethereum/abi_type.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/ethereum/abi_type.py -------------------------------------------------------------------------------- /spark3/ethereum/condition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/ethereum/condition.py -------------------------------------------------------------------------------- /spark3/ethereum/contract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/ethereum/contract.py -------------------------------------------------------------------------------- /spark3/ethereum/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/ethereum/exceptions.py -------------------------------------------------------------------------------- /spark3/ethereum/type_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/ethereum/type_factory.py -------------------------------------------------------------------------------- /spark3/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/exceptions.py -------------------------------------------------------------------------------- /spark3/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/main.py -------------------------------------------------------------------------------- /spark3/providers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/providers.py -------------------------------------------------------------------------------- /spark3/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/types.py -------------------------------------------------------------------------------- /spark3/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spark3/utils/abi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/utils/abi.py -------------------------------------------------------------------------------- /spark3/utils/df_util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/spark3/utils/df_util.py -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/__init__.py -------------------------------------------------------------------------------- /test/datawaves/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/datawaves/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/datawaves/test_utils.py -------------------------------------------------------------------------------- /test/resources/conf/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/resources/conf/log4j.properties -------------------------------------------------------------------------------- /test/resources/contract_test/abi1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/resources/contract_test/abi1.json -------------------------------------------------------------------------------- /test/resources/ethereum_test/log1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/resources/ethereum_test/log1.json -------------------------------------------------------------------------------- /test/resources/ethereum_test/log_abi1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/resources/ethereum_test/log_abi1.json -------------------------------------------------------------------------------- /test/resources/ethereum_test/log_abi2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/resources/ethereum_test/log_abi2.json -------------------------------------------------------------------------------- /test/resources/ethereum_test/trace_abi1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/resources/ethereum_test/trace_abi1.json -------------------------------------------------------------------------------- /test/resources/ethereum_test/trace_input1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/resources/ethereum_test/trace_input1.txt -------------------------------------------------------------------------------- /test/spark3/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/spark3/_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/spark3/_utils.py -------------------------------------------------------------------------------- /test/spark3/ethereum/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/spark3/ethereum/test_contract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/spark3/ethereum/test_contract.py -------------------------------------------------------------------------------- /test/spark3/ethereum/test_type_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/spark3/ethereum/test_type_factory.py -------------------------------------------------------------------------------- /test/spark3/test_ethereum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/spark3/test_ethereum.py -------------------------------------------------------------------------------- /test/spark3/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/spark3/utils/test_abi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawaves-xyz/blockchain-spark/HEAD/test/spark3/utils/test_abi.py --------------------------------------------------------------------------------