Commit Graph

13482 Commits

Author SHA1 Message Date
Thomas Winget 73e787a9ec sqlitecpp cmake nonsense 2021-10-06 19:36:46 -04:00
Thomas Winget df07ae3e40 require sqlite foreign_key ON 2021-10-04 22:26:33 -04:00
Jeff 5597fc748b
Update CMakeLists.txt
consolidate the cmake logic
2021-10-04 21:18:08 -04:00
Thomas Winget 435c189a9b sqlitecpp 2021-10-04 20:33:24 -04:00
Sean 578c1c235f
Merge pull request #1484 from jagerman/disable-mms-light
Disable MMS and light wallet support by default
2021-09-06 13:45:16 +10:00
Sean 299cd4e7e7
Merge pull request #1487 from jagerman/fix-sizeof-uptime_proof
CI Build fix - sizeof uptime proof & disable GUI builds
2021-09-06 12:49:51 +10:00
Jason Rhinelander 484eacfa80 Disable GUI wallet CI builds for now
These are currently failing; disable them for now for CI (until we
investigate why they fail and fix them).
2021-09-03 02:19:45 -03:00
Jason Rhinelander 03add6ebe3 Move operator== into namespace
Argument-dependent lookup will find these if in the same namespace as
Proof itself.
2021-09-03 02:17:07 -03:00
Jason Rhinelander e3999ccb26 Rearrange proof/service node forward declarations to help gcc-8
gcc-8's unique_ptr apparently isn't okay with a forward declared type.
This reverses how proof and service_node_list include/fwd declare each
other to get around it.
2021-09-03 02:15:37 -03:00
Jason Rhinelander 9782155c81
Merge pull request #1481 from jagerman/drop-integration-tests
Drop unmaintained integration test code
2021-09-03 00:28:49 -03:00
Jason Rhinelander e2a7391fb3
Merge pull request #1482 from darcys22/initialise-uptime-proof-info
Initialise uptime proof info
2021-09-03 00:28:30 -03:00
Jason Rhinelander 5759c41291
Merge pull request #1480 from jagerman/logger-rebrand-updates
Fix missing logger rebrand updates
2021-09-03 00:26:34 -03:00
Jason Rhinelander 2fe49d84c2
Merge pull request #1479 from oxen-io/KeeJef-patch-1
Remove CI indicator and update Loki to Oxen
2021-09-03 00:25:49 -03:00
Jason Rhinelander 357590e826
Merge pull request #1485 from jagerman/fmt-format
Add fmtlib::fmt backport of C++20 std::format
2021-09-03 00:25:24 -03:00
Jason Rhinelander eefd42f93f Add fmtlib::fmt backport of C++20 std::format
Because I'm tired of waiting for std::format.
2021-09-02 17:25:13 -03:00
Jason Rhinelander ff8e2dd09d Disable MMS and light wallet support by default
This aren't used or supported by anyone in Oxen land (as far as I know)
and have not been maintained since the beginning, so hide them behind
disabled-by-default cmake options.

This cuts about 10% off the wallet2 compilation time and 3% off the
simplewallet compilation time, plus gets rid of the page of mms crap in
the cli wallet's "help" screen.
2021-09-02 14:03:19 -03:00
Sean Darcy 36a86af3fc more uptime proof initialisations 2021-08-20 15:42:24 +10:00
Sean Darcy 302259ce69 Uninitialised variables 2021-08-20 15:04:07 +10:00
Kee Jefferys d24ad7c5f8
Update README.md 2021-08-20 11:12:09 +10:00
Jason Rhinelander 5f1bd2f1e4 Drop integration test code.
This code is bitrotting, doesn't compile, and isn't being maintained
anymore.

The integration test suite was an interesting idea, in early Loki days,
but is no longer being maintained and is quite cumbersome to run (for
instance, it is not possible to run it via CI because it depends on
xterm to actually run).  The code to actually run it (in doy-lee's
loki-integration-testing repository) is also a large burden of "janky"
code that isn't worth maintaining.

Remove this from the code; if someone wants to pick it back up in the
future reverting this commit shouldn't be too difficult (though I'd
suggest that a much better approach to integration testing would be to
run different daemons/wallets via rpc commands, as the network-tests do,
rather than trying to feed stdin and parse stdout from running
individual oxends/wallets).
2021-08-19 16:42:15 -03:00
Jason Rhinelander 5b95224c39 Fix some missing LOKI -> OXEN logger defines
Various ones were unchanged in epee.

Also found a couple very old MONERO -> OXEN changes as well.
2021-08-19 16:03:32 -03:00
Kee Jefferys 21202f4b33
Remove CI indicator and update Loki to Oxen 2021-08-17 11:53:43 +10:00
Sean c81cf6fd3b
Update README.md 2021-08-16 09:05:53 +10:00
Jason Rhinelander 16c15c5d26
Merge pull request #1466 from jagerman/wallet-api-refresh-locks
Add locks around the refresh thread
2021-08-09 22:39:46 -03:00
Jason Rhinelander 040f19de5a
Merge pull request #1469 from darcys22/earlier_transfer
Allow HF18 to be used earlier
2021-07-09 03:03:57 -03:00
Sean Darcy ff1b25c961 Explanatory message for workaround 2021-07-09 16:02:13 +10:00
Jason Rhinelander 381a3a4ecd Fix hard_fork_info rpc returning wrong earliest_height
With multiple forks on the same major version `get_hard_fork_heights`
was returning the last one instead of the first one.
2021-07-09 02:55:47 -03:00
Sean Darcy 84f6d08baa Allow HF18 to be used earlier
The get earliest version returns HF 18.1 and this means that our blink
fees that were enabled in HF18 are no longer accepted. Push through to
allow the fees to be used 4000 blocks earlier (current height)
2021-07-09 15:29:06 +10:00
Jason Rhinelander d8662ace7b Add non-blocking isRefreshing(); make height retrieval non-blocking 2021-07-07 18:10:29 -03:00
Jason Rhinelander e09b23a143 Make pointer const 2021-07-07 11:05:17 -03:00
Jason Rhinelander 81eddcd26a Add locks around the refresh thread
Wallet API is really messy with threads -- the refresh thread can run at
any time and change internal wallet state which breaks just about
everything.

This puts all non-trivial wallet access from wallet_api behind a lock of
the refresh thread to lock it out from refresh while other operations
are underway.
2021-07-07 11:05:17 -03:00
Jason Rhinelander 2e7e47a005
Merge pull request #1465 from jagerman/snode-net-revision
Add mandatory upgrade "snode revisions" and start enforcing lokinet/ss versions
2021-07-06 20:46:43 -03:00
Jason Rhinelander 14cb314f70 Add patch for hidapi + autoconf 2.70+
Fixes the mac build, and will fix future linux build once distros start
shipping 2.70+.
2021-07-06 20:07:52 -03:00
Jason Rhinelander 4f6f67d151 Fix segfault triggered in test suite on macos
It seems that the `m_tinfo` can be null, sometimes, when `m_cursors ==
&m_wcursors` is true, and the upstream Monero code (which is pure macro)
doesn't touch the bool in such a case.

For some reason this started segfaulting now, only on macos, only on a
release build because of the access into `m_tinfo`.

The workaround (which is indeed a correct fix) appears to avoid the
segfault, but the segfault could retrigger if that invariant doesn't
hold (and it isn't immediately obvious why that invariant *should*
hold).

This, like pretty much all of the LMDB code, is garbage.
2021-07-06 17:37:01 -03:00
Jason Rhinelander aafd0a6282 Update gtest 2021-07-06 16:31:07 -03:00
Jason Rhinelander cc2a3be7c9 Remove obsolete embedded copy of gtest 2021-07-06 16:27:37 -03:00
Jason Rhinelander f42eca07b1 Remove useless option
This option never actually *did* anything (the tests would run whether
or not you specify it), and is now gone.
2021-07-06 00:59:19 -03:00
Jason Rhinelander 74171b8128 Finalize mainnet soft fork for July 13. 2021-07-06 00:06:26 -03:00
Jason Rhinelander 58cb24b9df Bump required lokinet version to 0.9.5 2021-07-05 23:51:54 -03:00
Jason Rhinelander de3340e5c8 Test suite fixes 2021-07-05 23:48:18 -03:00
Jason Rhinelander 51ea141ff0 Fix compilation under g++-11 2021-06-23 19:14:41 -03:00
Jason Rhinelander a841886e62 Fix copyright statement
Though this statement seems dubious since "The Oxen Project" is no a
legal entity.  Should perhaps be "Oxen Privacy Tech Foundation"?  Or
alternatively we could have a statement somewhere that "The Oxen
Project" refers to the OPTF + code contributed by Oxen community members
through github, etc.

Okay enough copyright law.
2021-06-21 09:50:57 -03:00
Jason Rhinelander 3644861971 lokinet/SS minimum proof versions; 9.2.0 version bump
Remove support for old (non-bt) proofs with the 9.2.0 snode revision
block (I'm not 100% sure on what to call this; "snode revision"? "soft
fork"? "spork"?).

Also bumps the working version to 9.2.0; this likely isn't release
ready, but allows for testing of this on testnet.
2021-06-19 15:13:57 -03:00
Jason Rhinelander ead4819fec Minor code simplification
Eliminates a pointless local variable and a pointless block.
2021-06-19 15:13:57 -03:00
Jason Rhinelander e5ec5ae76d Fix compiler warning in debug builds 2021-06-19 15:13:57 -03:00
Jason Rhinelander 7b00cb251b Add snode revision soft forks & drop hard fork voting code
Snode revisions are a secondary version that let us put out a mandatory
update for snodes that isn't a hardfork (and so isn't mandatory for
wallets/exchanges/etc.).

The main point of this is to let us make a 9.2.0 release that includes
new mandatory minimums of future versions of storage server (2.2.0) and
lokinet (0.9.4) to bring upgrades to the network.

This slightly changes the HF7 blocks to 0 (instead of 1) because,
apparently, we weren't properly checking the HF value of the
pre-first-hf genesis block at all before.  (In practice this changes
nothing because genesis blocks are v7 anyway).

This also changes (slightly) how we check for hard forks: now if we skip
some hard forks then we still want to know the height when a hard fork
triggers.  For example, if the hf tables contains {7,14} then we still
need to know that the HF14 block height also is the height that
activates HF9, 10, etc.
2021-06-19 15:13:57 -03:00
Jason Rhinelander a4cd3dda3f
Merge pull request #1464 from jagerman/v913
Version bump
2021-06-10 16:04:22 -03:00
Jason Rhinelander b665b2f0b1
Merge pull request #1459 from jagerman/lokinet-reachability
Lokinet reachability testing
2021-06-10 16:03:52 -03:00
Jason Rhinelander f24fc05f2f Version bump 2021-06-10 16:00:41 -03:00
Jason Rhinelander 41ba779834 Increase minimum versions for SS/lokinet 2021-06-10 15:32:50 -03:00