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 3.2.1-stable #3279

Merged
merged 146 commits into from
Dec 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
9fe1bf4
Fix dryrun crash on rewards calculation (#2894)
algorandskiy Sep 15, 2021
bc46c94
use matrix for CircleCI config (#2864)
cce Sep 16, 2021
4b67562
Enable debugging itxn programs (#2900)
algorandskiy Sep 16, 2021
275e1f3
Add `indexerLedgerForEval` interface (#2897)
tolikzinovyev Sep 17, 2021
dbab85f
Fix random failures TestWaitAndAddConnectionTimeLongtWindow (#2903)
algonautshant Sep 17, 2021
83837ac
Fix unit test (#2926)
tsachiherman Sep 20, 2021
5c0de9c
ledger: move account totals calculation to StateDelta (#2922)
tsachiherman Sep 21, 2021
e9900a3
Support arm cross compile (#2923)
bricerisingalgorand Sep 21, 2021
01d853f
Rotate Travis Env Variables and Remove codecov Env variable (#2934)
algobarb Sep 21, 2021
e4842fc
TestRequestBlockBytesErrors: Various fixes (#2928)
algonautshant Sep 22, 2021
8b0dda7
Remove time ledger tracker as not used (#2937)
algorandskiy Sep 22, 2021
e69b10d
readme grammar change (#2938)
yaovi-a Sep 22, 2021
e4fbb1d
fix EvalForIndexer (#2941)
tsachiherman Sep 23, 2021
a196929
Cache creators in cow base. (#2939)
tolikzinovyev Sep 23, 2021
ee0a715
testing: fix TestLatestSigsFromThisNode (#2940)
algonautshant Sep 23, 2021
7451e3e
Add ABI encoding support (#2807)
ahangsu Sep 25, 2021
2faace9
e2e tests for log (#2950)
shiqizng Sep 25, 2021
073717e
Add application account into a dryrun req created by goal (#2945)
algorandskiy Sep 25, 2021
7991a84
e2e tests for axfer, acfg, and afrz inner txns (#2947)
shiqizng Sep 27, 2021
96b16ff
Lots of testing convenience improvements, including e2e python (#2936)
jannotti Sep 27, 2021
e40b7ef
Enable cost and fee pooling in tealdbg (#2954)
algorandskiy Sep 28, 2021
412aef5
testing: metrics_delta.py fixes (#2962)
brianolson Sep 28, 2021
1202d32
ledger: refactor the ledger Totals (#2846)
tsachiherman Sep 29, 2021
7f3180a
Merge branch 'rel/stable' into release3.0.1-mergeback-manual
algojack Sep 29, 2021
16de1d8
Remove buildnumber.dat and genesistimestamp.dat files.
algojack Sep 29, 2021
734e727
Merge pull request #2971 from algorand/release3.0.1-mergeback-manual
algojohnlee Sep 29, 2021
4ed1d8e
fix flaky axfer txn e2e test (#2973)
shiqizng Sep 30, 2021
fbd75f7
Extended logic eval error (#2975)
algorandskiy Sep 30, 2021
f17f73e
Start work on Teal 6 (AVM 1.1) (#2974)
jannotti Oct 2, 2021
69aace5
transaction sync (#2718)
tsachiherman Oct 4, 2021
0b99cf8
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service Oct 5, 2021
c579bf6
Inner groups (#3009)
jannotti Oct 7, 2021
6887d0e
Disable the participation key refresh on the TestPartitionHalfOffline…
tsachiherman Oct 7, 2021
c59326f
Added Participation Key Expiration Check (#2924)
AlgoStephenAkiki Oct 7, 2021
ff8139a
ledger: preload resources argument in EvalForIndexer (#3019)
tsachiherman Oct 8, 2021
32e131c
Move accountdb schema migration to trackerdb.go (#2984)
algorandskiy Oct 8, 2021
7357acf
Increase machine size to large and use consistent parallelism for cir…
egieseke Oct 8, 2021
e00cde0
Don't set dontReportFailures for Fail (#3018)
algonautshant Oct 8, 2021
83740b4
Increase machine size to large and use consistent parallelism for cir…
egieseke Oct 8, 2021
239921a
ledger: refactor evaluator into an internal package (#2983)
tsachiherman Oct 8, 2021
3c9e9e9
fix bug in rekey test. (#3026)
tsachiherman Oct 8, 2021
0d5b66e
fix regression (#3029)
tsachiherman Oct 9, 2021
e490f05
testing: make the TestMultiThreaded run at a constant time (#3035)
tsachiherman Oct 11, 2021
8568442
txnsync: fix potential race during TestBasicCatchpointCatchup (#3033)
tsachiherman Oct 11, 2021
4c45443
ledger: move StartEvaluator parameters into a parameters object (#3030)
tsachiherman Oct 11, 2021
6f96443
Fix regression in TestReproducibleCatchpointLabels (#3037)
tsachiherman Oct 11, 2021
a516544
Removing integration tests from travis steps (#3023)
algojack Oct 11, 2021
c4bbdf8
Adjust TenNodesDistributedMultiWallet.json to use smaller key dilutio…
tsachiherman Oct 12, 2021
e86c53f
testing: remove redundant checking from TestParticipationAccountsExpi…
AlgoStephenAkiki Oct 12, 2021
da60399
handle is left open in importRootKeys (#3039)
algonautshant Oct 12, 2021
83bcaaa
Fix global-state-schema key name in REST API spec (#2972)
algorandskiy Oct 13, 2021
a957519
ledger: Implement LookupAgreement (#3046)
algorandskiy Oct 13, 2021
c4bfc26
Use LookupAgreement AlgorandFullNode.VotingKeys() (#3050)
algorandskiy Oct 13, 2021
3572e1f
Reorder round query and transaction sending. (#3049)
tsachiherman Oct 13, 2021
44e85be
testing: remove account balance checks (#3054)
AlgoStephenAkiki Oct 14, 2021
754276b
fixed off-by-one error in the assembler's typeDig() and improved unit…
algoidurovic Oct 14, 2021
507eb53
Allow all trackers committing into DB (#3014)
algorandskiy Oct 14, 2021
5c7e273
Move deploy from TravisCI to CircleCI (#3075)
algojack Oct 14, 2021
1e87c71
Move deploy from TravisCI to CircleCI (#3075)
algojack Oct 14, 2021
019571e
ledger: remove duplicate testing of accounts totals (#3053)
tsachiherman Oct 14, 2021
abd31a2
Merge pull request #2995 from Algo-devops-service/relbeta3.1.0
algojohnlee Oct 14, 2021
ffb49ef
Fixing CircleCI deploy for Betanet and Stablenet (#3077)
algojack Oct 15, 2021
98d25e2
Fixing CircleCI deploy for Betanet and Stablenet (#3077)
algojack Oct 15, 2021
fd82cd9
Merge branch 'rel/beta' into relbeta3.1.0
algojohnlee Oct 15, 2021
a4cfa1f
Merge pull request #3079 from Algo-devops-service/relbeta3.1.0
algojohnlee Oct 15, 2021
b9c6032
Fix missing TX registration (#3080)
tsachiherman Oct 16, 2021
bcd77ee
changing circleci workflow name (#2887)
algojack Oct 18, 2021
78317e8
Make bytes and pushbytes check their immediate better (and similarly)…
jannotti Oct 18, 2021
d286fd2
Fix missing TX registration (#3080)
tsachiherman Oct 16, 2021
9d0cedb
Bumping buildnumber.dat to 1 for 3.1.1
algojack Oct 18, 2021
dbd0ec9
Merge pull request #3090 from algorand/rel/beta-3.1.1
algojohnlee Oct 18, 2021
f0017f3
catchup: avoid requesting blocks that aren't needed by the ledger (#3…
tsachiherman Oct 19, 2021
bd4cd9a
Optimize circleci machine sizes and parallelism (#3095)
algojack Oct 19, 2021
48d4075
network: add initial support for latency tracking (#3028)
tsachiherman Oct 19, 2021
e853e2e
txnsync: implement missing bridge between txnsync and classic transac…
tsachiherman Oct 20, 2021
facfb03
txnsync: implement missing bridge between txnsync and classic transac…
tsachiherman Oct 20, 2021
2eb56bb
Bump build number
onetechnical Oct 20, 2021
1e5603c
Refactoring ABI encoding feature (#3055)
ahangsu Oct 20, 2021
c2054e5
Increase wait time for the transaction to be included. (#3098)
tsachiherman Oct 20, 2021
53cf013
Merge pull request #3103 from algorand/rel/beta-3.1.2
algojohnlee Oct 20, 2021
38b08a0
tealdbg: use associated group index instead of global (#3111)
barnjamin Oct 21, 2021
473fa37
skip fields that cant be displayed anyway (#3119)
barnjamin Oct 21, 2021
57a3306
Add buildpulse (#3051)
cce Oct 21, 2021
f17f8f6
Add err to solicitedAsyncTxHandler.loop log message (#3123)
cce Oct 21, 2021
28e9eca
Make fields in ledger.Creatable public. (#3125)
tolikzinovyev Oct 21, 2021
17429d5
Enable totals calculation in eval for indexer. (#3124)
tolikzinovyev Oct 21, 2021
2c79cfd
update the websocket library. (#3131)
tsachiherman Oct 22, 2021
b93ad64
Improve Bandwidth Estimation in Txnsync (#3096)
Oct 24, 2021
ff71d92
txnsync: fix potential race during TestBasicCatchpointCatchup (#3033)
tsachiherman Oct 11, 2021
83031f6
network: add initial support for latency tracking (#3028)
tsachiherman Oct 19, 2021
f65e269
Add err to solicitedAsyncTxHandler.loop log message (#3123)
cce Oct 21, 2021
5fc9a5e
update the websocket library. (#3131)
tsachiherman Oct 22, 2021
05673ad
Improve Bandwidth Estimation in Txnsync (#3096)
Oct 24, 2021
72a1717
catchup: ignore benign evaluator failures (#3135)
tsachiherman Oct 25, 2021
9c3f403
Trim the whitespaces before/after each line of TEAL code (#3128)
ahangsu Oct 25, 2021
ca3e877
txnsync: delete-able incoming message queue (#3126)
tsachiherman Oct 25, 2021
cc801ba
txnsync: delete-able incoming message queue (#3126)
tsachiherman Oct 25, 2021
b79856f
catchup: ignore benign evaluator failures (#3135)
tsachiherman Oct 25, 2021
615fee2
Bump buildnumber.dat
onetechnical Oct 25, 2021
378816d
Merge pull request #3139 from algorand/rel/beta-3.1.3
algojohnlee Oct 26, 2021
9bb4154
Allow getting versions for any package. (#2935)
winder Oct 26, 2021
e2d6349
Disabling re-building of binaries in circleci during upload stage (#3…
algojack Oct 26, 2021
729e597
ledger: refactor ledger internal tests (#3149)
tsachiherman Oct 27, 2021
024eddb
update sys to resolve go1.17 build error (#3157)
ahangsu Oct 28, 2021
c56ecc2
Make heapwatch.py port configurable (#3143)
bricerisingalgorand Oct 28, 2021
246ac13
Reverse the network protocols ordering to de-prioritize the txnsync u…
tsachiherman Oct 28, 2021
465c191
Removing all but windows builds from Travis (#3154)
algojack Oct 28, 2021
175c1f4
Add c5d.4xlarge and c5d.18xlarge us-east-2 to hosttemplates.json (#3160)
algobarb Oct 29, 2021
9ca31f8
Move Local structure definition to localTemplate (#3161)
tsachiherman Oct 29, 2021
b8ac4ba
ledger: refactor maxPaysetHint -> avarageEncodedTxnSizeHint (#3162)
tsachiherman Oct 29, 2021
5eb09af
ledger: do final validation in `endOfBlock()` (#3132)
tolikzinovyev Oct 29, 2021
21c752e
txnsync: Use dynamic maxEncodedTransactionGroups (#3168)
Oct 29, 2021
385afd5
Add unit test to avoid new `string` fields (#3101)
jasonpaulos Oct 30, 2021
168cfe5
make proposal assembly time configurable (#3165)
tsachiherman Nov 1, 2021
009b798
Fix panic on closing nil db (#3175)
algonautshant Nov 3, 2021
8ff58cb
Participation keys interface: Removed Register handler (#3130)
AlgoStephenAkiki Nov 3, 2021
3a6238d
Fix typo in batchverifier.go (#3176)
StylishTriangles Nov 3, 2021
e10fe1c
txnsync: rollback (#3177)
tsachiherman Nov 3, 2021
9b39c66
roundCowBase: use lookup() instead of going to ledger directly. (#3173)
tolikzinovyev Nov 3, 2021
f72764b
ledger: create catchpoint tracker (#3085)
tsachiherman Nov 4, 2021
63e16ed
Report assembly error strings for compile API endpoint (#3190)
algochoi Nov 6, 2021
d3bbe62
Add ABI support to goal (#3088)
ahangsu Nov 9, 2021
3937401
Clarify get_ex opcode docs (#3208)
barnjamin Nov 13, 2021
387f6a6
Participation Key Interface (#3164)
winder Nov 15, 2021
8441d91
use large VMs for integration tests (#3201)
cce Nov 15, 2021
eea0a75
ledger refactoring: fix catchpoint tracker (#3214)
tsachiherman Nov 16, 2021
e44bdd6
update go mod/sum to include updated algorand/websocket (#3221)
tsachiherman Nov 17, 2021
38329e1
agreement: handle pseudonode enqueueing failures (#2741)
tsachiherman Nov 17, 2021
83ca8ec
goal abi method outfile checking (#3204)
barnjamin Nov 18, 2021
c0d7822
Merge branch 'rel/beta'
onetechnical Nov 18, 2021
4634e98
Merge pull request #3230 from algorand/update-master-relbeta3.1.3
algojohnlee Nov 18, 2021
32d3f3d
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service Nov 18, 2021
9905421
Adding-clean-target-to-ci-build-target (#2948)
algojack Nov 19, 2021
0b0f97b
Fix OnCompletion flag for `goal app method` (#3228)
jasonpaulos Nov 19, 2021
116c06e
Support transaction arguments for `goal app method` (#3233)
jasonpaulos Nov 22, 2021
9807eab
CI: use libboost-math-dev instead of libboost-all-dev (#3223)
cce Nov 22, 2021
6cb3a52
testing: fixes to rest-participation-key e2e test (#3238)
algonautshant Nov 23, 2021
52b528b
testing: interactive mode for e2e testing (#3227)
algonautshant Nov 23, 2021
8aa0728
Merge pull request #3231 from Algo-devops-service/relbeta3.2.0
algojohnlee Nov 23, 2021
597fc63
Make dev-mode tests less flaky. (#3252)
winder Nov 29, 2021
5339cf0
adding libtool to ubuntu deps (#3251)
barnjamin Nov 29, 2021
715f511
Fix error shadowing in Eval (#3258)
algorandskiy Nov 30, 2021
54db1c7
Disable flaky test. (#3256)
winder Nov 30, 2021
4e34eba
Merge branch 'master' into relbeta3.2.1
Algo-devops-service Nov 30, 2021
305d7ab
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service Nov 30, 2021
2baf39b
Merge pull request #3260 from Algo-devops-service/relbeta3.2.1
algojohnlee Dec 2, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
936 changes: 368 additions & 568 deletions .circleci/config.yml

Large diffs are not rendered by default.

222 changes: 37 additions & 185 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
name: "Travis Windows build"
os: linux
dist: bionic
language: minimal
Expand All @@ -6,165 +7,32 @@ language: minimal
if: tag IS blank

stages:
- name: build_commit
if: NOT (branch =~ /^hotfix\//) AND NOT (branch =~ /^rel\//) AND type != pull_request
- name: build_pr
- name: build_windows_pr
if: type = pull_request
- name: build_release
- name: build_windows_release
if: (branch =~ /^hotfix\// OR branch =~ /^rel\//) AND type != pull_request
- name: deploy
if: branch =~ /^rel\// AND type != pull_request
- name: post_deploy
if: branch =~ /^rel\// AND type != pull_request

jobs:
allow_failures:
- name: External ARM64 Deploy
- name: External ARM64 Integration Test
- name: External ARM Build
- name: External ARM Deploy
- name: Test Release Builds
include:
- stage: build_commit
os: linux
- stage: build_windows_pr
os: windows
name: Windows x64 PR Build
cache:
directories:
- $HOME/AppData/Local/Temp/chocolatey
- /C/tools/msys64
script:
- scripts/travis/build_test.sh
- $mingw64 scripts/travis/build_test.sh

- stage: build_pr
os: linux
name: Ubuntu AMD64 Build
- stage: build_windows_release
os: windows
name: Windows x64 Release Build
cache:
directories:
- $HOME/AppData/Local/Temp/chocolatey
- /C/tools/msys64
script:
- scripts/travis/build_test.sh
- # same stage, parallel job
os: linux
name: Ubuntu AMD64 Integration Test
script:
- ./scripts/travis/integration_test.sh
- # same stage, parallel job
name: External ARM64 Build
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/build_test.sh
- # same stage, parallel job
name: External ARM64 Integration Test
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/integration_test.sh
- # same stage, parallel job
os: osx
osx_image: xcode11
name: MacOS AMD64 Build
script:
- scripts/travis/build_test.sh
- # same stage, parallel job
os: osx
osx_image: xcode11
name: MacOS AMD64 Integration Test
script:
- ./scripts/travis/integration_test.sh
- # same stage, parallel job
os: windows
name: Windows x64 Build
cache:
directories:
- $HOME/AppData/Local/Temp/chocolatey
- /C/tools/msys64
script:
- $mingw64 scripts/travis/build_test.sh

- stage: build_release
os: linux
name: Ubuntu AMD64 Build
script:
- ./scripts/travis/build_test.sh
- # same stage, parallel job
os: linux
name: Ubuntu AMD64 Integration Test
script:
- ./scripts/travis/integration_test.sh
- # same stage, parallel job
name: External ARM64 Build
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/build_test.sh
- # same stage, parallel job
name: External ARM64 Integration Test
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/integration_test.sh
- # same stage, parallel job
os: osx
osx_image: xcode11
name: MacOS AMD64 Build
script:
- scripts/travis/build_test.sh
- # same stage, parallel job
os: osx
osx_image: xcode11
name: MacOS AMD64 Integration Test
script:
- ./scripts/travis/integration_test.sh
- # same stage, parallel job
os: windows
name: Windows x64 Build
cache:
directories:
- $HOME/AppData/Local/Temp/chocolatey
- /C/tools/msys64
script:
- $mingw64 scripts/travis/build_test.sh

- stage: deploy
name: Ubuntu Deploy
os: linux
script:
- scripts/travis/deploy_packages.sh
- scripts/travis/test_release.sh
- # same stage, parallel job
name: MacOS Deploy
os: osx
osx_image: xcode11
script: scripts/travis/deploy_packages.sh
- # same stage, parallel job
name: External ARM64 Deploy
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/deploy_packages.sh
- $mingw64 scripts/travis/build_test.sh

# Don't rebuild libsodium every time
cache:
Expand All @@ -174,38 +42,26 @@ cache:

before_install:
- |-
case $TRAVIS_OS_NAME in
linux)
# Disable sometimes-broken sources.list in Travis base images
sudo rm -vf /etc/apt/sources.list.d/*
;;
windows)
[[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
choco uninstall -y mingw
choco upgrade --no-progress -y msys2
export msys2='cmd //C RefreshEnv.cmd '
export msys2+='& set MSYS=winsymlinks:nativestrict '
export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
export msys2+=" -msys2 -c "\"\$@"\" --"
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain unzip
## Install more MSYS2 packages from https://packages.msys2.org/base here
taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967
export PATH=/C/tools/msys64/mingw64/bin:$PATH
export MAKE=mingw32-make # so that Autotools can find it
;;
esac
docker load -i $HOME/docker_cache/images.tar || true
[[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
choco uninstall -y mingw
choco upgrade --no-progress -y msys2
export msys2='cmd //C RefreshEnv.cmd '
export msys2+='& set MSYS=winsymlinks:nativestrict '
export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
export msys2+=" -msys2 -c "\"\$@"\" --"
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain unzip
## Install more MSYS2 packages from https://packages.msys2.org/base here
taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967
export PATH=/C/tools/msys64/mingw64/bin:$PATH
export MAKE=mingw32-make # so that Autotools can find it
docker load -i $HOME/docker_cache/images.tar || true

before_cache:
- |-
case $TRAVIS_OS_NAME in
windows)
# https://unix.stackexchange.com/a/137322/107554
$msys2 pacman --sync --clean --noconfirm
;;
esac
docker save -o $HOME/docker_cache/images.tar $(docker images -a -q)
# https://unix.stackexchange.com/a/137322/107554
$msys2 pacman --sync --clean --noconfirm
docker save -o $HOME/docker_cache/images.tar $(docker images -a -q)

addons:
apt:
Expand All @@ -225,8 +81,4 @@ notifications:
slack:
if: branch = "rel/nightly"
rooms:
- secure: jx2gllL8A8QXkV/wVpfKBRfK7cMQkuHOxxFmN2eYEGR8AR6bAGfo5HVmb6VKBRpwVzOgXwhvjbxNdYlmRkKXeJ5o0DDDUG6YSKIrNkA38JulNKzdG3K3d6DoGJV3Iturp6O9W/IdweRSz2rjJsHP1RpYG3w39giSNTMR/Q4ent68CNoYHC3XEsUHmwGVA8bQpfu2AKfr98twgTzmTcvmx93B/ZHlR8GoLh+Vq2eAwiYuyYnoNYww3ekttqeqAr21X5xTjQyAwntnk1gfRKbdiEXcxlnNKCQn3yaD7qNorJZm9U/fhGiA1eLHOxtLLJD8HSEzLvNj9gShgw/YPaYjZJLZJe0kDpR4oFwVd+lVzBManVGOwfHJIsug8dnVxY1O/PLHPV4iM4tyGwcZfxSLOXsutN3PCJhYjKUrKaJ75+L5d1tXe3DoXtGH5e/GV2kGxWr25woAZrKCeBOPFZdhAc30XLOzTk3FN3hzRKVbL9O4zxFgJllOvQTWDQ9bmXxa3bk6cDwxaF8IJk+hP1k3VaOdaxmd28pnyR/X7xRF0l1W8S6SZfDFXAFBvVyH/Q1nfvXAez//cK0He959reubjUGM8HaSWw73n9Bj5Ri4ub92xfJqSAZItI5dS1hjfdh7moS50dYbBwSozgOgWdFXHdzGNnCv+/8v0LJcnSPRdT8=

env:
global:
secure: YMLx+QaBPgg97tVn2efZJSqwPRxybX9oR6Xe9oXUD4fEiVbOIv2BAsLP+MzSJGaFC+VXKha83kyDbAZnatDXTJYsBPOUgmIZDObQnktueR1v3TCKn3aw14G+/w6S4eQL+c7uW3idPE+KP3VWixjrBpWTHEfnZdnH9+qWeIWzy8A8UEAYPY/HXyDmwt5ceCJoITtdsuiuZNO2o7NGN8q+NP5A3ii8f5UyDa9/krxuA+x1e193wSGRdGcqxexM7zIq0uMhBF+2nOk4RAsDsqU33NpQw+dB1VJMta1XF+P6A7m16UKUjllTyOfUPGD068jKobVyWzbvZ79G2FZXGZ7HGE0711JZco3YenwtxXP8oGLgaIds6McoJnn3rbxe1i+PjRX09IXNQM/dNp53uxrtyi1y8ZEjzHjbb6z3rSOZrzaBhdVxBFR9Oc1Ek7i8MS1tlRlH58+U+Z1WPTvbcIQtFA5HmmTcDdBRkZtPC8bpVLHOZTGUcple9k39VtOGuSCvAAfHKENhieCaw/bBXX4bxAHAfiI0NEmdDrULDJLApWjtRCrUIqIqkdsJmtiZhE+iX1FKR9CP5lBXCAwDlPB3XOe0bSmiiGQ1/sf/1CovqOBg/vLwCpjQE0IZPofCiDZZdZbv4n4aCOjiAqhS8MjJ/LfLyUuAtPmQG5g47FzS1K4=
- secure: FvM+GHkfVQyJqounsRO8kcQT2fYljdBp/fODIlgNE1pcd08WKqHa14cpjQN2T/zC7/eeJAwDuk4ADUqgLdb85vSd6KgcYwBaPMLj8b1La/JY17ULpVuD1uke3uDb+OhC084Uo7cYUAcmpPOtX7ujRVXbeRFoj5R6xqyCYEBGeRNaQIJh36Jd1jkKjQGZgcQIMy0JZXTnVwxP1o3ed6mYtVMt0qlBCzHKXTr7CUTFp+TwFoZ99jxvjNEA6cpn1UE82uq08CiQ4ANY51SCMqq6L9y76SRREznjtR3CGGhZYlmewVnlsco6IB0Xe5k4j8GlIlZfV+bJiBaE4GqNKOpt0DcB/hxZtDbe7LcSfdtwU/NG8L1rw4Ktj+ALcEJDuprRhYaafEaL6iOVsOy6YwW2Tbj6xcJzeorTs/p0URkSJ/M1Us7zdOTzLkVeUKAcHIIl4SClHq3svzSwoSyjlwuq18Wp2VWNfQFY3qFd7eZo/meM8UuhRrTai18eX5ZJ9leAdwvwfma1uxS2ZlG8aDupx2Ww19AOZZ8txQtDTn+rzP8U1UnlaOMJStOmdEKfExGy348f1yQcJtOv4armZuEuC6eoIkeznNS8wO/ZkRSWuxDcc5Q1DsQADXfGSMEL36Aa6aDU5Hy7els00qYDImPVL+7rd2pAfSUzFCfA+7klefg=
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ GOLDFLAGS := $(GOLDFLAGS_BASE) \
UNIT_TEST_SOURCES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && go list ./... | grep -v /go-algorand/test/ ))
ALGOD_API_PACKAGES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && cd daemon/algod/api; go list ./... ))

MSGP_GENERATE := ./protocol ./protocol/test ./crypto ./crypto/compactcert ./data/basics ./data/transactions ./data/committee ./data/bookkeeping ./data/hashable ./agreement ./rpcs ./node ./ledger ./ledger/ledgercore ./compactcert
MSGP_GENERATE := ./protocol ./protocol/test ./crypto ./crypto/compactcert ./data/basics ./data/transactions ./data/committee ./data/bookkeeping ./data/hashable ./agreement ./rpcs ./node ./ledger ./ledger/ledgercore ./compactcert ./data/account

default: build

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ daemons, as well as other tools and commands:
about spending keys, protocols keys, one-time-use signing keys, and how they
relate to each other.
- `config` holds configuration parameters. These include parameters used
locally by the node as well as parameters which must be agreed upon by the
locally by the node as well as parameters that must be agreed upon by the
protocol.
- `data` defines various types used throughout the codebase.
- `basics` hold basic types such as MicroAlgos, account data, and
Expand Down
18 changes: 9 additions & 9 deletions agreement/abstractions.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ package agreement
import (
"context"
"errors"
"time"

"github.com/algorand/go-algorand/config"
"github.com/algorand/go-algorand/crypto"
Expand Down Expand Up @@ -74,10 +73,7 @@ var ErrAssembleBlockRoundStale = errors.New("requested round for AssembleBlock i
// Round.
type BlockFactory interface {
// AssembleBlock produces a new ValidatedBlock which is suitable for proposal
// at a given Round. The time argument specifies a target deadline by
// which the block should be produced. Specifically, the deadline can
// cause the factory to add fewer transactions to the block in question
// than might otherwise be possible.
// at a given Round.
//
// AssembleBlock should produce a ValidatedBlock for which the corresponding
// BlockValidator validates (i.e. for which BlockValidator.Validate
Expand All @@ -88,7 +84,7 @@ type BlockFactory interface {
// produce a ValidatedBlock for the given round. If an insufficient number of
// nodes on the network can assemble entries, the agreement protocol may
// lose liveness.
AssembleBlock(basics.Round, time.Time) (ValidatedBlock, error)
AssembleBlock(basics.Round) (ValidatedBlock, error)
}

// A Ledger represents the sequence of Entries agreed upon by the protocol.
Expand Down Expand Up @@ -128,14 +124,14 @@ type LedgerReader interface {
// protocol may lose liveness.
Seed(basics.Round) (committee.Seed, error)

// Lookup returns the AccountData associated with some Address
// at the conclusion of a given round.
// LookupAgreement returns the AccountData associated with some Address
// needed by agreement at the conclusion of a given round.
//
// This method returns an error if the given Round has not yet been
// confirmed. It may also return an error if the given Round is
// unavailable by the storage device. In that case, the agreement
// protocol may lose liveness.
Lookup(basics.Round, basics.Address) (basics.AccountData, error)
LookupAgreement(basics.Round, basics.Address) (basics.OnlineAccountData, error)

// Circulation returns the total amount of money in circulation at the
// conclusion of a given round.
Expand Down Expand Up @@ -229,6 +225,10 @@ type KeyManager interface {
// valid for the provided votingRound, and were available at
// keysRound.
VotingKeys(votingRound, keysRound basics.Round) []account.Participation

// Record indicates that the given participation action has been taken.
// The operation needs to be asynchronous to avoid impacting agreement.
Record(account basics.Address, round basics.Round, participationType account.ParticipationAction)
}

// MessageHandle is an ID referring to a specific message.
Expand Down
9 changes: 5 additions & 4 deletions agreement/agreementtest/keyManager.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"github.com/algorand/go-algorand/data/basics"
)

// SimpleKeyManager provides a simple implementation of a KeyManager.
// SimpleKeyManager provides a simple implementation of a KeyManager for unit tests.
type SimpleKeyManager []account.Participation

// VotingKeys implements KeyManager.VotingKeys.
Expand All @@ -37,7 +37,8 @@ func (m SimpleKeyManager) VotingKeys(votingRound, _ basics.Round) []account.Part

// DeleteOldKeys implements KeyManager.DeleteOldKeys.
func (m SimpleKeyManager) DeleteOldKeys(r basics.Round) {
// for _, acc := range m {
// acc.DeleteOldKeys(r)
// }
}

// Record implements KeyManager.Record.
func (m SimpleKeyManager) Record(account basics.Address, round basics.Round, action account.ParticipationAction) {
}
8 changes: 4 additions & 4 deletions agreement/agreementtest/simulate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ type testBlockFactory struct {
Owner int
}

func (f testBlockFactory) AssembleBlock(r basics.Round, deadline time.Time) (agreement.ValidatedBlock, error) {
func (f testBlockFactory) AssembleBlock(r basics.Round) (agreement.ValidatedBlock, error) {
return testValidatedBlock{Inside: bookkeeping.Block{BlockHeader: bookkeeping.BlockHeader{Round: r}}}, nil
}

Expand Down Expand Up @@ -203,15 +203,15 @@ func (l *testLedger) LookupDigest(r basics.Round) (crypto.Digest, error) {
return l.entries[r].Digest(), nil
}

func (l *testLedger) Lookup(r basics.Round, a basics.Address) (basics.AccountData, error) {
func (l *testLedger) LookupAgreement(r basics.Round, a basics.Address) (basics.OnlineAccountData, error) {
l.mu.Lock()
defer l.mu.Unlock()

if r >= l.nextRound {
err := fmt.Errorf("Lookup called on future round: %v > %v! (this is probably a bug)", r, l.nextRound)
panic(err)
}
return l.state[a], nil
return l.state[a].OnlineAccountData(), nil
}

func (l *testLedger) Circulation(r basics.Round) (basics.MicroAlgos, error) {
Expand All @@ -226,7 +226,7 @@ func (l *testLedger) Circulation(r basics.Round) (basics.MicroAlgos, error) {
var sum basics.MicroAlgos
var overflowed bool
for _, rec := range l.state {
sum, overflowed = basics.OAddA(sum, rec.VotingStake())
sum, overflowed = basics.OAddA(sum, rec.OnlineAccountData().VotingStake())
if overflowed {
panic("circulation computation overflowed")
}
Expand Down