Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
2e336347 unit_tests: fix build after get_output_distribution signature change (moneromooo-monero)
|
|
6f859e43 cryptonote: make sure outPk setup always happens (moneromooo-monero)
3880bf39 cryptonote_protocol_handler.inl: remove span read just now that failed to pass some basic tests (stoffu)
da249fd5 cryptonote_protocol_handler.inl: fix return type mismatches (int vs bool) (stoffu)
e3c68b90 README.md: mention building deps with -fPIC for static builds (moneromooo-monero)
c1886155 unit_tests: fix build after get_output_didstribution signature change (moneromooo-monero)
82b05d50 Adding required library (dependency of boost::this_thread::sleep_for) (Gene Peters)
f9d0827b Fix broken interactive daemon 'limit' commands plus RPC calls (rbrunner7)
53a1962d epee: Drop deprecated Boost.Thread header (Jan Beich)
18c2f6e2 mlog: fix setting no logs (moneromooo-monero)
7346a59c Build: update miniupnp submodule (anonimal)
dad10775 Only log an error if fork version is higher AND is not known. (Thaer Khawaja)
ffeeefde speedup get_output_histogram for all amounts when min_count > 0 (moneromooo-monero)
2dae0f20 wallet2: add missing parameters to get_output_histogram (moneromooo-monero)
5bd7f760 import_multisig_info: fix sanity check crash in detach_blockchain (Mikhail Mitkevichl)
19e01378 Build: remove UPnP definition from snap (anonimal)
6b853980 Build: update CMake and p2p for in-tree miniupnp (anonimal)
859db52f CMake: update new location of in-tree miniupnpc (anonimal)
f21df05c Build: add miniupnp submodule (anonimal)
10685648 Build: remove in-tree miniupnpc (anonimal)
0b88fff3 simplewallet: fix help message of sign_transfer (stoffu)
f82c10dc WalletManagerImpl: reuse existing connection to daemon instead of reconnectivng every time (stoffu)
998c1461 daemon: read config file before reading any other args (stoffu)
f914df84 device: add a one off override keyword where appropriate (moneromooo-monero)
51b511be simplewallet: add version command (moneromooo-monero)
35d1269f daemon: add a version command (moneromooo-monero)
d8584fc8 util: log stack trace on crash (moneromooo-monero)
875c1cab wallet2: increase rpc timeout for get_output_distribution (moneromooo-monero)
70f23217 add top height to get_output_distribution, and cache it for rct (moneromooo-monero)
8c7363fb rpc: add missing perf timer for get_output_distribution (moneromooo-monero)
b5d6c723 wallet2: store subaddress lookahead settings (stoffu)
3367ed86 blockchain_blackball: fix build with CLANG 5 (moneromooo-monero)
94b899db Use 'boost' mutex instead of 'std' mutex (cslashm)
2c274e05 Fix sub-address tx scan. (cslashm)
73951cbd wallet2: request transactions in slices when scanning for known rings (moneromooo-monero)
25fe67e4 rpc: allow getting pruned blocks from gettransactions (moneromooo-monero)
08343aba tx_pool: fix loading with colliding key images (moneromooo-monero)
a9cc88ee common: make this build with unbound 1.4.20 (moneromooo-monero)
24acb66e wallet2: fix misc issues when the ringdb can't be initialized (moneromooo-monero)
0b26c4d5 wallet2: move segregation height to v7 (moneromooo-monero)
eecfb57d wallet: warn if not using the default ring size (moneromooo-monero)
aa5c2e01 simplewallet: warn about key reuse on startup (moneromooo-monero)
1e0958c0 wallet: fix default mixin (4 -> 6) (sneurlax)
0beb94f3 device: fix endianess dependence on subaddress secret key generation (moneromooo-monero)
11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
c77d2bfa Add the possibility to export private view key for fast scan. (cslashm)
100b7bc1 Change mutex lock model to avoid dead lock and ensure locks are always released. (cslashm)
641dfc99 Automatic height setup when creating/restoring hw device. (cslashm)
dac3895a update block hashes for checkpoints.dat (Riccardo Spagni)
b1398fff core: fix use of uninitialised data (moneromooo-monero)
|
|
ede213f6 cryptonote: make sure outPk setup always happens (moneromooo-monero)
|
|
|
|
|
|
2ade8dfb ringct: do not show verification errors with default settings (moneromooo-monero)
|
|
|
|
|
|
3880bf39 cryptonote_protocol_handler.inl: remove span read just now that failed to pass some basic tests (stoffu)
da249fd5 cryptonote_protocol_handler.inl: fix return type mismatches (int vs bool) (stoffu)
|
|
e3c68b90 README.md: mention building deps with -fPIC for static builds (moneromooo-monero)
|
|
bb8c0f62 README.md: mention building deps with -fPIC for static builds (moneromooo-monero)
|
|
16b20229 cryptonote_protocol_handler.inl: remove span read just now that failed to pass some basic tests (stoffu)
409bf2d6 cryptonote_protocol_handler.inl: fix return type mismatches (int vs bool) (stoffu)
|
|
|
|
|
|
pass some basic tests
|
|
|
|
c0e22ebc [RELEASE] Fix broken interactive daemon 'limit' commands plus RPC calls (rbrunner7)
|
|
4b89d877 Adding required library (dependency of boost::this_thread::sleep_for) (Gene Peters)
|
|
76817605 epee: Drop deprecated Boost.Thread header (Jan Beich)
|
|
e2b72da4 mlog: fix setting no logs (moneromooo-monero)
|
|
b1a9e97b slow-hash: fix memory leak for Windows /karbowanec#41 (aivve)
|
|
80dc5d21 Only log an error if fork version is higher AND is not known. (Thaer Khawaja)
|
|
d003f07c speedup get_output_histogram for all amounts when min_count > 0 (moneromooo-monero)
df9d59ca wallet2: add missing parameters to get_output_histogram (moneromooo-monero)
|
|
9670c917 import_multisig_info: fix sanity check crash in detach_blockchain (Mikhail Mitkevichl)
|
|
c6774215 Build: remove UPnP definition from snap (anonimal)
1e20d705 Build: update CMake and p2p for in-tree miniupnp (anonimal)
9e1f8bfa CMake: update new location of in-tree miniupnpc (anonimal)
c7b66d3d Build: add miniupnp submodule (anonimal)
e9622166 Build: remove in-tree miniupnpc (anonimal)
|
|
5ef4bf05 simplewallet: fix help message of sign_transfer (stoffu)
|
|
e561a0c3 WalletManagerImpl: reuse existing connection to daemon instead of reconnectivng every time (stoffu)
|
|
0299d36e daemon: read config file before reading any other args (stoffu)
|
|
26dc764a device: add a one off override keyword where appropriate (moneromooo-monero)
|
|
fe427170 simplewallet: add version command (moneromooo-monero)
41b95ad4 daemon: add a version command (moneromooo-monero)
|
|
9dc67af1 util: log stack trace on crash (moneromooo-monero)
|
|
7d0505c8 wallet2: increase rpc timeout for get_output_distribution (moneromooo-monero)
96370488 add top height to get_output_distribution, and cache it for rct (moneromooo-monero)
bc4d53be rpc: add missing perf timer for get_output_distribution (moneromooo-monero)
|
|
c1886155 unit_tests: fix build after get_output_didstribution signature change (moneromooo-monero)
|
|
|
|
82b05d50 Adding required library (dependency of boost::this_thread::sleep_for) (Gene Peters)
|
|
f9d0827b Fix broken interactive daemon 'limit' commands plus RPC calls (rbrunner7)
|
|
53a1962d epee: Drop deprecated Boost.Thread header (Jan Beich)
|
|
18c2f6e2 mlog: fix setting no logs (moneromooo-monero)
|
|
b1a9e97b slow-hash: fix memory leak for Windows /karbowanec#41 (aivve)
|
|
7346a59c Build: update miniupnp submodule (anonimal)
|
|
dad10775 Only log an error if fork version is higher AND is not known. (Thaer Khawaja)
|
|
ffeeefde speedup get_output_histogram for all amounts when min_count > 0 (moneromooo-monero)
2dae0f20 wallet2: add missing parameters to get_output_histogram (moneromooo-monero)
|
|
5bd7f760 import_multisig_info: fix sanity check crash in detach_blockchain (Mikhail Mitkevichl)
|
|
pass some basic tests
|
|
|
|
|
|
|
|
|
|
In file included from src/cryptonote_basic/hardfork.cpp:33:
In file included from src/blockchain_db/blockchain_db.h:42:
In file included from src/cryptonote_basic/hardfork.h:31:
contrib/epee/include/syncobj.h:37:10: fatal error: 'boost/thread/v2/thread.hpp' file not found
#include <boost/thread/v2/thread.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/rpc/daemon_handler.cpp:29:
In file included from src/rpc/daemon_handler.h:36:
In file included from src/p2p/net_node.h:41:
In file included from contrib/epee/include/net/levin_server_cp2.h:32:
In file included from contrib/epee/include/net/abstract_tcp_server2.h:324:
contrib/epee/include/net/abstract_tcp_server2.inl:44:10: fatal error: 'boost/thread/v2/thread.hpp' file not found
#include <boost/thread/v2/thread.hpp> // TODO
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
contrib/epee/include/math_helper.h: In member function 'bool epee::math_helper::average<val, default_base>::set_base()':
contrib/epee/include/syncobj.h:227:56: error: 'sleep_for' is not a member of 'boost::this_thread'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^
contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^~~~~~~~~
contrib/epee/include/syncobj.h:227:56: note: suggested alternative: 'sleep'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^
contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^~~~~~~~~
|
|
|
|
|
|
|
|
|
|
f21df05 was never supposed to be merged into the master branch.
fluffypony merged #3670 before #3668 was rebased and resolved.
Note: the cherry-picked commit hashes are now invalid because #3670
was merged before #3668 was rebased with the updated repo location.
|
|
|
|
|
|
|
|
Though we only need miniupnpc, rebasing and maintaining a miniupnpc-only
repo is unrealistic.
|
|
|
|
This skips the vast majority of "dust" output amounts with just
one instance on the chain. Clocks in at 0.15% of the original
time on testnet.
|
|
|
|
|
|
|
|
This skips the vast majority of "dust" output amounts with just
one instance on the chain. Clocks in at 0.15% of the original
time on testnet.
|
|
|
|
|
|
19e01378 Build: remove UPnP definition from snap (anonimal)
6b853980 Build: update CMake and p2p for in-tree miniupnp (anonimal)
859db52f CMake: update new location of in-tree miniupnpc (anonimal)
f21df05c Build: add miniupnp submodule (anonimal)
10685648 Build: remove in-tree miniupnpc (anonimal)
|
|
0b88fff3 simplewallet: fix help message of sign_transfer (stoffu)
|
|
f82c10dc WalletManagerImpl: reuse existing connection to daemon instead of reconnectivng every time (stoffu)
|
|
998c1461 daemon: read config file before reading any other args (stoffu)
|
|
f914df84 device: add a one off override keyword where appropriate (moneromooo-monero)
|
|
51b511be simplewallet: add version command (moneromooo-monero)
35d1269f daemon: add a version command (moneromooo-monero)
|
|
d8584fc8 util: log stack trace on crash (moneromooo-monero)
|
|
875c1cab wallet2: increase rpc timeout for get_output_distribution (moneromooo-monero)
70f23217 add top height to get_output_distribution, and cache it for rct (moneromooo-monero)
8c7363fb rpc: add missing perf timer for get_output_distribution (moneromooo-monero)
|
|
(cherry picked from commit 5ef6dcb1c4b08497533a20d0addcf1b09db51166)
|
|
(cherry picked from commit a7366b5feeffaeb65b217b2d6f138e0ab1c90192)
|
|
|
|
This should cache the vast majority of calls for long running wallets
|
|
|
|
(cherry picked from commit b16a282f97d8f6c967e8a0b1ecfd75110f095182)
|
|
Though we only need miniupnpc, rebasing and maintaining a miniupnpc-only
repo is unrealistic.
(cherry picked from commit 3c40eb768c292a4dec79d7dffd6685fd37940a2a)
|
|
Will be replaced by a submodule.
(cherry picked from commit e962216678e699a8fc7eb271a8a515f5ca65f7cb)
|
|
In file included from src/cryptonote_basic/hardfork.cpp:33:
In file included from src/blockchain_db/blockchain_db.h:42:
In file included from src/cryptonote_basic/hardfork.h:31:
contrib/epee/include/syncobj.h:37:10: fatal error: 'boost/thread/v2/thread.hpp' file not found
#include <boost/thread/v2/thread.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/rpc/daemon_handler.cpp:29:
In file included from src/rpc/daemon_handler.h:36:
In file included from src/p2p/net_node.h:41:
In file included from contrib/epee/include/net/levin_server_cp2.h:32:
In file included from contrib/epee/include/net/abstract_tcp_server2.h:324:
contrib/epee/include/net/abstract_tcp_server2.inl:44:10: fatal error: 'boost/thread/v2/thread.hpp' file not found
#include <boost/thread/v2/thread.hpp> // TODO
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
contrib/epee/include/math_helper.h: In member function 'bool epee::math_helper::average<val, default_base>::set_base()':
contrib/epee/include/syncobj.h:227:56: error: 'sleep_for' is not a member of 'boost::this_thread'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^
contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^~~~~~~~~
contrib/epee/include/syncobj.h:227:56: note: suggested alternative: 'sleep'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^
contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL'
#define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
^~~~~~~~~
|
|
Will be replaced by a submodule.
|
|
|
|
reconnectivng every time
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This should cache the vast majority of calls for long running wallets
|
|
|
|
|
|
|
|
b5d6c723 wallet2: store subaddress lookahead settings (stoffu)
|
|
|
|
3edef51d blockchain_blackball: fix build with CLANG 5 (moneromooo-monero)
|
|
3367ed86 blockchain_blackball: fix build with CLANG 5 (moneromooo-monero)
|
|
It doesn't like the explicit NULL dereference (which is fine, honest)
|
|
It doesn't like the explicit NULL dereference (which is fine, honest)
|
|
94b899db Use 'boost' mutex instead of 'std' mutex (cslashm)
2c274e05 Fix sub-address tx scan. (cslashm)
|
|
|
|
When additional keys was needed, the TX scan failed because the
derivation data was always recomputed with the main tx_key and not
the corresponding additional one.
Moreover this patch avoid perf decreasing when not using HW device.
|
|
73951cbd wallet2: request transactions in slices when scanning for known rings (moneromooo-monero)
25fe67e4 rpc: allow getting pruned blocks from gettransactions (moneromooo-monero)
|
|
08343aba tx_pool: fix loading with colliding key images (moneromooo-monero)
|
|
a9cc88ee common: make this build with unbound 1.4.20 (moneromooo-monero)
|
|
24acb66e wallet2: fix misc issues when the ringdb can't be initialized (moneromooo-monero)
|
|
0b26c4d5 wallet2: move segregation height to v7 (moneromooo-monero)
|
|
eecfb57d wallet: warn if not using the default ring size (moneromooo-monero)
|
|
aa5c2e01 simplewallet: warn about key reuse on startup (moneromooo-monero)
|
|
eb59f7c5 cryptonote_tx_util: make destinations properly shuffled (stoffu)
|
|
1e0958c0 wallet: fix default mixin (4 -> 6) (sneurlax)
|
|
58f66073 wallet2: request transactions in slices when scanning for known rings (moneromooo-monero)
2897c269 rpc: allow getting pruned blocks from gettransactions (moneromooo-monero)
|
|
5eeeec39 wallet2: store subaddress lookahead settings (stoffu)
|
|
178c11f4 tx_pool: fix loading with colliding key images (moneromooo-monero)
|
|
91a61fea common: make this build with unbound 1.4.20 (moneromooo-monero)
|
|
cdf9ecfd wallet2: fix misc issues when the ringdb can't be initialized (moneromooo-monero)
|
|
d400b4d3 wallet2: move segregation height to v7 (moneromooo-monero)
|
|
4c6ff21c wallet: warn if not using the default ring size (moneromooo-monero)
|
|
2012cbe9 simplewallet: warn about key reuse on startup (moneromooo-monero)
|
|
eb59f7c5 cryptonote_tx_util: make destinations properly shuffled (stoffu)
|
|
89250054 wallet: fix default mixin (4 -> 6) (sneurlax)
|
|
|
|
8daba22f Use 'boost' mutex instead of 'std' mutex (cslashm)
d481410b Fix sub-address tx scan. (cslashm)
|
|
0beb94f3 device: fix endianess dependence on subaddress secret key generation (moneromooo-monero)
|
|
11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
|
|
c77d2bfa Add the possibility to export private view key for fast scan. (cslashm)
100b7bc1 Change mutex lock model to avoid dead lock and ensure locks are always released. (cslashm)
641dfc99 Automatic height setup when creating/restoring hw device. (cslashm)
|
|
dac3895a update block hashes for checkpoints.dat (Riccardo Spagni)
|
|
1834127c rpc: make get_output_distribution a non-restricted RPC (moneromooo-monero)
|
|
eaa8bfe7 wallet2: set from_height of GET_OUTPUT_DISTRIBUTION correctly The previous expression (stoffu)
0a619f78 wallet2: enable the mitigation only after the fork height (stoffu)
|
|
5f664793 p2p: correct port number for seed nodes (stoffu)
|
|
0098ed33 wallet2: fix for loading settings of key reuse mitigation (stoffu)
|
|
1d79c14d Revert bb19386b (Howard Chu)
522be96f Fix generating version.cpp (Howard Chu)
|
|
e520cc06 change wording in hard fork description section (Gingeropolous)
|
|
57300491 wallet: catch exceptions dealing with ringdb and warn (moneromooo-monero)
|
|
A key image may be present more than once if all but one of the
txes spending that key image are coming from blocks. When loading
a txpool from storage, we must load the one that's not from a
block first to avoid rejection
|
|
A key image may be present more than once if all but one of the
txes spending that key image are coming from blocks. When loading
a txpool from storage, we must load the one that's not from a
block first to avoid rejection
|
|
|
|
Common on currently used distros
|
|
Common on currently used distros
|
|
|
|
When additional keys was needed, the TX scan failed because the
derivation data was always recomputed with the main tx_key and not
the corresponding additional one.
Moreover this patch avoid perf decreasing when not using HW device.
|
|
|
|
This avoid massive memory consumption for huge wallets
|
|
and get them pruned in find_and_save_rings, since it does not need
the pruned data in the first place.
Also set decode_to_json to false where missing, we don't need this
either.
|
|
This avoid massive memory consumption for huge wallets
|
|
and get them pruned in find_and_save_rings, since it does not need
the pruned data in the first place.
Also set decode_to_json to false where missing, we don't need this
either.
|
|
reconnectivng every time
|
|
|
|
since people seem to really want to use things the wrong way.
|
|
since people seem to really want to use things the wrong way.
|
|
On client startup the device asks for authorization to export the private view key.
If user agree, the client hold the private view key allowing a fast blockchain scan.
If the user does not agree, the blockchain scan is fully done via the device.
|
|
Additional cosmetic fixes:
move 'name' as protected
remove unnecessary local var
Fix debug log
|
|
When creating/restoring wallet, if --restore-height option is not used the current estimate
height is used for starting the scan. In other words it is assume we are creating a new account.
|
|
|
|
|
|
|
|
|
|
|
|
a71e4dab device: fix endianess dependence on subaddress secret key generation (moneromooo-monero)
|
|
8ff2cc75 fix lambda compile error on openbsd (moneromooo-monero)
|
|
0f3ff8ce Add the possibility to export private view key for fast scan. (cslashm)
da5de484 Change mutex lock model to avoid dead lock and ensure locks are always released. (cslashm)
4c0545cc Automatic height setup when creating/restoring hw device. (cslashm)
|
|
|
|
|
|
On client startup the device asks for authorization to export the private view key.
If user agree, the client hold the private view key allowing a fast blockchain scan.
If the user does not agree, the blockchain scan is fully done via the device.
|
|
Additional cosmetic fixes:
move 'name' as protected
remove unnecessary local var
Fix debug log
|
|
When creating/restoring wallet, if --restore-height option is not used the current estimate
height is used for starting the scan. In other words it is assume we are creating a new account.
|
|
We now force little endianness
|
|
We now force little endianness
|
|
|
|
|
|
32bd639b update block hashes for checkpoints.dat (Riccardo Spagni)
|
|
|
|
|
|
1834127c rpc: make get_output_distribution a non-restricted RPC (moneromooo-monero)
|
|
so that those nodes can still be used for sending transactions
|
|
eaa8bfe7 wallet2: set from_height of GET_OUTPUT_DISTRIBUTION correctly The previous expression (stoffu)
0a619f78 wallet2: enable the mitigation only after the fork height (stoffu)
|
|
5f664793 p2p: correct port number for seed nodes (stoffu)
|
|
0098ed33 wallet2: fix for loading settings of key reuse mitigation (stoffu)
|
|
1d79c14d Revert bb19386b (Howard Chu)
522be96f Fix generating version.cpp (Howard Chu)
|
|
e520cc06 change wording in hard fork description section (Gingeropolous)
|
|
57300491 wallet: catch exceptions dealing with ringdb and warn (moneromooo-monero)
|
|
The previous expression
req_t.from_height = X ? Y >= Z : 0;
forces the parameter to take the value of either 0 or 1.
|
|
|
|
|
|
|
|
The requirement for CMake 3.2.0 was introduced erroneously
in commit e29282d2081709e126b1fb67f49e9d4a666794da and is no
longer present
|
|
Also removes BYPRODUCT dependency on CMake 3.2
|
|
changed wording in hard fork section because reasons. Added prospective slot of next hardfork to communicate that more are coming because it never stops.
its everywhere and all at the same time.
|
|
|
|
d4d1afd6 core: fix use of uninitialised data (moneromooo-monero)
|
|
bb07d8d7 README: add instructions for cloning / submodules (anonimal)
|
|
b1398fff core: fix use of uninitialised data (moneromooo-monero)
|
|
bb07d8d7 README: add instructions for cloning / submodules (anonimal)
|