py-near 1.1.33__tar.gz → 1.1.34__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 (29) hide show
  1. {py_near-1.1.33 → py_near-1.1.34}/PKG-INFO +1 -1
  2. {py_near-1.1.33 → py_near-1.1.34}/pyproject.toml +2 -2
  3. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/providers.py +26 -2
  4. {py_near-1.1.33 → py_near-1.1.34}/LICENSE +0 -0
  5. {py_near-1.1.33 → py_near-1.1.34}/README.md +0 -0
  6. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/__init__.py +0 -0
  7. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/account.py +0 -0
  8. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/constants.py +0 -0
  9. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/__init__.py +0 -0
  10. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/core.py +0 -0
  11. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/ft/__init__.py +0 -0
  12. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/ft/async_client.py +0 -0
  13. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/ft/exceptions.py +0 -0
  14. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/ft/models.py +0 -0
  15. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/fts.py +0 -0
  16. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/keypom/__init__.py +0 -0
  17. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/keypom/async_client.py +0 -0
  18. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/keypom/exceptions.py +0 -0
  19. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/keypom/models.py +0 -0
  20. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/staking/__init__.py +0 -0
  21. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/staking/async_client.py +0 -0
  22. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/staking/exceptions.py +0 -0
  23. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/dapps/staking/models.py +0 -0
  24. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/exceptions/__init__.py +0 -0
  25. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/exceptions/exceptions.py +0 -0
  26. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/exceptions/provider.py +0 -0
  27. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/models.py +0 -0
  28. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/transactions.py +0 -0
  29. {py_near-1.1.33 → py_near-1.1.34}/src/py_near/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: py-near
3
- Version: 1.1.33
3
+ Version: 1.1.34
4
4
  Summary: Pretty simple and fully asynchronous framework for working with NEAR blockchain
5
5
  Author: pvolnov
6
6
  Author-email: petr@herewallet.app
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "py-near"
3
- version = "1.1.33"
3
+ version = "1.1.34"
4
4
  description="Pretty simple and fully asynchronous framework for working with NEAR blockchain"
5
5
  authors = ["pvolnov <petr@herewallet.app>"]
6
6
  readme = "README.md"
@@ -22,7 +22,7 @@ base58 = "^2.1.1"
22
22
 
23
23
  [project]
24
24
  name = "py-near"
25
- version = "1.1.33"
25
+ version = "1.1.34"
26
26
  description = "Pretty simple and fully asynchronous framework for working with NEAR blockchaink"
27
27
  authors = [ {name = "pvolnov", email = "petr@herewallet.app"} ]
28
28
  requires-python = ">=3.7"
@@ -120,6 +120,31 @@ class JsonProvider(object):
120
120
  await self.check_available_rpcs()
121
121
  j = {"method": method, "params": params, "id": "dontcare", "jsonrpc": "2.0"}
122
122
  res = {}
123
+ if broadcast:
124
+ async def f(rpc_call_addr):
125
+ async with aiohttp.ClientSession() as session:
126
+ r = await session.post(
127
+ rpc_call_addr,
128
+ json=j,
129
+ timeout=timeout,
130
+ headers={
131
+ "Referer": "https://tgapp.herewallet.app/"
132
+ }, # NEAR RPC requires Referer header
133
+ )
134
+ r.raise_for_status()
135
+ res = json.loads(await r.text())
136
+ return res
137
+
138
+ tasks = [
139
+ asyncio.create_task(f(rpc_addr)) for rpc_addr in self._available_rpcs
140
+ ]
141
+ for t in tasks:
142
+ try:
143
+ res = await t
144
+ return res
145
+ except Exception as e:
146
+ logger.error(f"Rpc error: {e}")
147
+ continue
123
148
  for rpc_addr in self._available_rpcs:
124
149
  try:
125
150
  async with aiohttp.ClientSession() as session:
@@ -133,8 +158,7 @@ class JsonProvider(object):
133
158
  )
134
159
  r.raise_for_status()
135
160
  res = json.loads(await r.text())
136
- if not broadcast:
137
- return res
161
+ return res
138
162
  except (
139
163
  RPCTimeoutError,
140
164
  ClientResponseError,
File without changes
File without changes
File without changes
File without changes