11694 Commits

Author SHA1 Message Date
DiosDelRayo
fa52496385
Merge branch 'monerogui-otsur' of github.com:DiosDelRayo/monero into monerogui-otsur 2024-11-21 13:49:47 -06:00
DiosDelRayo
9e42096333
Merge remote-tracking branch 'origin' into monerogui-otsur 2024-11-21 13:36:35 -06:00
DiosDelRayo
b8ad399360
Merge branch 'monero-project:master' into monerogui-otsur 2024-11-21 13:34:43 -06:00
DiosDelRayo
c399de283f
https://github.com/monero-project/monero/pull/9492#pullrequestreview-2358265221 2024-11-21 13:26:39 -06:00
DiosDelRayo
bc76da9a93
https://github.com/monero-project/monero/pull/9492#pullrequestreview-2358265221 2024-11-20 10:03:51 -06:00
DiosDelRayo
744bf8d9e1
https://github.com/monero-project/monero/pull/9492#pullrequestreview-2358265221 2024-11-20 09:07:21 -06:00
DiosDelRayo
23d893473e
https://github.com/monero-project/monero/pull/9492#pullrequestreview-2358265221 2024-11-20 08:47:52 -06:00
luigi1111
893916ad09
Merge pull request #9435
89ad8ac epee: string_tools: keep full path in cut_off_extension (tobtoht)
c51ca53 epee: string_tools: remove dot from get_extension (tobtoht)
2024-10-14 10:17:10 -04:00
luigi1111
7df0d9bb8f
Merge pull request #9499
170844b cmake: boost: fix header-only library search, bump minimum (tobtoht)
2024-10-14 10:15:38 -04:00
tobtoht
170844bc59
cmake: boost: fix header-only library search, bump minimum 2024-10-02 23:13:03 +02:00
luigi1111
9866a0e902
Merge pull request #9480
9c7e6ab ci: fix windows msys2 build (tobtoht)
2024-10-01 16:25:12 -04:00
luigi1111
fabbde3077
Merge pull request #9450
ed955bf build: fix build with Boost 1.85 and remove instances of viewkey logging (jeffro256)
2024-10-01 15:28:36 -04:00
DiosDelRayo
2bc362d9e6
Modifications to enable Offline Signing in monero-gui and possible other projects via UR or other mediums of exchange.
Added the following signatures in the mention files:

       wallet/wallet2.h
       +    std::string export_key_images_string(bool all = false) const;
       +    uint64_t import_key_images_string(const std::string &data, uint64_t &spent, uint64_t &unspent);
       M    bool wallet2::export_key_images(const std::string &filename, bool all) const

       wallet/api/pending_transaction.h
       +    std::string commit_string() override;

       wallet/api/unsigned_transaction.h
       +    std::string signAsString() override;

       wallet/api/wallet.h:
       +    bool submitTransactionFromString(const std::string &fileName) override;
       +    virtual UnsignedTransaction * loadUnsignedTxFromString(const std::string &unsigned_filename) override;
       +    std::string exportKeyImagesAsString(bool all = false) override;
       +    bool importKeyImagesFromString(const std::string &data) override;
       +    std::string exportOutputsAsString(bool all = false) override;
       +    bool importOutputsFromString(const std::string &data) override;

       wallet/api/wallet2_api.h
       +    virtual std::string commit_string() = 0;
       +    virtual std::string signAsString() = 0;
       +    virtual UnsignedTransaction * loadUnsignedTxFromString(const std::string &unsigned_filename) = 0;
       +    virtual bool submitTransactionFromString(const std::string &fileName) = 0;
       +    virtual bool importKeyImagesFromString(const std::string &data) = 0;
       +    virtual std::string exportOutputsAsString(bool all = false) = 0;
       +    virtual bool importOutputsFromString(const std::string &data) = 0;
       +    uint64_t import_key_images_string(const std::string &data, uint64_t &spent, uint64_t &unspent);

       And the implementations in:

       wallet/wallet2.cpp
       wallet/api/pending_transaction.cpp
       wallet/api/unsigned_transaction.cpp
       wallet/api/wallet.cpp

       The method `bool wallet2::export_key_images(const std::string &filename, bool all) const` is modified to
       use `std::string export_key_images_string(bool all = false) const;` to get the string to write to the file.
       IMO that would be the perfect way to do it everywhere, but in the other methods it would require more modifications, so the other I duplicated and removed the part writing to the file and return instead a std::string, or
       use a std::string for the actual payload instead of a file path.

       One thing to mention is I remove in one or two log messages the filename, and the other is in `export_key_images` probably(almost sure) is now the performance messed up.

       This modifications was done to get all the necessary data for offline signing via UR or any other channel not
       using files as medium. IMO it had been better to not implement the filehandling direct in wallet2 or in the wallet api but rather in monero-wallet-cli and monero-gui itself, but it is like it is.
2024-09-27 01:46:32 -06:00
DiosDelRayo
84f402b47a
Modifications to enable Offline Signing in monero-gui and possible other projects via UR or other mediums of
exchange.

       Added the following signatures in the mention files:

       wallet/wallet2.h
       +    std::string export_key_images_string(bool all = false) const;
       +    uint64_t import_key_images_string(const std::string &data, uint64_t &spent, uint64_t &unspent);
       M    bool wallet2::export_key_images(const std::string &filename, bool all) const

       wallet/api/pending_transaction.h
       +    std::string commit_string() override;

       wallet/api/unsigned_transaction.h
       +    std::string signAsString() override;

       wallet/api/wallet.h:
       +    bool submitTransactionFromString(const std::string &fileName) override;
       +    virtual UnsignedTransaction * loadUnsignedTxFromString(const std::string &unsigned_filename) override;
       +    std::string exportKeyImagesAsString(bool all = false) override;
       +    bool importKeyImagesFromString(const std::string &data) override;
       +    std::string exportOutputsAsString(bool all = false) override;
       +    bool importOutputsFromString(const std::string &data) override;

       wallet/api/wallet2_api.h
       +    virtual std::string commit_string() = 0;
       +    virtual std::string signAsString() = 0;
       +    virtual UnsignedTransaction * loadUnsignedTxFromString(const std::string &unsigned_filename) = 0;
       +    virtual bool submitTransactionFromString(const std::string &fileName) = 0;
       +    virtual bool importKeyImagesFromString(const std::string &data) = 0;
       +    virtual std::string exportOutputsAsString(bool all = false) = 0;
       +    virtual bool importOutputsFromString(const std::string &data) = 0;
       +    uint64_t import_key_images_string(const std::string &data, uint64_t &spent, uint64_t &unspent);

       And the implementations in:

       wallet/wallet2.cpp
       wallet/api/pending_transaction.cpp
       wallet/api/unsigned_transaction.cpp
       wallet/api/wallet.cpp

       The method `bool wallet2::export_key_images(const std::string &filename, bool all) const` is modified to
       use `std::string export_key_images_string(bool all = false) const;` to get the string to write to the file.
       IMO that would be the perfect way to do it everywhere, but in the other methods it would require more modifications, so the other I duplicated and removed the part writing to the file and return instead a std::string, or
       use a std::string for the actual payload instead of a file path.

       One thing to mention is I remove in one or two log messages the filename, and the other is in `export_key_images` probably(almost sure) is now the performance messed up.

       This modifications was done to get all the necessary data for offline signing via UR or any other channel not
       using files as medium. IMO it had been better to not implement the filehandling direct in wallet2 or in the wallet api but rather in monero-wallet-cli and monero-gui itself, but it is like it is.
2024-09-27 01:29:05 -06:00
tobtoht
9c7e6ab04d
ci: fix windows msys2 build 2024-09-13 15:42:20 +02:00
jeffro256
ed955bf751
build: fix build with Boost 1.85 and remove instances of viewkey logging
1. Use `std::is_standard_layout` and `std::is_trivially_copyable` instead of `std::is_pod` for KV byte-wise serialization, which fixes compile issue for Boost UUIDs
2. Use `std::has_unique_object_representations` instead of `alignof(T) == 1` for epee byte spans and epee hex functions
3. Removed reimplementation of `std::hash` for `boost::uuids::uuid
4. Removed `<<` operator overload for `crypto::secret_key`
5. Removed instances in code where private view key was dumped to the log in plaintext
2024-09-06 11:46:22 -05:00
who asks?
25b09501e3 remove whitespace 2024-08-20 23:32:13 -06:00
who asks?
e2fe45d480 manual merge 2024-08-20 23:29:01 -06:00
who asks?
5e7c234462 .gitignore 2024-08-20 22:16:05 -06:00
luigi1111
a1dc85c537
Merge pull request #9416
ac0af73 rpc: add cumul weight field to block template resp (jeffro256)
2024-08-14 14:19:03 -04:00
luigi1111
65cc1f133b
Merge pull request #9287
59cddbb serialization: support passing extra args to fields in DSL (jeffro256) b2c59c4 common: add va_args.h (jeffro256)
2024-08-14 14:17:56 -04:00
tobtoht
89ad8ac8b1
epee: string_tools: keep full path in cut_off_extension 2024-08-14 19:51:12 +02:00
tobtoht
c51ca53daa
epee: string_tools: remove dot from get_extension
Fixes a regression introduced in #9254. Previously it did not
include the dot.
2024-08-14 16:59:09 +02:00
jeffro256
59cddbb9ca
serialization: support passing extra args to fields in DSL
This PR is upstreaming changes in the Seraphis lib here: https://github.com/UkoeHB/monero/pull/39. The changes to the serialization header allow clean passing
of extra arguments to field serialization in the DSL. This is used mainly to pass implied sizes of containers during deserialization to make the format more
compact. For example, if my object has two containers A & B which must be the same size, I can serialize only the size of container A. Then, during
deserialization, when I deserialize A, I can then use A's size to deserialize B.

Depends on #9286.
2024-08-13 12:05:24 -05:00
jeffro256
b2c59c498c
common: add va_args.h
This PR is upstreaming changes in the Seraphis lib here: https://github.com/UkoeHB/monero/pull/39. This header adds a macro `VA_ARGS_COMMAPREFIX`
which, when passed `__VA_ARGS__`, expands to `, __VA_ARGS__` unless the length of `__VA_ARGS__` is 0, in which case it expands to nothing. This
macro is useful for passing/declaring optional function arguments.
2024-08-13 12:02:45 -05:00
luigi1111
0db9e74223
Merge pull request #9429
bd2b226 device: add ledger flex support (tobtoht)
2024-08-13 12:29:47 -04:00
luigi1111
28788bc031
Merge pull request #9425
fc0a4b4 Make wallet2::estimate_fee static (Lee Clagett)
2024-08-13 12:18:24 -04:00
luigi1111
4bb00420cc
Merge pull request #9423
aaeffb7 rpc: remove COMMAND_RPC_FAST_EXIT (hinto.janai)
2024-08-13 12:17:46 -04:00
luigi1111
fdc238ef59
Merge pull request #9421
bf74f89 monerod.service: use network-online.target Wait for network to be online before starting (Jared Monger)
2024-08-13 12:17:03 -04:00
luigi1111
dad4357f7a
Merge pull request #9414
3216165 src: update checkpoints to match v0.18.3.4 (again) (selsta)
2024-08-13 12:16:29 -04:00
luigi1111
93d6e0964e
Merge pull request #9384
88afcdb Fix ZMQ DaemonInfo: (Lee *!* Clagett)
2024-08-13 12:15:28 -04:00
luigi1111
1d4030937e
Merge pull request #9357
802d643 Update depends.yml (preland)
2024-08-13 12:14:30 -04:00
tobtoht
bd2b226572
device: add ledger flex support
See: bd1b09970f/libs/ledgerjs/packages/devices/src/index.ts (L111)
2024-08-09 10:31:16 +02:00
Lee Clagett
fc0a4b4b04 Make wallet2::estimate_fee static 2024-08-07 13:47:31 -04:00
hinto.janai
aaeffb7c93
rpc: remove COMMAND_RPC_FAST_EXIT 2024-08-05 20:21:29 -04:00
Jared Monger
bf74f89ea6
monerod.service: use network-online.target
Wait for network to be online before starting
2024-08-04 05:52:59 -05:00
jeffro256
ac0af73222
rpc: add cumul weight field to block template resp
Resolves #9415
2024-08-01 01:03:41 -05:00
selsta
3216165822
src: update checkpoints to match v0.18.3.4 (again) 2024-07-31 18:14:23 +02:00
who asks?
75c14c8b45 final modifications to adding endpoints import_encrypted_key_images and export_encrypted_key_images 2024-07-18 21:18:56 -06:00
who asks?
c5822d77ce more debug code 2024-07-18 19:02:08 -06:00
who asks?
26913952a6 more debug code 2024-07-18 18:38:54 -06:00
who asks?
67e634e734 more debug code 2024-07-18 18:35:15 -06:00
who asks?
5722f42423 change back and add debug code 2024-07-18 17:51:10 -06:00
who asks?
d2e3cff9f5 change to hex_to_pod 2024-07-18 17:28:04 -06:00
who asks?
9b6499ccaf fix / 2024-07-18 15:50:35 -06:00
who asks?
86ba8e2776 fix / 2024-07-18 15:48:20 -06:00
who asks?
54dab2e121 add magic 2024-07-18 15:36:57 -06:00
who asks?
418adb7857 add endpoints: export_encrypted_key_images and import_encrypted_key_images 2024-07-17 20:09:55 -06:00
luigi1111
caa62bc9ea
Merge pull request #9392
b894042 epee: fix mlog filename compare bug. (0xFFFC0000)
2024-07-16 19:02:24 -04:00
luigi1111
3b53db47cf
Merge pull request #9386
1d024f0 chore: fix some comments (haouvw)
2024-07-16 19:01:09 -04:00