-
Notifications
You must be signed in to change notification settings - Fork 493
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
go-algorand 3.6.2-stable Release PR #3960
go-algorand 3.6.2-stable Release PR #3960
Conversation
## Summary The TestDeadlockLogging was generating large amount of "junk" on top of the expected stack trace. This PR addresses that by dropping the redundant data. Example: https://circleci.com/api/v1.1/project/github/algorand/go-algorand/92568/output/106/0?file=true&allocation-id=622fb105959ff4390b6b098f-0-build%2F5VSI2HBA ## Test Plan Unit test exists.
* Some simple optimizations for app execution Also some benchmarks that show relative costs for the CPU part of processing transactions * Convert opcodes to return error, rather than set cx.err * Pavel recomendation. Considering bigger change to refreshDebugState Tests more opcodes, including branches and others that have not return values. Automates handling of more opcodes by understanding immediate arguments. Fixes the ordering of return value testing. * Unify naming Co-authored-by: Michael Diamant <[email protected]> * make sure return types tested even when simple errors occur Co-authored-by: michaeldiamant <[email protected]>
* Warn on invalid method signature assembly * Print warnings to stderr
…count (algorand#3773) ## Summary When trying to sign a transaction file with goal, if the sender is a normal address but the signer is a logic program, the call fails with an error message like: `send.txn: txn[0] error LogicNot signed and not a Logic-only account` The error message comes from https://github.com/algorand/go-algorand/blob/33b87c432065d3be0ce1fdad682604f416676133/data/transactions/verify/txn.go#L314 It notes that a valid case is when Auth is set to the hash of the program but we aren't setting the auth on the transaction even if the -S flag is passed ## Test Plan Made a txn where sender is a regular account and signed it with ```sh goal clerk sign -i tmp.txn -o tmp.txn -S BJATCHES5YJZJ7JITYMVLSSIQAVAWBQRVGPQUDT5AZ2QSLDSXWWM46THOY -p tmp.teal ``` I borked the git history on the last one algorand#3459 so just nuked it and starting over here. Left it at @tsachiherman wanting better tests for this algorand#3459 (comment)
In DevMode, do not create a block for internal events (i.e. compact-cert creation). This is to assure reproducibility and eliminate the random shifts in round numbers.
## Summary The existing Ledger.OnlineTotals is going ( at the end of the 320 project ), be using the onlineAccountsTracker to get its information from. But unlike the existing l.accts.Totals(rnd) call, it won't get the totals, but only the amount of online totals ( i.e. basics.MicroAlgos ). Prepare the Ledger implementation for that change by deprecating the accountUpdates.Totals and naming it OnlineTotals. As such, it would return just the online portion of that structure ( i.e. totals.Online.Money ). ## Test Plan Ran existing tests on Ledger.OnlineTotals
## Summary The changes in algorand#3770 didn't include the changes in algorand#3769 and so tests don't compile on master currently — this updates another test that uses `Totals` to use `LatestTotals` instead. ## Test Plan Fixes tests.
## Summary This PR upgrade the go-algorand repository to use go 1.16 while adding workarounds for golang/go#44343. ## Test Plan Use performance testing to verify no regressions.
## Summary update go(mod/sum) to use golang 1.16 on the following dependencies: 1. go-codec 2. go-deadlock 3. msgp 4. websocket 5. graphtrace 6. oapi-codegen ## Test Plan Use existing tests.
* remove slice nil handling, add comments to explain * update testcases * partition, dog
`goal` supports signing transactions on a Ledger device. This is done by using github.com/karalabe/usb which is deprecated. Since we go-algorand is being updated to 1.16 we update the library and manually test this version with Ledger. Tested `goal` with Ledger Nano X and S.
…gorand#3728) * nit: always set Exclude value in accountInformationParams * fix comments from CR
* This is a prerequisite test before retiring AccountData.OnlineAccountData() that is used only in tests agreement and committee tests. * Historically all these tests depends on genesis data that is basic.AccountData. * Our GA genesis files have stake, status and voting data and never had resources basic.AccountData can be reduced to the original stake + voting data state and a new basic.AccountDataEx can be introduced for using in REST API * Ledger tests and test network generation tools need to be updated to accept a new reduced (original) basic.AccountData as genesis and resource records for assets and apps needed for tests after the ledger initialization.
…tation (algorand#3856) * Revert "Revert `fillBytes` method to `bigIntToBytes` for lower golang version (algorand#3498)" * leadingZeros update * minor updates with elliptics * byteLength
* dont make array with length if we're just appending to it * make it ahead of time like other slice init in the same file * tweaking unit tests to be less forgiving to local deltas slice
Unify most assembly routines to minimize difference and ease doc gen Flexible opcode costs and fewer assembly routines Co-authored-by: michaeldiamant <[email protected]>
Also pretty print langsoec so that chnages are easier to see.
In order to run private networks in docker, it is convenient to mount the data directory. By disallowing the network directory to exist it is not possible to mount the node directory.
arm32 has int32 fields in Timespec struct, but Nanoseconds() returns int64. The new arm32-specific implementation of NanoSleep casts it to int32 as Timespec expects.
This is a quick fix. A better fix would replace this container with something more lightweight, as it's doing too much for this step.
In some situations the method might incorrectly count deleted items towards total items. This might result not returning all the resources to REST API clients.
Codecov Report
@@ Coverage Diff @@
## rel/stable #3960 +/- ##
==============================================
+ Coverage 49.78% 49.79% +0.01%
==============================================
Files 392 409 +17
Lines 68780 68897 +117
==============================================
+ Hits 34241 34309 +68
- Misses 30777 30887 +110
+ Partials 3762 3701 -61
Continue to review full report at Codecov.
|
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.
Looks reasonable though I assumed the PR's What's New should match #3947.
Overview
Maintenance release of incremental enhancements and fixes.
What's New
Changelog
New Features
Enhancements
fillBytes
method in ABI and eval.go implementation (#3856)Bugfixes
Other
Protocol Upgrade
This release does not contain a protocol upgrade.
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
Additional Resources