-
Notifications
You must be signed in to change notification settings - Fork 524
Application transactions #2661
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
Merged
Merged
Application transactions #2661
Changes from all commits
Commits
Show all changes
40 commits
Select commit
Hold shift + click to select a range
f37248b
unit test that acts as demo of A*B/C when A and B need mulw
jannotti 02ad3fe
tx_begin, tx_field, tx_submit
jannotti e0c81cd
Overpaid Fees available in app; AppAddress as an app field; typos
jannotti 24f4b62
e2e improvements
jannotti f3a02d7
More explicit about allowable fields
jannotti 806dc94
Ensure disassemble/reassemble cycle works in testProg.
jannotti ad3f328
Simplify rewards handling in ledger eval tests
jannotti 8084e69
txgroup changes
jannotti ca994d3
More complete txx_* order checking, better pay, axfer in teal
jannotti 3474fb5
Move EvalDelta and LogItem our of basics, into transactions.
jannotti d43b0e2
Populate the ApplyData with inner transactions.
jannotti 8b1ed63
Lint fixes
jannotti da0870a
Docs demanded by lint.
jannotti 777ad53
Merge branch 'master' into application-actions
jannotti b2edead
Update e2e test as min balance and fees are handled properly now.
jannotti 8939407
msgpack EvalDelta properly after move to transactions package
jannotti acf6669
Prevent rewards from confusing integration test
jannotti 7d81cf9
Integration test for axfer in apps
jannotti 72f7b16
Clawback integration test
jannotti 1a19c37
Expose inner-txns to rest API
jannotti 064b70c
Confirm msgpack of innetr-txns
jannotti 77ef701
oas3 update
jannotti 30ffc3b
Confirm blocks API and inner-txns is ommitted when empty
jannotti 08d7b4a
Address hashing unit tests
jannotti e10d20a
Code review improvements
jannotti a36395e
demote importance of innertxns in EvalContext
jannotti f3f8ed9
Compare inner txns for verifiying blocks
jannotti 2ef6d9f
Maximum number of internal transactions is a consensus param = 8.
jannotti 720471e
To the moon!
jannotti fef2a1e
Merge branch 'master' into application-actions
jannotti 323ef59
Confirm that modifiedAccounts returns inner participants.
jannotti 3a3febf
Suggested Tests
jannotti d18a924
More tests. Jason P is a taskmaster.
jannotti 6ba1f0e
Correct for changed prefix (appID) for app account hash.
jannotti 7d3e1e9
Remove LogItem, since now logs can't have non-zero apps, ever.
jannotti 5ba3cc2
linting
jannotti 052b5ff
Jason's single app rekey test
jannotti 6287640
Widen Authorizer interface to convey errors
jannotti 0e9b0bf
Spec fixes, naming of "inner transactions"
jannotti 4fc2015
Eliminate logitem in e2e tests
jannotti File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -811,7 +811,10 @@ | |
| ], | ||
| "responses": { | ||
| "200": { | ||
| "$ref": "#/responses/PendingTransactionResponse" | ||
| "description": "Given a transaction id of a recently submitted transaction, it returns information about it. There are several cases when this might succeed:\n- transaction committed (committed round \u003e 0)\n- transaction still in the pool (committed round = 0, pool error = \"\")\n- transaction removed from pool due to error (committed round = 0, pool error != \"\")\n\nOr the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error.", | ||
| "schema": { | ||
| "$ref": "#/definitions/PendingTransactionResponse" | ||
| } | ||
| }, | ||
| "400": { | ||
| "description": "Bad Request", | ||
|
|
@@ -1748,7 +1751,7 @@ | |
| "logs": { | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "#/definitions/LogItem" | ||
| "type": "string" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should add |
||
| } | ||
| }, | ||
| "cost": { | ||
|
|
@@ -1921,21 +1924,79 @@ | |
| } | ||
| } | ||
| }, | ||
| "LogItem": { | ||
| "description": "Application Log", | ||
| "PendingTransactionResponse": { | ||
| "description": "Details about a pending transaction. If the transaction was recently confirmed, includes confirmation details like the round and reward details.", | ||
| "type": "object", | ||
| "required": [ | ||
| "id", | ||
| "value" | ||
| "txn", | ||
| "pool-error" | ||
| ], | ||
| "properties": { | ||
| "id": { | ||
| "description": "unique application identifier", | ||
| "asset-index": { | ||
| "description": "The asset index if the transaction was found and it created an asset.", | ||
| "type": "integer" | ||
| }, | ||
| "application-index": { | ||
| "description": "The application index if the transaction was found and it created an application.", | ||
| "type": "integer" | ||
| }, | ||
| "value": { | ||
| "description": " base64 encoded log message", | ||
| "close-rewards": { | ||
| "description": "Rewards in microalgos applied to the close remainder to account.", | ||
| "type": "integer" | ||
| }, | ||
| "closing-amount": { | ||
| "description": "Closing amount for the transaction.", | ||
| "type": "integer" | ||
| }, | ||
| "asset-closing-amount": { | ||
| "description": "The number of the asset's unit that were transferred to the close-to address.", | ||
| "type": "integer" | ||
| }, | ||
| "confirmed-round": { | ||
| "description": "The round where this transaction was confirmed, if present.", | ||
| "type": "integer" | ||
| }, | ||
| "pool-error": { | ||
| "description": "Indicates that the transaction was kicked out of this node's transaction pool (and specifies why that happened). An empty string indicates the transaction wasn't kicked out of this node's txpool due to an error.\n", | ||
| "type": "string" | ||
| }, | ||
| "receiver-rewards": { | ||
| "description": "Rewards in microalgos applied to the receiver account.", | ||
| "type": "integer" | ||
| }, | ||
| "sender-rewards": { | ||
| "description": "Rewards in microalgos applied to the sender account.", | ||
| "type": "integer" | ||
| }, | ||
| "local-state-delta": { | ||
| "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "#/definitions/AccountStateDelta" | ||
| } | ||
| }, | ||
| "global-state-delta": { | ||
| "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", | ||
| "$ref": "#/definitions/StateDelta" | ||
| }, | ||
| "logs": { | ||
| "description": "\\[lg\\] Logs for the application being executed by this transaction.", | ||
| "type": "array", | ||
| "items": { | ||
| "type": "string" | ||
| } | ||
| }, | ||
| "inner-txns": { | ||
| "description": "Inner transactions produced by application execution.", | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "#/definitions/PendingTransactionResponse" | ||
| } | ||
| }, | ||
| "txn": { | ||
| "description": "The raw signed transaction.", | ||
| "type": "object", | ||
| "x-algorand-format": "SignedTransaction" | ||
| } | ||
| } | ||
| } | ||
|
|
@@ -2278,78 +2339,6 @@ | |
| } | ||
| } | ||
| }, | ||
| "PendingTransactionResponse": { | ||
| "description": "Given a transaction id of a recently submitted transaction, it returns information about it. There are several cases when this might succeed:\n- transaction committed (committed round \u003e 0)\n- transaction still in the pool (committed round = 0, pool error = \"\")\n- transaction removed from pool due to error (committed round = 0, pool error != \"\")\n\nOr the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error.", | ||
| "schema": { | ||
| "description": "Details about a pending transaction. If the transaction was recently confirmed, includes confirmation details like the round and reward details.", | ||
| "type": "object", | ||
| "required": [ | ||
| "txn", | ||
| "pool-error" | ||
| ], | ||
| "properties": { | ||
| "asset-index": { | ||
| "description": "The asset index if the transaction was found and it created an asset.", | ||
| "type": "integer" | ||
| }, | ||
| "application-index": { | ||
| "description": "The application index if the transaction was found and it created an application.", | ||
| "type": "integer" | ||
| }, | ||
| "close-rewards": { | ||
| "description": "Rewards in microalgos applied to the close remainder to account.", | ||
| "type": "integer" | ||
| }, | ||
| "closing-amount": { | ||
| "description": "Closing amount for the transaction.", | ||
| "type": "integer" | ||
| }, | ||
| "asset-closing-amount": { | ||
| "description": "The number of the asset's unit that were transferred to the close-to address.", | ||
| "type": "integer" | ||
| }, | ||
| "confirmed-round": { | ||
| "description": "The round where this transaction was confirmed, if present.", | ||
| "type": "integer" | ||
| }, | ||
| "pool-error": { | ||
| "description": "Indicates that the transaction was kicked out of this node's transaction pool (and specifies why that happened). An empty string indicates the transaction wasn't kicked out of this node's txpool due to an error.\n", | ||
| "type": "string" | ||
| }, | ||
| "receiver-rewards": { | ||
| "description": "Rewards in microalgos applied to the receiver account.", | ||
| "type": "integer" | ||
| }, | ||
| "sender-rewards": { | ||
| "description": "Rewards in microalgos applied to the sender account.", | ||
| "type": "integer" | ||
| }, | ||
| "local-state-delta": { | ||
| "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "#/definitions/AccountStateDelta" | ||
| } | ||
| }, | ||
| "global-state-delta": { | ||
| "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", | ||
| "$ref": "#/definitions/StateDelta" | ||
| }, | ||
| "logs": { | ||
| "description": "\\[lg\\] Logs for the application being executed by this transaction.", | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "#/definitions/LogItem" | ||
| } | ||
| }, | ||
| "txn": { | ||
| "description": "The raw signed transaction.", | ||
| "type": "object", | ||
| "x-algorand-format": "SignedTransaction" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "PendingTransactionsResponse": { | ||
| "description": "A potentially truncated list of transactions currently in the node's transaction pool. You can compute whether or not the list is truncated if the number of elements in the **top-transactions** array is fewer than **total-transactions**.", | ||
| "schema": { | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
After taking another look, this should probably be "OK", since the real description is already on the endpoint.
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.
You might have deleted some context on this one. Should I resolve the conversation, or do you think there's something to be done here?
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.
Ah, my comment was ambiguous. I mean the
descriptionfield here should probably have valueOK, since I believe it's purpose is to describe what a 200 response means. For example see the respones for/v2/applications/{application-id}.