Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
rather than using the current one. No functional changes, but may
save some bugs in the future.
|
|
|
|
If the blockchain gets reorganized, all outputs spent in the part
of the blockchain that's blown away need to be reset to unspent
(they may end up spent again on the blocks that replace the blocks
that are removed, however).
|
|
|
|
ie, more data or less data than expected in various fields
|
|
|
|
|
|
It is not yet constrained to a fork, so don't use on the real network
or you'll be orphaned or rejected.
|
|
- we need to drop the new m_tx_indices database
- we reset the version to current version
This fixes the core tests failing to initialize.
|
|
One to commit to an amount with zero key (for use with fake
commitments for pre-rct outputs), and one with an arbitrary
key (for rct outputs).
|
|
It may be suboptimal, but it's a pain to have to rebuild everything
when some of this changes.
Also, no clue why there seems to be two different code paths for
serializing a tx...
|
|
|
|
|
|
|
|
|
|
A new version of genRct takes the mixRing as parameter, instead
of the inPk. inPk are part of the mixRing, and it is cleaner to
pass the mixRing data than to fetch it from the RingCT code.
A new version of decodeRct also returns the mask.
Also, failure to decode throws, so errors are properly detected.
|
|
|
|
|
|
to get random ringct outputs to mix with
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ported from Shen's RingCT repo
|
|
Ported from Shen's RingCT repo
|
|
Ported from Shen's RingCT repo
|
|
Ported from Shen's RingCT repo
|
|
Ported from Shen's RingCT repo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This lets my gcc picks those instead of the generic template
where appropriate (and then fail since std::vector<something>
does not have a serialize method.
|
|
|
|
|
|
|
|
|
|
Throw when inputs aren't the expected size.
|
|
|
|
|
|
|
|
|
|
f88029e db_lmdb: do not try to modify the database in read only mode (moneromooo-monero)
|
|
|
|
0ed35f7 README.md: Boost version updated for windows (tobiasw2)
|
|
da58422 Update README.i18n (arb0r)
|
|
78035d2 Fix fake 'network synchronized, begin using' messages (Thomas Winget)
|
|
65238d2 fix #691 removed help about leaving wallet name empty on --generate-new-wallet (guzzi_jones)
|
|
99dd572 libwallet_api: tests: checking for result while opening wallet (Ilya Kitaev)
bcf7b67 libwallet_api: Wallet::amountFromString fixed (Ilya Kitaev)
32bc7b4 libwallet_api: helper method to return maximumAllowedAmount (Ilya Kitaev)
cbe534d libwallet_api: tests: removed logged passwords (Ilya Kitaev)
b1a5a93 libwallet_api: do not store wallet on close if status is not ok (Ilya Kitaev)
|
|
c2f4e16 simplewallet: default to max-concurrency 1 on MacOS X (moneromooo-monero)
|
|
|
|
5f873ea added Symas as a sponsor (Riccardo Spagni)
|
|
|
|
3729ac8 Docs: re-introduce Boost 1.58 min req from 2a2b655 (anonimal)
|
|
|
|
|
|
Fixed typo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2c5e68f cmake: fix typo in handling of STACK_TRACE (redfish)
|
|
25f529a wallet: store key images after importing them (moneromooo-monero)
|
|
9cca53a wallet: fix build on Mac and Windows (missing include) (moneromooo-monero)
|
|
e596e25 simplewallet: do not suggest removing cache if the password was wrong (moneromooo-monero)
|
|
2a2b655 Build: make boost 1.58 minimum requirement. Fixes #956 (anonimal)
|
|
Very slight changes to make the markdown slightly more readable and easy to copy/paste from.
|
|
|
|
|
|
|
|
|
|
A suspected bug in pthread/kernel, though might be that
I messed something up too...
This might rope in more platforms though.
|
|
|
|
miniupnpc is included in source repo, but list it anyway, eventually
that fork will hopefully go away from this repo.
|
|
|
|
|
|
|
|
|
|
This fixes the log output not getting redirected to log file.
|
|
It avoids rescan_spent resetting spent status, for example.
|
|
Reported by RaskaRuby, tested by iDunk5400.
|
|
|
|
|
|
44dab04 Build: use libstdc++ with clang < 3.7 (anonimal)
455ded4 Build: use Boost 1.58 for Travis build. Refs #956 (anonimal)
|
|
7e4e002 daemon: print time to next fork (moneromooo-monero)
|
|
|
|
|
|
|
|
7442dd0 More for Issue #855 (Howard Chu)
|
|
11dc091 Fake outs set is now decided by the wallet (moneromooo-monero)
1593553 new unlocked parameter to output_histogram (moneromooo-monero)
|
|
Plug rpage leak in cursor_set
|
|
This plugs a privacy leak from the wallet to the daemon,
as the daemon could previously see what input is included
as a transaction input, which the daemon hadn't previously
supplied. Now, the wallet requests a particular set of
outputs, including the real one.
This can result in transactions that can't be accepted if
the wallet happens to select too many outputs with non standard
unlock times. The daemon could know this and select another
output, but the wallet is blind to it. It's currently very
unlikely since I don't think anything uses non default
unlock times. The wallet requests more outputs than necessary
so it can use spares if any of the returns outputs are still
locked. If there are not enough spares to reach the desired
mixin, the transaction will fail.
|
|
240864f db_lmdb: errors dropping hf starting height db on reset are not fatal (moneromooo-monero)
|
|
709c724 Better fix (#4) (hyc)
d2644c1 fix restore-deterministic height (luigi1111)
|
|
da1007f simplewallet: make the refresh thread into more generic idle thread (moneromooo-monero)
|
|
663fc32 wallet2: if importing key images fails, print failure index (moneromooo-monero)
|
|
f0c0a3f Fix #864 Squashed commit of the following: commit 9af9e4223b58bbb65a3519af2c2bfc273cbd23d6 fixed some formatting commit c7920e1cf88ff46eb9294101344d9a567f22e2da Merge: 97eb28b 1da1c68 fix#864 fix using boolean commit 97eb28ba5dd49ddde8c8785f39b24d955e5de31c Fix #864 boolean value used to verify on new wallet commit 1da1c68bd3a9a373c70482b6e6e95251096149f1 fix #864 changed to boolean to prompt for verify commit 5bee96652434762d2c91ce31a1b1c9f169446ddc fix 864; made variable names easier for understanding branching. commit 45715960d30293f781b2ff9e5e647c2ec893f4a3 fix #864; allow password to be entered twice for new wallets for verification. fix #864 password entry verification; ammended boolean fix #864 ; default constructor for password_container should set verify=true (guzzi_jones)
|
|
e890f51 Build: take out tests in Travis CI (anonimal)
198e408 Build: add vanilla clang to Travis CI (anonimal)
659bee6 Build: add make release-test to Travis CI (anonimal)
|
|
33b5ebd cmake: do not pass -O2 in debug build on ARM (redfish)
35dc40a cmake: libatomic only needed for 32-bit Clang builds (redfish)
042db0b cmake: cleanup logic that sets flags per target/subdir (redfish)
|
|
This db is now dropped unconditionally, so may or may not be there
in the first place.
|
|
|
|
Simplewallet improperly skipped the restore from height code if
restoring a deterministic wallet AND not specifying a wallet file in the
command line. The other generate options require a wallet file as an
argument, which prevents "ask_wallet_create_if_needed()" from being
called, which in turn causes "m_generate_new" to remain unset.
Specifying a wallet file at launch with --restore-deterministic emulated
this behavior.
|
|
|
|
|
|
Also, minor cleanup of redundant flag-setting code.
|
|
This constrains the number of instances of any amount
to the unlocked ones (as defined by the default unlock time
setting: outputs with non default unlock time are not
considered, so may be counted as unlocked even if they are
not actually unlocked).
|
|
Squashed commit of the following:
commit 9af9e4223b58bbb65a3519af2c2bfc273cbd23d6
fixed some formatting
commit c7920e1cf88ff46eb9294101344d9a567f22e2da
Merge: 97eb28b 1da1c68
fix#864 fix using boolean
commit 97eb28ba5dd49ddde8c8785f39b24d955e5de31c
Fix #864 boolean value used to verify on new wallet
commit 1da1c68bd3a9a373c70482b6e6e95251096149f1
fix #864 changed to boolean to prompt for verify
commit 5bee96652434762d2c91ce31a1b1c9f169446ddc
fix 864; made variable names easier for understanding branching.
commit 45715960d30293f781b2ff9e5e647c2ec893f4a3
fix #864; allow password to be entered twice for new wallets for verification.
fix #864 password entry verification; ammended boolean
fix #864 ; default constructor for password_container should set verify=true
|
|
|
|
|
|
|
|
|
|
The previous logic that used a COMMON_*_FLAGS intermediate variable
and then re-assigned CMAKE_*_FLAGS before including each subdirectory
was confusing and ugly. This PR is the right way to do it.
This commit is purely refactoring: built binaries unchanged.
|
|
0f990d0 cmake,common: flag for stack trace (redfish)
|
|
4618873 tests: fix a bitflag test typo (moneromooo-monero)
89e68d7 unit_tests: check adding checkpoints succeeded (moneromooo-monero)
121165f db_lmdb: add some missing api call checks (moneromooo-monero)
22d8344 core_rpc_server: fix gray/white peer list mixup (moneromooo-monero)
|
|
By default the flag is enabled whenever libunwind is found on the
system, with the exception of static build on OSX (for which we can't
install the throw hook #932 due to lack of support for --wrap in OSX
ld64 linker).
|
|
|
|
|
|
|
|
|
|
ebf97d7 wallet: new {ex,im}port_key_images commands and RPC calls (moneromooo-monero)
|
|
b3801fa hardfork: fix off by one in rescaning fork state after restart (moneromooo-monero)
|
|
4b3a788 cmake: install throw hook in OSX build too (redfish)
3c92c2f cmake: do not install hook on throw when building tests (redfish)
|
|
This is an attempt to fix build with STATIC=ON on OSX (#932):
[ 95%] Linking CXX executable ../../bin/bitmonerod Undefined symbols for
architecture x86_64: "___real___cxa_throw", referenced from:
___wrap___cxa_throw in libcommon.a(stack_trace.cpp.o) ld: symbol(s) not found
for architecture x86_64
|
|
This fixes build of tests with STATIC=ON, which failed with:
/tmp/cc8lNtqY.ltrans12.ltrans.o: In function
`boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::thread_resource_error>
>::rethrow() const [clone .lto_priv.41]':
cc8lNtqY.ltrans12.o:(.text+0x4e): undefined reference to `__wrap___cxa_throw'
The hook is implemented in libcommon, which is not linked into some of the test
binaries. An alternative solution is to link all tests against libcommon,
but that seems worse because it introduces a false dependency (also,
I tried that and for some of the test binaries the linker still failed to
pick up the symol from libcommon, strangely.)
|
|
This code should die anyway.
|
|
8bed9a4 cmake: wallet: libunbound is not always static (redfish)
|
|
They are used to export a signed set of key images from a wallet
with a private spend key, so an auditor with the matching view key
may see which of those are spent, and which are not.
|
|
It is not clear why libunbound was added to this in the first place,
since it wasn't here before and #915 doesn't seem to introduce any
new dependency on it.
Tested build with STATIC=OFF (with and without libunbound-dev libunbound8
installed) and STATIC=ON, on Ubuntu Trusty, Debian Jessie, and Arch
Linux. For static builds, beware of #926 and #907.
If this hack was introduced to make it build on some other system
(Windows? OS X?), then it will have to be dealt with, but not this way.
|
|
8312887 simplewallet: suggest removing cache when loading fails (moneromooo-monero)
|
|
b89b963 wallet: add unconfirmed incoming txes from the txpool (moneromooo-monero)
|
|
d7597c5 refreshing wallet even if error happened (Ilya Kitaev)
6d32a3d wallet_api: async init, Wallet::connected status, log level (Ilya Kitaev)
193d251 libwallet_api cmake: conditionally creating libwallet_merged2 only for STATIC build (Ilya Kitaev)
10c06dd wallet_api: segfault on refresh fixed (Ilya Kitaev)
9d2cb4f WalletListener functionality (Ilya Kitaev)
d27b883 hack to successfull linking for MSYS2 (Ilya Kitaev)
083380c Transaction fee multiplier aka priority integraged (Ilya Kitaev)
00ed12b Wallet::paymentIdValid (Ilya Kitaev)
|
|
080a606 simplewallet: revert to foreground refresh at startup (moneromooo-monero)
|
|
dca9fe1 cmake: do not pass -Werror when building tests (redfish)
|
|
ca33ce6 include result in the notifications template (Riccardo Spagni)
2a8352d only alert on IRC when the status changes (Riccardo Spagni)
6b6fb7f add IRC notifications to travis (Riccardo Spagni)
|
|
|
|
|
|
61ed40a Tests: fix signed/unsigned comparison in hash-target (anonimal)
|
|
The tests currently issue a warning that
"warning: -fassociative-math disabled; other options take precedence"
The associative math optimization is turned on indirectly by -Ofast.
Apparently, the optimization is forced to be disabled, while compiling
test harnesses generated by Google Test framework.
Unfortunately, there is no -Wno-error=* flag to disable this warning
(see gcc --help=warnings).
An alternative to this patch is to disable the optimization explicitly
with -fno-associative-math, but that seems worse.
Another alternative is to not pass -Ofast for tests build, but we
want the tests to be built with exact same optimization flags as
the code being tested, otherwise the value of the tests is diminished.
Another alternative is to remove -Werror from the entire build, but
it's good to include that flag to preclude people leaving warnings.
A note regarding implementation of not passing -Werror for tests:
I considered filtering out -Werror from CMAKE_{C,CXX}_FLAGS but
that seems to be worse because it's surprizing behavior, to those
reading the code that adds -Werror. It is better to add it for
when it is used and not added otherwise. I also considered relying
on order, adding -Werror after inluding 'tests' subdir, but before
including the other subdirs, but that also seems cryptic to the
reader. So, I settled with the current solution, of explicitly
setting CMAKE_{C,CXX}_FLAGS to different values before including the
respective subdir.
Testing done: compared compiler invocation for non-tests source files
using `make VERBOSE=1` with and without this commit: the only difference
is the position of -Werror. So, this commit doesn't change the binary.
|
|
* References #886
|
|
|
|
Shown in show_transfers simplewallet command, and get_transfers
RPC command, if req.pool is true.
|
|
Background refresh is confusing to users at startup.
|
|
|
|
87b1153 wallet2_api: use uint64_t for amounts (moneromooo-monero)
|
|
48e14ef fix atomic library to only fire off for clang (Riccardo Spagni)
39f7fad fix duplicate clang block in cmake (Riccardo Spagni)
|
|
b249482 Docs: fix 'Development Resources' formatting in README. (anonimal)
|
|
|
|
|
|
|
|
d7b681c remove hf_starting_height db (moneromooo-monero)
|
|
ea44142 change travis badge (Riccardo Spagni)
|
|
|
|
bbba197 Docs: update 'Development Resources' in README. (anonimal)
2feb94b Travis-CI: add build-status badge to README.md (anonimal)
f025622 Travis-CI: remote redundant make release-test. (anonimal)
b332da3 Travis-CI: implement first-draft configuration. (anonimal)
|
|
f07f120 cmake: don't try to link with atomic on Apple (redfish)
19349d7 cmake: ARM: clang: make warning non-fatal: inline asm (redfish)
f3e09f3 cmake: link with -latomic for clang (redfish)
f4b35ae cmake: include -ldl via cmake built-in var (redfish)
fa85cd8 common: stack trace: make clang happy with func ptrs (redfish)
4dce26b cmake: do not pass -stdlib=c++ to clang >=3.7 (redfish)
|
|
014f3a0 Add a daemon RPC version, and make simplewallet check it (moneromooo-monero)
|
|
78cc10f daemon: fix ban seconds being misinterpreted as absolute (moneromooo-monero)
34ecfdb rpc: fix get_bans and set_bans RPC names, they were missing a _ (moneromooo-monero)
|
|
a95a2cb wallet_rpc_server: add payment id from integrated addresses to extra (moneromooo-monero)
|
|
ce6b831 daemonizer: posix: keep parent's working dir and umask (redfish)
|
|
1e89f4f cmake: do not ignore dangerous warnings with -Wno-error (redfish)
|
|
ab25075 cmake: pass -fno-strict-aliasing to fix build with GCC 6.1.1 (redfish)
|
|
89d9f38 wallet: add command and RPC to sign/verify data (moneromooo-monero)
|
|
Signing is done using the spend key, since the view key may
be shared. This could be extended later, to let the user choose
which key (even a per tx key).
simplewallet's sign/verify API uses a file. The RPC uses a
string (simplewallet can't easily do strings since commands
receive a tokenized set of arguments).
|
|
|
|
|
|
STATIC build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It's not really needed, it used to be an optimization for when
that code was not using the db and needed to recalculate things
fast on startup.
|
|
* Branch development was recently removed.
All PR's now go directly to master.
* Also, removed EOL whitespace
|
|
* Currently points to anonimal/bitmonero.
This should be changed to monero-project/bitmonero
once the project signs-up for Travis-CI.
|
|
|
|
|
|
-latomic is necessary with Clang on Linux, but
apparently, on OSX it's not found.
|
|
Clang issues a warning for some inline asm in stack_trace.cpp. This
patch ieaves the warning to be displayed as a reminder to fix
the code.
|
|
otherwise clang build fails with
../cryptonote_core/libcryptonote_core.a(miner.cpp.o): In function
`std::__atomic_base<unsigned long long>::load(std::memory_order) const':
/usr/bin/../lib/gcc/i686-pc-linux-gnu/6.1.1/../../../../include/c++/6.1.1/bits/atomic_base.h:396:
undefined reference to `__atomic_load_8'
This has no effect on the gcc build.
The one strange thing is that test code like
std::atomic<int> x;
int main() { return x; }
compiles and links without errors with clang, without -latomic. This
alone would suggest that this patch is unnecessary, but that is not the
case. It's not clear exactly why, though. The bitmonero code is
including the same header, but it must be doing something more complex
than in this test code snippet that causes the failure at link time
pasted above. In any case, passing -latomic fixes the problem and
seems safe.
.
|
|
This does two things:
1. fixes clang build, which otherwise errors with undefined symbol
'dlsym'.
2. simplifies the cmake script, delegating to cmake to figure
out platform-specific flags for linking against the dl library.
|
|
Tested that it builds with:
gcc 6.1.1, STATIC=OFF,i686
gcc 6.1.1, STATIC=OFF,armv7h
clang 3.8, STATIC=OFF,i686
clang 3.8, STATIC=OFF,armv7h
gcc 6.1.1, STATIC=ON,i686
clang 3.8, STATIC=ON,i686
Also tested that stack trace is generated fine on exception on:
i686, gcc 6.1.1, STATIC=OFF
(didn't bother testing all the other platforms/configs)
This should fix the build problem on OSX (#871, #901), but
I don't have OSX, so I could only test Clang on Linux.
|
|
Tested on Linux (Arch) with clang 3.7 and 3.8 i686 and ARM:
if -stdlib=c++ is passed to clang, then the build errors
out with <string>,<iostrea>,etc. headers not found. Simply
not passing the arg fixes the problem.
**NOTE**: not tested on OSX.
|
|
If the version is different, simplewallet will refuse to use that
daemon, unless --allow-mismatched-daemon-version is used.
|
|
Absolute to relative conversion is already done by the callee.
|
|
|
|
|
|
Keep the working directory (and umask) inherited from
the parent. Otherwise, it's impossible to control
the working directory of the daemon (from systemd, for
example).
Furthermoer, bitmonerod attempts to create logging directories and files
*in current working directory*. This fails due to permission denied and
generates a (caught, nonfatal) exception. Below is the strace with this
patch applied (so, no `chdir("/")`), showing successful opens at `log/`
relative path. Without this patch they fail (sorry, didn't save the
trace).
```
28911 getcwd("/.../bitmonero", 128) = 25
28911 stat64("/var/lib/bitmonero/.bitmonero", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
28911 stat64("/etc/bitmonerod.conf", {st_mode=S_IFREG|0644, st_size=244, ...}) = 0
28911 open("/etc/bitmonerod.conf", O_RDONLY|O_LARGEFILE) = 3
28911 open("/var/log/bitmonero/bitmonero.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 3
28911 stat64("log", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
28911 stat64("log/dbg", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
28911 open("log/dbg/main.log", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 4
```
The reasoning of chdir("/") in order to prevent the daemon from holding
a filesystem in busy state is not compelling at all: the choice of
working directory for the daemon is the user's business not the
daemon's.
|
|
Shorten the list of warnings that are reported, but
which are forced to NOT generate an error, via -Wno-error.
Unwhitelist these: strict-aliasing, sign-compare, type-limits
For example, ignoring strict-aliasing warning caused
lots of wasted time diagnosing Issue #847.
|
|
This patch is a temprorary workaround until aliasing is fixed in the
code (Issue #847).
|
|
a0bf85d wallet2_api: make this build (smatch needs .str() for /=) (moneromooo-monero)
|
|
|