Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FOR REVIEW ONLY - py-algorand-sdk v1.10.0b1 #294

Merged
merged 28 commits into from
Feb 15, 2022
Merged

Conversation

algobarb
Copy link
Contributor

Changelog

1.10.0b1

Added:

Changed:

algobarb and others added 28 commits January 14, 2022 12:30
* reformat local and global state to work with correct msgpack encoding

* add app creator account to accounts array

Co-authored-by: Brice Rising <[email protected]>
Co-authored-by: John Lee <[email protected]>
workflows > jobs > commands
Add CircleCI build step to generate docsets
* 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]>
Was getting the following error from `mypy`:
> py-algorand-sdk/algosdk/atomic_transaction_composer.py|693 col 23-28 error| Module cannot be used as a type

Also, this was creating trouble when generating documentation (see #289)
Partially fix types for atomic transaction composer
* add new field to key reg txn

* formatting

* update key name

* Implement cucumber keyreg encoding tests

* Enable new cucumber test

* verifier type update and changes as per pr reviews

* update account participation model

* formatting

* fixes

* enable cucumber test

Co-authored-by: Jason Paulos <[email protected]>
Co-authored-by: algoidan <[email protected]>
* Add ABI and ATC to Sphinx

* Remove __init__

* adding a couple reqs

Co-authored-by: Ben Guidarelli <[email protected]>
@algobarb algobarb self-assigned this Feb 15, 2022
Copy link
Contributor

@tzaffi tzaffi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@algobarb algobarb merged commit 240759e into master Feb 15, 2022
@algobarb algobarb deleted the release/v1.10.0b1 branch February 15, 2022 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants