-
Notifications
You must be signed in to change notification settings - Fork 143
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
C2C Feature and Testing #268
Conversation
…o it can pass these tests
@@ -1,27 +1,31 @@ | |||
# py-algorand-sdk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
markdownlint'ing this file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pending algorand/algorand-sdk-testing#156, looks good
local_bytes=None, | ||
local_ints=None, | ||
extra_pages=None, | ||
force_unique_transactions=False, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this refactoring
a -> an and trigger new tests!
remove period and trigger new test
Handling Contract to Contract Applications in the SDK
This PR aims to show that the critical capabilities for handling C2C functionality are in place. This is accomplished by implementing and passing Cucumber integration tests that are defined in
algorand-sdk-testing
PR #156.New Functionality
Slight Enhancement to Function Obtaining Application Account Address
In a Contract-to-Contract call, the application that is making the call is responsible for paying the associated transaction fees. This means that the application needs to be funded and that its account address should be readily available for funding.
logic
already containsget_application_address()
, and I'm just adding a type-checker for it.Add void ABI Method
appl
Transactions into theList[ABIResult]
Member ofAtomicTransactionResponse
This is mainly for completeness when trying to understand all trasactions (including nested) and all side-effects that resulted from ABI method calls in an atomic transactions group.
New Cucumber Tests
To pass the tests in testing's PR #156 (and mainly
integration/c2s.feature
) functions have been refactored with new steps added inside oftest/steps/
Transaction call trace from an Atomic Transaction Composer ABI Execution
Allow json-like traces of ABI calls via
transactions_trace(atc: AtomicTransactionComposer, results: List[ABIResult])
inv2_steps.py
Summary of changes
Makefile
: re-org the cucumber tags into variables for easier running of selected testsalgosdk/atomic_transaction_composer.py
: adding non-void ABI methodappl
transactions to theABIResult
s inside of anAtomicTransactionResponse
algosdk/future/template.py
: deprecation comments addedalgosdk/logic.py
: type assertion forget_application_address(appID: int)
algosdk/v2client/algod.py
: re-org'ed the imports ONLYrequirements.txt
: addedglom
andpyteset
which are needed for testing (but not any running code)run_integration.sh
: temporarily pointing to C2C sdk-testing branchtest/environment.py
: small bugfixtest/steps/__init__.py
: helped me run my tests locally in a debuggertest/steps/steps.py
: removeTemplates
related stepstest/steps/v2_steps.py
: modifications for passing the cucumber teststest_unit.py
:Templates
related unit testsLinks