djwebdapp 0.6.2.dev2__tar.gz → 0.6.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of djwebdapp might be problematic. Click here for more details.
- {djwebdapp-0.6.2.dev2/src/djwebdapp.egg-info → djwebdapp-0.6.6}/PKG-INFO +24 -8
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/setup.py +5 -3
- djwebdapp-0.6.6/src/djwebdapp/migrations/0018_blockchain_chain_id.py +18 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/models.py +8 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6/src/djwebdapp.egg-info}/PKG-INFO +24 -8
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp.egg-info/SOURCES.txt +1 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp.egg-info/requires.txt +6 -3
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/provider.py +36 -17
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/LICENSE +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/MANIFEST.in +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/README.rst +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/setup.cfg +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/admin.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/apps.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/exceptions.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/history_download.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/index.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/normalize.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/refresh_balances.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/spool.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0002_alter_transaction_receiver_alter_transaction_sender.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0003_transaction_txgroup_alter_transaction_hash_and_more.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0004_alter_transaction_options.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0005_alter_transaction_unique_together_and_more.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0006_blockchain_min_confirmations_alter_transaction_state.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0007_alter_transaction_amount.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0008_transaction_index.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0009_account_index.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0010_alter_transaction_nonce.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0011_rename_max_level_blockchain_index_level.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0012_transaction_number.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0013_transaction_normalized_dependency.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0014_alter_account_unique_together.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0015_alter_transaction_state.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0016_alter_transaction_has_code.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0017_event.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/normalizers.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/provider.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/signals.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp.egg-info/dependency_links.txt +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp.egg-info/top_level.txt +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/admin.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/apps.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/migrations/0002_ethereumcall_ethereumcontract.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/migrations/0003_ethereumtransaction_caller.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/migrations/0004_ethereumevent.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/balance.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/balance_update.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/deploy.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/deploy_fa12.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/spool.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/wait.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example/wallet_create.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/account.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/admin.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/apps.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/blockchain.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/blockchain_with_event_provider.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/client.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/deploy.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/deploy_contract.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/deploy_model.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/index.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/load.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/migrations/0002_fa12ethereumbalancemovement.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/mint_normalize.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/normalize.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/normalizers.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/tests.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/transfer.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/views.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/wallet_import.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/Proxy.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/account.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/admin.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/apps.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/blockchain.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/call_parallel.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/callee.json +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/callee.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/caller.json +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/caller.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/client.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/contracts/FA12.json +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/contracts/FA12.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/deploy.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/deploy_client.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/deploy_contract.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/deploy_model.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/index.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/load.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/mint_normalize.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/normalize.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/normalize_old.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/normalizers.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/tests.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/transfer.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/views.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/wallet_import.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/admin.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/apps.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/normalizers.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/serializers.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/urls.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_fa2/views.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_multisig/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_multisig/admin.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_multisig/apps.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_multisig/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_multisig/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_multisig/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_rest_framework/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_rest_framework/apps.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_rest_framework/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_rest_framework/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_rest_framework/views.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/admin.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/management/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/management/commands/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/migrations/0001_initial.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/migrations/0002_tezostransaction_caller.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/migrations/0003_tezoscall_tezoscontract.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/migrations/0004_delete_tezoscall_delete_tezoscontract.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/migrations/0005_tezoscall_tezoscontract.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/migrations/__init__.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/models.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/provider.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/tests/test_rest_framework.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/tests/test_transaction.py +0 -0
- {djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/tests/test_txgraph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: djwebdapp
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.6
|
|
4
4
|
Home-page: https://yourlabs.io/oss/djwebdapp
|
|
5
5
|
Author: James Pic
|
|
6
6
|
Author-email: jamespic@gmail.com
|
|
@@ -20,9 +20,11 @@ Requires-Dist: djangorestframework; extra == "test"
|
|
|
20
20
|
Requires-Dist: pytest; extra == "test"
|
|
21
21
|
Requires-Dist: pytest-cov; extra == "test"
|
|
22
22
|
Requires-Dist: pytest-django; extra == "test"
|
|
23
|
-
Requires-Dist: web3<=6.
|
|
23
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "test"
|
|
24
|
+
Requires-Dist: eth-typing<5; extra == "test"
|
|
24
25
|
Provides-Extra: ethereum
|
|
25
|
-
Requires-Dist: web3<=6.
|
|
26
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "ethereum"
|
|
27
|
+
Requires-Dist: eth-typing<5; extra == "ethereum"
|
|
26
28
|
Provides-Extra: tezos
|
|
27
29
|
Requires-Dist: pytezos>3.4; extra == "tezos"
|
|
28
30
|
Requires-Dist: pymich>=0.9.8; extra == "tezos"
|
|
@@ -36,8 +38,10 @@ Requires-Dist: djangorestframework; extra == "all"
|
|
|
36
38
|
Requires-Dist: pytest; extra == "all"
|
|
37
39
|
Requires-Dist: pytest-cov; extra == "all"
|
|
38
40
|
Requires-Dist: pytest-django; extra == "all"
|
|
39
|
-
Requires-Dist: web3<=6.
|
|
40
|
-
Requires-Dist:
|
|
41
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
42
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
43
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
44
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
41
45
|
Requires-Dist: pytezos>3.4; extra == "all"
|
|
42
46
|
Requires-Dist: pymich>=0.9.8; extra == "all"
|
|
43
47
|
Requires-Dist: django; extra == "all"
|
|
@@ -45,10 +49,22 @@ Requires-Dist: djangorestframework; extra == "all"
|
|
|
45
49
|
Requires-Dist: pytest; extra == "all"
|
|
46
50
|
Requires-Dist: pytest-cov; extra == "all"
|
|
47
51
|
Requires-Dist: pytest-django; extra == "all"
|
|
48
|
-
Requires-Dist: web3<=6.
|
|
49
|
-
Requires-Dist:
|
|
52
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
53
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
54
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
55
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
50
56
|
Requires-Dist: pytezos>3.4; extra == "all"
|
|
51
57
|
Requires-Dist: pymich>=0.9.8; extra == "all"
|
|
58
|
+
Dynamic: author
|
|
59
|
+
Dynamic: author-email
|
|
60
|
+
Dynamic: description
|
|
61
|
+
Dynamic: description-content-type
|
|
62
|
+
Dynamic: home-page
|
|
63
|
+
Dynamic: keywords
|
|
64
|
+
Dynamic: license
|
|
65
|
+
Dynamic: provides-extra
|
|
66
|
+
Dynamic: requires-dist
|
|
67
|
+
Dynamic: requires-python
|
|
52
68
|
|
|
53
69
|
djWebdApp
|
|
54
70
|
~~~~~~~~~
|
|
@@ -8,11 +8,13 @@ extras_require = dict(
|
|
|
8
8
|
'pytest',
|
|
9
9
|
'pytest-cov',
|
|
10
10
|
'pytest-django',
|
|
11
|
-
'web3>=6.7.0,<=6.
|
|
11
|
+
'web3>=6.7.0,<=6.20',
|
|
12
|
+
'eth-typing<5',
|
|
12
13
|
],
|
|
13
14
|
ethereum=[
|
|
14
15
|
#'web3>=6.7.0', # no [dev] for persistent deployments
|
|
15
|
-
'web3>=6.7.0,<=6.
|
|
16
|
+
'web3>=6.7.0,<=6.20',
|
|
17
|
+
'eth-typing<5',
|
|
16
18
|
],
|
|
17
19
|
tezos=[
|
|
18
20
|
'pytezos>3.4',
|
|
@@ -34,7 +36,7 @@ for name, deps in extras_require.items():
|
|
|
34
36
|
|
|
35
37
|
setup(
|
|
36
38
|
name='djwebdapp',
|
|
37
|
-
version='0.6.
|
|
39
|
+
version='0.6.6',
|
|
38
40
|
setup_requires='setupmeta',
|
|
39
41
|
packages=find_packages('src'),
|
|
40
42
|
package_dir={'': 'src'},
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Django 5.2 on 2025-04-15 17:04
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('djwebdapp', '0017_event'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name='blockchain',
|
|
15
|
+
name='chain_id',
|
|
16
|
+
field=models.IntegerField(blank=True, null=True),
|
|
17
|
+
),
|
|
18
|
+
]
|
|
@@ -253,6 +253,10 @@ class Blockchain(models.Model):
|
|
|
253
253
|
|
|
254
254
|
Optionnal description for this blockchain.
|
|
255
255
|
|
|
256
|
+
.. py:attribute:: chain_id
|
|
257
|
+
|
|
258
|
+
Chain ID used to distinguish different EVM blockchains.
|
|
259
|
+
|
|
256
260
|
.. py:attribute:: unit
|
|
257
261
|
|
|
258
262
|
Unit name of the blockchain, ie. eth, xtz...
|
|
@@ -293,6 +297,10 @@ class Blockchain(models.Model):
|
|
|
293
297
|
blank=True,
|
|
294
298
|
help_text='Free text to describe the blockchain to users',
|
|
295
299
|
)
|
|
300
|
+
chain_id = models.IntegerField(
|
|
301
|
+
blank=True,
|
|
302
|
+
null=True,
|
|
303
|
+
)
|
|
296
304
|
unit = models.CharField(
|
|
297
305
|
max_length=15,
|
|
298
306
|
help_text='Unit name, ie. btc, xtz...',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: djwebdapp
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.6
|
|
4
4
|
Home-page: https://yourlabs.io/oss/djwebdapp
|
|
5
5
|
Author: James Pic
|
|
6
6
|
Author-email: jamespic@gmail.com
|
|
@@ -20,9 +20,11 @@ Requires-Dist: djangorestframework; extra == "test"
|
|
|
20
20
|
Requires-Dist: pytest; extra == "test"
|
|
21
21
|
Requires-Dist: pytest-cov; extra == "test"
|
|
22
22
|
Requires-Dist: pytest-django; extra == "test"
|
|
23
|
-
Requires-Dist: web3<=6.
|
|
23
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "test"
|
|
24
|
+
Requires-Dist: eth-typing<5; extra == "test"
|
|
24
25
|
Provides-Extra: ethereum
|
|
25
|
-
Requires-Dist: web3<=6.
|
|
26
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "ethereum"
|
|
27
|
+
Requires-Dist: eth-typing<5; extra == "ethereum"
|
|
26
28
|
Provides-Extra: tezos
|
|
27
29
|
Requires-Dist: pytezos>3.4; extra == "tezos"
|
|
28
30
|
Requires-Dist: pymich>=0.9.8; extra == "tezos"
|
|
@@ -36,8 +38,10 @@ Requires-Dist: djangorestframework; extra == "all"
|
|
|
36
38
|
Requires-Dist: pytest; extra == "all"
|
|
37
39
|
Requires-Dist: pytest-cov; extra == "all"
|
|
38
40
|
Requires-Dist: pytest-django; extra == "all"
|
|
39
|
-
Requires-Dist: web3<=6.
|
|
40
|
-
Requires-Dist:
|
|
41
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
42
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
43
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
44
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
41
45
|
Requires-Dist: pytezos>3.4; extra == "all"
|
|
42
46
|
Requires-Dist: pymich>=0.9.8; extra == "all"
|
|
43
47
|
Requires-Dist: django; extra == "all"
|
|
@@ -45,10 +49,22 @@ Requires-Dist: djangorestframework; extra == "all"
|
|
|
45
49
|
Requires-Dist: pytest; extra == "all"
|
|
46
50
|
Requires-Dist: pytest-cov; extra == "all"
|
|
47
51
|
Requires-Dist: pytest-django; extra == "all"
|
|
48
|
-
Requires-Dist: web3<=6.
|
|
49
|
-
Requires-Dist:
|
|
52
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
53
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
54
|
+
Requires-Dist: web3<=6.20,>=6.7.0; extra == "all"
|
|
55
|
+
Requires-Dist: eth-typing<5; extra == "all"
|
|
50
56
|
Requires-Dist: pytezos>3.4; extra == "all"
|
|
51
57
|
Requires-Dist: pymich>=0.9.8; extra == "all"
|
|
58
|
+
Dynamic: author
|
|
59
|
+
Dynamic: author-email
|
|
60
|
+
Dynamic: description
|
|
61
|
+
Dynamic: description-content-type
|
|
62
|
+
Dynamic: home-page
|
|
63
|
+
Dynamic: keywords
|
|
64
|
+
Dynamic: license
|
|
65
|
+
Dynamic: provides-extra
|
|
66
|
+
Dynamic: requires-dist
|
|
67
|
+
Dynamic: requires-python
|
|
52
68
|
|
|
53
69
|
djWebdApp
|
|
54
70
|
~~~~~~~~~
|
|
@@ -39,6 +39,7 @@ src/djwebdapp/migrations/0014_alter_account_unique_together.py
|
|
|
39
39
|
src/djwebdapp/migrations/0015_alter_transaction_state.py
|
|
40
40
|
src/djwebdapp/migrations/0016_alter_transaction_has_code.py
|
|
41
41
|
src/djwebdapp/migrations/0017_event.py
|
|
42
|
+
src/djwebdapp/migrations/0018_blockchain_chain_id.py
|
|
42
43
|
src/djwebdapp/migrations/__init__.py
|
|
43
44
|
src/djwebdapp_ethereum/__init__.py
|
|
44
45
|
src/djwebdapp_ethereum/admin.py
|
|
@@ -10,7 +10,8 @@ djangorestframework
|
|
|
10
10
|
pytest
|
|
11
11
|
pytest-cov
|
|
12
12
|
pytest-django
|
|
13
|
-
web3<=6.
|
|
13
|
+
web3<=6.20,>=6.7.0
|
|
14
|
+
eth-typing<5
|
|
14
15
|
pytezos>3.4
|
|
15
16
|
pymich>=0.9.8
|
|
16
17
|
|
|
@@ -20,7 +21,8 @@ secp256k1
|
|
|
20
21
|
fastecdsa
|
|
21
22
|
|
|
22
23
|
[ethereum]
|
|
23
|
-
web3<=6.
|
|
24
|
+
web3<=6.20,>=6.7.0
|
|
25
|
+
eth-typing<5
|
|
24
26
|
|
|
25
27
|
[test]
|
|
26
28
|
django
|
|
@@ -28,7 +30,8 @@ djangorestframework
|
|
|
28
30
|
pytest
|
|
29
31
|
pytest-cov
|
|
30
32
|
pytest-django
|
|
31
|
-
web3<=6.
|
|
33
|
+
web3<=6.20,>=6.7.0
|
|
34
|
+
eth-typing<5
|
|
32
35
|
|
|
33
36
|
[tezos]
|
|
34
37
|
pytezos>3.4
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
|
+
from eth_utils.abi import event_abi_to_log_topic
|
|
3
4
|
from hexbytes import HexBytes
|
|
4
5
|
from web3 import Web3
|
|
5
6
|
from web3.exceptions import ContractLogicError
|
|
6
7
|
|
|
7
8
|
from django.conf import settings
|
|
8
9
|
|
|
10
|
+
from django.db import transaction as db_transaction
|
|
9
11
|
from djwebdapp.models import Account
|
|
10
12
|
from djwebdapp_ethereum.models import EthereumEvent, EthereumTransaction
|
|
11
13
|
from djwebdapp.provider import Provider
|
|
@@ -97,7 +99,7 @@ class EthereumProvider(Provider):
|
|
|
97
99
|
index=False,
|
|
98
100
|
)
|
|
99
101
|
|
|
100
|
-
call =
|
|
102
|
+
call = self.transaction_class.objects.select_subclasses().filter(
|
|
101
103
|
hash=transaction['hash'].hex(),
|
|
102
104
|
).first()
|
|
103
105
|
|
|
@@ -403,7 +405,7 @@ class EthereumEventProvider(EthereumProvider):
|
|
|
403
405
|
self.logs
|
|
404
406
|
))
|
|
405
407
|
|
|
406
|
-
def get_contract_event_names(self, contract_abi):
|
|
408
|
+
def get_contract_event_names(self, contract_abi, encoded_event_name):
|
|
407
409
|
events = []
|
|
408
410
|
for entry in contract_abi:
|
|
409
411
|
if (
|
|
@@ -411,7 +413,12 @@ class EthereumEventProvider(EthereumProvider):
|
|
|
411
413
|
and entry["type"] == "event"
|
|
412
414
|
and "name" in entry
|
|
413
415
|
):
|
|
414
|
-
|
|
416
|
+
candidate_encoded_event_name = "0x" + event_abi_to_log_topic(
|
|
417
|
+
entry,
|
|
418
|
+
).hex()
|
|
419
|
+
if candidate_encoded_event_name == encoded_event_name:
|
|
420
|
+
events.append(entry["name"])
|
|
421
|
+
|
|
415
422
|
return events
|
|
416
423
|
|
|
417
424
|
def index_log(self, log):
|
|
@@ -420,24 +427,31 @@ class EthereumEventProvider(EthereumProvider):
|
|
|
420
427
|
# so the transaction is not created
|
|
421
428
|
# So right now I return if the tx not exists
|
|
422
429
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
430
|
+
with db_transaction.atomic():
|
|
431
|
+
transaction, created = self.transaction_class.objects.update_or_create( # noqa: E501
|
|
432
|
+
blockchain=self.blockchain,
|
|
433
|
+
hash=log["transactionHash"].hex(),
|
|
434
|
+
defaults=dict(
|
|
435
|
+
level=log["blockNumber"],
|
|
436
|
+
)
|
|
428
437
|
)
|
|
429
|
-
|
|
438
|
+
transaction.state_set("done")
|
|
430
439
|
|
|
431
|
-
|
|
440
|
+
if created:
|
|
441
|
+
"""
|
|
442
|
+
If the transaction was created, then it's from the log of an
|
|
443
|
+
indexed contract, we consider the original transaction to be
|
|
444
|
+
a `function` kind which we don't index.
|
|
432
445
|
|
|
433
|
-
|
|
434
|
-
|
|
446
|
+
This is crucial as it will otherwise by default be saved as
|
|
447
|
+
an indexed contract. If so, then the indexer will try to
|
|
448
|
+
index a contract with no address and raise!!
|
|
435
449
|
|
|
436
|
-
|
|
437
|
-
|
|
450
|
+
Hence this must also be in the atomic block.
|
|
451
|
+
"""
|
|
452
|
+
transaction.kind = "function"
|
|
438
453
|
transaction.index = False
|
|
439
|
-
|
|
440
|
-
transaction.save()
|
|
454
|
+
transaction.save()
|
|
441
455
|
|
|
442
456
|
contract = self.transaction_class.objects.filter(
|
|
443
457
|
address=log["address"]
|
|
@@ -446,7 +460,12 @@ class EthereumEventProvider(EthereumProvider):
|
|
|
446
460
|
address=contract.address,
|
|
447
461
|
abi=contract.abi,
|
|
448
462
|
)
|
|
449
|
-
|
|
463
|
+
# first topic encodes event name
|
|
464
|
+
encoded_log_name = log["topics"][0].hex()
|
|
465
|
+
event_names = self.get_contract_event_names(
|
|
466
|
+
contract_ci.abi,
|
|
467
|
+
encoded_log_name,
|
|
468
|
+
)
|
|
450
469
|
for event_name in event_names:
|
|
451
470
|
event = getattr(contract_ci.events, event_name)
|
|
452
471
|
event_data = event().process_receipt({"logs": [log]})
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/history_download.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/management/commands/refresh_balances.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0004_alter_transaction_options.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0007_alter_transaction_amount.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0010_alter_transaction_nonce.py
RENAMED
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0012_transaction_number.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0015_alter_transaction_state.py
RENAMED
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp/migrations/0016_alter_transaction_has_code.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_ethereum/migrations/0004_ethereumevent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_ethereum/migrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_example_tezos/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_rest_framework/migrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{djwebdapp-0.6.2.dev2 → djwebdapp-0.6.6}/src/djwebdapp_tezos/management/commands/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|