forked from dashpay/dash
-
Notifications
You must be signed in to change notification settings - Fork 719
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge #2895: [Core][GUI][RPC] Exchange Address
1444336 Fix lint (Liquid) 7a7cc71 Set main net and testnet activation heights (Liquid369) b7affc7 Check pre-upgrade ex addr fails (Liquid) ce86ae7 Add invalid OP_CODE test (Liquid) 63a192c More review changes (Liquid) d9274a6 Reorder test and logic (Liquid369) 19a17dd Duddino review changes (Liquid) 4bef41e Review cleanup (Liquid) 8142059 Remove nExchangeAddrStart (Liquid) 3c91467 Add draft release notes (Liquid) e6a26bf Use Consensus::UPGRADE_V5_6 (Liquid) 146b813 Handle legacy pre-hd wallets (Liquid) 035a4b8 Apply patch (Liquid) c74d76e Functional test (Liquid) fdad4b2 Review adjustments (Liquid) 770418f Add tests (Liquid) a521fdf Expand CTxDestination to check for ExchangeAddresses and GUI (Liquid) 9a291df Core OP_EXCHANGEADDR implementation, scripts, consensus (Liquid) Pull request description: This PR aims to implement a new OP_CODE and new address type defined as `OP_EXCHANGEADDR` and `EXCHANGE_ADDRESS` respectively. With the new year and new regulations upcoming, we have been requested to make things easier on the exchanges by introducing this new address type that will not allow private transactions to be input to this address nor coinstake/coinbase transactions. Consensus checks implemented, we have some variance from the FIRO implementation you can reference https://github.com/firoorg/firo/pull/1356/files for the address encoding and decoding. OP_CODE introduced is essentially a NOP at the start of the scriptpubkey New introduced Prefixes are `EX` for Exchange Mainnet `EXT` for Exchange Testnet `EXT` for Exchange Regtest Originally I went for just an E prefix, but for clarity I followed FIRO for having some difference, if we want to go another direction, I am not particular either way anymore. New RPC command `getnewexchangeaddress` accepts a label to insert into Contacts We are not using existing keys to create the pair but generating new. ACKs for top commit: 1444336 Duddino: tACK 1444336 panleone: utACK [1444336](1444336) Tree-SHA512: 0f94ada2cc2f48119cdcd336715e3b5b4c7395b0d8e263fe92f763bbe276cb7f583a9e1c2ea6f13d3190ebdf301f4212478e2be7725b75574630a80cf785dff8
- Loading branch information
Showing
44 changed files
with
529 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
PIVX Core version *v5.6.0* is now available from: <https://github.com/pivx-project/pivx/releases> | ||
|
||
This is a new major version release, including various bug fixes and performance improvements, as well as updated translations. | ||
|
||
Please report bugs using the issue tracker at github: <https://github.com/pivx-project/pivx/issues> | ||
|
||
|
||
How to Upgrade | ||
============== | ||
|
||
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux). | ||
|
||
Notable Changes | ||
============== | ||
|
||
(Developers: add your notes here as part of your pull requests whenever possible) | ||
|
||
|
||
### Deprecated autocombinerewards RPC Command | ||
|
||
The `autocombinerewards` RPC command was soft-deprecated in v5.3.0 and replaced with explicit setter/getter commands `setautocombinethreshold`/`getautocombinethreshold`. PIVX Core, by default, will no longer accept the `autocombinerewards` command, returning a deprecation error, unless the `pivxd`/`pivx-qt` is started with the `-deprecatedrpc=autocombinerewards` option. | ||
|
||
This command will be fully removed in v6.0.0. | ||
|
||
### Shield address support for RPC label commands | ||
|
||
The `setlabel` RPC command now supports a shield address input argument to allow users to set labels for shield addresses. Additionally, the `getaddressesbylabel` RPC command will also now return shield addresses with a matching label. | ||
|
||
### Specify optional label for getnewshieldaddress | ||
|
||
The `getnewshieldaddress` RPC command now takes an optional argument `label (string)` to denote the desired label for the generated address. | ||
|
||
### New getnewexchangeaddress RPC Command | ||
|
||
The `getnewexchangeaddress` RPC command has been introduced to create an essentially fully Transparent address to disallow deshielding to in compliance for exchanges. It takes an optional `label (string)` to set a label for the address if necessary. Functionality is the same comparitively to `getnewaddress`, `getnewstakingaddress` and `getnewshieldaddress` | ||
|
||
| Command Name | Purpose | Requires Unlocked Wallet? | | ||
| ------------ | ------- | ------------------------- | | ||
| `getnewexchangeaddress` | Creates a new exchange address | Yes | | ||
|
||
Command is detailed below: | ||
|
||
* `getnewexchangeaddress` | ||
``` | ||
Returns a new exchange address for receiving payments. | ||
Result: | ||
"address" (string) The new exchange address. | ||
``` | ||
|
||
P2P connection management | ||
-------------------------- | ||
|
||
- Peers manually added through the addnode option or addnode RPC now have their own | ||
limit of sixteen connections which does not compete with other inbound or outbound | ||
connection usage and is not subject to the maxconnections limitation. | ||
|
||
- New connections to manually added peers are much faster. | ||
|
||
*version* Change log | ||
============== | ||
|
||
Detailed release notes follow. This overview includes changes that affect behavior, not code moves, refactors and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned. | ||
|
||
### Core Features | ||
|
||
### Build System | ||
|
||
### P2P Protocol and Network Code | ||
|
||
### GUI | ||
|
||
### RPC/REST | ||
- #2895 Exchange Address `getnewexchangeaddress` (Liquid369) | ||
|
||
### Wallet | ||
|
||
### Miscellaneous | ||
|
||
## Credits | ||
|
||
Thanks to everyone who directly contributed to this release: | ||
|
||
|
||
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/pivx-project-translations/), the QA team during Testing and the Node hosts supporting our Testnet. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.