Commit Graph

131 Commits

Author SHA1 Message Date
Denis Angell
6636e3b6fd Add RPC Tests (#295)
Co-authored-by: RichardAH <richard.holland@starstone.co.nz>
2024-04-18 18:22:46 +10:00
Denis Angell
75aba531d6 Amendment: featureRemit (#278)
* Remit Amendment

Co-authored-by: Denis Angell <dangell@transia.co>

Co-authored-by: Richard Holland <richard.holland@starstone.co.nz>
2024-03-11 09:29:39 +11:00
Denis Angell
27f43ba9ee TSH Tests (#222) 2023-12-03 10:13:05 +01:00
Denis Angell
d2c45bf560 Refactor Testcases (#219)
* Refactor Testcases (#216)

* remove unused function

* add offer id tests

* add escrow id tests

* clang-format

* fix offer

* fix escrow

* fix offer test
2023-11-24 11:41:16 +01:00
RichardAH
c917977eb0 wildcard network (id=65535) ignores signature verification (#201)
* wildcard network (id=65535) ignores signature verification

* move isWildcardNetwork deeper to mimick normal signature checking in multisig

* again

* add wildcard test

* Update Transactor.cpp

* clang-format

* fix UNLReport

* move free pass

* update test for multisign

---------

Co-authored-by: Denis Angell <dangell@transia.co>
2023-11-21 18:47:08 +01:00
Denis Angell
91f9e424a3 Server Definitions Cleanup (#174)
* update server-definitions + test

* Update ServerDefinitions.cpp

* clang-format
2023-11-06 11:01:37 +01:00
Denis Angell
797681f33b UNL Report Tests (Update) (#121)
* unl report tests

* remove unused test

* fix Cmake

* remove logs
2023-09-28 19:25:12 +02:00
Denis Angell
6102b4ba2e genesis mint test structure 2023-09-28 09:12:06 +00:00
Denis Angell
f4e738ac64 claim reward tests (#105) 2023-09-23 11:17:37 +02:00
Denis Angell
89df87dec8 UNL Report tests (#100)
* Update Change.cpp

* add UNLReport Tests

* remove comments
2023-09-19 11:25:41 +02:00
Denis Angell
fb44359988 add invoke tests 2023-09-14 11:00:16 +02:00
Richard Holland
11b9a69f72 add optional ACL to build 2023-08-05 09:44:34 +00:00
Denis Angell
0c4441ac36 remove acl and fix import test cases (json) 2023-08-01 19:56:23 +02:00
RichardAH
0454beaf76 Merge branch 'dev' into import-qc 2023-08-01 13:21:34 +02:00
Richard Holland
264f25c2a6 change to boost::filesystem to support older compilers 2023-08-01 07:48:11 +00:00
Richard Holland
f89bd966ec refactor XahauGenesis slightly, start test cases 2023-07-18 13:33:44 +00:00
RichardAH
b64650af71 Merge pull request #70 from Xahau/governance_hook_l2
Governance hook l2
2023-06-26 15:10:46 +02:00
Denis Angell
f42d9124df setup import test 2023-06-15 23:01:09 +00:00
Richard Holland
1ae08afb02 genesis mint working 2023-06-05 12:08:59 +00:00
RichardAH
131bd9f4b3 ttImport (#65)
Add support for Burn2Mint and key import from original XRPL network in new txn type: ttIMPORT. Needs further testing.
2023-05-22 15:06:05 +02:00
Denis Angell
dfc95ec291 Sync CTID (#53)
* ctid tests
2023-04-06 17:01:12 +00:00
Richard Holland
311d0b8bf1 Revert "Use the Conan package manager (#4367)"
This reverts commit c3a9f3dbf3.
2023-04-06 09:46:00 +00:00
Richard Holland
a5ca117ff6 Merge remote-tracking branch 'ripple/develop' into dev 2023-04-06 09:36:24 +00:00
John Freeman
d7725837f5 build: add interface library libxrpl: (#4449)
Make it easy for projects to depend on libxrpl by adding an `ALIAS`
target named `xrpl::libxrpl` for projects to link.

The name was chosen because:

* The current library target is named `xrpl_core`. There is no other
  "non-core" library target against which we need to distinguish the
  "core" library. We only export one library target, and it should just
  be named after the project to keep things simple and predictable.
* Underscores in target or library names are generally discouraged.
* Every target exported in CMake should be prefixed with the project
  name.

By adding an `ALIAS` target, existing consumers who use the `xrpl_core`
target will not be affected.

* In the future, there can be a migration plan to make `xrpl_core` the
  `ALIAS` target (and `libxrpl` the "real" target, which will affect the
  filename of the compiled binary), and eventually remove it entirely.

Also:

* Fix the Conan recipe so that consumers using Conan import a target
  named `xrpl::libxrpl`. This way, every consumer can use the same
  instructions.
* Document the two easiest methods to depend on libxrpl. Both have been
  tested.
* See #4443.
2023-03-22 17:21:03 -07:00
Nik Bougalis
150d4a47e4 refactor: optimize NodeStore object conversion: (#4353)
When writing objects to the NodeStore, we need to convert them from
the in-memory format to the binary format used by the node store.

The conversion is handled by the `EncodedBlob` class, which is only
instantiated on the stack. Coupled with the fact that most objects
are under 1024 bytes in size, this presents an opportunity to elide
a memory allocation in a critical path.

This commit also simplifies the interface of `EncodedBlob` and
eliminates a subtle corner case that could result in dangling
pointers.

These changes are not expected to cause a significant reduction in
memory usage. The change avoids the use of a `std::shared_ptr` when
unnecessary and tries to use stack-based memory allocation instead
of the heap whenever possible.

This is a net gain both in terms of memory usage (lower
fragmentation) and performance (less work to do at runtime).
2023-03-16 15:00:07 -07:00
Howard Hinnant
0ee63b7c7b AMM Add Number class and associated algorithms 2023-02-07 15:43:28 -08:00
Richard Holland
14dee2d976 Merge branch 'icv2-super' into dev 2023-02-06 10:35:57 +00:00
Denis Angell
9effcc3924 add testfile and cmake 2023-02-06 09:05:26 +00:00
Richard Holland
fbafb72262 first version of URIToken amendment 2023-01-27 11:17:43 +00:00
Scott Schurr
b19287c6d0 Add a unit test for invalid memos (#4287) 2023-01-23 22:04:35 -05:00
Richard Holland
8422947375 Merge branch 'icv2' into dev 2023-01-13 11:13:50 +00:00
Scott Schurr
61d8c7a85b Add a unit test for invalid memos (#4287) 2023-01-04 15:45:19 -08:00
Richard Holland
39ecdb6795 Add NetworkID field to Transaction common fields, enforced when network id > 1024 2022-12-19 16:48:40 +00:00
John Freeman
c3a9f3dbf3 Use the Conan package manager (#4367)
Introduces a conanfile.py (and a Conan recipe for RocksDB) to enable building the package with Conan, choosing more recent default versions of dependencies. It removes almost all of the CMake build files related to dependencies, and the configurations for Travis CI and GitLab CI. A new set of cross-platform build instructions are written in BUILD.md.

Includes example GitHub Actions workflow for each of Linux, macOS, Windows.

* Test on macos-12

We use the <concepts> library which was not added to Apple Clang until
version 13.1.6. The default Clang on macos-11 (the sometimes current
version of macos-latest) is 13.0.0, and the default Clang on macos-12 is
14.0.0.

Closes #4223.
2022-12-16 10:46:22 -08:00
Richard Holland
8a0635396a ttInvoke part 1 2022-12-16 13:40:23 +00:00
Richard Holland
44425f14f6 Balance Rewards amendment (compiling not tested) 2022-12-16 11:55:53 +00:00
Richard Holland
b0ebd8e3eb update to wasmedge 0.11 (untested) 2022-12-13 10:19:08 +00:00
CJ Cobb
28f4cc7817 Remove gRPC code previously used for the xpring SDK 2022-10-13 15:44:43 -07:00
Richard Holland
0e0355cf36 Merge remote-tracking branch 'ripple/develop' into develop 2022-08-29 10:52:04 +00:00
Richard Holland
5123736c51 start writing unit tests for SetHook 2022-08-29 10:42:19 +00:00
Chenna Keshava B S
ce64f7a90f Remove deprecated AccountTxOld.cpp (fixes #2926) 2022-08-25 08:49:04 -07:00
Crypto Brad Garlinghouse
83ac141f65 Remove charUnHex 2022-08-25 08:49:04 -07:00
Richard Holland
b2d3c96dc2 Merge remote-tracking branch 'ripple/develop' into develop 2022-08-15 08:53:01 +00:00
Nik Bougalis
7e46f5342b Correct a technical flaw with the spinlock locking:
The existing spinlock code, used to protect SHAMapInnerNode
child lists, has a mistake that can allow the same child to
be repeatedly locked under some circumstances.

The bug was in the `SpinBitLock::lock` loop condition check
and would result in the loop terminating early.

This commit fixes this and further simplifies the lock loop
making the correctness of the code easier to verify without
sacrificing performance.

It also promotes the spinlock class from an implementation
detail to a more general purpose, easier to use lock class
with clearer semantics. Two different lock types now allow
developers to easily grab either a single spinlock from an
a group of spinlocks (packed in an unsigned integer) or to
grab all of the spinlocks at once.

While this commit makes spinlocks more widely available to
developers, they are rarely the best tool for the job. Use
them judiciously and only after careful consideration.
2022-07-17 22:17:34 -07:00
seelabs
f55913dcee Add support for clang's ThreadSafetyAnalysis 2022-07-17 22:17:24 -07:00
Richard Holland
ed70262aeb add hotpatch for wasmedge (for now) 2022-07-12 10:45:51 +00:00
Richard Holland
0692168f80 Update build engine for static wasmedge builds 2022-07-12 10:00:35 +00:00
Richard Holland
4244a5a245 Merge remote-tracking branch 'ripple/develop' into develop 2022-05-20 08:05:08 +00:00
Devon White
dac080f1c8 Advance ripple.app.rdb 2022-05-10 13:34:12 -07:00
Richard Holland
01c37fed69 Introduce the ExpandedSignerList amendment:
The amendment increases the maximum sign of an account's signer
list from 8 to 32.

Like all new features, the associated amendment is configured with
a default vote of "no" and server operators will have to vote for
it explicitly if they believe it is useful.
2022-05-10 13:34:12 -07:00