blockapi 2.6.0__tar.gz → 2.8.0__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.
Files changed (114) hide show
  1. {blockapi-2.6.0 → blockapi-2.8.0}/PKG-INFO +1 -1
  2. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/debank.py +34 -0
  3. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/blockchain_mapping.py +1 -0
  4. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/models.py +1 -0
  5. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi.egg-info/PKG-INFO +1 -1
  6. {blockapi-2.6.0 → blockapi-2.8.0}/setup.py +1 -1
  7. {blockapi-2.6.0 → blockapi-2.8.0}/LICENSE.md +0 -0
  8. {blockapi-2.6.0 → blockapi-2.8.0}/README.md +0 -0
  9. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/__init__.py +0 -0
  10. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/services.py +0 -0
  11. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/__init__.py +0 -0
  12. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/test_blockapi.py +0 -0
  13. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/test_num.py +0 -0
  14. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/test_random_user_agent.py +0 -0
  15. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/__init__.py +0 -0
  16. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/__init__.py +0 -0
  17. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/conftest.py +0 -0
  18. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/covalenth/__init__.py +0 -0
  19. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/covalenth/test_ethereum.py +0 -0
  20. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/fake_sleep_provider.py +0 -0
  21. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/nft/__init__.py +0 -0
  22. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/nft/test_magic_eden.py +0 -0
  23. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/nft/test_opensea.py +0 -0
  24. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/nft/test_simple_hash.py +0 -0
  25. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/nft/test_unisat.py +0 -0
  26. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/perpetual/__init__.py +0 -0
  27. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/perpetual/test_perpetual.py +0 -0
  28. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/synthetix/__init__.py +0 -0
  29. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/synthetix/test_synthetix.py +0 -0
  30. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_bitaps_ltc.py +0 -0
  31. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_blockchain_info.py +0 -0
  32. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_blockchainos.py +0 -0
  33. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_blockchair_btc.py +0 -0
  34. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_blockchair_doge.py +0 -0
  35. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_blockchair_ltc.py +0 -0
  36. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_cosmos.py +0 -0
  37. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_ethplorer.py +0 -0
  38. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_haskoin.py +0 -0
  39. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_litecoinspace.py +0 -0
  40. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_multisources.py +0 -0
  41. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_optimistic_etherscan.py +0 -0
  42. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_solana.py +0 -0
  43. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_subscan_polkadot.py +0 -0
  44. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_sui.py +0 -0
  45. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_terra.py +0 -0
  46. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_trezor_btc.py +0 -0
  47. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/api/test_trezor_zec.py +0 -0
  48. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/test_base.py +0 -0
  49. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/test_blockchain_api.py +0 -0
  50. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/test_blockchain_mapping.py +0 -0
  51. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/test_data.py +0 -0
  52. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/test_enumerate_classes.py +0 -0
  53. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/test_generic.py +0 -0
  54. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test/v2/test_models.py +0 -0
  55. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/test_data.py +0 -0
  56. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/utils/__init__.py +0 -0
  57. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/utils/address.py +0 -0
  58. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/utils/datetime.py +0 -0
  59. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/utils/num.py +0 -0
  60. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/utils/user_agent.py +0 -0
  61. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/__init__.py +0 -0
  62. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/__init__.py +0 -0
  63. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/bitaps.py +0 -0
  64. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/blockchain_info.py +0 -0
  65. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/blockchainos.py +0 -0
  66. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/blockchair.py +0 -0
  67. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/cosmos.py +0 -0
  68. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/__init__.py +0 -0
  69. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/arbitrum.py +0 -0
  70. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/astar.py +0 -0
  71. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/avalanche.py +0 -0
  72. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/axie.py +0 -0
  73. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/base.py +0 -0
  74. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/binance_smart_chain.py +0 -0
  75. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/ethereum.py +0 -0
  76. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/fantom.py +0 -0
  77. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/heco.py +0 -0
  78. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/iotex.py +0 -0
  79. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/klaytn.py +0 -0
  80. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/moonbeam.py +0 -0
  81. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/palm.py +0 -0
  82. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/polygon.py +0 -0
  83. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/covalenth/rsk.py +0 -0
  84. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/debank_maps.py +0 -0
  85. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/ethplorer.py +0 -0
  86. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/haskoin.py +0 -0
  87. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/litecoinspace.py +0 -0
  88. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/nft/__init__.py +0 -0
  89. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/nft/magic_eden.py +0 -0
  90. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/nft/opensea.py +0 -0
  91. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/nft/simple_hash.py +0 -0
  92. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/nft/unisat.py +0 -0
  93. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/optimistic_etherscan.py +0 -0
  94. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/perpetual/__init__.py +0 -0
  95. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/perpetual/perp_abi.py +0 -0
  96. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/perpetual/perpetual.py +0 -0
  97. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/solana.py +0 -0
  98. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/subscan.py +0 -0
  99. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/sui.py +0 -0
  100. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/synthetix/__init__.py +0 -0
  101. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/synthetix/synthetix.py +0 -0
  102. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/synthetix/synthetix_abi.py +0 -0
  103. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/terra.py +0 -0
  104. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/trezor.py +0 -0
  105. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/api/web3_utils.py +0 -0
  106. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/base.py +0 -0
  107. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/coin_mapping.py +0 -0
  108. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi/v2/coins.py +0 -0
  109. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi.egg-info/SOURCES.txt +0 -0
  110. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi.egg-info/dependency_links.txt +0 -0
  111. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi.egg-info/requires.txt +0 -0
  112. {blockapi-2.6.0 → blockapi-2.8.0}/blockapi.egg-info/top_level.txt +0 -0
  113. {blockapi-2.6.0 → blockapi-2.8.0}/pyproject.toml +0 -0
  114. {blockapi-2.6.0 → blockapi-2.8.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: blockapi
3
- Version: 2.6.0
3
+ Version: 2.8.0
4
4
  Summary: BlockAPI library
5
5
  Home-page: https://github.com/crypkit/blockapi
6
6
  Author: Devmons s.r.o.
@@ -735,6 +735,12 @@ class DebankApi(CustomizableBlockchainApi, BalanceMixin, IPortfolio):
735
735
  'get_protocols': '/v1/protocol/all_list',
736
736
  'usage': '/v1/account/units',
737
737
  'get_complex_app_list': '/v1/user/complex_app_list?id={address}',
738
+ 'get_token_list_for_chain': (
739
+ '/v1/user/token_list?id={address}&chain_id={chain_id}&is_all={is_all}'
740
+ ),
741
+ 'get_protocol_for_address': (
742
+ '/v1/user/protocol?id={address}&protocol_id={protocol_id}'
743
+ ),
738
744
  }
739
745
 
740
746
  default_protocol_cache = DebankProtocolCache()
@@ -783,6 +789,23 @@ class DebankApi(CustomizableBlockchainApi, BalanceMixin, IPortfolio):
783
789
  address=address,
784
790
  )
785
791
 
792
+ def fetch_token_list_for_chain(self, address: str, chain_id: str) -> FetchResult:
793
+ return self.get_data(
794
+ 'get_token_list_for_chain',
795
+ headers=self._headers,
796
+ address=address,
797
+ chain_id=chain_id,
798
+ is_all=self._is_all,
799
+ )
800
+
801
+ def fetch_protocol_for_address(self, address: str, protocol_id: str) -> FetchResult:
802
+ return self.get_data(
803
+ 'get_protocol_for_address',
804
+ headers=self._headers,
805
+ address=address,
806
+ protocol_id=protocol_id,
807
+ )
808
+
786
809
  def fetch_protocols(self) -> FetchResult:
787
810
  return self.get_data(
788
811
  'get_protocols',
@@ -809,6 +832,17 @@ class DebankApi(CustomizableBlockchainApi, BalanceMixin, IPortfolio):
809
832
  self._maybe_update_protocols()
810
833
  return ParseResult(data=self._portfolio_parser.parse(fetch_result.data))
811
834
 
835
+ def parse_pool_for_address(self, fetch_result: FetchResult) -> ParseResult:
836
+ if error := self._get_error(fetch_result.data):
837
+ return ParseResult(errors=[error])
838
+
839
+ self._maybe_update_protocols()
840
+ data = fetch_result.data
841
+ # /v1/user/protocol returns a single protocol object; wrap in a list
842
+ # so the portfolio parser (which iterates) handles it uniformly.
843
+ wrapped = [data] if isinstance(data, dict) else (data or [])
844
+ return ParseResult(data=self._portfolio_parser.parse(wrapped))
845
+
812
846
  def get_protocols(self) -> Dict[str, Protocol]:
813
847
  response = self.get('get_protocols', headers=self._headers)
814
848
  if self._has_error(response):
@@ -203,6 +203,7 @@ CHAIN_ID_BLOCKCHAINS_MAP = {
203
203
  '2222': Blockchain.KAVA,
204
204
  '2741': Blockchain.ABSTRACT,
205
205
  '4689': Blockchain.IOTEX,
206
+ '6342': Blockchain.MEGAETH,
206
207
  '8217': Blockchain.KLAYTN_CYPRESS,
207
208
  '9001': Blockchain.EVMOS,
208
209
  # "16350": None, #TODO: Not found
@@ -215,6 +215,7 @@ class Blockchain(str, Enum):
215
215
  MANTLE = 'mantle'
216
216
  MAP_PROTOCOL = 'map-protocol'
217
217
  MASSA = 'massa'
218
+ MEGAETH = 'megaeth'
218
219
  MELD = 'meld'
219
220
  MERLIN_CHAIN = 'merlin-chain'
220
221
  METAL_L2 = 'metal-l2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: blockapi
3
- Version: 2.6.0
3
+ Version: 2.8.0
4
4
  Summary: BlockAPI library
5
5
  Home-page: https://github.com/crypkit/blockapi
6
6
  Author: Devmons s.r.o.
@@ -6,7 +6,7 @@ with open("README.md", "r") as f:
6
6
 
7
7
  PACKAGES = find_packages(where='.')
8
8
 
9
- __version__ = "2.6.0"
9
+ __version__ = "2.8.0"
10
10
 
11
11
  setuptools.setup(
12
12
  name='blockapi',
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