Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Summary
Followup to #3261 (contained in diff).
Use the new key loading routine from the REST API.
## Test Plan
New unit tests.
|
|
## Summary
After #2922 there is some leftover unused code for totals calculations. Turned this code into actual asserts.
## Test Plan
This is tests update
|
|
Update license on all source files to 2022.
|
|
* Support app creation in `goal app method`
* Don't use nonprintable tab character
* Link to specific gist version
* Fix error messages
* Rename `methodCreation` to `methodCreatesApp`
|
|
* Fix method call arg overflow handling
* Only check last log for return value
* Address feedback
* Add comment explaining ABI return prefix
|
|
* update abi encoding test random testcase generator, scale down parameters to avoid flaky test
* parameterized test script
* add notes to explain why flaky test is eliminated
* show more information from self-roundtrip testing
* fully utilize require, remove fmt
|
|
Summary
This allows for the deadlock detection threshold to be set by configuration.
Test Plan
Existing tests should pass.
|
|
|
|
## Summary
Some large teal source files cause the tealdbg/cdt session to choke. Upping the buffer size to allow for larger source files.
closes #3100
## Test Plan
Run tealdbg with a large source teal file, ensure the source file makes it to cdt without choking.
|
|
## Summary
New tool: convertAddress
I share this tool with someone every few months, putting it in the repo along with some documentation should make it easier to share and encourage people to share it amongst themselves if it's useful.
Merge `debug` into `tools` to make it easier to organize these miscellaneous tools.
|
|
|
|
## Summary
Minor improvements to e2e.sh interactive mode:
* add to -h output
* do not run start stop test in interactive mode
* support fish shell
## Test Plan
Manual testing:
```
~$ ./e2e.sh -i
...
lots of output removed
...
********** READY **********
The test environment is now set. You can now run tests in another terminal.
Configure the environment:
set -g VIRTUAL_ENV "/home/will/go/src/github.com/algorand/go-algorand/tmp/out/e2e/130013-1639576513257/ve"
set -g PATH "$VIRTUAL_ENV/bin:$PATH"
python3 "/home/will/go/src/github.com/algorand/go-algorand/test/scripts"/e2e_client_runner.py "/home/will/go/src/github.com/algorand/go-algorand/test/scripts"/e2e_subs/SCRIPT_FILE_NAME
Press enter to shut down the test environment...
```
|
|
* alphabet begone in favor of encoding
* unit test various padding and whitespace scenarios
* padding permutations also fail
* "Slicing" --> "Manipulation"
* fix the codegen fail?
* Documenting padding, whitespace, other character behavior
|
|
## Summary
Add qkniep to THANKS.md
|
|
Always use currentRound+proto.MaxTxnLife as last valid round for the
transaction when renewing instead of using the partkey validity period.
This fixes #3283
|
|
## Summary
This PR moves the catchpoint file writing to be performed outside of the trackers lock. This resolves the issue where a long catchpoint file writing blocks the agreement from validating and propagating votes.
## Test Plan
* [x] Test manually & use existing tests.
* [x] Implement a unit test
* [x] Deploy a local network where the catchpoint writing takes a long time and verify it doesn't get blocked during catchpoint writing.
|
|
|
|
rel/stable
|
|
fix random data race in unit test
|
|
## Summary
The wording on this was tripping me, maybe I was having an off day. I think it would be slightly easier if the message were to tell exactly what you need to do (and not use the angle brackets).
|
|
## Summary
This PR fixes a link in a README.
## Testing
I clicked on the new link.
|
|
genesis-id. (#3308)
## Summary
Avoid creating algod process for the sole purpose of retrieving the genesis-id.
Existing code was calling `algod -G -d <data dir>` in order to obtain the genesis version string.
The genesis version string can be easily retrieved by loading the genesis file.
## Test Plan
Use existing e2e tests.
|
|
go-algorand 3.2.2-stable
|
|
being stopped. (#3303)
## Summary
The block service was attempting to serve block via the http handler even after it has been stopped.
This lead to undesired downstream failures in the ledger, which was shutdown as well.
## Test Plan
unit test added.
|
|
|
|
## Summary
The fetchAndWrite function contains some complex logic to ultimately determine if we should continue trying to catch up. The conditions that might cause it to return false should be more explicitly enumerated.
## Test Plan
Just comments
|
|
Disable a flaky test, to be re-enabled later with #3267.
|
|
go-algorand v3.2.2-beta
|
|
|
|
The catchup service stops when it is complete, i.e. it has reached up to the round which is being agreed on.
The catchup service knows it is complete and should stop, when it finds that a block is in the ledger before it adds it.
In other words, apart from the catchup, only the agreement adds blocks to the ledger. And when the agreement adds a block to the ledger before the catchup, it means the agreement is ahead, and the catchup is complete.
When `fetchAndWrite` detects the block is already in the ledger, it returns. The return value of `false` stops the catchup syncing.
In previous releases, `fetchAndWrite` was only checking if the block is already in the ledger after attempting to fetch it.
Since it fails to fetch a block not yet agreed on, the fetch fails after multiple attempts, and `fetchAndWrite` returns `false` ending the catchup.
A recent change made this process more efficient by first checking if the block is in the ledger before/during the fetch.
However, once the block was found in the ledger, `fetchAndWrite` returned true instead of false (consistent with already existing logic since forever, which was also wrong). This caused the catchup to continue syncing after catchup was complete.
This change fixes the return value from true to false.
|
|
## Summary
Compatibility for `partkeyinfo` was also needed by some users. In addition to the different format, the old command also allows printing key information when the node is not running
Workarounds:
1) use an older `goal` binary.
2) use `algokey part info --keyfile <file>`
## Test Plan
Tested manually:
```
~$ goal account partkeyinfo -d /tmp/private_network/Node/
Dumping participation key info from /tmp/private_network/Node/...
Participation ID: CPLHRU3WEY3PE7XTPPSIE7BGJYWAIFPS7DL3HZNC4OKQRQ5YAYUA
Parent address: DGS6VNX2BRMKGKVAS2LTREMYG33TOCYPFLPCQ3DUTJULQU6P6S7KJCDNTU
Last vote round: 1
Last block proposal round: 2
Effective first round: 1
Effective last round: 3000000
First round: 0
Last round: 3000000
Key dilution: 10000
Selection key: 5QRrTgzSUTqqym43QVsBus1/AOwGR5zE+I7FGwA14vQ=
Voting key: PK0NMyZ4BKSjPQ9JuT7dQBLdTpjLQv2txuDYDKhkuqs=
~$ goal account partkeyinfo -d /tmp/private_network/Node/ -c
Dumping participation key info from /tmp/private_network/Node/...
------------------------------------------------------------------
File: Wallet2.0.3000000.partkey
{
"acct": "DGS6VNX2BRMKGKVAS2LTREMYG33TOCYPFLPCQ3DUTJULQU6P6S7KJCDNTU",
"last": 3000000,
"sel": "5QRrTgzSUTqqym43QVsBus1/AOwGR5zE+I7FGwA14vQ=",
"vote": "PK0NMyZ4BKSjPQ9JuT7dQBLdTpjLQv2txuDYDKhkuqs=",
"voteKD": 10000
}
```
|