Releases: deso-protocol/backend
v4.0.3
Description
The v4.0.3 release is a minor non-forking upgrade that uses the v4.0.3 release of core.
New endpoints
- GetBaseCurrencyPrice can be used to fetch the price of a DeSo token
What's Changed
- Add GetBaseCurrencyPrice by @diamondhands0 in #660
- Filter out invalid dao coin limit orders. support deso as base/quote currency by @lazynina in #664
- Use big floats by @lazynina in #665
Full Changelog: v4.0.2...v4.0.3
v4.0.2
Description
The v4.0.2 release is a minor non-forking upgrade using the v4.0.2 release of core.
Notable changes include:
- Fixes to api transaction info endpoint
- Updates to the total supply endpoint to account
- New endpoint to support trading fees on limit orders
- Updates to atomic txn construction endpoints to include inner txn hexes for easier signing
- New get all global params endpoint
What's Changed
- add disconnect reason to peer disconnect by @lazynina in #647
- check for txn meta is nil in APITransactionInfo by @lazynina in #648
- Update health check endpoint by @lazynina in #649
- skip txn from mempool if txn meta is nil by @lazynina in #651
- Add staked deso to total supply by @lazynina in #652
- New endpoint to support trading fees on limit orders for Openfund and Focus by @diamondhands0 in #640
- Ln/max tip age bug fix by @lazynina in #657
- include inner txn hexes in atomic txn construction endpoints by @lazynina in #656
- Track connected peers via datadog. by @superzordon in #661
- Get all global params by @lazynina in #662
Full Changelog: v4.0.1...v4.0.2
v4.0.1
This is a mandatory upgrade and all nodes need to upgrade by the existing deadline specified in the v4.0.0 release.
This release will not incur additional downtime if you’ve already upgraded to v4.0.0. If you haven’t already upgraded, you’ll experience the same amount of downtime as if you upgraded to v4.0.0 - about 20-30 minutes.
What's Changed
Changes were made in the core repo, which are automatically integrated here. This release addresses an issue where locked stake could not be unlocked if a validator unregistered. See release v4.0.0 for full details on all PoS upgrades.
Full Changelog: v4.0.0...v4.0.1
v4.0.0
Fork Preparation Checklist
In order to upgrade your node to be compatible with this new version, please complete all steps of the checklist below.
- Reboot your node with the most recent stable release image from docker before noon PT on July 1st, 2024.
- Your node may pause for 10-20 minutes after reboot for re-indexing, but a resync is not required.
- Please note that the fork is expected to hit on Tuesday July 2nd, 2024 at noon PT.
Description
The v4.0.0 release is a major version upgrade that brings Revolution Proof-of-Stake to DeSo mainnet. Upgrading your mainnet node is required as mentioned above. For more details on the protocol-level enhancements, please see the core v4.0.0 release notes.
New Flags
max-optional-preceding-transactions
- If set, enables certain transaction construction endpoints to accept transactions that should be connected before constructing the transaction requested in the request body. Setting this flag can aid in workflows that deal with atomic transaction construction.
New Endpoints - all prefixed by /api/v0
get-committed-tip-block-info
- GET endpoint used to fetch a node's tip height, tip hash, and latest view for use in checkpoint syncing.submit-atomic-transaction
- POST endpoint used to assemble and submit an atomic transaction given the hex of an incomplete atomic transaction (only missing the signatures of the inner transactions) and an array of hexes for each signed inner transactions.txn-construction-params
- POST endpoint used to get the current parameters necessary to construct a transaction locally. Takes aMinFeeRateNanosPerKB
as a lower bound on the fee rate. Returns the fee rate and current block height.token-balances-for-public-key
- POST endpoint to get a map of public key to a simple balance response (holder public key, creator public key, and balance in base units). This endpoint is useful to get the balance of a bunch of different creators' DeSo tokens (and DESO) for a given holder. This endpoint supports passing in a TxnStatus - eitherInMempool
orCommitted
to control whether to fetch uncommitted or committed state.get-dao-coin-limit-orders-by-id
- GET endpoint to fetch a series of DAO Coin Limit Orders by IDs. This endpoint supports passing in a TxnStatus - eitherInMempool
orCommitted
to control whether to fetch uncommitted or committed state.validators
validators/register
- POST endpoint to construct aREGISTER_AS_VALIDATOR
transaction.validators/unregister
- POST endpoint to construct anUNREGISTER_AS_VALIDATOR
transaction.validators/unjail
- POST endpoint to construct anUNJAIL_VALIDATOR
transaction.validators/{publicKeyBase58Check}
- GET endpoint to fetch a ValidatorEntryResponse for a given public key.
check-node-status
- POST endpoint used to test if a provided domain is accepting TCP connections. This is used to help validators test their node configuration when registering as a validator.current-epoch-progress
- GET endpoint used to fetch details about the current epoch including its epoch number, start height and view, final height, initial leader index offset, created timestamp, the leader schedule, the current view number, and the current tip height.stake
stake
- POST endpoint to construct aSTAKE
transactionstake/{validatorPublicKey}/{stakerPublicKey}
- GET endpoint to fetch stake details for a given validator and staker.stake/validator/{validatorPublicKey}
- GET endpoint to fetch stake details for all stake with a given validator.
unstake
- POST endpoint to construct anUNSTAKE
transaction.unlock-stake
- POST endpoint to construct anUNLOCK_STAKE
transaction.locked-stake/{validatorPublicKey}/{stakerPublicKey}
- GET endpoint to fetch locked stake details for a given validator and staker.coin-lockup
- POST endpoint to construct aCOIN_LOCKUP
transaction.update-coin-lockup-params
- POST endpoint to construct anUPDATE_COIN_LOCKUP_PARAMS
transaction.coin-lockup-transfer
- POST endpoint to construct aCOIN_LOCKUP_TRANSFER
transaction.coin-unlock
- POST endpoint to construct aCOIN_UNLOCK
transaction.lockup-yield-curve-points/{publicKey}
- GET endpoint to fetch the locked yield curve points for a given public key.locked-balance-entries/{publicKey}
- GET endpoint to fetch locked balance entries for a given public key.create-atomic-txns-wrapper
- POST endpoint to construct anATOMIC_TXNS_WRAPPER
transaction.
Updated endpoints
get-dao-coin-limit-orders
- accepts a new parameter TxnStatus (eitherInMempool
orCommitted
) to control whether to fetch uncommitted or committed state.
What's Changed
- Validate image dimensions by @lazynina in #534
- Z/handle external global state req errors by @superzordon in #545
- Fix webp image validation and add better global state error handling by @lazynina in #551
- Patch Access group nil pointer by @lazynina in #564
- Fix minor issues to speed up block processing logic by @diamondhands0 in #565
- Make dlv --continue rather than waiting for a debugger in Dockerfile by @diamondhands0 in #601
- feature/proof-of-stake by @lazynina in #530
Full Changelog: v3.4.6...v4.0.0
v4.0.0-beta.1
Description
The v4.0.0-beta.1 release includes a few small bug fixes in backend, but more importantly uses the v4.0.0-beta.1 core release which includes fixes to issues related to networking and fee estimation.
For more details on the changes introduced with the PoS upgrade, please see core's v4.0.0-beta.0 release.
For more details on DeSo's move to proof-of-stake, please visit https://revolution.deso.com/.
Please use this docker image to upgrade your node.
What's Changed
- Gracefully Handle RemoteNode Response When Peer Is Not a Registered Validator by @tholonious in #604
- Gracefully Handle Nil Peer in RemoteNodeToResponse by @tholonious in #605
- Fix panic in get block template by @lazynina in #606
- Fix Failing TestValidatorRegistration Unit Test by @tholonious in #607
- Add simple status check for node to backend by @diamondhands0 in #608
Full Changelog: v4.0.0-beta.0...v4.0.0-beta.1
v4.0.0-beta.0
UPDATE
Please upgrade to the new pre-release v4.0.0-beta.1 as a few issues were uncovered in the v4.0.0-beta.0 release.
Description
v4.0.0-beta.0 is a pre-release for the upcoming Proof-of-stake fork. Please note that v4.0.0-beta.0 only sets fork heights for testnet and only testnet nodes should upgrade at this time. Upgrading mainnet nodes is not required and will NOT transition a mainnet node to use proof-of-stake as the consensus mechanism.
This pre-release mainly adds transaction construction endpoints for new transaction types and basic querying endpoints for data related to the new transaction types introduced for proof-of-stake.
For more details on the move to proof-of-stake, please see the core release notes and the revolution proof-of-stake website.
Please use this docker image to upgrade your node.
What's Changed
- Allow ParamUpdater to update PoS consensus params by @mattfoley8 in #499
- Mf/add validator registration endpoints by @mattfoley8 in #500
- Mf/add get validator by public key endpoint by @mattfoley8 in #501
- Rename VotingPublicKeySignature to VotingAuthorization. by @mattfoley8 in #502
- Refactor merging GlobalParamsEntry defaults. by @mattfoley8 in #503
- Update test.Dockerfile core branch. by @mattfoley8 in #504
- Initial backend updates to conform to new function signatures in core by @lazynina in #512
- Update backend to use BackendMempool interface instead of DeSoMempool by @lazynina in #513
- Add fee estimator arg to all txn construction calls by @lazynina in #514
- merge main into feature pos by @lazynina in #519
- Remove fee estimator from txn construction calls by @lazynina in #520
- Fix compilation errors by @lazynina in #521
- Fix validator test by @lazynina in #522
- Add DelegatedStakeCommissionBasisPoints to RegisterAsValidator txn construction endpoint by @lazynina in #523
- Add stake, unstake, and unlock stake txn construction endpoints by @lazynina in #524
- Add GET endpoints for stake and locked stake entries by @lazynina in #525
- Add spending limits backend support for stake, unstake, unlock stake by @lazynina in #529
- Validate image dimensions by @lazynina in #534
- Update Block Header Timestamps to int64 by @tholonious in #535
- Fix Backend To Run With Regtest PoS Node by @tholonious in #536
- Add txn construction and get endpoints for lockups by @lazynina in #526
- Add Unjail Validator endpoint by @lazynina in #532
- feature/pos-syncing-and-steady-state by @tholonious in #537
- Fix CI by @tholonious in #540
- Only set public keys if not the zero pkid by @lazynina in #533
- Level 2 glog for price fetching logic by @lazynina in #541
- Update miner to pass params into RecomputeBlockRewardWithBlockRewardOutputPublicKey by @lazynina in #542
- Z/handle external global state req errors by @superzordon in #545
- Fix webp image validation and add better global state error handling by @lazynina in #551
- feature/pos-networking-and-syncing by @tholonious in #556
- Update usages of EnumerateKeysForPrefix by @lazynina in #559
- Remove relic tag from validator test by @lazynina in #561
- Patch Access group nil pointer by @lazynina in #564
- Allow orphans in block index by @lazynina in #567
- Fix max block size logic by @lazynina in #568
- Fix minor issues to speed up block processing logic by @diamondhands0 in #565
- Bump badger version by @diamondhands0 in #566
- Fix Update global params tests by @lazynina in #571
- trigger build by @lazynina in #572
- trigger build by @lazynina in #573
- trigger build by @lazynina in #574
- bls pub key enhancements build by @lazynina in #576
- Allow Txn Relay In Needs Blocks build by @lazynina in #577
- fix txn relay pos check build by @lazynina in #578
- Use GetCurrentGlobalParamsEntry instead of GlobalParamsEntry by @lazynina in #580
- Atomic Transaction Support for Backend by @poolcoke in #560
- Update usage of CreateAtomicTxnsWrapper by @lazynina in #581
- Add a Preceding Transaction Field to Transaction Endpoints. by @poolcoke in #570
- Add all new global params attributes to update global params txn construction endpoint by @lazynina in #583
- Add get committed tip info endpoint by @lazynina in #582
- Update node info endpoint to return info about connections to validators by @lazynina in #586
- Upgrade go to 1.22 by @lazynina in #585
- Upgrade deps by @lazynina in #569
- Fix remote node to response by @lazynina in #587
- trigger build 04-11-24 by @lazynina in #588
- Block until read only view regenerates in afterProcessSubmitPostTransaction by @lazynina in #590
- Add LatestView to CheckpointBlockInfo endpoint by @lazynina in #589
- Update usage of EstimateFeeRate by @lazynina in #592
- Submit atomic transactions endpoint. by @poolcoke in #594
- Make utxo ops nil on APITransactionToResponse for inner txns by @lazynina in #595
- Add Script To Make Global Params Changes on Regtest Node by @tholonious in #597
- trigger build 041924 by @lazynina in #599
- Make dlv --continue rather than waiting for a debugger in Dockerfile by @diamondhands0 in #601
- Support MinFeeRateNanosPerKB in atomic txn construction by @lazynina in #602
- update call site for EstimateFeeRate by @lazynina in #603
New Contributors
Full Changelog: v3.4.6...v4.0.0-beta.0
v3.4.6
Description
v3.4.6 uses the v3.4.6 release of core.
Additionally, v3.4.6 introduces a captcha verification endpoint, updates to support the memory optimizations in core's release, and add support for constructing basic transfers (including max spends) and diamond transactions with extra data.
Smaller enhancements include a small fix to the transaction-info endpoint for mempool transactions, removing profile compensation when profile fee is 0, and adding a lock around the AllCountryLevelSignUpBonuses map to prevent panics.
What's Changed
- Add captcha verification by @superzordon in #509
- Update badger sync settings to optimize memory usage during hypersync by @superzordon in #506
- ln/fix-transaction-info-mempool by @lazynina in #510
- ln/no-comp-when-0-create-profile-fee by @lazynina in #511
- Empty commit to trigger build by @superzordon in #515
- Add extra data to basic transfer and diamond txn construction endpoints by @lazynina in #516
- trigger build by @lazynina in #517
- Add RWLock around AllCountryLevelSignUpBonuses by @lazynina in #518
- trigger build 01-17-24 by @lazynina in #527
- [stable] Release 3.4.6 by @lazynina in #528
Full Changelog: v3.4.5...v3.4.6
v3.4.5
Description
v3.4.5 introduces a new node-version endpoint. Additionally, it uses v3.4.5 of core which introduces enhancements to reduce memory requirements when using hypersync.
What's Changed
Full Changelog: v3.4.4...v3.4.5
v3.4.4
v3.4.3
Description
v3.4.3 addresses an issue when trying to parse RawTxnMetadata when unmarshaling TransactionResponse. It also uses the latest version of core to address an issue related to postgres syncing
What's Changed
- Exclude RawTxnMetadata when parsing TransactionResponse from JSON by @tholonious in #493
Full Changelog: v3.4.2...v3.4.3