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

go-algorand 2.6.0-beta #2166

Merged
merged 266 commits into from
May 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
266 commits
Select commit Hold shift + click to select a range
e55a7d6
changes per reviewer feedback
tsachiherman Feb 26, 2021
9fb630e
update per reviewer's requests.
tsachiherman Feb 27, 2021
331c3f7
Address some of the reviewer's comments.
tsachiherman Mar 1, 2021
5530545
use constants
nicholasguo Mar 1, 2021
f8da088
bug fix
nicholasguo Mar 2, 2021
b325f01
initial version
tsachiherman Mar 4, 2021
56b2cfa
fix datarace
tsachiherman Mar 4, 2021
8ced9b0
Uncolorize mnemonic output on Windows
mxmauro Mar 4, 2021
8a6dcb8
Changed KMD directory safety check on Windows
mxmauro Mar 4, 2021
48d1ad6
Improved process kill/existence check on Windows
mxmauro Mar 4, 2021
45d7dae
Add unit test
tsachiherman Mar 4, 2021
92b87c7
Renamed file
mxmauro Mar 4, 2021
022b0cf
Avoid database timeout warning message + improved syncronous writings
tsachiherman Mar 4, 2021
e1cd321
better implementation & faster test
tsachiherman Mar 5, 2021
09284a2
Fix parameter check in abort procedure
algonautshant Mar 9, 2021
1e1b82b
Net tag stats (#1938)
brianolson Mar 9, 2021
4579eb0
Merge pull request #1929 from tsachiherman/tsachi/prefetcher
tsachiherman Mar 9, 2021
f862605
Merge pull request #1920 from nicholasguoalgorand/nguo/trim-delta-alloc
tsachiherman Mar 9, 2021
0c44a0f
breaking up the block per review comment
algonautshant Mar 10, 2021
51e808d
Split messages for ANSI and non-ANSI consoles
mxmauro Mar 10, 2021
4135b81
Moved dir safety check logging to per-OS code
mxmauro Mar 10, 2021
a42275a
Improved process tree kill in Windows
mxmauro Mar 10, 2021
2bbf815
Fixed wrong variable name
mxmauro Mar 10, 2021
86fa0e0
Check several assembly/disassembly across versions
jannotti Mar 10, 2021
c8e8b51
Thinko, caught by Pavel
jannotti Mar 10, 2021
9da41f4
Call ops.checkArgs() in asembly loop for consistency.
jannotti Mar 10, 2021
98f2843
clearer test, per code review
jannotti Mar 11, 2021
ad2a160
Rewards unneeded for min balance calculation
jannotti Mar 11, 2021
4e67239
Merge branch 'master' into tsachi/reconstructbalances
tsachiherman Mar 11, 2021
65753ae
update per reviewer comments.
tsachiherman Mar 11, 2021
b0abee6
Merge pull request #1955 from algonautshant/shant/fix_exp_common
tsachiherman Mar 11, 2021
d5e50cb
Merge pull request #1942 from mxmauro/win_fixes
tsachiherman Mar 11, 2021
c6023df
Get opcodes from specs, not magic constants.
jannotti Mar 11, 2021
cdf70e7
updates per reviewer's request.
tsachiherman Mar 11, 2021
604e52b
Present costs more succintly when they repeat.
jannotti Mar 11, 2021
e9de60e
allow struct field to be sync.Mutex if tagged `algofix:"allow sync.Mu…
brianolson Mar 11, 2021
3c35206
Use map literals to simplify life
jannotti Mar 11, 2021
de704e6
Merge pull request #1962 from brianolson/algofix-allow-sync
tsachiherman Mar 11, 2021
7776ece
Typo-ish cleanups
jannotti Mar 11, 2021
8d7fce2
Add DisableLocalhostConnectionRateLimit to config
tsachiherman Mar 12, 2021
8611864
add unit test
tsachiherman Mar 12, 2021
b902b89
Provide a fallback to use the default consensus parameters in case th…
tsachiherman Mar 12, 2021
233275e
Improve ConsensusVersion error output to include a correct Committed …
tsachiherman Mar 12, 2021
1325a23
update per reviewer's comments.
tsachiherman Mar 12, 2021
1f30b1b
Merge pull request #1940 from tsachiherman/tsachi/reconstructbalances
tsachiherman Mar 12, 2021
f1e1177
Merge pull request #1963 from tsachiherman/tsachi/localhostconnctions
tsachiherman Mar 12, 2021
fff5673
update comments
tsachiherman Mar 12, 2021
7b3c85c
Merge branch 'master' into tsachi/ledgerconsver
tsachiherman Mar 12, 2021
485ff9e
Add dummy change to trigger github.
tsachiherman Mar 12, 2021
dbedc9d
make sanity
jannotti Mar 12, 2021
9d101ca
Merge pull request #1963 from tsachiherman/tsachi/localhostconnctions
tsachiherman Mar 12, 2021
3fce706
Merge pull request #1965 from tsachiherman/tsachi/ledgerconsver
tsachiherman Mar 12, 2021
f6dd31b
Check compile and dryrun porgrams against consensus limits
jannotti Mar 14, 2021
e49ac42
Fix random e2e test failuire
tsachiherman Mar 14, 2021
92f406b
Merge pull request #1972 from tsachiherman/tsachi/fixaccounttestbug
tsachiherman Mar 15, 2021
612223c
GPATH-less running of expect tests
jannotti Mar 15, 2021
3e3c2fc
Move messages into messages.go, add expect tests
jannotti Mar 16, 2021
708f5da
doc typo
jannotti Mar 16, 2021
adb8861
enum types for gtxns(a) op
jannotti Mar 16, 2021
5e6768f
Optimize bloom filter memory allocations.
tsachiherman Mar 16, 2021
8c3e0ef
Add unit test to confirm.
tsachiherman Mar 16, 2021
e14fa23
Update tealdbg frontend for TEAL 3
jasonpaulos Mar 16, 2021
0981f0f
Add newline to pushbytes disassembly
jasonpaulos Mar 16, 2021
1ff4f33
Merge pull request #1964 from tsachiherman/tsachi/aggr1
tsachiherman Mar 16, 2021
5015c44
improve unit test performance
tsachiherman Mar 16, 2021
4e0d192
tealdbg: listen on specified address
algorandskiy Mar 16, 2021
a4248dc
Merge pull request #1976 from jasonpaulos/tealdbg-teal3
tsachiherman Mar 17, 2021
ae5abd1
update per review
tsachiherman Mar 17, 2021
731f711
skip printing the logs when program is in terminated state.
shiqizng Mar 17, 2021
ec9a186
remove unneccessary lines
shiqizng Mar 17, 2021
06aa0ba
Fixes for pending txn endpoint
jasonpaulos Mar 17, 2021
a8b19ac
nil check fix
brianolson Mar 17, 2021
344c691
fix
nicholasguo Mar 17, 2021
affd87f
Merge pull request #1981 from brianolson/tagcounter_nil_fix
tsachiherman Mar 17, 2021
0505b9b
Merge pull request #1977 from algorandskiy/pavel/tealdbg-listen
tsachiherman Mar 17, 2021
0affc40
bugfix
tsachiherman Mar 18, 2021
214158b
Merge pull request #1979 from algorand/sz/fixe2eclientrunner
tsachiherman Mar 18, 2021
aa648f4
Initial draft of universal fetcher impl.
algonautshant Feb 23, 2021
feca7ec
fixing lint
algonautshant Feb 23, 2021
3ebfe9b
simplifying the structures used by the fetcher
algonautshant Feb 23, 2021
ec08e2f
Use the universal fetcher in fetcher service and fix the tests
algonautshant Feb 27, 2021
61f6204
more cleanup
algonautshant Feb 28, 2021
05328b3
Eliminate fetcher.go
algonautshant Feb 28, 2021
9a68579
Removed the fetcher factories. Updated some of the catchup service te…
algonautshant Mar 3, 2021
7ba545f
fix test failure
algonautshant Mar 4, 2021
39aa8ff
test failure fix
algonautshant Mar 4, 2021
24da14b
listExpiredParticipationKeyTest fail configuration
algonautshant Mar 5, 2021
ed5cfa2
Refactor peer selector and fetcher creation.
algonautshant Mar 5, 2021
b47f303
minor changes
algonautshant Mar 9, 2021
8161731
Configuring the peer selections
algonautshant Mar 9, 2021
d1c76fc
remove unneeded code
algonautshant Mar 9, 2021
31300e6
updating error text
algonautshant Mar 10, 2021
6f8ce6e
remving the hard-coded version from the test
algonautshant Mar 10, 2021
1e35f6e
Reverse the check for UnicastPeer HTTPPeer, remove network Ready()
algonautshant Mar 10, 2021
855725a
Revert Infof to Debugf
algonautshant Mar 10, 2021
fcbd432
Cleanup WebsocketNetwork Ready and eventualReady.
algonautshant Mar 11, 2021
3e3a622
Combine wsFetcher and httpFetcher with universalFetcher
algonautshant Mar 11, 2021
47d8383
fix test race issue
algonautshant Mar 11, 2021
d76d27d
restore Ready and eventualReady in newtwork package
algonautshant Mar 11, 2021
38e5621
stop pipelinedFetch if there are no peers. Message fixes
algonautshant Mar 12, 2021
d896fae
Fix test failure. debug message if no peers found.
algonautshant Mar 12, 2021
166214b
Add feedback to peerselector. Update Catchpoint service fetcher time …
algonautshant Mar 12, 2021
53cede8
remove unused argument
algonautshant Mar 12, 2021
8c6f565
Fix and resotre the catchup service tests
algonautshant Mar 15, 2021
6be9849
Refactor createPeerSelector
algonautshant Mar 15, 2021
3294c79
fix the benchmark test
algonautshant Mar 17, 2021
fec95aa
sync-cert RequestConnectOutgoing instead of quitting
algonautshant Mar 17, 2021
a89d0a3
Simplify max check in loop
jasonpaulos Mar 18, 2021
f3c77f7
optimize allocation.
tsachiherman Mar 18, 2021
5430a44
correct a bug and add a unit test.
tsachiherman Mar 18, 2021
93860a5
Merge pull request #1923 from algonautshant/shant/universal_fetcher
tsachiherman Mar 18, 2021
a13e067
change
nicholasguo Mar 18, 2021
9a8e0b2
Merge pull request #1980 from jasonpaulos/pending-txn-fixes
tsachiherman Mar 18, 2021
7b6a99e
Merge pull request #1975 from tsachiherman/tsachi/optimizebloom
tsachiherman Mar 18, 2021
cde5b21
Merge pull request #1982 from nicholasguoalgorand/nguo/algoh-report-p…
tsachiherman Mar 19, 2021
11153e2
copy GetPeerData()/SetPeerData() from txnsync branch
brianolson Mar 19, 2021
a884980
comments. basic unit test of SetPeerData()/GetPeerData()
brianolson Mar 19, 2021
658c250
add go-swagger response annotations
shiqizng Mar 19, 2021
582e458
wrap api response in swagger response
shiqizng Mar 19, 2021
15ef866
Avoid compact cert validation on non-validate/non-generate path.
tsachiherman Mar 19, 2021
a035258
Merge pull request #1990 from brianolson/peer_meta
tsachiherman Mar 19, 2021
f0c93c1
Improve comments.
tsachiherman Mar 19, 2021
f90b9e2
copy byteslices that will be modified by opcode
jannotti Mar 19, 2021
f0e493a
Merge pull request #1993 from jannotti/setbyte-fastfix
tsachiherman Mar 20, 2021
f071adf
update test & fix bug.
tsachiherman Mar 20, 2021
60c2b0e
fix missing unit test
tsachiherman Mar 20, 2021
115ecf3
add syncronization to dumpLogger
tsachiherman Mar 20, 2021
54ccfee
disable few network function inlining to better understand failuire p…
tsachiherman Mar 20, 2021
7766a86
update response handlers.
tsachiherman Mar 20, 2021
2ac40a6
make deadlockLogger thread-safe.
tsachiherman Mar 21, 2021
7b38d3f
rollback deadlockLogger changes. Moved to it's own PR.
tsachiherman Mar 21, 2021
e93625d
rollback error code changes
tsachiherman Mar 21, 2021
dc3c75c
rollback unwanted change
tsachiherman Mar 21, 2021
8153838
rollback network change.
tsachiherman Mar 21, 2021
0a18bbb
Merge branch 'master' into tsachi/ccpart
tsachiherman Mar 21, 2021
ddc325b
better error comment
tsachiherman Mar 21, 2021
c225bdc
update per reviewer comments
tsachiherman Mar 21, 2021
307b94e
Merge pull request #1995 from tsachiherman/tsachi/deadlocklogger2
tsachiherman Mar 21, 2021
05e827b
Merge pull request #7 from algorand/master
id-ms Mar 22, 2021
2f86cf3
e2e tests can now run kmd with allow_unsafe_scrypt = true which will …
Mar 22, 2021
b8ef4a4
vars name change
Mar 22, 2021
5bd2089
fixing typo
Mar 22, 2021
51e2061
fix linting errors
shiqizng Mar 22, 2021
f4d1587
fix key not found error in swagger validation
shiqizng Mar 22, 2021
f70cbcf
Update test/scripts/e2e.sh
id-ms Mar 22, 2021
d8f861d
add descriptions to swagger response
shiqizng Mar 22, 2021
129f1cb
Merge remote-tracking branch 'upstream/master' into sz/fixmakegenerate
shiqizng Mar 22, 2021
ab21ae1
Merge pull request #1998 from algoidan/fix/Improve-kmd-speed-in-test
tsachiherman Mar 22, 2021
1b60bfb
update per peer review.
tsachiherman Mar 22, 2021
8bb377e
Merge pull request #1991 from tsachiherman/tsachi/ccpart
tsachiherman Mar 23, 2021
3d4aadb
typo fix
shiqizng Mar 23, 2021
b388a79
swagger ignore RawBlockResponse
shiqizng Mar 23, 2021
000e9ce
Improve memory allocations in cloneAssetHoldings
algorandskiy Mar 23, 2021
de7647f
Add comments to releases page script. (#2003)
onetechnical Mar 23, 2021
b6d4714
Add pushing docker tag to betanet (#2004)
onetechnical Mar 23, 2021
07b8b8f
update swagger annotation for APIV1RequestEnvelope
shiqizng Mar 24, 2021
91cfd6e
Merge pull request #2000 from shiqizng/sz/fixmakegenerate
tsachiherman Mar 24, 2021
aff07be
Merge pull request #1961 from jannotti/teal3-review
tsachiherman Mar 25, 2021
81a6858
Merge branch 'master' into program-checks
jannotti Mar 25, 2021
c06b7b3
Merge pull request #1969 from jannotti/program-checks
tsachiherman Mar 25, 2021
dc3d836
Upgrade the websocket library to the latest one.
tsachiherman Mar 25, 2021
8873aac
Merge pull request #2006 from algorandskiy/pavel/mem-1
tsachiherman Mar 25, 2021
6bc8aa5
Adjust the outgoing buffer sizes according to realistic agreement ser…
tsachiherman Mar 25, 2021
858a35b
Merge pull request #2014 from tsachiherman/tsachi/upgradewebsocket
tsachiherman Mar 26, 2021
bdb9c58
Merge pull request #2019 from tsachiherman/tsachi/adjustoutgoingbuffe…
tsachiherman Mar 26, 2021
a4d3381
Presice calculation of paysetHint for block eval
algorandskiy Mar 25, 2021
4686b15
Adjust OptimizeAllocatedMemory
algorandskiy Mar 26, 2021
8268088
Merge pull request #2016 from algorandskiy/pavel/mem-2
tsachiherman Mar 26, 2021
492e898
BlockService redirects when does not have the round (#2002)
algonautshant Mar 26, 2021
253946d
Cache docker images in Travis and re-load them (#2012)
onetechnical Mar 26, 2021
3a4d94b
fix typo (#2021)
tsachiherman Mar 27, 2021
f1e03f5
Better error testing. (#2025)
tsachiherman Mar 29, 2021
85f7f5c
clear unused test code (#2026)
algonautshant Mar 30, 2021
abaaa80
fix ::AlgorandGoal::Abort (#2035)
tsachiherman Mar 31, 2021
5b441e3
Add comments to disassembly of constant load lines to show constant (…
jannotti Mar 31, 2021
c652a89
adding extra docs for pushbytes and pushint (#2033)
barnjamin Mar 31, 2021
b577061
delete pid file on process killing. (#2032)
tsachiherman Mar 31, 2021
46ea7e9
Fix for wrong channel when packaging. (#1957)
egieseke Mar 31, 2021
920c6ee
Fix testing bug : avoid datarace on a node crash during e2e test (#2031)
tsachiherman Apr 1, 2021
0797ad1
Add networking infrastructure for cancelling sends (#1966)
Apr 1, 2021
653cef2
Pingpong nft (#2007)
brianolson Apr 1, 2021
93bb7db
script to watch algod heap (#2011)
brianolson Apr 1, 2021
310e05a
ledger: split committed round range by consensus protocol version (#2…
tsachiherman Apr 1, 2021
d1a3fe4
Fix ClearState program applying when it errs (#2038)
algorandskiy Apr 2, 2021
a21ba27
Fix for empty local state key value map assignment (#2037)
algorandskiy Apr 2, 2021
76c2518
Fix node panicing during shutdown. (#2043)
tsachiherman Apr 6, 2021
a2c8993
bugfix: ensure loading of a merkle trie deferred page during commit (…
tsachiherman Apr 8, 2021
a971305
Fix requestNonce alignment on arm32 (#2051)
tsachiherman Apr 8, 2021
7f518b4
Filter out automated testing useless verbosed output (#2028)
tsachiherman Apr 8, 2021
ab78f5f
Extend catchpointdump utility to verify merkle trie (#2050)
tsachiherman Apr 8, 2021
feb7d09
make the msgp less verbosed on the success case. (#2054)
tsachiherman Apr 9, 2021
db1c065
ensure the participation key database is being correctly closed after…
tsachiherman Apr 9, 2021
7cd7aef
Merge pull request #2059 from onetechnical/onetechnical/relstable2.5.4
algojohnlee Apr 12, 2021
de792c3
debug tooling: logfilter bug when running test without -v (#2070)
tsachiherman Apr 14, 2021
b0d9bb0
netgoal: fixup small amounts of float64 roundoff (#2063)
brianolson Apr 14, 2021
f566e82
Tealdbg don't assume program version (#2042)
jasonpaulos Apr 14, 2021
f2ee25a
goal: improve waitForCommit logic (#2067)
tsachiherman Apr 14, 2021
4965895
Merge branch 'rel/stable' into onetechnical/remerge-2-5-4
onetechnical Apr 14, 2021
77c3278
Remove buildnumber and genesistimestamp.
onetechnical Apr 14, 2021
2de6e55
Refactor participation keys management (#2061)
tsachiherman Apr 14, 2021
ad3deea
Bandwidth watch (#2039)
brianolson Apr 14, 2021
96b9024
Merge pull request #2072 from onetechnical/onetechnical/remerge-2-5-4
algojohnlee Apr 14, 2021
ef321d8
Fine tune catchup peer selection logic (#2060)
algonautshant Apr 15, 2021
041e1f9
netgoal: add pre-generated network support (#2046)
shiqizng Apr 15, 2021
d585712
goal: refactor waitForCommit (#2076)
tsachiherman Apr 15, 2021
75c12fd
goal: avoid "node successfully started" on a previously started node …
algonautshant Apr 16, 2021
bd87c07
catchup: cross verify genesis.json hash (#2077)
tsachiherman Apr 16, 2021
498b28b
rollback https://github.com/algorand/go-algorand/pull/1756 (#2078)
tsachiherman Apr 16, 2021
14dd3bf
Merge branch 'rel/beta' into onetechnical/relstable2.5.5
onetechnical Apr 16, 2021
75a15c7
Unit test demonstrating high memory consumption (#2040)
algorandskiy Apr 17, 2021
304815d
Merge pull request #2082 from onetechnical/onetechnical/relstable2.5.5
algojohnlee Apr 17, 2021
18d4387
Print out intermediate decoding errors (#2084)
algorandskiy Apr 20, 2021
ce5a0a1
reduce verbosity of logged messages (#2083)
tsachiherman Apr 22, 2021
60312fa
catchup: add deep block validation support (#2088)
tsachiherman Apr 22, 2021
2b1f8df
ledger: avoid producing empty local delta (#2086)
algorandskiy Apr 22, 2021
74025a0
Prevent empty accounts stored in DB after opting out from an app (#2091)
algorandskiy Apr 22, 2021
a5994a3
Fix initial balances in ledger tests (#2092)
algorandskiy Apr 23, 2021
cee0bec
Elimitate empty AccountData entries from DB (#2093)
algorandskiy Apr 23, 2021
0b885fe
ledger: fix consensus version flushes incorrectly (#2096)
tsachiherman Apr 23, 2021
ba97924
Copy database files to nodes (#2094)
shiqizng Apr 23, 2021
c39f91a
Make sure to exit with non-zero when input go test fails. (#2100)
tsachiherman Apr 24, 2021
5bcbd7e
ledger: improve error testing on database migration 4 (#2103)
tsachiherman Apr 26, 2021
6917c87
Fix accessing int64 atomic variables on arm32 (#2102)
tsachiherman Apr 26, 2021
0a84ba9
ledger: compatibility mode for account index calculation in eval delt…
algorandskiy Apr 26, 2021
b188af3
catchpoint: truncate output file (#2106)
algorandskiy Apr 26, 2021
ce99429
fix typos in comments. (#2107)
tsachiherman Apr 26, 2021
cdc1ab1
Fix insufficient account with preloaded db files (#2098)
shiqizng Apr 26, 2021
fcfaf87
Merge branch 'rel/beta' into onetechnical/relstable2.5.6
onetechnical Apr 27, 2021
219b78d
Merge pull request #2110 from onetechnical/onetechnical/relstable2.5.6
algojohnlee Apr 28, 2021
b74014d
Add performance metrics for account updates (#2115)
shiqizng Apr 29, 2021
559d087
add support for a single node private network (#2122)
tsachiherman May 3, 2021
1341f39
Update GOPROXY, replace https://gocenter.io with https://pkg.go.dev (…
egieseke May 4, 2021
76aaa2d
port few small changes off the main PR into this one, for faster revi…
tsachiherman May 5, 2021
50b2979
bugfix: netgoal errors when bootstrap files was missing (#2134)
tsachiherman May 5, 2021
3bd5d05
Provide proper handling for panicing unit tests. (#2135)
tsachiherman May 6, 2021
490180b
improve the support for overlapping participation keys (#2125)
tsachiherman May 6, 2021
ade1fea
Add tests for ledger/compactcert.go (#2128)
brianolson May 7, 2021
c3549a8
Merge branch 'rel/stable' into onetechnical/remerge-2-5-6
onetechnical May 7, 2021
4975b21
Merge pull request #2141 from onetechnical/onetechnical/remerge-2-5-6
algojohnlee May 7, 2021
c0452b2
rollback config v17 into v16 (#2140)
tsachiherman May 7, 2021
88c9f49
test coverage for ledger/eval.go funcs (#2130)
brianolson May 7, 2021
d9b223f
Add support for Arch Linux (#2073)
tolikzinovyev May 9, 2021
3021d15
Fix incorrect datatype testing in recomputeBlockEvaluator (#2155)
tsachiherman May 14, 2021
009d57f
Dynamic teal (#2126)
jannotti May 14, 2021
258ffd9
add support for more strict key registration transaction verification…
tsachiherman May 17, 2021
8c7311c
Return an empty string instead of null when making a proof for transa…
winder May 17, 2021
9f926d8
ledger: disable minimum balance check when not validating or generati…
tolikzinovyev May 18, 2021
1703bdc
Fix updater script not restarting service or backing up binaries (#2144)
algobarb May 19, 2021
1e14742
fix the systemctl conditional so it restarts with systemd (#2165)
algobarb May 19, 2021
63a895f
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service May 19, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ jobs:
cache:
directories:
- crypto/lib
- $HOME/docker_cache

before_install:
- |-
Expand All @@ -189,6 +190,7 @@ before_install:
export MAKE=mingw32-make # so that Autotools can find it
;;
esac
docker load -i $HOME/docker_cache/images.tar || true

before_cache:
- |-
Expand All @@ -198,6 +200,7 @@ before_cache:
$msys2 pacman --sync --clean --noconfirm
;;
esac
docker save -o $HOME/docker_cache/images.tar $(docker images -a -q)

addons:
apt:
Expand Down
19 changes: 15 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,18 @@ generate: deps
msgp: $(patsubst %,%/msgp_gen.go,$(MSGP_GENERATE))

%/msgp_gen.go: deps ALWAYS
$(GOPATH1)/bin/msgp -file ./$(@D) -o $@ -warnmask github.com/algorand/go-algorand
@set +e; \
printf "msgp: $(@D)..."; \
$(GOPATH1)/bin/msgp -file ./$(@D) -o $@ -warnmask github.com/algorand/go-algorand > ./[email protected] 2>&1; \
if [ "$$?" != "0" ]; then \
printf "failed:\n$(GOPATH1)/bin/msgp -file ./$(@D) -o $@ -warnmask github.com/algorand/go-algorand\n"; \
cat ./[email protected]; \
rm ./[email protected]; \
exit 1; \
else \
echo " done."; \
fi; \
rm -f ./[email protected]
ALWAYS:

# build our fork of libsodium, placing artifacts into crypto/lib/ and crypto/include/
Expand Down Expand Up @@ -210,17 +221,17 @@ $(GOPATH1)/bin/%:
cp -f $< $@

test: build
go test $(GOTAGS) -race $(UNIT_TEST_SOURCES) -timeout 3600s
go test $(GOTAGS) -race $(UNIT_TEST_SOURCES) -timeout 3600s | logfilter

fulltest: build-race
for PACKAGE_DIRECTORY in $(UNIT_TEST_SOURCES) ; do \
go test $(GOTAGS) -timeout 2500s -race $$PACKAGE_DIRECTORY; \
go test $(GOTAGS) -timeout 2500s -race $$PACKAGE_DIRECTORY | logfilter; \
done

shorttest: build-race $(addprefix short_test_target_, $(UNIT_TEST_SOURCES))

$(addprefix short_test_target_, $(UNIT_TEST_SOURCES)): build
@go test $(GOTAGS) -short -timeout 2500s -race $(subst short_test_target_,,$@)
@go test $(GOTAGS) -short -timeout 2500s -race $(subst short_test_target_,,$@) | logfilter

integration: build-race
./test/scripts/run_integration_tests.sh
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ the [official Go documentation website](https://golang.org/doc/).
### Linux / OSX ###

We currently strive to support Debian based distributions with Ubuntu 18.04
being our official release target. Our core engineering team uses Linux and OSX,
so both environments are well supported for development.
being our official release target.
Building on Arch Linux works as well.
Our core engineering team uses Linux and OSX, so both environments are well
supported for development.

OSX only: [Homebrew (brew)](https://brew.sh) must be installed before
continuing. [Here](https://docs.brew.sh/Installation) are the installation
Expand Down
11 changes: 4 additions & 7 deletions agreement/abstractions.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,13 +225,10 @@ type LedgerWriter interface {

// A KeyManager stores and deletes participation keys.
type KeyManager interface {
// Keys returns an immutable array of participation intervals to
// participating accounts.
Keys() []account.Participation

// HasLiveKeys returns true if we have any Participation
// keys valid for the specified round range (inclusive)
HasLiveKeys(from, to basics.Round) bool
// VotingKeys returns an immutable array of voting keys that are
// valid for the provided votingRound, and were available at
// keysRound.
VotingKeys(votingRound, keysRound basics.Round) []account.Participation
}

// MessageHandle is an ID referring to a specific message.
Expand Down
19 changes: 5 additions & 14 deletions agreement/agreementtest/keyManager.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,15 @@ import (
// SimpleKeyManager provides a simple implementation of a KeyManager.
type SimpleKeyManager []account.Participation

// Keys implements KeyManager.Keys.
func (m SimpleKeyManager) Keys() []account.Participation {
// VotingKeys implements KeyManager.VotingKeys.
func (m SimpleKeyManager) VotingKeys(votingRound, _ basics.Round) []account.Participation {
var km []account.Participation
for _, acc := range m {
km = append(km, acc)
}
return km
}

// HasLiveKeys returns true if we have any Participation
// keys valid for the specified round range (inclusive)
func (m SimpleKeyManager) HasLiveKeys(from, to basics.Round) bool {
for _, acc := range m {
if acc.OverlapsInterval(from, to) {
return true
if acc.OverlapsInterval(votingRound, votingRound) {
km = append(km, acc)
}
}
return false
return km
}

// DeleteOldKeys implements KeyManager.DeleteOldKeys.
Expand Down
3 changes: 2 additions & 1 deletion agreement/agreementtest/simulate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,8 @@ func generateNAccounts(t *testing.T, N int, firstRound, lastRound basics.Round,
if err != nil {
panic(err)
}
accounts = append(accounts, part)
accounts = append(accounts, part.Participation)
part.Close()
}
return
}
3 changes: 2 additions & 1 deletion agreement/cryptoVerifier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,8 @@ func BenchmarkCryptoVerifierProposalVertification(b *testing.B) {
}

Period := period(0)
participation := pn.getParticipations("BenchmarkCryptoVerifierProposalVertification", ledger.NextRound())
pn.loadRoundParticipationKeys(ledger.NextRound())
participation := pn.participationKeys

proposals, _ := pn.makeProposals(ledger.NextRound(), Period, participation)

Expand Down
17 changes: 12 additions & 5 deletions agreement/demux.go
Original file line number Diff line number Diff line change
Expand Up @@ -238,12 +238,19 @@ func (d *demux) next(s *Service, deadline time.Duration, fastDeadline time.Durat
deadlineCh := s.Clock.TimeoutAt(deadline)
var fastDeadlineCh <-chan time.Time

proto, err := d.ledger.ConsensusVersion(ParamsRound(currentRound))
if err == nil && config.Consensus[proto].FastPartitionRecovery {
fastDeadlineCh = s.Clock.TimeoutAt(fastDeadline)
fastPartitionRecoveryEnabled := false
if proto, err := d.ledger.ConsensusVersion(ParamsRound(currentRound)); err != nil {
logging.Base().Warnf("demux: could not get consensus parameters for round %d: %v", ParamsRound(currentRound), err)
// this might happen during catchup, since the Ledger.Wait fires as soon as a new block is received by the ledger, which could be
// far before it's being committed. In these cases, it should be safe to default to the current consensus version. On subsequent
// iterations, it will get "corrected" since the ledger would finish flushing the blocks to disk.
fastPartitionRecoveryEnabled = config.Consensus[protocol.ConsensusCurrentVersion].FastPartitionRecovery
} else {
fastPartitionRecoveryEnabled = config.Consensus[proto].FastPartitionRecovery
}
if err != nil {
logging.Base().Errorf("could not get consensus parameters for round %d: %v", ParamsRound(currentRound), err)

if fastPartitionRecoveryEnabled {
fastDeadlineCh = s.Clock.TimeoutAt(fastDeadline)
}

d.UpdateEventsQueue(eventQueueDemux, 0)
Expand Down
19 changes: 2 additions & 17 deletions agreement/fuzzer/fuzzer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func MakeFuzzer(config FuzzerConfig) *Fuzzer {
crashAccessors: make([]db.Accessor, config.NodesCount),
accounts: make([]account.Participation, config.NodesCount),
balances: make(map[basics.Address]basics.AccountData),
accountAccessors: make([]db.Accessor, config.NodesCount*2),
accountAccessors: make([]db.Accessor, config.NodesCount),
ledgers: make([]*testLedger, config.NodesCount),
agreementParams: make([]agreement.Parameters, config.NodesCount),
tickGranularity: time.Millisecond * 300,
Expand Down Expand Up @@ -196,7 +196,7 @@ func (n *Fuzzer) initAccountsAndBalances(rootSeed []byte, onlineNodes []bool) er
if err != nil {
return err
}
n.accountAccessors[i*2+0] = rootAccess
n.accountAccessors[i] = rootAccess

seed = sha256.Sum256(seed[:])
root, err := account.ImportRoot(rootAccess, seed)
Expand All @@ -205,27 +205,12 @@ func (n *Fuzzer) initAccountsAndBalances(rootSeed []byte, onlineNodes []bool) er
}
rootAddress := root.Address()

partAccess, err := db.MakeAccessor(n.networkName+"part"+strconv.Itoa(i+off), false, true)

if err != nil {
return err
}

n.accountAccessors[i*2+1] = partAccess

n.accounts[i] = account.Participation{
Parent: rootAddress,
VRF: generatePseudoRandomVRF(i),
Voting: readOnlyParticipationVotes[i],
FirstValid: firstValid,
LastValid: lastValid,
Store: partAccess,
}

err = n.accounts[i].Persist()

if err != nil {
panic(err)
}

acctData := basics.AccountData{
Expand Down
13 changes: 5 additions & 8 deletions agreement/fuzzer/keyManager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,12 @@ import (

type simpleKeyManager []account.Participation

func (m simpleKeyManager) Keys() []account.Participation {
return m
}

func (m simpleKeyManager) HasLiveKeys(from, to basics.Round) bool {
func (m simpleKeyManager) VotingKeys(votingRound, _ basics.Round) []account.Participation {
var km []account.Participation
for _, acc := range m {
if acc.OverlapsInterval(from, to) {
return true
if acc.OverlapsInterval(votingRound, votingRound) {
km = append(km, acc)
}
}
return false
return km
}
26 changes: 13 additions & 13 deletions agreement/gossip/networkFull_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,12 +202,12 @@ func testNetworkImplMixed(t *testing.T, nodesCount int) {
nets, counters := spinNetwork(t, nodesCount)
defer shutdownNetwork(nets, counters)

nets[0].broadcastTimeout(protocol.AgreementVoteTag, []byte{1}, testNetTimeout)
nets[0].broadcastTimeout(protocol.ProposalPayloadTag, []byte{1}, testNetTimeout)
nets[0].broadcastTimeout(protocol.ProposalPayloadTag, []byte{1}, testNetTimeout)
nets[0].broadcastTimeout(protocol.VoteBundleTag, []byte{1}, testNetTimeout)
nets[0].broadcastTimeout(protocol.VoteBundleTag, []byte{1}, testNetTimeout)
nets[0].broadcastTimeout(protocol.VoteBundleTag, []byte{1}, testNetTimeout)
nets[0].Broadcast(protocol.AgreementVoteTag, []byte{1})
nets[0].Broadcast(protocol.ProposalPayloadTag, []byte{1})
nets[0].Broadcast(protocol.ProposalPayloadTag, []byte{1})
nets[0].Broadcast(protocol.VoteBundleTag, []byte{1})
nets[0].Broadcast(protocol.VoteBundleTag, []byte{1})
nets[0].Broadcast(protocol.VoteBundleTag, []byte{1})
for i, counter := range counters {
if i != 0 {
if !counter.verify(t, 1, 2, 3) {
Expand All @@ -228,14 +228,14 @@ func testNetworkImplMixed2(t *testing.T, nodesCount int) {

const loadSize = 12
for i := byte(0); i < loadSize; i++ {
ok := nets[0].broadcastTimeout(protocol.AgreementVoteTag, []byte{i}, testNetTimeout)
ok := nets[0].Broadcast(protocol.AgreementVoteTag, []byte{i})
assert.NoError(t, ok)
if i%2 == 0 {
ok = nets[0].broadcastTimeout(protocol.ProposalPayloadTag, []byte{i}, testNetTimeout)
ok = nets[0].Broadcast(protocol.ProposalPayloadTag, []byte{i})
assert.NoError(t, ok)
}
if i%4 == 0 {
ok = nets[0].broadcastTimeout(protocol.VoteBundleTag, []byte{i}, testNetTimeout)
ok = nets[0].Broadcast(protocol.VoteBundleTag, []byte{i})
assert.NoError(t, ok)
}
}
Expand Down Expand Up @@ -266,14 +266,14 @@ func testNetworkImplReordered(t *testing.T, nodesCount int) {
wg.Add(loadSize)
for i := byte(0); i < loadSize; i++ {
go func(i byte) {
ok := nets[0].broadcastTimeout(protocol.AgreementVoteTag, []byte{i}, testNetTimeout)
ok := nets[0].Broadcast(protocol.AgreementVoteTag, []byte{i})
assert.NoError(t, ok)
if i%2 == 0 {
ok = nets[0].broadcastTimeout(protocol.ProposalPayloadTag, []byte{i}, testNetTimeout)
ok = nets[0].Broadcast(protocol.ProposalPayloadTag, []byte{i})
assert.NoError(t, ok)
}
if i%4 == 0 {
ok = nets[0].broadcastTimeout(protocol.VoteBundleTag, []byte{i}, testNetTimeout)
ok = nets[0].Broadcast(protocol.VoteBundleTag, []byte{i})
assert.NoError(t, ok)
}
wg.Done()
Expand Down Expand Up @@ -323,7 +323,7 @@ func testNetworkImplRebroadcast(t *testing.T, nodesCount int) {
rebroadcastNodes = 3
}
for i := byte(0); i < byte(rebroadcastNodes); i++ {
ok := nets[i].broadcastTimeout(protocol.AgreementVoteTag, []byte{i, i + 1}, testNetTimeout)
ok := nets[i].Broadcast(protocol.AgreementVoteTag, []byte{i, i + 1})
assert.NoError(t, ok)
}

Expand Down
Loading