Commit Graph

13812 Commits

Author SHA1 Message Date
Michael Legleux
e13676f709 Update package building scripts and images to use Conan (#4435)
* Set version to 1.10.0-rc3
* Test on Fedora 37
* Dependency builds are handled by Conan
2023-02-28 14:17:07 -08:00
Elliot Lee
74594d5348 Disable duplicate detector: (#4438)
Partially revert the functionality introduced
with #4195 / 5a15229 (part of 1.10.0-b1).

Acknowledgements:
Aaron Hook for responsibly disclosing this issue.

Bug Bounties and Responsible Disclosures:
We welcome reviews of the rippled code and urge researchers to
responsibly disclose any issues they may find.

To report a bug, please send a detailed report to:

    bugs@xrpl.org

---------

Co-authored-by: Nik Bougalis <nikb@bougalis.net>
2023-02-28 14:12:28 -08:00
Richard Holland
ae350c4390 fix for #33 2023-02-28 08:51:03 +00:00
Richard Holland
8a62a613ec fix for #31 and #32 2023-02-28 08:31:28 +00:00
Ed Hennis
caf4827c0b Undo API changes introduced in XRPFees: (#4429)
* Original changes: e4b17d1cf2
* Resolve #4425
2023-02-24 08:41:28 -08:00
Richard Holland
e5840f67e5 jss fix 2023-02-24 09:30:50 +00:00
Denis Angell
ef3272b3ad fixup! account_objects test 2023-02-24 08:55:13 +00:00
Denis Angell
bcdaca0f23 add gateway & uri test 2023-02-24 08:52:28 +00:00
Denis Angell
9998e33495 add gateway 2023-02-24 08:51:11 +00:00
Denis Angell
5fa071c833 reformat test env setup and add tests 2023-02-24 08:44:19 +00:00
Denis Angell
649a9392f5 enable noissuer guard and logs 2023-02-24 08:43:47 +00:00
Denis Angell
cfb6dfedf9 add ticket seq to uritoken txs 2023-02-24 08:41:59 +00:00
Denis Angell
9b47b188fc create token test and update 2023-02-24 08:40:37 +00:00
Denis Angell
e8da019386 fix bugs 2023-02-24 08:35:53 +00:00
Elliot Lee
c2b03fecca Remove recipe for RocksDB and add recipe for Snappy (#4431)
- Copies the recipe for Snappy from Conan Center, but removes three
  lines that explicitly link the standard library, which prevents
  builders from statically linking it.
- Removes the recipe for RocksDB now that an official recipe for version
  6.27.3 is in Conan Center.

Developers will likely need to remove cached versions of both RocksDB
and Snappy:

```
conan remove -f rocksdb
conan remove -f snappy
```

---------

Co-authored-by: John Freeman <jfreeman08@gmail.com>
2023-02-23 12:41:18 -08:00
John Freeman
60c276d90b Fix Conan version constraint in workflows (#4430)
Conan 2.0 is not compatible with the current workflows.
2023-02-22 19:54:51 -08:00
Levin Winter
2929748898 Refactor getTrustedForLedger() (#4424)
Look for validations associated with a specific ledger ID and sequence
number.
2023-02-22 15:20:15 -08:00
Elliot Lee
5ec8783d35 README: Update "Build from source" section (#4426)
Fix #2987
2023-02-21 15:40:09 -08:00
Richard Holland
243eb4d921 fix for #29 2023-02-20 12:59:17 +00:00
Richard Holland
272d533fcc fix for #28 2023-02-20 12:47:25 +00:00
Richard Holland
197bde6ebd fix for #27 2023-02-20 12:33:38 +00:00
Richard Holland
03a5d25143 fix for #26 2023-02-20 12:09:50 +00:00
Wietse Wind
01dffa9348 Fix build publishing 2023-02-20 12:39:51 +01:00
Richard Holland
a26412055e fix for #25 2023-02-20 11:36:22 +00:00
Richard Holland
b75b9f2a71 fix for #24 2023-02-20 11:17:13 +00:00
Richard Holland
46e4df0f85 fix for #19 #20 #21 #22 #23 2023-02-20 11:04:20 +00:00
Richard Holland
1dea9bcfd6 second fix for #18 and #30 2023-02-20 10:22:40 +00:00
Elliot Lee
96aab1288f README: Add a few source code starting points (#4421)
Co-authored-by: John Freeman <jfreeman08@gmail.com>
2023-02-17 22:27:27 -08:00
Richard Holland
510c69d487 fix for #18 2023-02-17 13:48:55 +00:00
Richard Holland
0cdea9d7f7 fix for #17 2023-02-17 12:41:17 +00:00
Richard Holland
aa9b03e57b fix for #16 2023-02-17 12:29:46 +00:00
Richard Holland
38c466c47d fix for #30 2023-02-17 12:17:22 +00:00
Richard Holland
5f5a947d6c additional fixes for #8 #10 and #14 2023-02-17 11:20:03 +00:00
Richard Holland
7a008c21ee enforce network ID on peer handshake 2023-02-16 13:54:36 +00:00
Richard Holland
4f44747342 enforce utf8 on uris, change behaviour of accepting own sell offer to be an tec error 2023-02-16 13:23:24 +00:00
Ed Hennis
aebf2ac990 Resolve a couple of Github Action CI annoyances: (#4413)
* Set "fail-fast: false" so that multiple jobs in one workflow can
  finish independently. By default, if one job fails, other running jobs
  will be aborted, even if the other jobs are working fine and are
  almost done. This leads to wasted time and resources if the failure
  is, for example, OS specific, or due to a flaky unit test, and the
  failed job needs to be re-run, because all the jobs end up re-running.
* Put conditions back into the windows.yml job (manual, and for
  a specific branch name and that job). This prevents Github Actions
  from sending "No jobs were run" failure emails on every commit.
2023-02-15 11:34:32 -08:00
Richard Holland
ee073c179d ensure keylet is generated correctly for uritokens 2023-02-15 13:21:58 +00:00
Richard Holland
661b6b6dd4 fix for https://github.com/Xahau/xahaud/issues/15 2023-02-14 13:47:33 +00:00
Richard Holland
8f8177b139 fix for https://github.com/Xahau/xahaud/issues/14 2023-02-14 13:15:37 +00:00
Richard Holland
31ab52d149 fix for https://github.com/Xahau/xahaud/issues/13 2023-02-14 12:42:10 +00:00
Richard Holland
9ccb9d366d fix for https://github.com/Xahau/xahaud/issues/11 2023-02-14 11:37:02 +00:00
Richard Holland
06d3270e3e fix for https://github.com/Xahau/xahaud/issues/10 2023-02-14 11:21:32 +00:00
Richard Holland
0feaec0d7e fix for https://github.com/Xahau/xahaud/issues/8 2023-02-14 11:09:02 +00:00
Richard Holland
d6c699f734 rename CTIM to CTID 2023-02-14 08:47:20 +00:00
ledhed2222
ac78b7a9a7 Rename to fixNonFungibleTokensV1_2 and some cosmetic changes (#4419) 2023-02-13 15:52:40 -08:00
Denis Angell
b72a87c7d3 Only account specified as destination can settle through brokerage: (#4399)
Without this amendment, for NFTs using broker mode, if the sell offer contains a destination and that destination is the buyer account, anyone can broker the transaction. Also, if a buy offer contains a destination and that destination is the seller account, anyone can broker the transaction. This is not ideal and is misleading.

Instead, with this amendment: If you set a destination, that destination needs to be the account settling the transaction. So, the broker must be the destination if they want to settle. If the buyer is the destination, then the buyer must accept the sell offer, as you cannot broker your own offers.

If users want their offers open to the public, then they should not set a destination. On the other hand, if users want to limit who can settle the offers, then they would set a destination.

Unit tests:

1. The broker cannot broker a destination offer to the buyer and the buyer must accept the sell offer. (0 transfer)
2. If the broker is the destination, the broker will take the difference. (broker mode)
2023-02-13 15:52:39 -08:00
Scott Schurr
39c32561bd Prevent brokered sale of NFToken to owner: (#4403)
Fixes #4374

It was possible for a broker to combine a sell and a buy offer from an account that already owns an NFT. Such brokering extracts money from the NFT owner and provides no benefit in return.

With this amendment, the code detects when a broker is returning an NFToken to its initial owner and prohibits the transaction. This forbids a broker from selling an NFToken to the account that already owns the token. This fixes a bug in the original implementation of XLS-20.

Thanks to @nixer89 for suggesting this fix.
2023-02-13 15:52:39 -08:00
ledhed2222
89aa8b21ec Fix 3 issues around NFToken offer acceptance (#4380)
Fixes 3 issues:

In the following scenario, an account cannot perform NFTokenAcceptOffer even though it should be allowed to:

- BROKER has < S
- ALICE offers to sell token for S
- BOB offers to buy token for > S
- BROKER tries to bridge the two offers

This currently results in `tecINSUFFICIENT_FUNDS`, but should not because BROKER is not spending any funds in this transaction, beyond the transaction fee.

When trading an NFT using IOUs, and when the issuer of the IOU has any non-zero value set for TransferFee on their account via AccountSet (not a TransferFee on the NFT), and when the sale amount is equal to the total balance of that IOU that the buyer has, the resulting balance for the issuer of the IOU will become positive. This means that the buyer of the NFT was supposed to have caused a certain amount of IOU to be burned. That amount was unable to be burned because the buyer couldn't cover it. This results in the buyer owing this amount back to the issuer. In a real world scenario, this is appropriate and can be settled off-chain.

Currency issuers could not make offers for NFTs using their own currency, receiving `tecINSUFFICIENT_FUNDS` if they tried to do so.

With this fix, they are now able to buy/sell NFTs using their own currency.
2023-02-13 15:52:39 -08:00
Shawn Xie
a828e24cf0 Allow NFT to be burned when number of offers is greater than 500 (#4346)
* Allow offers to be removable
* Delete sell offers first

Signed-off-by: Shawn Xie <shawnxie920@gmail.com>
2023-02-13 15:52:38 -08:00
ledhed2222
f7a8d2de84 Add fixUnburnableNFToken feature (#4391) 2023-02-13 15:52:38 -08:00