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

AVM 8 #439

Merged
merged 27 commits into from
Nov 3, 2022
Merged

AVM 8 #439

merged 27 commits into from
Nov 3, 2022

Conversation

michaeldiamant
Copy link
Contributor

Provides an integration branch for PRs targeting AVM 8.

Relates to #388.

barnjamin and others added 11 commits June 24, 2022 10:05
* adding program page related ops
* Add Replace

* Remove replace auto-import

* Use scripts/generate_init.py

* Add more tests to replace, substring, and extract (#1)

Co-authored-by: Michael Diamant <[email protected]>
* Add Block

# Conflicts:
#	pyteal/ir/ops.py

* Disable flake8 errors on formatted lines

* Add past version failure check

* Remove unnecessary ignore Expr equality context
* Add JsonRef

* Use named class methods to specify value type

* Remove unnecessary ignore Expr equality context

* Fix docstring link
* Add Base64Decode

* Remove unnecessary ignore Expr equality context
* Support Secp256r1 curve

* Fix type errors in ecdsa tests

* Fix typo

* Test Secp256k1 curve against TEAL 5 instead

* Add compile check to `MultiValue` class

* Use `MultiValue` compile checks instead of inheritance
* Add VrfVerify

# Conflicts:
#	pyteal/ast/__init__.py
#	pyteal/ir/ops.py

* Tidy with `MultiValue`’s compile check
* Add sha3_256

* Add crypto docs
* Add first valid time factory and update min version

* Include FirstValidTime in txn tests

* Add transaction field docs
* Add ed25519verify_bare

* Fix typos in Ed25519 docstrings (#2)

* Add crypto doc for Ed25519Verify_Bare

Co-authored-by: Michael Diamant <[email protected]>
ahangsu and others added 8 commits July 13, 2022 11:18
* add box ops

* full support on ops

* first set of test, add versioning in multi

* remove some seemingly not necessary code?

* update testcase

* check invalid arguments

* finish testcase

* move stuffs to app

* version check trick

* verifyTealVersion apply

* error message

* update docs structures

* period

* update doc

* update doc

* update doc

* per pr review on implementation

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* hex box size goes wild

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* warning about MBR

* wording

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* emphasize

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* Update docs/state.rst

Co-authored-by: Zeph Grunschlag <[email protected]>

* polishing

* remove redundant box_put doc segment

* per zeph pr review

* use note and warning

* per zeph's pr review

* Update docs/state.rst

Co-authored-by: Michael Diamant <[email protected]>

* creating boxes

* Update docs/state.rst

Co-authored-by: Michael Diamant <[email protected]>

* per pr review

* table for state types

Co-authored-by: Ben Guidarelli <[email protected]>
Co-authored-by: Zeph Grunschlag <[email protected]>
Co-authored-by: Michael Diamant <[email protected]>
* swapping base64 modes to match the rest (#446)

* Merge master into teal7 (#450)

* AVM 7:  Address integration branch feedback (#452)

* Add Execute Method (#444)

* adding execute method to allow omission of begin/submit for common use case

* exec docstring

* update testcase

Co-authored-by: Hang Su <[email protected]>

* Merge branch 'master' into teal7 (#463)

* fix misspelling of uint (#431)

* fix misspelling of uint

* Clarify minimum Python version management docs (#435)

* Foreign prefix on App and Asset arrays (#440)

* replacing foreignapps with applications

* fix assets as well

* Add Execute Method (#444)

* adding execute method to allow omission of begin/submit for common use case

* exec docstring

* update testcase

Co-authored-by: Hang Su <[email protected]>

Co-authored-by: Ben Guidarelli <[email protected]>
Co-authored-by: Hang Su <[email protected]>

* Consolidate TEAL and AVM versioning (#441)

* fix misspelling of uint (#431)

* fix misspelling of uint

* Clarify minimum Python version management docs (#435)

* Convert TEAL version references to program version by hand

* Replace `teal#Options` with `avm#Options`

* Deprecate `*_TEAL_VERSION` in favor of `*_PROGRAM_VERSION`

* Fix docs typo

Co-authored-by: Michael Diamant <[email protected]>

* Minor `versions.rst` changes

* Fix `verifyTealVersion` in new opcode files

* Fix linter errors

* Fix language discrepencies introduced by the merge

* Remove incorrect avm replacement

* Fix inconsistent language introduced by merge

Co-authored-by: Ben Guidarelli <[email protected]>
Co-authored-by: Michael Diamant <[email protected]>

* max program version

Co-authored-by: Ben Guidarelli <[email protected]>
Co-authored-by: Michael Diamant <[email protected]>
Co-authored-by: Jacob Daitzman <[email protected]>
@ahangsu ahangsu marked this pull request as ready for review September 15, 2022 20:40
@michaeldiamant
Copy link
Contributor Author

I can't approve my own PR, so I leave a comment instead: As of 5282726, the integration branch looks ready to merge once AVM 8 release kicks off.

@jasonpaulos jasonpaulos mentioned this pull request Sep 29, 2022
Copy link
Contributor

@jasonpaulos jasonpaulos left a comment

Choose a reason for hiding this comment

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

This looks pretty good, I just made a child PR for some docs improvements: #546

Copy link
Contributor

@ahangsu ahangsu left a comment

Choose a reason for hiding this comment

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

Mostly look good, just one question on acct_params_get op code, and the related fields. Do we want them included in AVM8 release?

@michaeldiamant
Copy link
Contributor Author

just one question on acct_params_get op code, and the related fields. Do we want them included in AVM8 release?

@ahangsu Thanks for flagging it to ensure we cover all the bases.

  • We're working on it, but I do not view it as a blocker to merging the PR. This PR brings a lot of value as is.
  • If the work is done before releasing AVM 8, then we'll happily take the change. Otherwise, we'll include it in a subsequent PyTeal release.

Copy link
Contributor

@ahangsu ahangsu left a comment

Choose a reason for hiding this comment

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

Feels good about the PR in current shape, approving for I feel like this looks good.

ahangsu and others added 4 commits October 25, 2022 13:24
* add frame ops to avm8 branch

* specify FRAME_POINTER_VERSION in frame-op branch

* per review comments

* per review comments

* per review comments, depth -> frame_depth

* take bury out

* pop popn

* unexport use of frame ops

* hide FRAME_POINTER_VERISON
CHANGELOG.md Show resolved Hide resolved
@ahangsu ahangsu merged commit bdcdd5c into master Nov 3, 2022
@ahangsu ahangsu deleted the avm8 branch November 3, 2022 16:53
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.

5 participants