Skip to content

Commit 7ad0e9d

Browse files
committed
Add integrity checking to researcher accrual snapshot registry
This adds hashes to the registry of the researcher accrual, and checks the hashes of the accrual snapshot files against the registry to ensure integrity.
1 parent f1e130d commit 7ad0e9d

File tree

7 files changed

+577
-252
lines changed

7 files changed

+577
-252
lines changed

src/Makefile.am

+174-173
Original file line numberDiff line numberDiff line change
@@ -57,174 +57,175 @@ endif
5757
.PHONY: FORCE
5858
# gridcoin core #
5959
GRIDCOIN_CORE_H = \
60-
addrdb.h \
60+
addrdb.h \
6161
addrman.h \
62-
alert.h \
63-
appcache.h \
64-
arith_uint256.h \
62+
alert.h \
63+
appcache.h \
64+
arith_uint256.h \
6565
attributes.h \
66-
backup.h \
66+
backup.h \
6767
banman.h \
68-
base58.h \
69-
bignum.h \
70-
block.h \
71-
boinc.h \
72-
checkpoints.h \
73-
coincontrol.h \
74-
compat.h \
75-
compat/byteswap.h \
76-
compat/endian.h \
77-
contract/polls.h \
78-
contract/rain.h \
79-
crypter.h \
80-
db.h \
68+
base58.h \
69+
bignum.h \
70+
block.h \
71+
boinc.h \
72+
checkpoints.h \
73+
coincontrol.h \
74+
compat.h \
75+
compat/byteswap.h \
76+
compat/endian.h \
77+
contract/polls.h \
78+
contract/rain.h \
79+
crypter.h \
80+
db.h \
81+
filehash.h \
8182
fs.h \
82-
fwd.h \
83-
global_objects.hpp \
84-
global_objects_noui.hpp \
85-
gridcoin.h \
86-
hash.h \
87-
init.h \
88-
kernel.h \
89-
key.h \
90-
keystore.h \
91-
logging.h \
92-
main.h \
93-
miner.h \
94-
mruset.h \
95-
neuralnet/account.h \
96-
neuralnet/accrual/computer.h \
97-
neuralnet/accrual/newbie.h \
98-
neuralnet/accrual/null.h \
99-
neuralnet/accrual/research_age.h \
100-
neuralnet/accrual/snapshot.h \
101-
neuralnet/beacon.h \
102-
neuralnet/claim.h \
103-
neuralnet/contract/contract.h \
104-
neuralnet/contract/handler.h \
105-
neuralnet/contract/message.h \
106-
neuralnet/contract/payload.h \
107-
neuralnet/cpid.h \
108-
neuralnet/magnitude.h \
109-
neuralnet/project.h \
110-
neuralnet/quorum.h \
111-
neuralnet/researcher.h \
112-
neuralnet/superblock.h \
113-
neuralnet/tally.h \
114-
netbase.h \
115-
net.h \
116-
pbkdf2.h \
117-
prevector.h \
118-
protocol.h \
83+
fwd.h \
84+
global_objects.hpp \
85+
global_objects_noui.hpp \
86+
gridcoin.h \
87+
hash.h \
88+
init.h \
89+
kernel.h \
90+
key.h \
91+
keystore.h \
92+
logging.h \
93+
main.h \
94+
miner.h \
95+
mruset.h \
96+
neuralnet/account.h \
97+
neuralnet/accrual/computer.h \
98+
neuralnet/accrual/newbie.h \
99+
neuralnet/accrual/null.h \
100+
neuralnet/accrual/research_age.h \
101+
neuralnet/accrual/snapshot.h \
102+
neuralnet/beacon.h \
103+
neuralnet/claim.h \
104+
neuralnet/contract/contract.h \
105+
neuralnet/contract/handler.h \
106+
neuralnet/contract/message.h \
107+
neuralnet/contract/payload.h \
108+
neuralnet/cpid.h \
109+
neuralnet/magnitude.h \
110+
neuralnet/project.h \
111+
neuralnet/quorum.h \
112+
neuralnet/researcher.h \
113+
neuralnet/superblock.h \
114+
neuralnet/tally.h \
115+
netbase.h \
116+
net.h \
117+
pbkdf2.h \
118+
prevector.h \
119+
protocol.h \
119120
reverselock.h \
120-
rpcclient.h \
121-
rpcprotocol.h \
122-
rpcserver.h \
121+
rpcclient.h \
122+
rpcprotocol.h \
123+
rpcserver.h \
123124
scheduler.h \
124-
scraper_net.h \
125-
scraper/fwd.h \
126-
scraper/http.h \
127-
scraper/scraper.h \
128-
script.h \
129-
scrypt.h \
130-
serialize.h \
131-
span.h \
132-
streams.h \
133-
strlcpy.h \
134-
support/allocators/secure.h \
135-
support/allocators/zeroafterfree.h \
136-
support/cleanse.h \
137-
support/lockedpool.h \
138-
sync.h \
139-
threadsafety.h \
140-
tinyformat.h \
141-
txdb.h \
142-
txdb-leveldb.h \
143-
ui_interface.h \
144-
uint256.h \
145-
upgrade.h \
146-
util/memory.h \
147-
util/reverse_iterator.h \
148-
util/strencodings.h \
149-
util/threadnames.h \
150-
util/time.h \
151-
util.h \
152-
version.h \
153-
walletdb.h \
154-
wallet.h
125+
scraper_net.h \
126+
scraper/fwd.h \
127+
scraper/http.h \
128+
scraper/scraper.h \
129+
script.h \
130+
scrypt.h \
131+
serialize.h \
132+
span.h \
133+
streams.h \
134+
strlcpy.h \
135+
support/allocators/secure.h \
136+
support/allocators/zeroafterfree.h \
137+
support/cleanse.h \
138+
support/lockedpool.h \
139+
sync.h \
140+
threadsafety.h \
141+
tinyformat.h \
142+
txdb.h \
143+
txdb-leveldb.h \
144+
ui_interface.h \
145+
uint256.h \
146+
upgrade.h \
147+
util/memory.h \
148+
util/reverse_iterator.h \
149+
util/strencodings.h \
150+
util/threadnames.h \
151+
util/time.h \
152+
util.h \
153+
version.h \
154+
walletdb.h \
155+
wallet.h
155156

156157
GRIDCOIN_CORE_CPP = addrdb.cpp \
157158
addrman.cpp \
158-
alert.cpp \
159-
appcache.cpp \
160-
arith_uint256.cpp \
161-
backup.cpp \
159+
alert.cpp \
160+
appcache.cpp \
161+
arith_uint256.cpp \
162+
backup.cpp \
162163
banman.cpp \
163-
block.cpp \
164-
boinc.cpp \
165-
checkpoints.cpp \
166-
contract/polls.cpp \
167-
contract/rain.cpp \
168-
crypter.cpp \
169-
db.cpp \
164+
block.cpp \
165+
boinc.cpp \
166+
checkpoints.cpp \
167+
contract/polls.cpp \
168+
contract/rain.cpp \
169+
crypter.cpp \
170+
db.cpp \
170171
fs.cpp \
171-
gridcoin.cpp \
172-
init.cpp \
173-
kernel.cpp \
174-
key.cpp \
175-
keystore.cpp \
176-
logging.cpp \
177-
main.cpp \
178-
miner.cpp \
179-
neuralnet/beacon.cpp \
180-
neuralnet/claim.cpp \
181-
neuralnet/contract/contract.cpp \
182-
neuralnet/contract/message.cpp \
183-
neuralnet/cpid.cpp \
184-
neuralnet/project.cpp \
185-
neuralnet/quorum.cpp \
186-
neuralnet/researcher.cpp \
187-
neuralnet/superblock.cpp \
188-
neuralnet/tally.cpp \
189-
netbase.cpp \
190-
net.cpp \
191-
noui.cpp \
192-
pbkdf2.cpp \
193-
protocol.cpp \
194-
contract/rpccontract.cpp \
195-
rpcblockchain.cpp \
196-
rpcclient.cpp \
197-
rpcdump.cpp \
198-
rpcmisc.cpp \
199-
rpcmining.cpp \
200-
rpcnet.cpp \
201-
rpcprotocol.cpp \
202-
rpcrawtransaction.cpp \
203-
rpcserver.cpp \
204-
rpcwallet.cpp \
205-
rpcdataacq.cpp \
206-
scraper_net.cpp \
207-
scraper/http.cpp \
208-
scraper/scraper.cpp \
209-
script.cpp \
210-
scrypt.cpp \
211-
scrypt-arm.S \
212-
scrypt-x86_64.S \
213-
scrypt-x86.S \
172+
gridcoin.cpp \
173+
init.cpp \
174+
kernel.cpp \
175+
key.cpp \
176+
keystore.cpp \
177+
logging.cpp \
178+
main.cpp \
179+
miner.cpp \
180+
neuralnet/beacon.cpp \
181+
neuralnet/claim.cpp \
182+
neuralnet/contract/contract.cpp \
183+
neuralnet/contract/message.cpp \
184+
neuralnet/cpid.cpp \
185+
neuralnet/project.cpp \
186+
neuralnet/quorum.cpp \
187+
neuralnet/researcher.cpp \
188+
neuralnet/superblock.cpp \
189+
neuralnet/tally.cpp \
190+
netbase.cpp \
191+
net.cpp \
192+
noui.cpp \
193+
pbkdf2.cpp \
194+
protocol.cpp \
195+
contract/rpccontract.cpp \
196+
rpcblockchain.cpp \
197+
rpcclient.cpp \
198+
rpcdump.cpp \
199+
rpcmisc.cpp \
200+
rpcmining.cpp \
201+
rpcnet.cpp \
202+
rpcprotocol.cpp \
203+
rpcrawtransaction.cpp \
204+
rpcserver.cpp \
205+
rpcwallet.cpp \
206+
rpcdataacq.cpp \
207+
scraper_net.cpp \
208+
scraper/http.cpp \
209+
scraper/scraper.cpp \
210+
script.cpp \
211+
scrypt.cpp \
212+
scrypt-arm.S \
213+
scrypt-x86_64.S \
214+
scrypt-x86.S \
214215
scheduler.cpp \
215-
support/cleanse.cpp \
216-
support/lockedpool.cpp \
217-
sync.cpp \
218-
txdb-leveldb.cpp \
219-
uint256.cpp \
220-
upgrade.cpp \
221-
util/strencodings.cpp \
222-
util/threadnames.cpp \
223-
util/time.cpp \
224-
util.cpp \
225-
version.cpp \
226-
wallet.cpp \
227-
walletdb.cpp
216+
support/cleanse.cpp \
217+
support/lockedpool.cpp \
218+
sync.cpp \
219+
txdb-leveldb.cpp \
220+
uint256.cpp \
221+
upgrade.cpp \
222+
util/strencodings.cpp \
223+
util/threadnames.cpp \
224+
util/time.cpp \
225+
util.cpp \
226+
version.cpp \
227+
wallet.cpp \
228+
walletdb.cpp
228229

229230

230231
obj/build.h: FORCE
@@ -252,23 +253,23 @@ nodist_libgridcoin_util_a_SOURCES = $(srcdir)/obj/build.h
252253
crypto_libgridcoin_crypto_base_a_CPPFLAGS = $(AM_CPPFLAGS)
253254
crypto_libgridcoin_crypto_base_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
254255
crypto_libgridcoin_crypto_base_a_SOURCES = \
255-
crypto/aes.cpp \
256-
crypto/aes.h \
257-
crypto/chacha20.h \
258-
crypto/chacha20.cpp \
259-
crypto/common.h \
260-
crypto/hmac_sha256.cpp \
261-
crypto/hmac_sha256.h \
262-
crypto/hmac_sha512.cpp \
263-
crypto/hmac_sha512.h \
264-
crypto/ripemd160.cpp \
265-
crypto/ripemd160.h \
266-
crypto/sha1.cpp \
267-
crypto/sha1.h \
268-
crypto/sha256.cpp \
269-
crypto/sha256.h \
270-
crypto/sha512.cpp \
271-
crypto/sha512.h
256+
crypto/aes.cpp \
257+
crypto/aes.h \
258+
crypto/chacha20.h \
259+
crypto/chacha20.cpp \
260+
crypto/common.h \
261+
crypto/hmac_sha256.cpp \
262+
crypto/hmac_sha256.h \
263+
crypto/hmac_sha512.cpp \
264+
crypto/hmac_sha512.h \
265+
crypto/ripemd160.cpp \
266+
crypto/ripemd160.h \
267+
crypto/sha1.cpp \
268+
crypto/sha1.h \
269+
crypto/sha256.cpp \
270+
crypto/sha256.h \
271+
crypto/sha512.cpp \
272+
crypto/sha512.h
272273

273274
if USE_ASM
274275
crypto_libgridcoin_crypto_base_a_SOURCES += crypto/sha256_sse4.cpp

0 commit comments

Comments
 (0)