You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Start ABI JSON interaction
* Add static annoation
* Fix Method argument parsing
* Add ABI Typing to Method arguments
* [WIP] Add AtomicTransactionComposer build functions
* [WIP] Sign and send atomic transaction groups
* Add unit tests for object parsing
* Clean up method calls
* Address PR comments on JSON objects
* Refactor ABI Type to ABIType so it can be exposed to outside world
* Add cucumber steps for ABI tests and update existing implementation so it can pass these tests
* Refactor TransactionSigner to Abstract class and merge signatures when signing
* Update testing to reflect json unit tests and composer tests
* Formatting and docstring fixes
* Add foreign types for method arguments
* Clean up imports
* Fix unit test for appId
* Add unit test for foreign array
* Refactor some names and add txn as an arg type
* Partially address PR comments
* Fix encoding args for foreign types
* Add some additional checks for safety
* Fix a step so we check for empty string instead of None
* Correct foreign app and account indices accounting for the implicit argument
* Resolve formatting
* Fix unit tests
* Fix foreign objects to compact duplicates and special values
* Refactor foreign objects, transactions, and address some new ABI changes
* ABI composer modifications and test updates
* Change Interface and Contract to newest ABI changes
* Fix some integration tests for composer
* Fix remaining composer tests
* Formatting changes
* Fix method json tests
* add an empty __init__.py
* add step to sanity check *.teal.tok against algod's compilation of *.teal
* Add the ability to create apps without the binary
* step for asserting ABI return type of return values
* temporararily adding unfounded mandate z_steps.py
* unit test for array_static of byte
* add context.app_ids - list of all app ids that have been added
* refeactor add_abi_method_call* using abi_method_adder()
* don't pass in schemas, unless a component has been defined
* With so many tags, let's create variables for easier selction of unit/integration tests
* Alphabetize tags and remove deprecated 'templates'
* add method using a non-current app
* place it back
* got to the point of a bug in randomByte
* wip
* use pathlib
* fix bad arg ordering in call
* 1. Return application's account address in app-info response
2. now passing 2-level tests for innter txn's
3. next up: 3 levels
* clean up unneeded step
* close but no cigar
* wip
* tests are failing where they _should be_
* all necessary functionality... but too many tests
* assertion about inner group ids also
* passing the megatest
* hash non-deterministic step for ABI method
* regex match step
* test c2c on circle
* grammar
* remove unused step
* route get_application_address() to application_address()
* dangit... we already have logic.get_application_address
* use logic.get_application_address()
* small import re-org (and msgpack not needed)
* alphabetize
* add type assertion to get_application_address()
* refactor v2_steps.py into smaller chuncks
* per cr suggestion, split with : not #
* per cr comments
* Per CR suggetions: remove from transactions_trace() from SDK, and make into a test utility function
* eval delta step - and adding glom to requirements
* 'Did you mean == ?' - yes i certainly did
* for completeness, provide tx_info even for non-appl txns
* steps more general than the indexer
* require the ability to calculate app addresses, but not from app_info
* revert algod changes (except for import re-org)
* remove file inadvertently added
* spacing
* formatting
* explicit nonce instead of nonce hook
* un-breakup v2_steps.py so it can be easier to see changes
* remove implmentation of redundant step
* as the Rolling Stones said "I want it painted black"
* per review suggestion
* per CR suggestion: send the request inside of a try block
* pytest for "with pytest.raises" context
* handle the void abi type
* per CR suggestions
* per CR comments. Call pending txn's at the top of the for-loop for method calls
* remove unused import
* spacing
* don't overwrite confirmed_round in subsequent pending txn calls
* comment in test method
* remove unused import
* Alas, poor Yorick...
* remove unused import
* import reorg
* re-kick off the tests
* implement "I rest the array of application IDs to remember."
* markdownlint
* deprecating templates and removing associated tests
* fix test
* Update README.md
a -> an and trigger new tests!
* Update algosdk/future/template.py
remove period and trigger new test
* todo about v2_steps being too big
Co-authored-by: algochoi <[email protected]>
UNITS = "@unit.abijson or @unit.algod or @unit.applications or @unit.atomic_transaction_composer or @unit.dryrun or @unit.feetest or @unit.indexer or @unit.indexer.logs or @unit.offline or @unit.rekey or @unit.responses or @unit.responses.231 or @unit.tealsign or @unit.transactions or @unit.transactions.payment"
1
2
unit:
2
-
behave --tags="@unit.offline or @unit.algod or @unit.indexer or @unit.rekey or @unit.tealsign or @unit.dryrun or @unit.applications or @unit.responses or @unit.transactions or @unit.transactions.payment or @unit.responses.231 or @unit.feetest or @unit.indexer.logs or @unit.abijson or @unit.atomic_transaction_composer"test -f progress2
3
+
behave --tags=$(UNITS)test -f progress2
3
4
5
+
INTEGRATIONS = "@abi or @algod or @applications or @applications.verified or @assets or @auction or @c2c or @compile or @dryrun or @dryrun.testing or @indexer or @indexer.231 or @indexer.applications or @kmd or @rekey or @send"
4
6
integration:
5
-
behave --tags="@algod or @assets or @auction or @kmd or @send or @template or @indexer or @indexer.applications or @rekey or @compile or @dryrun or @dryrun.testing or @applications or @applications.verified or @indexer.231 or @abi"test -f progress2
A python library for interacting with the Algorand network.
8
9
9
10
## Installation
10
11
11
-
Run ```$ pip3 install py-algorand-sdk``` to install the package.
12
+
Run `$ pip3 install py-algorand-sdk` to install the package.
12
13
13
-
Alternatively, choose a [distribution file](https://pypi.org/project/py-algorand-sdk/#files), and run ```$ pip3 install [file name]```.
14
+
Alternatively, choose a [distribution file](https://pypi.org/project/py-algorand-sdk/#files), and run `$ pip3 install [file name]`.
14
15
15
16
## SDK Development
16
17
17
18
Install dependencies
18
-
*`pip install -r requirements.txt`
19
+
20
+
-`pip install -r requirements.txt`
19
21
20
22
Run tests
21
-
*`make docker-test`
23
+
24
+
-`make docker-test`
22
25
23
26
Format code:
24
-
*`black .`
27
+
28
+
-`black .`
25
29
26
30
## Quick start
27
31
@@ -50,18 +54,18 @@ Follow the instructions in Algorand's [developer resources](https://developer.al
50
54
51
55
Before running [example.py](https://github.com/algorand/py-algorand-sdk/blob/master/examples/example.py), start kmd on a private network or testnet node:
52
56
53
-
```
54
-
$ ./goal kmd start -d [data directory]
57
+
```bash
58
+
./goal kmd start -d [data directory]
55
59
```
56
60
57
61
Next, create a wallet and an account:
58
62
59
-
```
60
-
$ ./goal wallet new [wallet name] -d [data directory]
63
+
```bash
64
+
./goal wallet new [wallet name] -d [data directory]
61
65
```
62
66
63
-
```
64
-
$ ./goal account new -d [data directory] -w [wallet name]
67
+
```bash
68
+
./goal account new -d [data directory] -w [wallet name]
65
69
```
66
70
67
71
Visit the [Algorand dispenser](https://bank.testnet.algorand.network/) and enter the account address to fund your account.
@@ -71,7 +75,9 @@ Next, in [tokens.py](https://github.com/algorand/py-algorand-sdk/blob/master/exa
71
75
You're now ready to run example.py!
72
76
73
77
## Documentation
78
+
74
79
Documentation for the Python SDK is available at [py-algorand-sdk.readthedocs.io](https://py-algorand-sdk.readthedocs.io/en/latest/).
75
80
76
81
## License
77
-
py-algorand-sdk is licensed under a MIT license. See the [LICENSE](https://github.com/algorand/py-algorand-sdk/blob/master/LICENSE) file for details.
82
+
83
+
py-algorand-sdk is licensed under an MIT license. See the [LICENSE](https://github.com/algorand/py-algorand-sdk/blob/master/LICENSE) file for details.
0 commit comments