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

V3.18.0 to develop #1791

Merged
merged 261 commits into from
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
5c10eb6
Merge pull request #1646 from skalenetwork/develop-to-3.18
olehnikolaiev Sep 13, 2023
195974f
1619 add content-type to header
olehnikolaiev Sep 13, 2023
b5009cb
Merge pull request #1647 from skalenetwork/bug/1619-content-type-header
olehnikolaiev Sep 14, 2023
2b22a45
Enable tx broadcasting
DmytroNazarenko Sep 15, 2023
5e19bd3
Enable transactions methods for syncNode
DmytroNazarenko Sep 15, 2023
2fbb33c
Exit sync node if stateRoot
DmytroNazarenko Sep 15, 2023
a3a46de
1550 reenable cat cycle test
olehnikolaiev Sep 26, 2023
26b8c02
Merge pull request #1671 from skalenetwork/bug/1550-reenable-cat-cycl…
olehnikolaiev Sep 26, 2023
8feadd2
1198 handle params in blockNumber
olehnikolaiev Sep 28, 2023
f10195c
Merge pull request #1677 from skalenetwork/bug/bug-1198-dont-ignore-p…
olehnikolaiev Sep 29, 2023
334e064
1482 update consensus for db usage call fix
olehnikolaiev Oct 3, 2023
4434e51
1482 update consensus
olehnikolaiev Oct 9, 2023
45a4e56
Merge pull request #1685 from skalenetwork/bug/1482-skale-db-usage-call
olehnikolaiev Oct 9, 2023
fed1457
1689 fix microprofile option
olehnikolaiev Oct 10, 2023
c420ff1
Merge branch 'v3.18.0' into bug/1689-microprofile-build
olehnikolaiev Oct 10, 2023
cff2955
Merge pull request #1690 from skalenetwork/bug/1689-microprofile-build
olehnikolaiev Oct 10, 2023
b66cb8f
Merge branch 'develop' into bug/SKALED-1623-sigterm-at-exit
dimalit Oct 16, 2023
a9a5d09
Merge remote-tracking branch 'origin/develop' into bug/SKALED-1623-si…
dimalit Oct 17, 2023
9692d78
SKALED-1623 Logs fix
dimalit Oct 17, 2023
10fc6ea
Merge remote-tracking branch 'origin/v3.18.0' into bug/SKALED-1623-si…
dimalit Oct 17, 2023
4a0e390
1640 drop broadcast txns if skaled has outdated state
DmytroNazarenko Oct 18, 2023
b210405
1640 drop broadcast transactions if skaled has outdated state
olehnikolaiev Oct 18, 2023
aac143f
1640 add logs when dropping txn through broadcast
olehnikolaiev Oct 18, 2023
531ffac
Merge branch 'develop' into merge-develop-to-3.18
olehnikolaiev Oct 18, 2023
997aeaa
Merge pull request #1699 from skalenetwork/merge-develop-to-3.18
DmytroNazarenko Oct 18, 2023
a00c194
Merge branch 'v3.18.0' into bug/1640-slow-catchup
olehnikolaiev Oct 19, 2023
cd46989
new op codes
kladkogex Oct 19, 2023
83379f9
1700 push zero
kladkogex Oct 19, 2023
bbd707d
1700 PUSHD
kladkogex Oct 19, 2023
33502b1
1700 add pushd
kladkogex Oct 19, 2023
aad381b
1700 clang format
kladkogex Oct 19, 2023
53f4ecf
1700 clang format
kladkogex Oct 19, 2023
71f75fa
1700 clang format
kladkogex Oct 19, 2023
07d98ad
Merge branch 'v3.18.0' into bug/SKALED-1623-sigterm-at-exit
dimalit Oct 19, 2023
685fd91
1702 add owner field to nodes in chain params
olehnikolaiev Oct 20, 2023
8f52a83
Merge branch 'v3.18.0' into 1700_push_zero
kladkogex Oct 24, 2023
68978ab
1700 clang format
kladkogex Oct 24, 2023
1a4c7a9
1700 clang format
kladkogex Oct 24, 2023
a733b76
1702 use historicGroupIndex
olehnikolaiev Oct 24, 2023
80c2e44
1700 fix test
kladkogex Oct 24, 2023
4d59da9
#1700 Fast forward consensus
kladkogex Oct 24, 2023
b7cd5a5
1702 update precompiled to work with oracle
olehnikolaiev Oct 24, 2023
4c87471
Merge pull request #1709 from skalenetwork/1700_push_zero
kladkogex Oct 24, 2023
295b850
1702 improve tests
olehnikolaiev Oct 30, 2023
786882f
1702 improve tests
olehnikolaiev Oct 31, 2023
e9b63e9
1702 remove unnecessary changes
olehnikolaiev Oct 31, 2023
e7c9f4f
Merge branch 'v3.18.0' into bug/SKALED-1623-sigterm-at-exit
dimalit Oct 31, 2023
4f22ffb
Merge branch 'v3.18.0' into bug/1702-adopt-precompiled-oracle
olehnikolaiev Oct 31, 2023
a348f52
1702 fix tests
olehnikolaiev Nov 1, 2023
c200761
Update VERSION
DmytroNazarenko Nov 2, 2023
e412fa1
Merge pull request #1716 from skalenetwork/update-version
DmytroNazarenko Nov 2, 2023
3815c22
1702 introduce PrecompiledConfigPatch
olehnikolaiev Nov 3, 2023
f013fac
#1526 Make net_version returns decimal number
DmytroNazarenko Nov 3, 2023
ee9c48a
#1702 renamed owner to nodeAddress
kladkogex Nov 6, 2023
aa4c0d8
#1702 changed [] to at() for safe vector access
kladkogex Nov 6, 2023
95215c7
#1702 added param validation
kladkogex Nov 6, 2023
4d55443
#1702 added a log record if node info is empty in config
kladkogex Nov 6, 2023
7f136c5
#1702 changed assertion to runtime error
kladkogex Nov 6, 2023
ea28913
#1702 changed assertion to runtime error
kladkogex Nov 6, 2023
3652a82
#1702 changed to standard boost library
kladkogex Nov 6, 2023
68798a7
Add unit test
DmytroNazarenko Nov 6, 2023
238665d
#1526 Update test
DmytroNazarenko Nov 6, 2023
41ddce9
1702 fix build
olehnikolaiev Nov 6, 2023
399e9b1
1702 deny access to some config fields from precompileds for security…
olehnikolaiev Nov 6, 2023
cfbd435
1702 fix tests
olehnikolaiev Nov 7, 2023
4861254
Merge pull request #1717 from skalenetwork/enhancement/net-version-nu…
DmytroNazarenko Nov 7, 2023
80618dd
#1702 improve code quality
olehnikolaiev Nov 7, 2023
582b526
#1702 use common approach to access config variables
olehnikolaiev Nov 8, 2023
ea694fc
#1702 improve code quality
olehnikolaiev Nov 8, 2023
ca16ebf
#1702 improve input proccessing for precompileds
olehnikolaiev Nov 13, 2023
4995613
#1702 add more checks
olehnikolaiev Nov 13, 2023
edd62d4
#1702 improve tests
olehnikolaiev Nov 13, 2023
e47968b
SKALED-1623 Remove coloring
dimalit Nov 15, 2023
b9ff4bb
Merge branch 'v3.18.0' into develop-to-3.18
DmytroNazarenko Nov 16, 2023
112dd40
Merge pull request #1727 from skalenetwork/develop-to-3.18
DmytroNazarenko Nov 16, 2023
0c2e1e7
Merge branch 'v3.18.0' into bug/SKALED-1623-sigterm-at-exit
dimalit Nov 16, 2023
4fd0edd
Merge branch 'v3.18.0' into enhancement/sync-node-broadcast-txs
DmytroNazarenko Nov 16, 2023
22eed15
SKALED-1623 Use new branch in skale-ci
dimalit Nov 20, 2023
aaab497
Merge branch 'v3.18.0' into bug/1702-adopt-precompiled-oracle
olehnikolaiev Nov 21, 2023
7571104
Merge pull request #1695 from skalenetwork/bug/SKALED-1623-sigterm-at…
DmytroNazarenko Nov 21, 2023
3b122e5
Merge branch 'v3.18.0' into bug/1702-adopt-precompiled-oracle
olehnikolaiev Nov 21, 2023
4b51081
#1702 pass historic publicKey instead of address
olehnikolaiev Nov 22, 2023
e411718
Merge branch 'bug/1702-adopt-precompiled-oracle' of github.com:skalen…
olehnikolaiev Nov 22, 2023
a504090
#1702 fix tests
olehnikolaiev Nov 22, 2023
1a67380
#1702 add more tests
olehnikolaiev Nov 22, 2023
7700738
#1702 change [] to at()
olehnikolaiev Nov 22, 2023
c8921f6
#1702 change [] to at()
olehnikolaiev Nov 22, 2023
23a5437
#1702 change [] to at()
olehnikolaiev Nov 22, 2023
9339f77
fix build all option
olehnikolaiev Nov 23, 2023
c33639d
Merge pull request #1730 from skalenetwork/bug/fix-build
olehnikolaiev Nov 23, 2023
d301345
Merge branch 'v3.18.0' into bug/1702-adopt-precompiled-oracle
olehnikolaiev Nov 23, 2023
0893864
#1135 Remove txs from queue
DmytroNazarenko Nov 23, 2023
1de9f45
Merge pull request #1713 from skalenetwork/bug/1702-adopt-precompiled…
olehnikolaiev Nov 23, 2023
e5ea3e3
Fix linter
DmytroNazarenko Nov 23, 2023
67276dd
Merge branch 'v3.18.0' into enhancement/sync-node-broadcast-txs
DmytroNazarenko Nov 23, 2023
eab5678
Merge branch 'v3.17.2' into develop-merge
DmytroNazarenko Nov 28, 2023
5428e3f
Merge pull request #1733 from skalenetwork/develop-merge
DmytroNazarenko Nov 28, 2023
e3c44ce
#813 update consensus
kladkogex Dec 1, 2023
55fc623
#813 update consensus
kladkogex Dec 1, 2023
658bf22
Merge remote-tracking branch 'origin/v3.18.0' into 813_eth_sync
kladkogex Dec 1, 2023
661bb2d
Merge branch 'v3.18.0' into 3.17.2-merge
DmytroNazarenko Dec 1, 2023
8569d6f
Merge pull request #1739 from skalenetwork/3.17.2-merge
DmytroNazarenko Dec 1, 2023
0aa534f
Merge branch 'v3.18.0' into 813_eth_sync
DmytroNazarenko Dec 1, 2023
1419be9
Merge pull request #1738 from skalenetwork/813_eth_sync
kladkogex Dec 1, 2023
6960ca5
#1433 delete partially downloaded snapshots
olehnikolaiev Dec 4, 2023
40b0ebb
Merge branch 'v3.18.0' into bug/1433-unlock-shared-space-if-unsuccess…
olehnikolaiev Dec 4, 2023
b3bd08b
#1433 fix logs
olehnikolaiev Dec 5, 2023
bcc75a5
Merge branch 'bug/1433-unlock-shared-space-if-unsuccessful-download' …
olehnikolaiev Dec 5, 2023
1c975d5
Merge pull request #1740 from skalenetwork/bug/1433-unlock-shared-spa…
olehnikolaiev Dec 5, 2023
0c807ea
#1199 eth syncing
olehnikolaiev Dec 5, 2023
164b7ca
#1199 add comments
olehnikolaiev Dec 5, 2023
21d04f2
SKALED-1600 Use correct fork in gas estimation
dimalit Dec 6, 2023
7ffc59a
Merge branch 'v3.18.0' into bug/SKALED-1600-estimateGas
dimalit Dec 6, 2023
640b77b
#1199 add more exceptions
olehnikolaiev Dec 6, 2023
b721cec
#1199 add more exceptions
olehnikolaiev Dec 6, 2023
35f4f65
#1199 format
olehnikolaiev Dec 6, 2023
1af8e4d
#1199 fix build
olehnikolaiev Dec 7, 2023
88bdc87
SKALED-1600 Make 2nd parameter of estimateGas optional
dimalit Dec 7, 2023
d467308
SKALED-1600 Exclude changes related to external gas and add unit test…
dimalit Dec 7, 2023
c1cbb38
Merge branch 'bug/SKALED-1600-estimateGas' of github.com:/skalenetwor…
dimalit Dec 7, 2023
1a962d8
SKALED-1600 Formatting
dimalit Dec 7, 2023
2fcb104
Merge pull request #1742 from skalenetwork/bug/1199-eth-syncing
DmytroNazarenko Dec 8, 2023
885fb52
Merge branch 'v3.18.0' into bug/SKALED-1600-estimateGas
dimalit Dec 8, 2023
0fd8783
IS 779 add logs
olehnikolaiev Dec 12, 2023
f7c560a
SKALED-1600 Use correct fork in gas estimation
dimalit Dec 12, 2023
26118bf
Revert "SKALED-1600 Exclude changes related to external gas and add u…
dimalit Dec 12, 2023
9d5b16c
SKALED-1745 Initial implementation of correct fork in external gsa
dimalit Dec 12, 2023
430e686
SKALED-1431 debug_getFutureTransactions call
dimalit Dec 13, 2023
d387c77
#1135 Add unit test
DmytroNazarenko Dec 13, 2023
828b196
Merge branch 'v3.18.0' into enhancement/sync-node-broadcast-txs
DmytroNazarenko Dec 13, 2023
34212e8
#1135 Update unit test
DmytroNazarenko Dec 14, 2023
e725930
Reload rotation timestamp in isTimeToRotate
badrogger Dec 14, 2023
a3d1389
IS 779 remove mutex
olehnikolaiev Dec 14, 2023
b483366
#1651 Fix logs and vars naming
DmytroNazarenko Dec 14, 2023
25ec622
#1135 Improve exceptions handling
DmytroNazarenko Dec 14, 2023
f70bd4e
#1135 Fix linter
DmytroNazarenko Dec 14, 2023
f8b75f0
#1135 Fix naming
DmytroNazarenko Dec 14, 2023
5d8a88d
Rename getRotationTimestamp -> rotationTimestamp
badrogger Dec 14, 2023
4940f26
IS 779 remove debug logs
olehnikolaiev Dec 15, 2023
b18045a
Merge branch 'v3.18.0' into bug/IS-779-call-historic-block
olehnikolaiev Dec 15, 2023
778a37d
Not finished CorrectForkInPowPatch
dimalit Dec 15, 2023
c1ea3cd
SKALED-1745 Add CorrectForkInPowPatch
dimalit Dec 15, 2023
76b963c
#1135 Remove transaction deletion logic
DmytroNazarenko Dec 18, 2023
36e943a
#1135 Code cleanup
DmytroNazarenko Dec 18, 2023
761de60
#1135 Update consensus
DmytroNazarenko Dec 18, 2023
9a54941
SKALED-1745 Patch
dimalit Dec 19, 2023
fb82296
SKALED-1745 Patch for correct fork in PoW
dimalit Dec 19, 2023
66b14bf
SKALED-1431 remove data from transactions
dimalit Dec 19, 2023
85c1b31
Add logs
badrogger Dec 19, 2023
d68d6a7
SKALED-1745 Unit test
dimalit Dec 20, 2023
dac25b6
SKALED-1745 Fixing tests
dimalit Dec 21, 2023
dd6fdae
Fix Net tests
badrogger Dec 21, 2023
3147f34
Fix net_version test
DmytroNazarenko Dec 21, 2023
9e259e9
SKALED-1745 Fix unit tests
dimalit Dec 23, 2023
94255ca
SKALED-1745 Test rename
dimalit Dec 23, 2023
f6ce808
SKALED-1745 Fix tests in historic build
dimalit Dec 23, 2023
843277c
Merge branch 'v3.18.0' into bug/1640-slow-catchup
olehnikolaiev Dec 26, 2023
a2d5363
fix old tests names
olehnikolaiev Dec 26, 2023
c05c9b6
SKALED-1745 check external gas again after consensus
dimalit Dec 28, 2023
b88c175
SKALED-1745 Comments changes
dimalit Dec 28, 2023
2feff86
SKALED-1745 Cancel second PoW gas check
dimalit Dec 28, 2023
460ebb0
SKALED-1714 testeth on historic build
dimalit Dec 29, 2023
4881ccd
SKALED-1714 Temporarily disable normal build
dimalit Dec 29, 2023
6a8e6c9
SKALED-1714 Fix ChainParams& in Net.h
dimalit Dec 29, 2023
c18ad39
Merge pull request #1651 from skalenetwork/enhancement/sync-node-broa…
DmytroNazarenko Dec 29, 2023
bb6e81a
Merge branch 'v3.18.0' into bug/IS-779-call-historic-block
DmytroNazarenko Dec 29, 2023
f59f486
Merge branch 'v3.18.0' into reload-rotation-timestamp
badrogger Jan 3, 2024
b3f1c07
Handle malformed/missing rotationInfoFile
badrogger Jan 3, 2024
573f3c0
Rename rotation.txt -> rotation.json
badrogger Jan 4, 2024
1600857
Add error logger in InstanceMonitor
badrogger Jan 4, 2024
5bcc898
SKALED-1714 Proper handling of LatestBlock in GappedTransactionIndexC…
dimalit Jan 4, 2024
cd06cd2
Merge branch 'enhancement/SKALED-1714-unit-tests-historic' into bug/S…
dimalit Jan 4, 2024
a600e09
SKALED-1714 Extended tests
dimalit Jan 4, 2024
1785847
Rename m_info_logger -> m_infoLogger
badrogger Jan 5, 2024
c157fe1
SKALED-1431 Rename DEBUG and fix in tests
dimalit Jan 5, 2024
ea6a0e2
Merge remote-tracking branch 'origin/v3.18.0' into enhancement/SKALED…
dimalit Jan 5, 2024
bff8299
SKALED-1714 Assume that PendingBlock = latest+1
dimalit Jan 5, 2024
b66157e
SKALED-1714 Get back normal build
dimalit Jan 5, 2024
0fd0b87
Merge pull request #1756 from skalenetwork/bug/IS-779-call-historic-b…
DmytroNazarenko Jan 5, 2024
53ecf1e
Merge branch 'v3.18.0' into reload-rotation-timestamp
DmytroNazarenko Jan 5, 2024
68b6b1f
Merge branch 'v3.18.0' into bug/SKALED-1714-testeth-in-historic
dimalit Jan 8, 2024
be228b1
Merge branch 'v3.18.0' into enhancement/SKALED-1431-ftq-rpc-call
dimalit Jan 8, 2024
2e61e8b
Merge branch 'v3.18.0' into bug/1640-slow-catchup
olehnikolaiev Jan 8, 2024
e38ef4f
fix boost build
olehnikolaiev Jan 8, 2024
6183faf
fix boost build
olehnikolaiev Jan 8, 2024
e415c9d
Merge pull request #1779 from skalenetwork/fix-boost-build
DmytroNazarenko Jan 8, 2024
22b5063
Merge branch 'v3.18.0' into bug/1640-slow-catchup
olehnikolaiev Jan 8, 2024
9ce9d5c
Merge branch 'v3.18.0' into reload-rotation-timestamp
badrogger Jan 8, 2024
08b6296
#1640 increase timeout to reject old transaction through broadcast
olehnikolaiev Jan 9, 2024
bfa5a20
Merge pull request #1757 from skalenetwork/reload-rotation-timestamp
DmytroNazarenko Jan 9, 2024
de021a0
Merge branch 'v3.18.0' into bug/1640-slow-catchup
olehnikolaiev Jan 9, 2024
9ea6dc7
Merge branch 'v3.18.0' into bug/SKALED-1714-testeth-in-historic
dimalit Jan 9, 2024
9124e3a
Merge branch 'v3.18.0' into enhancement/SKALED-1431-ftq-rpc-call
dimalit Jan 9, 2024
efc99e2
Merge branch 'v3.18.0' into bug/SKALED-1745-invalid-fork-in-pow-gas
dimalit Jan 9, 2024
8ed937b
SKALED-1745 Add missing re-check of external gas
dimalit Jan 9, 2024
8c0473c
SKALED-1745 Updated libconsensus
dimalit Jan 9, 2024
8e735e5
SLALED-1745 Update eth_estimateGas only after patch timestamp
dimalit Jan 9, 2024
a9067bd
SKALED-1431 Test
dimalit Jan 9, 2024
a93c503
Merge branch 'v3.18.0' into bug/SKALED-1745-invalid-fork-in-pow-gas
dimalit Jan 9, 2024
9f1de09
SKALED-1745 Adjust tests
dimalit Jan 10, 2024
7377dc7
Merge pull request #1768 from skalenetwork/bug/SKALED-1745-invalid-fo…
DmytroNazarenko Jan 10, 2024
3372716
Merge branch 'v3.18.0' into enhancement/SKALED-1431-ftq-rpc-call
dimalit Jan 10, 2024
f08f134
#1588 change snapshot hash computation
olehnikolaiev Jan 10, 2024
1eb0eb1
Merge branch 'v3.18.0' into bug/SKALED-1714-testeth-in-historic
dimalit Jan 10, 2024
a2f6782
Revert "Bug/skaled 1745 invalid fork in pow gas"
dimalit Jan 10, 2024
a3dd9cc
Merge pull request #1781 from skalenetwork/revert-1768-bug/SKALED-174…
DmytroNazarenko Jan 10, 2024
1e79fdf
Merge branch 'v3.18.0' into enhancement/SKALED-1431-ftq-rpc-call
DmytroNazarenko Jan 10, 2024
6a14d05
SKALED-1745 Init patch timestamp in Client::init (to prevent failure)
dimalit Jan 10, 2024
026d174
Merge pull request #1776 from skalenetwork/enhancement/SKALED-1431-ft…
DmytroNazarenko Jan 10, 2024
89fb0a0
Merge branch 'v3.18.0' into bug/1640-slow-catchup
olehnikolaiev Jan 11, 2024
f925fbb
Merge branch 'v3.18.0' into bug/SKALED-1745-invalid-fork-in-pow-gas
dimalit Jan 11, 2024
0fd27d0
Merge remote-tracking branch 'origin/bug/SKALED-1745-invalid-fork-in-…
dimalit Jan 11, 2024
7469839
#1588 fix new snapshot hash calculation
olehnikolaiev Jan 11, 2024
5cc740e
Merge branch 'v3.18.0' into bug/SKALED-1714-testeth-in-historic
dimalit Jan 11, 2024
bba2a8a
Merge pull request #1770 from skalenetwork/bug/1640-slow-catchup
olehnikolaiev Jan 11, 2024
1bf2cd7
#1588 change snapshot hash computation
olehnikolaiev Jan 12, 2024
e1a7450
Merge branch 'v3.18.0' into bug/SKALED-1714-testeth-in-historic
dimalit Jan 12, 2024
d026bcb
Merge branch 'v3.18.0' into bug/SKALED-1745-invalid-fork-in-pow-gas
dimalit Jan 12, 2024
fc5b582
Merge pull request #1782 from skalenetwork/bug/SKALED-1745-invalid-fo…
kladkogex Jan 12, 2024
0921108
Merge branch 'v3.18.0' into bug/SKALED-1714-testeth-in-historic
dimalit Jan 12, 2024
9431fab
IS-902 check block number to download snapshot
olehnikolaiev Jan 12, 2024
15cb6a8
Merge pull request #1778 from skalenetwork/bug/SKALED-1714-testeth-in…
kladkogex Jan 15, 2024
b4a849d
Merge branch 'v3.18.0' into bug/IS-902-allow-uploading-only-one-snapshot
olehnikolaiev Jan 16, 2024
aab2420
IS 902 handle wrong snapshot block number request for signatures
olehnikolaiev Jan 16, 2024
c4cffb1
#1588 change snapshot hash computation
olehnikolaiev Jan 16, 2024
53160e7
Merge branch 'bug/IS-902-allow-uploading-only-one-snapshot' of github…
olehnikolaiev Jan 16, 2024
99a645a
fix tests
olehnikolaiev Jan 17, 2024
886c695
fix tests
olehnikolaiev Jan 17, 2024
2b7cf66
#1785 fix unittests
olehnikolaiev Jan 17, 2024
a20069c
#1785 fix SkaleHostSuite tests
olehnikolaiev Jan 17, 2024
a17da41
Merge branch 'v3.18.0' into bug/1785-fix-unittests
olehnikolaiev Jan 17, 2024
2a3fadd
#1785 fix EstimateGasSuite unittests
olehnikolaiev Jan 17, 2024
5253168
#1785 build historic mode in different folder
olehnikolaiev Jan 17, 2024
d6427e7
#1785 fix JsonRpcSuite tests
olehnikolaiev Jan 17, 2024
85146a0
Merge pull request #1786 from skalenetwork/bug/1785-fix-unittests
olehnikolaiev Jan 17, 2024
04298fe
Merge branch 'v3.18.0' into bug/IS-902-allow-uploading-only-one-snapshot
olehnikolaiev Jan 17, 2024
9ea8a42
SKALED-1693 Run functional test twice - for both original and histori…
dimalit Jan 17, 2024
678f59b
Merge pull request #1784 from skalenetwork/bug/IS-902-allow-uploading…
olehnikolaiev Jan 17, 2024
2d0e3d5
Merge branch 'v3.18.0' into bug/1640-change-snapshot-hash-computation
olehnikolaiev Jan 17, 2024
7c67a04
#1588 rename variables
olehnikolaiev Jan 18, 2024
b8cdd8d
#1588 rename variables and remove colored logs
olehnikolaiev Jan 18, 2024
ac6490e
#1588 move batchCHunkSize to class field
olehnikolaiev Jan 18, 2024
a79c45d
#1588 bool flag to continue db hash computation
olehnikolaiev Jan 18, 2024
46bbdbd
Merge pull request #1787 from skalenetwork/bug/1640-change-snapshot-h…
DmytroNazarenko Jan 18, 2024
bde0c84
SKALED-1693 Run functional tests for orig and historic builds
dimalit Jan 18, 2024
bd6fa93
Merge branch 'v3.18.0' into enhancement/SKALED-1693-func-tests-on-bot…
dimalit Jan 18, 2024
92bb424
IS-902 fix 0 zero snapshot case
olehnikolaiev Jan 19, 2024
fce0fd1
Merge pull request #1788 from skalenetwork/enhancement/SKALED-1693-fu…
DmytroNazarenko Jan 19, 2024
484421e
Merge branch 'v3.18.0' into bug/IS-902-zero-snapshot
olehnikolaiev Jan 19, 2024
4880e19
Merge pull request #1790 from skalenetwork/bug/IS-902-zero-snapshot
DmytroNazarenko Jan 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
with:
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
repository: skalenetwork/skale-ci-integration_tests
ref: v3.18.0
submodules: recursive
- name: Set up Node
uses: actions/[email protected]
Expand Down Expand Up @@ -65,8 +66,8 @@
- name: skaled+load_python+all
run: SKALED_PROVIDER=skaled_providers/binary_from_container ./run_tests.sh skaled+load_python+all

# - name: skaled+load_js+run_angry_cats
# run: SKALED_PROVIDER=skaled_providers/endpoint_by_container ./run_tests.sh skaled+load_js+run_angry_cats
- name: skaled+load_js+run_angry_cats
run: SKALED_PROVIDER=skaled_providers/endpoint_by_container ./run_tests.sh skaled+load_js+run_angry_cats

- name: skaled+internals+test_snapshot_api
run: SKALED_PROVIDER=skaled_providers/binary_from_container ./run_tests.sh skaled+internals+test_snapshot_api
Expand Down
15 changes: 13 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ jobs:
export VERSION=$(cat VERSION)
export VERSION=$(bash ./scripts/calculate_version.sh $BRANCH $VERSION)
echo "::set-env name=VERSION::$VERSION"
echo "::set-env name=VERSION_ORIG::$VERSION"
echo "Version $VERSION"
( test $BRANCH = "stable" && export PRERELEASE=false ) || export PRERELEASE=true
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
Expand Down Expand Up @@ -191,6 +192,7 @@ jobs:
echo "Branch $BRANCH"
export VERSION=$VERSION-historic
echo "::set-env name=VERSION::$VERSION"
echo "::set-env name=VERSION_HISTORIC::$VERSION"
echo "Version $VERSION"
export RELEASE=true
echo "::set-env name=RELEASE::$RELEASE"
Expand All @@ -214,12 +216,21 @@ jobs:
asset_name: skaled-debug-historic
asset_content_type: application/octet-stream
outputs:
version: ${{ env.VERSION }}
version_orig: ${{ env.VERSION_ORIG }}
version_historic: ${{ env.VERSION_HISTORIC }}

functional-tests:
uses: ./.github/workflows/functional-tests.yml
name: Functional testing for build
needs: [build]
with:
version: ${{ needs.build.outputs.version }}
version: ${{ needs.build.outputs.version_orig }}
secrets: inherit

functional-tests-historic:
uses: ./.github/workflows/functional-tests.yml
name: Functional testing for build
needs: [build]
with:
version: ${{ needs.build.outputs.version_historic }}
secrets: inherit
196 changes: 102 additions & 94 deletions .github/workflows/test.yml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.17.1
3.18.0
4 changes: 2 additions & 2 deletions deps/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1223,7 +1223,7 @@ then
# #CMAKE_ARGS_FOR_LIB_WEB_SOCKETS="$CMAKE_ARGS_FOR_LIB_WEB_SOCKETS -DLWS_WITH_LIBEV=ON"
# LWS_WITH_LIBEV=ON
# fi
#else
#else
## #CMAKE_ARGS_FOR_LIB_WEB_SOCKETS="$CMAKE_ARGS_FOR_LIB_WEB_SOCKETS -DLWS_WITH_LIBEV=OFF"
# echo " "
#fi
Expand Down Expand Up @@ -1383,7 +1383,7 @@ then
if [ ! -f "boost_1_68_0.tar.bz2" ];
then
echo -e "${COLOR_INFO}downloading it${COLOR_DOTS}...${COLOR_RESET}"
eval "$WGET" https://boostorg.jfrog.io/artifactory/main/release/1.68.0/source/boost_1_68_0.tar.bz2
eval "$WGET" https://sourceforge.net/projects/boost/files/boost/1.68.0/boost_1_68_0.tar.bz2
fi
echo -e "${COLOR_INFO}unpacking it${COLOR_DOTS}...${COLOR_RESET}"
eval tar -xf boost_1_68_0.tar.bz2
Expand Down
5 changes: 3 additions & 2 deletions libdevcore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ add_library(devcore ${sources} ${headers})
add_dependencies(devcore secp256k1)

target_compile_options( devcore PRIVATE
-Wno-error=deprecated-copy -Wno-error=unused-result -Wno-error=unused-parameter -Wno-error=unused-variable -Wno-error=maybe-uninitialized
)
-Wno-error=deprecated-copy -Wno-error=unused-result -Wno-error=unused-parameter
-Wno-error=unused-variable -Wno-error=maybe-uninitialized -Wno-error=class-memaccess
)

# Needed to prevent including system-level boost headers:
target_include_directories(devcore SYSTEM PUBLIC ${Boost_INCLUDE_DIR} PRIVATE ../utils)
Expand Down
39 changes: 21 additions & 18 deletions libdevcore/Common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,18 @@ void ExitHandler::exitHandler( int s ) {
}

void ExitHandler::exitHandler( int nSignalNo, ExitHandler::exit_code_t ec ) {
std::string strMessagePrefix = ExitHandler::shouldExit() ?
cc::error( "\nStop flag was already raised on. " ) +
cc::fatal( "WILL FORCE TERMINATE." ) +
cc::error( " Caught (second) signal. " ) :
cc::error( "\nCaught (first) signal. " );
std::cerr << strMessagePrefix << cc::error( skutils::signal::signal2str( nSignalNo ) )
<< "\n\n";
std::cerr.flush();
std::string strMessagePrefix;
if ( nSignalNo > 0 ) {
strMessagePrefix = ( ExitHandler::shouldExit() && s_nStopSignal > 0 ) ?
string( "\nStop flag was already raised on. " ) +
"WILL FORCE TERMINATE." + " Caught (second) signal. " :
"\nCaught (first) signal. ";
} else {
strMessagePrefix = ExitHandler::shouldExit() ?
string( "\nInternal exit requested while already exiting. " ) :
"\nInternal exit initiated. ";
}
std::cerr << strMessagePrefix << skutils::signal::signal2str( nSignalNo ) << "\n\n";

switch ( nSignalNo ) {
case SIGINT:
Expand Down Expand Up @@ -102,10 +106,10 @@ void ExitHandler::exitHandler( int nSignalNo, ExitHandler::exit_code_t ec ) {
auto start_time = std::chrono::steady_clock::now();

std::thread( [nSignalNo, start_time]() {
std::cerr << ( "\n" + cc::fatal( "SELF-KILL:" ) + " " + cc::error( "Will sleep " ) +
cc::size10( ExitHandler::KILL_TIMEOUT ) +
cc::error( " seconds before force exit..." ) + "\n\n" );
std::cerr.flush();
std::cerr << ( "\n" + string( "SELF-KILL:" ) + " " + "Will sleep " +
cc::size10( ExitHandler::KILL_TIMEOUT ) +
" seconds before force exit..." ) +
"\n\n";

clog( VerbosityInfo, "exit" ) << "THREADS timer started";

Expand Down Expand Up @@ -133,11 +137,10 @@ void ExitHandler::exitHandler( int nSignalNo, ExitHandler::exit_code_t ec ) {
std::this_thread::sleep_for( 100ms );
}

std::cerr << ( "\n" + cc::fatal( "SELF-KILL:" ) + " " +
cc::error( "Will force exit after sleeping " ) +
std::cerr << ( "\n" + string( "SELF-KILL:" ) + " " +
"Will force exit after sleeping " +
cc::size10( ExitHandler::KILL_TIMEOUT ) + cc::error( " second(s)" ) +
"\n\n" );
std::cerr.flush();

// TODO deduplicate this with main() before return
ExitHandler::exit_code_t ec = ExitHandler::requestedExitCode();
Expand All @@ -153,9 +156,9 @@ void ExitHandler::exitHandler( int nSignalNo, ExitHandler::exit_code_t ec ) {

// nice exit here:

if ( ExitHandler::shouldExit() ) {
std::cerr << ( "\n" + cc::fatal( "SIGNAL-HANDLER:" ) + " " +
cc::error( "Will force exit now..." ) + "\n\n" );
// TODO deduplicate with first if()
if ( ExitHandler::shouldExit() && s_nStopSignal > 0 && nSignalNo > 0 ) {
std::cerr << ( "\n" + string( "SIGNAL-HANDLER:" ) + " " + "Will force exit now...\n\n" );
_exit( 13 );
}

Expand Down
66 changes: 51 additions & 15 deletions libdevcore/LevelDB.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,14 @@
#include "Assertions.h"
#include "Log.h"
#include <libdevcore/microprofile.h>
#include <secp256k1_sha256.h>

namespace dev {
namespace db {

unsigned c_maxOpenLeveldbFiles = 25;

const size_t LevelDB::BATCH_CHUNK_SIZE = 10000;

namespace {
inline leveldb::Slice toLDBSlice( Slice _slice ) {
return leveldb::Slice( _slice.data(), _slice.size() );
Expand Down Expand Up @@ -213,7 +214,6 @@ void LevelDB::forEach( std::function< bool( Slice, Slice ) > f ) const {
}
}


void LevelDB::forEachWithPrefix(
std::string& _prefix, std::function< bool( Slice, Slice ) > f ) const {
cnote << "Iterating over the LevelDB prefix: " << _prefix;
Expand All @@ -238,21 +238,23 @@ h256 LevelDB::hashBase() const {
if ( it == nullptr ) {
BOOST_THROW_EXCEPTION( DatabaseError() << errinfo_comment( "null iterator" ) );
}

secp256k1_sha256_t ctx;
secp256k1_sha256_initialize( &ctx );
for ( it->SeekToFirst(); it->Valid(); it->Next() ) {
std::string key_ = it->key().ToString();
std::string value_ = it->value().ToString();
std::string keyTmp = it->key().ToString();
std::string valueTmp = it->value().ToString();
// HACK! For backward compatibility! When snapshot could happen between update of two nodes
// - it would lead to stateRoot mismatch
// TODO Move this logic to separate "compatiliblity layer"!
if ( key_ == "pieceUsageBytes" )
if ( keyTmp == "pieceUsageBytes" )
continue;
std::string key_value = key_ + value_;
const std::vector< uint8_t > usc( key_value.begin(), key_value.end() );
bytesConstRef str_key_value( usc.data(), usc.size() );
secp256k1_sha256_write( &ctx, str_key_value.data(), str_key_value.size() );
std::string keyValue = keyTmp + valueTmp;
const std::vector< uint8_t > usc( keyValue.begin(), keyValue.end() );
bytesConstRef strKeyValue( usc.data(), usc.size() );
secp256k1_sha256_write( &ctx, strKeyValue.data(), strKeyValue.size() );
}

h256 hash;
secp256k1_sha256_finalize( &ctx, hash.data() );
return hash;
Expand All @@ -263,23 +265,57 @@ h256 LevelDB::hashBaseWithPrefix( char _prefix ) const {
if ( it == nullptr ) {
BOOST_THROW_EXCEPTION( DatabaseError() << errinfo_comment( "null iterator" ) );
}

secp256k1_sha256_t ctx;
secp256k1_sha256_initialize( &ctx );
for ( it->SeekToFirst(); it->Valid(); it->Next() ) {
if ( it->key()[0] == _prefix ) {
std::string key_ = it->key().ToString();
std::string value_ = it->value().ToString();
std::string key_value = key_ + value_;
const std::vector< uint8_t > usc( key_value.begin(), key_value.end() );
bytesConstRef str_key_value( usc.data(), usc.size() );
secp256k1_sha256_write( &ctx, str_key_value.data(), str_key_value.size() );
std::string keyTmp = it->key().ToString();
std::string valueTmp = it->value().ToString();
std::string keyValue = keyTmp + valueTmp;
const std::vector< uint8_t > usc( keyValue.begin(), keyValue.end() );
bytesConstRef strKeyValue( usc.data(), usc.size() );
secp256k1_sha256_write( &ctx, strKeyValue.data(), strKeyValue.size() );
}
}
h256 hash;
secp256k1_sha256_finalize( &ctx, hash.data() );
return hash;
}

bool LevelDB::hashBasePartially( secp256k1_sha256_t* ctx, std::string& lastHashedKey ) const {
std::unique_ptr< leveldb::Iterator > it( m_db->NewIterator( m_readOptions ) );
if ( it == nullptr ) {
BOOST_THROW_EXCEPTION( DatabaseError() << errinfo_comment( "null iterator" ) );
}

if ( lastHashedKey != "start" )
it->Seek( lastHashedKey );
else
it->SeekToFirst();

for ( size_t counter = 0; it->Valid() && counter < BATCH_CHUNK_SIZE; it->Next() ) {
std::string keyTmp = it->key().ToString();
std::string valueTmp = it->value().ToString();
// HACK! For backward compatibility! When snapshot could happen between update of two nodes
// - it would lead to stateRoot mismatch
// TODO Move this logic to separate "compatiliblity layer"!
if ( keyTmp == "pieceUsageBytes" )
continue;
std::string keyValue = keyTmp + valueTmp;
const std::vector< uint8_t > usc( keyValue.begin(), keyValue.end() );
bytesConstRef strKeyValue( usc.data(), usc.size() );
secp256k1_sha256_write( ctx, strKeyValue.data(), strKeyValue.size() );
++counter;
}

if ( it->Valid() ) {
lastHashedKey = it->key().ToString();
return true;
} else
return false;
}

void LevelDB::doCompaction() const {
m_db->CompactRange( nullptr, nullptr );
}
Expand Down
6 changes: 6 additions & 0 deletions libdevcore/LevelDB.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
#include <leveldb/write_batch.h>
#include <boost/filesystem.hpp>

#include <secp256k1_sha256.h>

namespace dev {
namespace db {
class LevelDB : public DatabaseFace {
Expand Down Expand Up @@ -59,6 +61,8 @@ class LevelDB : public DatabaseFace {
h256 hashBase() const override;
h256 hashBaseWithPrefix( char _prefix ) const;

bool hashBasePartially( secp256k1_sha256_t* ctx, std::string& lastHashedKey ) const;

void doCompaction() const;

// Return the total count of key deletes since the start
Expand All @@ -74,6 +78,8 @@ class LevelDB : public DatabaseFace {
leveldb::WriteOptions const m_writeOptions;
leveldb::Options m_options;
boost::filesystem::path const m_path;

static const size_t BATCH_CHUNK_SIZE;
};

} // namespace db
Expand Down
3 changes: 3 additions & 0 deletions libethcore/ChainOperationParams.h
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,10 @@ struct SChain {
time_t verifyDaSigsPatchTimestamp = 0;
time_t storageDestructionPatchTimestamp = 0;
time_t powCheckPatchTimestamp = 0;
time_t precompiledConfigPatchTimestamp = 0;
time_t pushZeroPatchTimestamp = 0;
time_t skipInvalidTransactionsPatchTimestamp = 0;
time_t correctForkInPowPatchTimestamp = 0;

SChain() {
name = "TestChain";
Expand Down
5 changes: 2 additions & 3 deletions libethereum/Block.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ pair< TransactionReceipts, bool > Block::sync(
// caller if we hit the limit

for ( Transaction& transaction : transactions ) {
transaction.checkOutExternalGas( _bc.chainParams().externalGasDifficulty );
transaction.checkOutExternalGas( _bc.chainParams(), _bc.number() );
}

assert( _bc.currentHash() == m_currentBlock.parentHash() );
Expand Down Expand Up @@ -631,8 +631,7 @@ u256 Block::enact( VerifiedBlockRef const& _block, BlockChain const& _bc ) {
// << " (state #"
// << state().getNonce( tr.from() ) << ") value = " << tr.value() <<
// endl;
const_cast< Transaction& >( tr ).checkOutExternalGas(
_bc.chainParams().externalGasDifficulty );
const_cast< Transaction& >( tr ).checkOutExternalGas( _bc.chainParams(), _bc.number() );
execute( _bc.lastBlockHashes(), tr );
// cerr << "Now: "
// << "State #" << state().getNonce( tr.from() ) << endl;
Expand Down
23 changes: 20 additions & 3 deletions libethereum/ChainParams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -266,11 +266,25 @@ ChainParams ChainParams::loadConfig(
sChainObj.at( "powCheckPatchTimestamp" ).get_int64() :
0;

s.precompiledConfigPatchTimestamp =
sChainObj.count( "precompiledConfigPatchTimestamp" ) ?
sChainObj.at( "precompiledConfigPatchTimestamp" ).get_int64() :
0;

s.pushZeroPatchTimestamp = sChainObj.count( "pushZeroPatchTimestamp" ) ?
sChainObj.at( "pushZeroPatchTimestamp" ).get_int64() :
0;

s.skipInvalidTransactionsPatchTimestamp =
sChainObj.count( "skipInvalidTransactionsPatchTimestamp" ) ?
sChainObj.at( "skipInvalidTransactionsPatchTimestamp" ).get_int64() :
0;

s.correctForkInPowPatchTimestamp =
sChainObj.count( "correctForkInPowPatchTimestamp" ) ?
sChainObj.at( "correctForkInPowPatchTimestamp" ).get_int64() :
0;

if ( sChainObj.count( "nodeGroups" ) ) {
std::vector< NodeGroup > nodeGroups;
for ( const auto& nodeGroupConf : sChainObj["nodeGroups"].get_obj() ) {
Expand All @@ -284,9 +298,12 @@ ChainParams ChainParams::loadConfig(
auto groupNodesObj = nodeGroupObj["nodes"].get_obj();
for ( const auto& groupNodeConf : groupNodesObj ) {
auto groupNodeConfObj = groupNodeConf.second.get_array();
u256 sChainIndex = groupNodeConfObj[0].get_uint64();
u256 id = groupNodeConfObj[1].get_uint64();
std::string publicKey = groupNodeConfObj[2].get_str();
u256 sChainIndex = groupNodeConfObj.at( 0 ).get_uint64();
u256 id = groupNodeConfObj.at( 1 ).get_uint64();
std::string publicKey = groupNodeConfObj.at( 2 ).get_str();
if ( publicKey.empty() ) {
BOOST_THROW_EXCEPTION( std::runtime_error( "Empty public key in config" ) );
}
groupNodes.push_back( { id, sChainIndex, publicKey } );
}
std::sort( groupNodes.begin(), groupNodes.end(),
Expand Down
Loading
Loading