arete-sdk 0.11.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.
- arete_sdk-0.11.0/LICENSE +21 -0
- arete_sdk-0.11.0/PKG-INFO +157 -0
- arete_sdk-0.11.0/README.md +130 -0
- arete_sdk-0.11.0/arete/__init__.py +310 -0
- arete_sdk-0.11.0/arete/amounts.py +157 -0
- arete_sdk-0.11.0/arete/auth.py +626 -0
- arete_sdk-0.11.0/arete/chain.py +350 -0
- arete_sdk-0.11.0/arete/client.py +811 -0
- arete_sdk-0.11.0/arete/connection.py +631 -0
- arete_sdk-0.11.0/arete/errors.py +88 -0
- arete_sdk-0.11.0/arete/extensions.py +239 -0
- arete_sdk-0.11.0/arete/gateway.py +235 -0
- arete_sdk-0.11.0/arete/http.py +569 -0
- arete_sdk-0.11.0/arete/instructions/__init__.py +89 -0
- arete_sdk-0.11.0/arete/instructions/_curve.py +76 -0
- arete_sdk-0.11.0/arete/instructions/accounts.py +285 -0
- arete_sdk-0.11.0/arete/instructions/args.py +375 -0
- arete_sdk-0.11.0/arete/instructions/errors.py +53 -0
- arete_sdk-0.11.0/arete/instructions/handler.py +170 -0
- arete_sdk-0.11.0/arete/instructions/pda.py +276 -0
- arete_sdk-0.11.0/arete/operations.py +1402 -0
- arete_sdk-0.11.0/arete/program_read_transport.py +443 -0
- arete_sdk-0.11.0/arete/read.py +418 -0
- arete_sdk-0.11.0/arete/session.py +563 -0
- arete_sdk-0.11.0/arete/spl.py +75 -0
- arete_sdk-0.11.0/arete/stack.py +551 -0
- arete_sdk-0.11.0/arete/store.py +591 -0
- arete_sdk-0.11.0/arete/subscription.py +552 -0
- arete_sdk-0.11.0/arete/transactions.py +342 -0
- arete_sdk-0.11.0/arete/views.py +556 -0
- arete_sdk-0.11.0/arete/wallet.py +405 -0
- arete_sdk-0.11.0/arete/wire.py +477 -0
- arete_sdk-0.11.0/arete_sdk.egg-info/PKG-INFO +157 -0
- arete_sdk-0.11.0/arete_sdk.egg-info/SOURCES.txt +64 -0
- arete_sdk-0.11.0/arete_sdk.egg-info/dependency_links.txt +1 -0
- arete_sdk-0.11.0/arete_sdk.egg-info/requires.txt +6 -0
- arete_sdk-0.11.0/arete_sdk.egg-info/top_level.txt +1 -0
- arete_sdk-0.11.0/pyproject.toml +43 -0
- arete_sdk-0.11.0/setup.cfg +4 -0
- arete_sdk-0.11.0/tests/test_amounts.py +162 -0
- arete_sdk-0.11.0/tests/test_auth.py +186 -0
- arete_sdk-0.11.0/tests/test_chain.py +328 -0
- arete_sdk-0.11.0/tests/test_client.py +514 -0
- arete_sdk-0.11.0/tests/test_collation.py +274 -0
- arete_sdk-0.11.0/tests/test_connection.py +422 -0
- arete_sdk-0.11.0/tests/test_error_classification.py +188 -0
- arete_sdk-0.11.0/tests/test_extensions.py +238 -0
- arete_sdk-0.11.0/tests/test_gateway.py +352 -0
- arete_sdk-0.11.0/tests/test_http.py +512 -0
- arete_sdk-0.11.0/tests/test_instructions_args.py +353 -0
- arete_sdk-0.11.0/tests/test_instructions_curve.py +75 -0
- arete_sdk-0.11.0/tests/test_instructions_handler.py +216 -0
- arete_sdk-0.11.0/tests/test_instructions_pda.py +222 -0
- arete_sdk-0.11.0/tests/test_instructions_resolve.py +282 -0
- arete_sdk-0.11.0/tests/test_operations.py +699 -0
- arete_sdk-0.11.0/tests/test_program_read_transport.py +624 -0
- arete_sdk-0.11.0/tests/test_read.py +441 -0
- arete_sdk-0.11.0/tests/test_session.py +435 -0
- arete_sdk-0.11.0/tests/test_spl.py +97 -0
- arete_sdk-0.11.0/tests/test_stack.py +354 -0
- arete_sdk-0.11.0/tests/test_store.py +660 -0
- arete_sdk-0.11.0/tests/test_subscription.py +404 -0
- arete_sdk-0.11.0/tests/test_transactions.py +199 -0
- arete_sdk-0.11.0/tests/test_views.py +546 -0
- arete_sdk-0.11.0/tests/test_wallet.py +157 -0
- arete_sdk-0.11.0/tests/test_wire.py +357 -0
arete_sdk-0.11.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Arete
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: arete-sdk
|
|
3
|
+
Version: 0.11.0
|
|
4
|
+
Summary: Python SDK for Arete
|
|
5
|
+
Author: Arete Team
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://arete.run
|
|
8
|
+
Project-URL: Repository, https://github.com/AreteA4/arete
|
|
9
|
+
Project-URL: Documentation, https://docs.arete.run
|
|
10
|
+
Project-URL: Issues, https://github.com/AreteA4/arete/issues
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.9
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: websockets>=12.0
|
|
22
|
+
Requires-Dist: httpx>=0.27
|
|
23
|
+
Provides-Extra: dev
|
|
24
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
25
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
|
|
26
|
+
Dynamic: license-file
|
|
27
|
+
|
|
28
|
+
# arete-sdk
|
|
29
|
+
|
|
30
|
+
> **Work in Progress:** This SDK is under active development and has not yet been published to PyPI.
|
|
31
|
+
|
|
32
|
+
Python SDK for Arete — real-time Solana program data streaming. The Python SDK is an
|
|
33
|
+
idiomatic projection of the same core API exposed by `@usearete/sdk` (TypeScript),
|
|
34
|
+
`@usearete/react`, and the `arete-sdk` Rust crate: same nouns, same semantics, native
|
|
35
|
+
Python idiom. See `docs/internal/sdk-core-api.md` for the canonical surface.
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Not yet published - install from source for development
|
|
41
|
+
pip install -e .
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Requires Python 3.9+. Runtime dependencies: `websockets`, `httpx`.
|
|
45
|
+
|
|
46
|
+
## Quick start
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
import arete
|
|
50
|
+
from my_generated_stack import ORE_STREAM_STACK # generated by `a4 sdk create --python`
|
|
51
|
+
|
|
52
|
+
async def main():
|
|
53
|
+
async with await arete.Arete.connect(
|
|
54
|
+
ORE_STREAM_STACK,
|
|
55
|
+
auth=arete.AuthConfig(publishable_key="a4_pk_..."),
|
|
56
|
+
) as a4:
|
|
57
|
+
# Live stream of merged entities (patches applied, removals filtered)
|
|
58
|
+
async for round in a4.views.ore_round.latest.use(take=10):
|
|
59
|
+
print(round)
|
|
60
|
+
break
|
|
61
|
+
|
|
62
|
+
# Keyed state view, one-shot read
|
|
63
|
+
round = await a4.views.ore_round.state.get(round_id=42)
|
|
64
|
+
|
|
65
|
+
# Raw update stream with the full taxonomy (upsert | patch | remove | delete)
|
|
66
|
+
async for update in a4.views.ore_round.latest.watch(filters={"state.status": "open"}):
|
|
67
|
+
print(update.op, update.key)
|
|
68
|
+
break
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Program SDKs
|
|
72
|
+
|
|
73
|
+
Raw builders are pure and work offline — no connection required. Instruction
|
|
74
|
+
parameters use the IDL wire names, and unknown parameters fail closed.
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
from my_generated_stack import programs
|
|
78
|
+
|
|
79
|
+
async def build_and_send(a4, wallet_address):
|
|
80
|
+
# Pure, offline instruction building (also on the connected client:
|
|
81
|
+
# a4.programs.ore.raw.deploy.build(...))
|
|
82
|
+
ix = programs.ore_deploy(
|
|
83
|
+
amount=1_000_000,
|
|
84
|
+
squares=3,
|
|
85
|
+
signer=wallet_address,
|
|
86
|
+
authority=wallet_address,
|
|
87
|
+
round="11111111111111111111111111111111",
|
|
88
|
+
entropyVar="11111111111111111111111111111111",
|
|
89
|
+
entropyProgram=programs.ENTROPY_PROGRAM_ID,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
# Typed PDA derivation
|
|
93
|
+
miner, bump = programs.OrePdas.miner.derive(authority=wallet_address)
|
|
94
|
+
|
|
95
|
+
# Release-addressed account reads over HTTP
|
|
96
|
+
miner_account = await a4.programs.ore.accounts.miner.fetch(miner)
|
|
97
|
+
|
|
98
|
+
# Execute built instructions through your wallet
|
|
99
|
+
receipt = await a4.transaction([ix])
|
|
100
|
+
return receipt
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Stacks that ship semantic operations (via SDK extensions) also expose
|
|
104
|
+
`instructions` / `transactions` / `flows`, which prepare portable operations:
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
async def execute_semantic(a4):
|
|
108
|
+
prepared = await a4.programs.ore.instructions.deploy.prepare(amount=1_000_000)
|
|
109
|
+
receipt = await a4.execute(prepared)
|
|
110
|
+
if receipt.transaction.slot is not None:
|
|
111
|
+
await a4.wait_for_processed_slot(receipt.transaction.slot)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Wallets implement the `arete.WalletAdapter` protocol (`async sign_and_send(...)`).
|
|
115
|
+
Execution outcomes follow the shared four-state model
|
|
116
|
+
(`confirmed | not-submitted | submitted-unknown | chain-failed`), and
|
|
117
|
+
`wait_for_processed_slot` bridges writes back to view state.
|
|
118
|
+
|
|
119
|
+
## Chain and transaction relay
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
async def read_chain(a4, address):
|
|
123
|
+
clock = await a4.chain.clock()
|
|
124
|
+
lamports = await a4.chain.lamports(address)
|
|
125
|
+
# One request per batch, up to 100 addresses; items align with the input.
|
|
126
|
+
accounts = await a4.chain.accounts([address])
|
|
127
|
+
blockhash = await a4.transactions.get_latest_blockhash()
|
|
128
|
+
return clock, lamports, accounts, blockhash
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Sessions (multi-stack)
|
|
132
|
+
|
|
133
|
+
```python
|
|
134
|
+
async def stream_session(auth):
|
|
135
|
+
session = await arete.create_session(stacks={"ore": ORE_STREAM_STACK}, auth=auth)
|
|
136
|
+
async for round in session.stacks.ore.views.ore_round.latest.use():
|
|
137
|
+
print(round)
|
|
138
|
+
break
|
|
139
|
+
await session.close()
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Development
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
pip install -e '.[dev]'
|
|
146
|
+
python -m pytest tests/ -q
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## License
|
|
150
|
+
|
|
151
|
+
MIT
|
|
152
|
+
|
|
153
|
+
## Links
|
|
154
|
+
|
|
155
|
+
- [Repository](https://github.com/AreteA4/arete)
|
|
156
|
+
- [Documentation](https://docs.arete.run)
|
|
157
|
+
- [Issues](https://github.com/AreteA4/arete/issues)
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# arete-sdk
|
|
2
|
+
|
|
3
|
+
> **Work in Progress:** This SDK is under active development and has not yet been published to PyPI.
|
|
4
|
+
|
|
5
|
+
Python SDK for Arete — real-time Solana program data streaming. The Python SDK is an
|
|
6
|
+
idiomatic projection of the same core API exposed by `@usearete/sdk` (TypeScript),
|
|
7
|
+
`@usearete/react`, and the `arete-sdk` Rust crate: same nouns, same semantics, native
|
|
8
|
+
Python idiom. See `docs/internal/sdk-core-api.md` for the canonical surface.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Not yet published - install from source for development
|
|
14
|
+
pip install -e .
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Requires Python 3.9+. Runtime dependencies: `websockets`, `httpx`.
|
|
18
|
+
|
|
19
|
+
## Quick start
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
import arete
|
|
23
|
+
from my_generated_stack import ORE_STREAM_STACK # generated by `a4 sdk create --python`
|
|
24
|
+
|
|
25
|
+
async def main():
|
|
26
|
+
async with await arete.Arete.connect(
|
|
27
|
+
ORE_STREAM_STACK,
|
|
28
|
+
auth=arete.AuthConfig(publishable_key="a4_pk_..."),
|
|
29
|
+
) as a4:
|
|
30
|
+
# Live stream of merged entities (patches applied, removals filtered)
|
|
31
|
+
async for round in a4.views.ore_round.latest.use(take=10):
|
|
32
|
+
print(round)
|
|
33
|
+
break
|
|
34
|
+
|
|
35
|
+
# Keyed state view, one-shot read
|
|
36
|
+
round = await a4.views.ore_round.state.get(round_id=42)
|
|
37
|
+
|
|
38
|
+
# Raw update stream with the full taxonomy (upsert | patch | remove | delete)
|
|
39
|
+
async for update in a4.views.ore_round.latest.watch(filters={"state.status": "open"}):
|
|
40
|
+
print(update.op, update.key)
|
|
41
|
+
break
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Program SDKs
|
|
45
|
+
|
|
46
|
+
Raw builders are pure and work offline — no connection required. Instruction
|
|
47
|
+
parameters use the IDL wire names, and unknown parameters fail closed.
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
from my_generated_stack import programs
|
|
51
|
+
|
|
52
|
+
async def build_and_send(a4, wallet_address):
|
|
53
|
+
# Pure, offline instruction building (also on the connected client:
|
|
54
|
+
# a4.programs.ore.raw.deploy.build(...))
|
|
55
|
+
ix = programs.ore_deploy(
|
|
56
|
+
amount=1_000_000,
|
|
57
|
+
squares=3,
|
|
58
|
+
signer=wallet_address,
|
|
59
|
+
authority=wallet_address,
|
|
60
|
+
round="11111111111111111111111111111111",
|
|
61
|
+
entropyVar="11111111111111111111111111111111",
|
|
62
|
+
entropyProgram=programs.ENTROPY_PROGRAM_ID,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
# Typed PDA derivation
|
|
66
|
+
miner, bump = programs.OrePdas.miner.derive(authority=wallet_address)
|
|
67
|
+
|
|
68
|
+
# Release-addressed account reads over HTTP
|
|
69
|
+
miner_account = await a4.programs.ore.accounts.miner.fetch(miner)
|
|
70
|
+
|
|
71
|
+
# Execute built instructions through your wallet
|
|
72
|
+
receipt = await a4.transaction([ix])
|
|
73
|
+
return receipt
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Stacks that ship semantic operations (via SDK extensions) also expose
|
|
77
|
+
`instructions` / `transactions` / `flows`, which prepare portable operations:
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
async def execute_semantic(a4):
|
|
81
|
+
prepared = await a4.programs.ore.instructions.deploy.prepare(amount=1_000_000)
|
|
82
|
+
receipt = await a4.execute(prepared)
|
|
83
|
+
if receipt.transaction.slot is not None:
|
|
84
|
+
await a4.wait_for_processed_slot(receipt.transaction.slot)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Wallets implement the `arete.WalletAdapter` protocol (`async sign_and_send(...)`).
|
|
88
|
+
Execution outcomes follow the shared four-state model
|
|
89
|
+
(`confirmed | not-submitted | submitted-unknown | chain-failed`), and
|
|
90
|
+
`wait_for_processed_slot` bridges writes back to view state.
|
|
91
|
+
|
|
92
|
+
## Chain and transaction relay
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
async def read_chain(a4, address):
|
|
96
|
+
clock = await a4.chain.clock()
|
|
97
|
+
lamports = await a4.chain.lamports(address)
|
|
98
|
+
# One request per batch, up to 100 addresses; items align with the input.
|
|
99
|
+
accounts = await a4.chain.accounts([address])
|
|
100
|
+
blockhash = await a4.transactions.get_latest_blockhash()
|
|
101
|
+
return clock, lamports, accounts, blockhash
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Sessions (multi-stack)
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
async def stream_session(auth):
|
|
108
|
+
session = await arete.create_session(stacks={"ore": ORE_STREAM_STACK}, auth=auth)
|
|
109
|
+
async for round in session.stacks.ore.views.ore_round.latest.use():
|
|
110
|
+
print(round)
|
|
111
|
+
break
|
|
112
|
+
await session.close()
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Development
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
pip install -e '.[dev]'
|
|
119
|
+
python -m pytest tests/ -q
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT
|
|
125
|
+
|
|
126
|
+
## Links
|
|
127
|
+
|
|
128
|
+
- [Repository](https://github.com/AreteA4/arete)
|
|
129
|
+
- [Documentation](https://docs.arete.run)
|
|
130
|
+
- [Issues](https://github.com/AreteA4/arete/issues)
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"""Arete Python SDK — idiomatic Python projection of the Arete core SDK API.
|
|
2
|
+
|
|
3
|
+
See docs/internal/sdk-core-api.md (canonical surface) and
|
|
4
|
+
docs/internal/sdk-python-alignment.md (Python projection).
|
|
5
|
+
|
|
6
|
+
import arete
|
|
7
|
+
a4 = await arete.Arete.connect(STACK, wallet=wallet)
|
|
8
|
+
async for round in a4.views.ore_round.latest.use(take=10):
|
|
9
|
+
...
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
|
|
14
|
+
__version__ = "0.4.0"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class _Unset:
|
|
18
|
+
"""Sentinel distinguishing "no active subscription" from an empty result."""
|
|
19
|
+
|
|
20
|
+
_instance = None
|
|
21
|
+
|
|
22
|
+
def __new__(cls):
|
|
23
|
+
if cls._instance is None:
|
|
24
|
+
cls._instance = super().__new__(cls)
|
|
25
|
+
return cls._instance
|
|
26
|
+
|
|
27
|
+
def __repr__(self) -> str:
|
|
28
|
+
return "arete.UNSET"
|
|
29
|
+
|
|
30
|
+
def __bool__(self) -> bool:
|
|
31
|
+
return False
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
UNSET = _Unset()
|
|
35
|
+
|
|
36
|
+
# NOTE: UNSET must exist before the submodule imports below (arete.views
|
|
37
|
+
# imports it at module load).
|
|
38
|
+
|
|
39
|
+
from arete.errors import ( # noqa: E402
|
|
40
|
+
AreteConnectionError,
|
|
41
|
+
AreteError,
|
|
42
|
+
AuthError,
|
|
43
|
+
HttpRequestError,
|
|
44
|
+
ProcessedSlotTimeoutError,
|
|
45
|
+
SubscriptionError,
|
|
46
|
+
)
|
|
47
|
+
from arete.auth import AuthConfig # noqa: E402
|
|
48
|
+
from arete.wire import RichUpdate, Update # noqa: E402
|
|
49
|
+
from arete.views import ( # noqa: E402
|
|
50
|
+
DEFAULT_INITIAL_DATA_TIMEOUT,
|
|
51
|
+
InitialDataTimeoutError,
|
|
52
|
+
ListViewHandle,
|
|
53
|
+
StateViewHandle,
|
|
54
|
+
ViewDef,
|
|
55
|
+
ViewsNamespace,
|
|
56
|
+
)
|
|
57
|
+
from arete.chain import ( # noqa: E402
|
|
58
|
+
ChainClient,
|
|
59
|
+
ChainClock,
|
|
60
|
+
ChainError,
|
|
61
|
+
HttpChainClient,
|
|
62
|
+
MintAccountInfo,
|
|
63
|
+
NativeBalanceInfo,
|
|
64
|
+
RawAccountInfo,
|
|
65
|
+
TokenAccountInfo,
|
|
66
|
+
TokenBalanceInfo,
|
|
67
|
+
)
|
|
68
|
+
from arete.transactions import ( # noqa: E402
|
|
69
|
+
HttpTransactionTransport,
|
|
70
|
+
TransactionTransport,
|
|
71
|
+
TransactionTransportError,
|
|
72
|
+
)
|
|
73
|
+
from arete.gateway import ( # noqa: E402
|
|
74
|
+
HostedSolanaGatewayBindings,
|
|
75
|
+
create_hosted_solana_gateway_transports,
|
|
76
|
+
)
|
|
77
|
+
from arete.amounts import ( # noqa: E402
|
|
78
|
+
format_raw_to_ui,
|
|
79
|
+
get_mint_decimals,
|
|
80
|
+
parse_ui_amount_to_raw,
|
|
81
|
+
resolve_amount,
|
|
82
|
+
resolve_amount_to_raw,
|
|
83
|
+
resolve_amounts_to_raw,
|
|
84
|
+
to_raw_amount,
|
|
85
|
+
)
|
|
86
|
+
from arete.spl import ( # noqa: E402
|
|
87
|
+
ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
|
|
88
|
+
SPL_TOKEN_PROGRAM_ADDRESS,
|
|
89
|
+
SYSTEM_PROGRAM_ADDRESS,
|
|
90
|
+
TOKEN_2022_PROGRAM_ADDRESS,
|
|
91
|
+
derive_associated_token_account,
|
|
92
|
+
resolve_token_program_address,
|
|
93
|
+
)
|
|
94
|
+
from arete.instructions import ( # noqa: E402
|
|
95
|
+
BuiltAccountMeta,
|
|
96
|
+
BuiltInstruction,
|
|
97
|
+
ErrorMetadata,
|
|
98
|
+
InstructionError,
|
|
99
|
+
InstructionHandler,
|
|
100
|
+
PdaConfig,
|
|
101
|
+
derive_pda,
|
|
102
|
+
find_program_address,
|
|
103
|
+
format_program_error,
|
|
104
|
+
parse_program_error,
|
|
105
|
+
)
|
|
106
|
+
from arete.read import ( # noqa: E402
|
|
107
|
+
AccountBatchItem,
|
|
108
|
+
AccountBatchResult,
|
|
109
|
+
AccountReader,
|
|
110
|
+
ProgramAccountReadDef,
|
|
111
|
+
ProgramQueryDef,
|
|
112
|
+
ReadRequestError,
|
|
113
|
+
StackQueryDef,
|
|
114
|
+
)
|
|
115
|
+
from arete.program_read_transport import ( # noqa: E402
|
|
116
|
+
ProgramReadDescriptor,
|
|
117
|
+
ProgramReleaseReference,
|
|
118
|
+
validate_program_read_descriptor,
|
|
119
|
+
)
|
|
120
|
+
from arete.wallet import ( # noqa: E402
|
|
121
|
+
ConfirmedTransactionOutcome,
|
|
122
|
+
SendOptions,
|
|
123
|
+
SendResult,
|
|
124
|
+
TransactionFailureOutcome,
|
|
125
|
+
TransactionInspectionResult,
|
|
126
|
+
WalletAdapter,
|
|
127
|
+
WalletError,
|
|
128
|
+
WalletExecutionContext,
|
|
129
|
+
)
|
|
130
|
+
from arete.operations import ( # noqa: E402
|
|
131
|
+
OperationCallbackError,
|
|
132
|
+
OperationExecutionError,
|
|
133
|
+
OperationReceipt,
|
|
134
|
+
OperationTransactionReceipt,
|
|
135
|
+
PreparedFlow,
|
|
136
|
+
PreparedInstruction,
|
|
137
|
+
PreparedOperation,
|
|
138
|
+
PreparedTransaction,
|
|
139
|
+
PreparedTransactionBody,
|
|
140
|
+
SignerRegistry,
|
|
141
|
+
TransactionExecutionError,
|
|
142
|
+
append_flow_transactions,
|
|
143
|
+
append_transaction_instructions,
|
|
144
|
+
create_prepared_flow,
|
|
145
|
+
create_prepared_instruction,
|
|
146
|
+
create_prepared_transaction,
|
|
147
|
+
create_prepared_transaction_body,
|
|
148
|
+
create_signer_registry,
|
|
149
|
+
describe_prepared_operation,
|
|
150
|
+
execute_prepared_operation,
|
|
151
|
+
format_prepared_operation,
|
|
152
|
+
get_transaction_failure_outcome,
|
|
153
|
+
inspect_prepared_operation,
|
|
154
|
+
prepend_flow_transaction_instructions,
|
|
155
|
+
prepend_transaction_instructions,
|
|
156
|
+
unwrap_operation_execution_error,
|
|
157
|
+
)
|
|
158
|
+
from arete.stack import ( # noqa: E402
|
|
159
|
+
ConnectedProgram,
|
|
160
|
+
Operation,
|
|
161
|
+
ProgramDef,
|
|
162
|
+
ProgramOperationContext,
|
|
163
|
+
ProgramOperations,
|
|
164
|
+
StackDef,
|
|
165
|
+
StackEndpoints,
|
|
166
|
+
flow_operation,
|
|
167
|
+
instruction_operation,
|
|
168
|
+
transaction_operation,
|
|
169
|
+
with_programs,
|
|
170
|
+
)
|
|
171
|
+
from arete.extensions import ( # noqa: E402
|
|
172
|
+
apply_connected_stack_extensions,
|
|
173
|
+
extend_program,
|
|
174
|
+
extend_programs,
|
|
175
|
+
extend_stack,
|
|
176
|
+
)
|
|
177
|
+
from arete.client import Arete # noqa: E402
|
|
178
|
+
from arete.session import Session, SessionError, create_session # noqa: E402
|
|
179
|
+
|
|
180
|
+
__all__ = [
|
|
181
|
+
"UNSET",
|
|
182
|
+
"__version__",
|
|
183
|
+
# client & session
|
|
184
|
+
"Arete",
|
|
185
|
+
"Session",
|
|
186
|
+
"SessionError",
|
|
187
|
+
"create_session",
|
|
188
|
+
# errors
|
|
189
|
+
"AreteError",
|
|
190
|
+
"AreteConnectionError",
|
|
191
|
+
"AuthError",
|
|
192
|
+
"ChainError",
|
|
193
|
+
"HttpRequestError",
|
|
194
|
+
"InitialDataTimeoutError",
|
|
195
|
+
"InstructionError",
|
|
196
|
+
"OperationCallbackError",
|
|
197
|
+
"OperationExecutionError",
|
|
198
|
+
"ProcessedSlotTimeoutError",
|
|
199
|
+
"ReadRequestError",
|
|
200
|
+
"SubscriptionError",
|
|
201
|
+
"TransactionExecutionError",
|
|
202
|
+
"TransactionTransportError",
|
|
203
|
+
"WalletError",
|
|
204
|
+
# auth
|
|
205
|
+
"AuthConfig",
|
|
206
|
+
# views & updates
|
|
207
|
+
"Update",
|
|
208
|
+
"RichUpdate",
|
|
209
|
+
"ViewDef",
|
|
210
|
+
"ViewsNamespace",
|
|
211
|
+
"DEFAULT_INITIAL_DATA_TIMEOUT",
|
|
212
|
+
"ListViewHandle",
|
|
213
|
+
"StateViewHandle",
|
|
214
|
+
# stack binding model
|
|
215
|
+
"StackDef",
|
|
216
|
+
"StackEndpoints",
|
|
217
|
+
"ProgramDef",
|
|
218
|
+
"ProgramOperations",
|
|
219
|
+
"ProgramOperationContext",
|
|
220
|
+
"ConnectedProgram",
|
|
221
|
+
"with_programs",
|
|
222
|
+
# extensions
|
|
223
|
+
"extend_stack",
|
|
224
|
+
"extend_program",
|
|
225
|
+
"extend_programs",
|
|
226
|
+
"apply_connected_stack_extensions",
|
|
227
|
+
"Operation",
|
|
228
|
+
"instruction_operation",
|
|
229
|
+
"transaction_operation",
|
|
230
|
+
"flow_operation",
|
|
231
|
+
# wallet & outcomes
|
|
232
|
+
"WalletAdapter",
|
|
233
|
+
"WalletExecutionContext",
|
|
234
|
+
"SendOptions",
|
|
235
|
+
"SendResult",
|
|
236
|
+
"TransactionInspectionResult",
|
|
237
|
+
"ConfirmedTransactionOutcome",
|
|
238
|
+
"TransactionFailureOutcome",
|
|
239
|
+
"get_transaction_failure_outcome",
|
|
240
|
+
# prepared operations
|
|
241
|
+
"PreparedInstruction",
|
|
242
|
+
"PreparedTransaction",
|
|
243
|
+
"PreparedFlow",
|
|
244
|
+
"PreparedOperation",
|
|
245
|
+
"PreparedTransactionBody",
|
|
246
|
+
"create_prepared_instruction",
|
|
247
|
+
"create_prepared_transaction",
|
|
248
|
+
"create_prepared_flow",
|
|
249
|
+
"create_prepared_transaction_body",
|
|
250
|
+
"prepend_transaction_instructions",
|
|
251
|
+
"append_transaction_instructions",
|
|
252
|
+
"append_flow_transactions",
|
|
253
|
+
"prepend_flow_transaction_instructions",
|
|
254
|
+
"execute_prepared_operation",
|
|
255
|
+
"inspect_prepared_operation",
|
|
256
|
+
"describe_prepared_operation",
|
|
257
|
+
"format_prepared_operation",
|
|
258
|
+
"unwrap_operation_execution_error",
|
|
259
|
+
"OperationReceipt",
|
|
260
|
+
"OperationTransactionReceipt",
|
|
261
|
+
"SignerRegistry",
|
|
262
|
+
"create_signer_registry",
|
|
263
|
+
# chain & transactions
|
|
264
|
+
"ChainClient",
|
|
265
|
+
"HttpChainClient",
|
|
266
|
+
"ChainClock",
|
|
267
|
+
"RawAccountInfo",
|
|
268
|
+
"MintAccountInfo",
|
|
269
|
+
"TokenAccountInfo",
|
|
270
|
+
"TokenBalanceInfo",
|
|
271
|
+
"NativeBalanceInfo",
|
|
272
|
+
"TransactionTransport",
|
|
273
|
+
"HttpTransactionTransport",
|
|
274
|
+
"HostedSolanaGatewayBindings",
|
|
275
|
+
"create_hosted_solana_gateway_transports",
|
|
276
|
+
# amounts & SPL
|
|
277
|
+
"parse_ui_amount_to_raw",
|
|
278
|
+
"format_raw_to_ui",
|
|
279
|
+
"to_raw_amount",
|
|
280
|
+
"get_mint_decimals",
|
|
281
|
+
"resolve_amount",
|
|
282
|
+
"resolve_amount_to_raw",
|
|
283
|
+
"resolve_amounts_to_raw",
|
|
284
|
+
"SPL_TOKEN_PROGRAM_ADDRESS",
|
|
285
|
+
"TOKEN_2022_PROGRAM_ADDRESS",
|
|
286
|
+
"ASSOCIATED_TOKEN_PROGRAM_ADDRESS",
|
|
287
|
+
"SYSTEM_PROGRAM_ADDRESS",
|
|
288
|
+
"derive_associated_token_account",
|
|
289
|
+
"resolve_token_program_address",
|
|
290
|
+
# instruction runtime
|
|
291
|
+
"InstructionHandler",
|
|
292
|
+
"BuiltInstruction",
|
|
293
|
+
"BuiltAccountMeta",
|
|
294
|
+
"ErrorMetadata",
|
|
295
|
+
"PdaConfig",
|
|
296
|
+
"derive_pda",
|
|
297
|
+
"find_program_address",
|
|
298
|
+
"parse_program_error",
|
|
299
|
+
"format_program_error",
|
|
300
|
+
# program reads
|
|
301
|
+
"AccountReader",
|
|
302
|
+
"AccountBatchItem",
|
|
303
|
+
"AccountBatchResult",
|
|
304
|
+
"ProgramAccountReadDef",
|
|
305
|
+
"ProgramQueryDef",
|
|
306
|
+
"StackQueryDef",
|
|
307
|
+
"ProgramReadDescriptor",
|
|
308
|
+
"ProgramReleaseReference",
|
|
309
|
+
"validate_program_read_descriptor",
|
|
310
|
+
]
|