- 8280 - Unused rewards related network parameters are now deprecated and will be removed
- 7906 - Connection tokens on the wallet survive reboot.
- 8264 - Add a command line on the wallet to locate the wallet files
- 8026 - Update
UPGRADING.md document
- 8283 - Add disclaimer to the wallet
CLI
- 8296 - Improve error handling for invalid proposal validation timestamp
- 8318 - Proto definitions for spots
- 8117 - Added spots governance implementation
- 8259 - Proto definitions for successor markets.
- 8201 - Add support for successor markets.
- 8339 - Target stake for spots
- 8337 - ELS for spots
- 8359 - Add proto definitions for iceberg orders
- 8361 - Implement iceberg orders in data node
- 8332 - Add support in collateral engine for spots
- 8330 - Implement validation on successor market proposals.
- 8247 - Initial support for
Ethereum
oracles
- 8334 - Implement market succession in execution engine.
- 8354 - refactor execution package
- 8394 - Get rid of spot liquidity provision commands and data structures.
- 8208 - Fix block explorer API documentation
- 8203 - Fix
assetId
parsing for Ledger entries export toCSV
file. - 8251 - Fix bug in expired orders optimisation resulting in non deterministic order sequence numbers
- 8226 - Fix auto initialise failure when initialising empty node
- 8186 - Set a close timestamp when closing a market
- 8206 - Add number of decimal places to oracle spec.
- 8225 - Better error handling in
ListEntities
- 8222 -
EstimatePositions
does not correctly validate data. - 8266 - Fix HTTPS with
autocert
. - 8290 - Calling network history
API
without network history enabled caused panics in data node. - 8279 - Avoid overriding a map entry while iterating on it, on the wallet connection manager.
- 8341 - Remind the user to check his internet connection if the wallet can't connect to a node.
- 8343 - Make the service starter easier to instantiate
- 8376 - Ensure the structure fields match their JSON counter parts in the wallet API requests and responses.
- 8363 - Add missing name property in
admin.describe_key
wallet API example - 8313 - Assure liquidation price estimate works with 0 open volume
- 7859 - Fix Ledger entries exporting
CSV
file. - 8064 - Remove
websocket
for rewards - 8093 - Remove offset pagination
- 8111 - Unify payload between
admin.update_network
andadmin.describe_network
endpoint in the wallet API. - 7916 - Deprecated
TradesConnection GraphQL sub-queries
in favour of anun-nested
Trades query with a filter parameter. This requires a change in the underlyinggRPC
request message. Trades subscription takes aTradesSubscriptionFilter
that allows multipleMarketID
andPartyID
filters to be specified. - 8143 - Merge GraphQL and REST servers
- 8111 - Reduce passphrase requests for admin endpoints by introducing
admin.unlock_wallet
and removing thepassphrase
field from wallet-related endpoints.
- 8030 - Add
API
for fetchingCSV
data from network history. - 7943 - Add version to network file to be future-proof.
- 7759 - Support for rolling back data node to a previous network history segment
- 8131 - Add reset all command to data node and remove wipe on start up flags
- 7505 -
Datanode
batcher statistics - 8045 - Fix bug in handling internal sources data.
- 7843 - Report partial batch market instruction processing failure
- 7990 - Remove reference to
postgres
in theprotobuf
documentation comments - 7992 - Improve Candles related
APIs
- 7986 - Remove cross
protobuf
files documentation references - 8146 - Add fetch retry behaviour to network history fetch command
- 7982 - Fix behaviour of endpoints with
marketIds
andpartyIds
filters - 7846 - Add event indicating distressed parties that are still holding an active position.
- 7985 - Add full stop on all fields documentation to get it properly generated
- 8024 - Unify naming in
rpc
endpoints and add tags - 7989 - Remove reference to cursor based pagination in
rpc
documentations - 7991 - Improve
EstimateFees
documentation - 7108 - Annotate required fields in
API
requests. - 8039 - Write network history segments in the
datanode
process instead of requestingpostgres
to write them. - 7987 - Make terms consistent in
API
documentation. - 8025 - Address inconsistent verb and grammar in the
API
documentation. - 7999 - Review
DateRange API
documentation. - 7955 - Ensure the wallet API documentation matches the Go definitions
- 8023 - Made pagination
docstrings
consistent. - 8105 - Make candles return in ascending order when queried from
graphql
. - 8144 - Visor - remove data node asset option from the config. Use only one asset.
- 8000 - Add documentation for
Pagination
protobuf
message. - 7969 - Add
GoodForBlocks
field to transaction input data. - 8155 - Visor - allow restart without snapshot.
- 8129 - Keep liquidity fee remainder in fee account.
- 8022 - Improve
ListTransfers
API documentation. - 8231 - Fix
GetNetworkHistoryStatus
- 8154 - Visor - added option for delaying stop of binaries.
- 8169 - Add
buf
format - 7997 - Clean up
API
comments when returned value is signed/unsigned. - 7988 - Make information about numbers expressed as strings more clear.
- 7998 - Clean up
API
documentation forListLedgerEntries
. - 8021 - Add better field descriptions in the
API
documentation. - 8171 - Optimise the way offsets are used in probability of trading.
- 8194 - Don't include query string as part of
Prometheus
metric labels - 7847 - Add
EstimatePosition
API
method, markEstimateOrder
(GraphQL) andEstimateMargin
(gRPC) as deprecated. - 7969 - Reverted the
TTL
changes, minor tweak to proof of work verification to ensure validator commands can't be rejected based on age. - 7926 - Squash
SQL
migration scripts into a single script.
- 7938 - Attempt to fix protocol upgrade failure because of
LevelDB
file lock issue - 7944 - Better error message if we fail to parse the network configuration in wallet
- 7870 - Fix
LP
subscription filters - 8159 - Remove corresponding network history segments on rollback
- 7954 - Don't error if subscribing to a market/party that has no position yet
- 7899 - Fixes inconsistency in the
HTTP
status codes returned when rate limited - 7968 - Ready for protocol upgrade flag set without going through memory barrier
- 7962 - Set
isValidator
when loading from a checkpoint - 7950 - Fix the restore of deposits from checkpoint
- 7933 - Ensure the wallet store is closed to avoid "too many opened files" error
- 8069 - Handle zero return value for memory when setting IPFS resource limits
- 7956 - Floor negative slippage per unit at 0
- 7964 - Use mark price for all margin calculations
- 8003 - Fix
ListGovernanceData
does not honourTYPE_ALL
- 8057 - Load history and current state in one transaction
- 8058 - Continuous aggregates should be updated according to the watermark and span of history loaded
- 8001 - Fix issues with order subscriptions
- 7980 - Visor - prevent panic when auto install configuration is missing assets
- 7995 - Validate order price input to
estimateFee
andestimateMargin
- 8011 - Return a not found error for an invalid network parameter key for the API
- 8012 - Ensure client do not specify both a before and after cursor
- 8017 - Return an error when requesting order with negative version
- 8020 - Update default
tendermint
home path tocometbft
- 7919 - Avoid sending empty ledger movements
- 8053 - Fix notary vote count
- 8004 - Validate signatures exist in announce node command
- 8004 - Validate value in state variable bundles
- 8004 - Validate Ethereum addresses and add a cap on node vote reference length
- 8046 - Update GraphQL schema with new order rejection reason
- 6659 - Wallet application configuration is correctly reported on default location
- 8074 - Add missing order rejection reason to
graphql
schema - 8090 - Rename network history
APIs
that did not follow the naming convention - 8060 - Allow 0 decimals assets
- 7993 - Fix
ListDeposits
endpoint and documentation - 8072 - Fix
panics
in estimate orders - 8125 - Ensure network compatibility can be checked against TLS nodes
- 8103 - Fix incorrect rate limiting behaviour on
gRPC
API
- 8128 - Assure price monitoring engine extends the auction one bound at a time
- 8149 - Trigger populating
orders_live
table out of date and does not filter correctly for live orders. - 8165 - Send order events when an
lp
order is cancelled or rejected - 8173 - Trades when leaving auction should should have the aggressor field set to
SideUnspecified
. - 8184 - Handle case for time termination value used with
LessThan
condition. - 8157 - Handle kill/interrupt signals in datanode, and clean up properly.
- 7914 - Offer node signatures after snapshot restore
- 8187 - Expose Live Only filter to the
GraphQL
Orders filter.
- 7794 - Add
marketIds
andpartyIds
to orders queries' filter. - 7876 - Change
DeliverOn
on one-off transfer to be in nanoseconds as everything else. - 7326 - Rename table
current liquidity provisions
tolive liquiditiy provisions
and add alive
option
- 7862 - Add per table statistics for network history segment creation
- 7834 - Support TLS connection for gRPC endpoints in wallet when prefixed with
tls://
- 7851 - Implement post only and reduce only orders
- 7768 - Set sensible defaults for the IPFS resource manager
- 7863 - Rework positions indexes so that snapshot creation does not slow down
- 7829 - Get precision for reference price from price monitoring bounds when getting market data
- 7670 - Removes the need for the buffered event source to hold a large buffer of sequence numbers
- 7904 - Add a default system test template for integration tests
- 7894 - Use slippage cap when market is in auction mode
- 7923 - Subscription rate limiter is enabled on
gRPC
andREST
subscriptions
- 7910 - Store heartbeats in the checkpoint so that validator sets do not reorder unexpectedly after loading
- 7835 - Ensure the command errors have the same format on arrays
- 7871 - Bad
SQL
generated when paginating reward summaries - 7908 - Expired
heartbeats
no longer invalidate subsequentheartbeats
- 7880 - Update volume-weighted average price party's of open orders after a trade
- 7883 - Fix snapshot issue with witness on accounting
- 7921 - Fix streams batches
- 7895 - Fix margin calculation during auction
- 7940 - Enhance validation of tendermint public keys
- 7930 - Fix typo in the
Furyvisor
configuration and improve Visor binaries runner logging - 7981 - Ensure LP order events are not sent when nothing changes
- 7798 - Remove redundant headers from the rate limiter response.
- 7710 - Rename "token dApp" to "governance"
- 6905 - Deprecated
Version
field removed fromadmin.import_wallet
- 6905 - References to file paths have been removed from
admin.import_wallet
,admin.import_network
,admin.create_wallet
andadmin.isolate_key
API - 7731 - Upgrade the interplanetary file system library to latest release
- 7802 - Split liquidity auction trigger into two cases
- 7728 - Remove current order flag from table - adds restrictions to how orders can be paged
- 7816 - Require slippage factors to always be set
- 6942 - Add
admin.rename_network
withfury wallet network rename
- 7656 - Add
fury wallet service config locate
CLI that returns the location of the service configuration file. - 7656 - Add
fury wallet service config describe
CLI that display the service configuration. - 7656 - Add
fury wallet service config reset
CLI that reset the service configuration to its default state. - 7681 - Remove unnecessary
protobuf
marshalling in event pipeline - 7288 - Add
block
interval for trade candles - 7696 - Cache
ListMarket
store queries - 7532 - Load network history in a transaction
- 7413 - Add foreign block height to stake linkings in
GraphQL
- 7675 - Migrate to comet
bft
- 7792 - An attempt to import a network when the
url
is togithub
and not the raw file contents is caught early with a suggestedurl
- 7722 - Send a reason for a passphrase request through the wallet's
interactor
- 5967 - Do not ask for wallet passphrase if it has already been unlocked.
- 5967 - Preselect the wallet during connection is there is only one.
- 7723 - Make the
SessionBegan
interaction easy to identify using aWorkflowType
- 7724 - Add steps number to interactions to convey a progression feeling.
- 7353 - Improve query setting current orders to only the most recent row after snapshot restore.
- 7763 - Remove separate LP close out code path.
- 7686 - Network History load will retry when IPFS cannot connect to peers.
- 7804 - Headers include
Retry-After
when banned for exceeding rate limit. - 7840 - Make chunk time interval configurable.
- 7688 - Fix
BlockExplorer
case insensitive transaction retrieval. - 7695 - Fix
create_hypertable
in migrations. - 7596 - Slippage factors not persisted in database
- 7535 - Fix network history load takes an increasingly long time to complete
- 7517 - Add buffer files event source
- 7720 - Return an empty slice instead of nil when describing a wallet network
- 7517 - Add buffer files event source
- 7659 - Tidy up REST documentation for consistency
- 7563 - Let the wallet work again with null
blockchain
- 7692 - Fix network history load hanging after protocol upgrade
- 7751 - Store the block height of the last seen
ERC20
event in the snapshot so deposits are not lost when the network is down - 7778 - Store the block height of the last seen
ERC20
event in the checkpoint so deposits are not lost when the network is down - 7713 - Fix PnL values on trade in the positions API
- 7726 - Add market data current state table to ensure node restored from network history has latest market data
- 7673 - Accept internal data sources without signers
- 7483 - Fix market data history returning 0 values for price monitoring bounds
- 7732 - Fix panic when amending orders
- 7588 - Fix margin calculations when missing exit price
- 7766 - Fix orders from new parties not being included in the nearest MTM
- 7499 - Implement transaction check functionality to wallet
- 7745 - Use margin after the application of a bond penalty to assess LP solvency
- 7765 - Assure pegged order won't get deployed with insufficient margin
- 7786 - Fix validation of order amendments (check for negative pegged offset)
- 7750 - Fix not all paths cleanly close network history index store.
- 7805 - Fix re-announcing node in the same epoch kills data node.
- 7820 - Remove the check for past date in limits engine
- 7822 - Fix get last epoch query
- 7823 - Fix validation of liquidity provisions shapes references
- 7304 - In the
datanode
GraphQL
schema, movefromEpoch
andtoEpoch
into a newfilter
forepochRewardSummaries
query. Also addassetIds
andmarketIds
to the same filter. - 7419 - Remove the deprecated headers with the
Grpc-Metadata-
prefix indatanode
API
andREST
andGraphQL
gateways. - 6963 - Remove the legacy fields from network API
- 7361 - Network history loading and current order set tracking - database requires database to be dropped
- 6963 -
IssueSignatures
is no longer a validator command and is now protected by the spam engine - 7445 - Added rate limiting to
GRPC
,Rest
andGraphQL
APIs
- 7614 - Market parties added to snapshot state to ensure proper restoration
- 7542 - Add optional slippage factors to market proposal and use them to cap slippage component of maintenance margin
- 7385 - Deprecating the
X-Fury-Connection
HTTP header indatanode
API
andREST
andGraphQL
gateways.
- 7501 - Make logs more clear
- 7555 - Clean up code, add missing metrics and comments
- 7477 - Improve
gRPC
service error handling and formatting - 7386 - Add indexed filtering by command type to block explorer
- 6962 - Add a dedicated configuration for the wallet service
- 7434 - Update design architecture diagram
- 7517 - Archive and roll event buffer files
- 7429 - Do not mark wallet and network as incompatible when the patch version doesn't match
- 6650 - Add ability to filter rewards with
fromEpoch
andtoEpoch
- 7429 -
fury wallet
will not send in a transaction if it will result in a party becoming banned - 7289 -
positionsConnection
query added toGraphQL
root query with filter for multiple parties and markets - 7454 - Retention policies for new types do not honour the
lite
orarchive
when added afterinit
- 7469 - Sanitize
Prometheus
labels forHTTP API
requests - 7495 - Upgrade
tendermint
to 0.34.25 - 7496 - Enforce using priority
mempool
and max packet size intendermint config
- 5987 - Pick up the wallet changes when the service is started
- 7450 - Positions API reporting close-out information and loss socialisation data.
- 7538 - Add node information to the wallet response when sending the transaction
- 7550 - Update feature tests to use specify explicitly linear and quadratic slippage factors
- 7558 - Add
hypertable
for rewards - 7509 - Automatically reconcile account balance changes with transfer events after each integration test step
- 7564 - Add logging when database migrations are run
- 7546 - Visor automatically uses snapshot on core based on latest data node snapshot.
- 7576 - include the application version in the block hash
- 7605 - Return better error text when the wallet blocks a transaction due to spam rules
- 7591 - Add metadata and links to app to the network configuration
- 7632 - Make the wallet change events JSON friendly
- 7601 - introduce the expired orders event for optimisation.
- 7655 - Require initial margin level to be met on new orders
- 7422 - Fix missing
priceMonitoringParameters
andliquidityMonitoringParameters
inGraphQL
schema - 7462 - Fix
BlockExplorer
API
not returning details on transactions. - 7407 - fix
ethereum
timestamp in stake linking ingraphql
- 7494 - fix memory leak in event bus stream subscriber when consumer is slow
- 7420 -
clearFeeActivity
now clears fee activity - 7420 - set seed nonce for joining and leaving signatures during begin block
- 7420 - protect
furywallet
with recovers to shield against file system oddities - 7399 - Fix issue where market cache not working after restoring from network history
- 7410 - Return underlying error when parsing a command failed in the wallet API version 2
- 7169 - Fix migration, account for existing position data
- 7427 - Fix nil pointer panic on settlement of restored markets.
- 7438 - Update JSON-RPC documentation with all wallet errors
- 7451 - Fix floating point consensus to use voting power rather than node count
- 7399 - Revert previous fix
- 7399 - Add option to filter out settled markets when listing markets in
API
requests - 7559 - Workaround
leveldb
issue and opendb
in write mode when listing usingfury tools snapshot
- 7417 - Missing entries in default data retention configuration for
datanode
- 7504 - Fixed panic in collateral engine when trying to clear a market
- 7468 -
Datanode
network history load command only prompts when run from a terminal - 7164 - The command
fury wallet transaction send
now returns verbose errors - 7514 - Network names cannot contain
/
,\
or start with a.
- 7519 - Fix memory leak and increased CPU usage when streaming data.
- 7536 - Ensure all errors are displayed when the wallet service cannot bind
- 7540 - Prevent the double appending of the
http
scheme when ensuring port binding - 7549 - Switch proof-of-work ban error from an internal error to an application error on the wallet API
- 7543 - Initiate post-auction close out only when all the parked orders get redeployed
- 7508 - Assure transfer events always sent after margin recheck
- 7492 - Send market depth events at the end of each block
- 7582 - Validate transfer amount in
checkTx
- 7582 - Add validation to wallet's server configuration
- 7577 - Use correct trade size when calculating pending open volume
- 7598 - Set up log for rate limiter
- 7629 - Handle error from
e.initialiseTree()
in the snapshot engine - 7607 - Fix handling of removed transfers
- 7622 - Fix cleaning path for Visor when restarting data node
- 7638 - Add missing fields to position update resolver
- 7647 - Assure LP orders never trade on entry
- 7387 - Allow authorization headers in wallet service
- 7374 - Add
TLS
support to theREST
api
- 7349 - Add
Access-Control-Max-Age
header with configurable value for the incore
,datanode
andblockexplorer
HTTPAPIs
- 7381 - Allow target stake to drop within auction once the time window elapses
- 7366 - Fix typos in the API descriptions
- 7335 - Fix custom http headers not being returned - add configurable
CORS
headers tocore
,datanode
andblockexplorer
HTTPAPIs
- 6895 - Move the authentication of wallet API version 2 to the transport layer (HTTP). This brings several breaking changes:
- A unified HTTP response payload has been introduced for structured response and error handling for data coming from the HTTP layer.
- the
/api/v2/methods
endpoints now uses the new HTTP response payload. - the
/api/v2/requests
endpoint can either return the HTTP or the JSON-RPC response payload depending on the situation. - the token has been moved out of the JSON-RPC requests, to HTTP
Authorization
header.
- 7293 - Rename restricted keys to allowed keys
- 7211 - Add sender and receiver balances in ledger entries
- 7255 - Rename
dehistory
to network history
- 7317 - Add database schema docs
- 7279 - Add
--archive
and--lite
todatanode init
- 7302 - Add withdrawal minimal amount
- 5487 - Add
UPGRADING.md
- 7358 - Improve
datanode init
andfury init
help text - 7114 - Expose user spam statistics via
API
- 7316 - Add a bunch of database indexes following audit of queries
- 7331 - Control the decrease of the number of validators when network parameter is decreased
- 6754 - Add
csv
export for ledger entries - 7093 - Pick up the long-living tokens after the wallet service is started
- 7328 - Add missing documentation of JSON-RPC methods
admin.update_passphrase
- 7260 - Fix bug where pagination
before
orafter
cursors were ignored iffirst
orlast
not set - 7281 - Fix formatting of status enum for
dataSourceSpec
inGraphQL
- 7283 - Fix validation of future product oracles signers
- 7306 - Improve speed of querying deposits and withdrawals by party
- 7337 - Add
UpdateAsset
change types to proposal termsGraphQL
resolver - 7278 - Use
Informal systems
fork of Tendermint - 7294 - Submission of
OpenOracle
data is broken - 7286 - Fix serialisation of
oracle specs
- 7327 - Improve and add API info, remove unused
AccountField
enum inGraphQL
- 7345 - Cache account lookup by id
- 7269 - Fix wallet release pipeline
- 6957 - Remove
client.<get|request>_permissions
endpoints on the wallet. - 7079 - Remove deprecated
version
property from wallet API. - 7067 - Remove legacy technical commands on the wallet command line.
- 7069 - Remove deprecated
furywallet info
command line. - 7010 - Remove the deprecated
encodedTransaction
fields on wallet API endpoints. - 7232 - Rename
stakeToCcySiskas
network parameter tostakeToCcyVolume
- 7171 - Change liquidity triggering ratio value type from float to string
- 7216 - Support filtering by market for
ordersConnection
under party queries. - 7252 - Add limits to
MarkPriceUpdateMaximumFrequency
network parameter - 7169 - Handle events to update PnL on trade, instead of waiting for MTM settlements.
- 7207 - Fix panic, return on error in pool configuration
- 7213 - Implement separate
DB
for snapshotsmetadata
- 7220 - Fix panic when LP is closed out
- 7235 - Do not update existing markets when changing global default
LiquidityMonitoringParameters
- 7029 - Added admin
API
for Data Node to secure somedehistory
commands - 7239 - Added upper and lower bounds for floating point engine updates
- 7253 - improve the adjustment of delegator weight to avoid overflow
- 7075 - Remove unused expiry field in withdrawal
- 6574 - Use same default for the probability of trading for floating point consensus as we do for the value between best bid and ask.
- 7188 - Reset liquidity score even if fees accrued in a period were 0.
- 7189 - Include LP orders outside PM price range but within LP price in the liquidity score.
- 7195 - Ignore oracle messages while market is in proposed state
- 7198 - Reduce
RAM
usage when tendermint calls list snapshot - 6996 - Add Visor docs
- 6955 - Market definition extended with the new field for LP price range across the API.
- 6645 - Set decimal number value to be used from oracle instead of from tradable instruments
- 7068 - Alias
furywallet info
tofurywallet describe
, before definitive renaming.
- 7032 - Make deposits and withdrawals
hypertables
and changedeposits_current
andwithdrawals_current
into views to improve resource usage - 7136 - Update ban duration to 30 minutes for spam
- 7026 - Let decentralised history use the snapshot event from the core as an indication for snapshot rather than doing the calculation based on the interval network parameter.
- 7108 - Return
ArgumentError
if candle id not supplied toListCandleData
- 7098 - Add an event when the core is taking a snapshot
- 7028 - Add
JSON
output fordehistory
commands; fixconfig
override on command line - 7122 - Allow for tolerance in validator performance calculation
- 7104 - Provide a better error message when party has insufficient balance of an asset
- 7143 - Update
grpc-rest-bindings
for OracleAPI
- 7027 -
Dehistory
store does not clean up resources after a graceful shutdown - 7157 - Core waits for data node and shuts down gracefully during protocol upgrade
- 7113 - Added API for epoch summaries of rewards distributed
- 6956 - Include liquidity measure of deployed orders in the fees distribution
- 7168 - Expose liquidity score on on market data
API
- 7040 - Block explorer use different codes than 500 on error
- 7099 - Remove undelegate method
IN_ANGER
- 7021 - MTM settlement on trading terminated fix.
- 7102 - Ensure the
api-token init -f
wipes the tokens file - 7106 - Properties of oracle data sent in non-deterministic order
- 7000 - Wallet honours proof of work difficulty increases
- 7029 - Remove unsafe
GRPC
endpoint in data node - 7116 - Fix MTM trade price check when trading is terminated.
- 7173 - Fix deterministic order of price bounds on market data events
- 7112 - Restore order's original price when restoring from a snapshot
- 6955 - Remove scaling by probability when implying LP volumes. Only change the LP order price if itβs outside the new βvalid LP price rangeβ - move it to the bound in that case.
- 7132 - Make the recovery phrase import white space resistant
- 7150 - Avoid taking 2 snapshots upon protocol upgrade block
- 7142 - Do not recalculate margins based on potential positions when market is terminated.
- 7172 - Make markets table a hyper table and update queries.
- 7065 - Scope technical commands on wallet command line
- 7066 - Move network compatibility check to a dedicated wallet command line
- 7052 - Add a specific error message when trying to access administrative endpoints on wallet API
- 7064 - Make
SQL
store tests run in temporary transactions instead of truncating all tables for each test - 7053 - Add info endpoint for the block explorer
- 7011 - Incorrect flagging of live orders when multiple updates in the same block
- 7037 - Reinstate permissions endpoints on the wallet API
- 7034 - Rename
network
toname
inadmin.remove_network
- 7031 -
datanode
expects protocol upgrade event in the right sequence - 7072 - Check if event forwarding engine is started before reloading
- 7017 - Fix issue with market update during opening auction
- 7003 - Expose bus event stream on the
REST
API - 7044 - Proof of work improvements
- 7041 - Change witness vote count to be based on voting power
- 7073 - Upgrade
btcd
library
- 6898 - allow
-snapshot.load-from-block-height=
to apply tostatesync
snapshots - 6716 - Use timestamp on all times fields
- 6887 -
client.get_permissions
andclient.request_permissions
have been removed from Wallet service V2 with permissions now asked duringclient.list_keys
- 6725 - Fix inconsistent use of node field on
GraphQL
connection edges - 6746 - The
validating_nodes
has been removed fromNodeData
and replaced with details of each node set
- 6898 - allow
-snapshot.load-from-block-height=
to apply tostatesync
snapshots - 6871 - Assure integration test framework throws an error when no watchers specified for a network parameter being set/updated
- 6795 - max gas implementation
- 6641 - network wide limits
- 6731 - standardize on 'network' and '' for network party and no market identifiers
- 6792 - Better handling of panics when moving time with
nullchain
, add endpoint to query whethernullchain
is replaying - 6753 - Filter votes per party and/or proposal
- 6959 - Fix listing transactions by block height in block explorer back end
- 6832 - Add signature to transaction information returned by block explorer API
- 6884 - Specify transaction as
JSON
rather than a base64 encoded string inclient_{sign|send}_transaction
- 6975 - Implement
admin.sign_transaction
in the wallet - 6974 - Make names in wallet admin
API
consistent - 6642 - Add methods to manage the wallet service and its connections on wallet API version 2
- 6853 - Max gas and priority improvements
- 6782 - Bump embedded
postgres
version to hopefully fixCI
instability - 6880 - Omit transactions we can't decode in block explorer transaction list
- 6640 - Mark to market to happen every N seconds.
- 6827 - Add
LastTradedPrice
field in market data - 6871 - Assure integration test framework throws an error when no watchers specified for a network parameter being set/updated
- 6908 - Update default retention policy
- 6827 - Add filters to
ordersConnection
- 6910 - Separate settled position from position
- 6988 - Handle 0 timestamps in
graphql
marshaller - 6910 - Separate settled position from position
- 6949 - Mark positions to market at the end of the block.
- 6819 - Support long-living token in wallet client API
- 6964 - Add support for long living tokens with expiry
- 6991 - Expose error field in explorer API
- 5769 - Automatically resolve the host name in the client wallet API
- 6910 - Separate settled position from position
- 6758 - Fix first and last block not returned on querying epoch
- 6924 - Fix deterministic sorting when nodes have equal scores and we have to choose who is in the signer set
- 6812 - Network name is derived solely from the filename to cause less confusion if the network
config
is renamed - 6831 - Fix settlement state in snapshots and market settlement.
- 6856 - When creating liquidity provision, seed dummy orders in order to prevent broken references when querying the market later
- 6801 - Fix internal data source validations
- 6766 - Handle relative fury home path being passed in
postgres
snapshots - 6885 - Don't ignore 'bootstrap peers'
IPFS
configuration setting indatanode
- 6799 - Move LP fees in transit to the network treasury
- 6781 - Fix bug where only first 32 characters of the
IPFS
identity seed were used. - 6824 - Respect
FURY_HOME
for embeddedpostgres
log location - 6843 - Fix Visor runner keys
- 6934 - from/to accounts for ledger entries in database were reversed
- 6826 - Update
spam.pow.numberOfPastBlocks
range values - 6332 - Standardise
graphql
responses - 6862 - Add party in account update
- 6888 - Errors on accepted transaction with an invalid state are correctly handled in the wallet API version 2
- 6899 - Upgrade to tendermint 0.34.24
- 6894 - Finer error code returned to the third-party application
- 6849 - Ensure the positions are remove from the positions engine when they are closed
- 6767 - Protocol upgrade rejected events fail to write in the database
- 6896 - Fix timestamps in proposals (
GQL
) - 6844 - Use proper type in
GQL
for transfer types and some types rename - 6783 - Unstable
CI
tests fordehistory
- 6844 - Unstable
CI
tests fordehistory
- 6844 - Add API descriptions, remove unused ledger entries and fix typos
- 6960 - Infer has traded from settlement engine rather than from an unsaved-to-snapshot flag
- 6941 - Rename
admin.describe_network
parameter toname
- 6976 - Recalculate margins on MTM anniversary even if there were no trades.
- 6977 - Prior to final settlement, perform MTM on unsettled trades.
- 6569 - Fix margin calculations during auctions.
- 7001 - Set mark price on final settlement.
- 6726 - Talk to embedded
postgres
via aUNIX
domain socket in tests.
- 6759 - Send events when liquidity provisions are
undeployed
- 6764 - If a trading terminated oracle changes after trading already terminated do not subscribe to it
- 6775 - Fix oracle spec identifiers
- 6762 - Fix one off transfer events serialization
- 6747 - Ensure proposal with no participation does not get enacted
- 6757 - Fix oracle spec resolvers in Gateway
- 6952 - Fix signers resolvers in Gateway
- 6598 - Rework
fury tools snapshot
command to be more consistent with other CLI options
- 6681 - Add indexes to improve balance history query
- 6682 - Add indexes to orders by reference query
- 6668 - Add indexes to trades by buyer/seller
- 6628 - Improve node health check in the wallet
- 6711 -
Anti-whale ersatz
validators reward stake scores
- 6701 - Fix
GraphQL
API
not returningx-fury-*
headers - 6563 - Liquidity engine reads orders directly from the matching engine
- 6696 - New nodes are now visible from the epoch they announced and not epoch they become active
- 6661 - Scale price to asset decimal in estimate orders
- 6685 -
fury announce_node
now returns atxHash
when successful or errors fromCheckTx
- 6687 - Expose
admin.update_passphrase
in admin wallet API - 6686 - Expose
admin.rename_wallet
in admin wallet API - 6496 - Fix margin calculation for pegged and liquidity orders
- 6670 - Add governance by
ID
endpoint toREST
bindings - 6679 - Permit
GFN
pegged orders - 6707 - Fix order event for liquidity provisions
- 6699 -
orders
andorders_current
view uses a redundant union causing performance issues - 6721 - Visor fix if condition for
maxNumberOfFirstConnectionRetries
- 6655 - Fix market query by
ID
- 6656 - Fix data sources to handle opening with internal source
- 6722 - Fix get market response to contain oracle id
- 6603 - Put embedded
postgres
files in proper state directory - 6552 - Add
datanode
API
for querying protocol upgrade proposals - 6613 - Add file buffering to datanode
- 6602 - Panic if data node receives events in unexpected order
- 6595 - Support for cross network parameter dependency and validation
- 6627 - Fix order estimates
- 6604 - Fix transfer funds documentations in
protos
- 6463 - Implement chain replay and snapshot restore for the
nullblockchain
- 6652 - Change protocol upgrade consensus do be based on voting power
- 6356 - When querying for proposals from
GQL
return votes. - 6623 - Fix
nil
pointer panic indatanode
for race condition inrecvEventRequest
- 6601 - Removed resend event when the socket client fails
- 5715 - Fix documentation for Oracle Submission elements
- 5770 - Fix Nodes data query returns incorrect results
- 6227 - Datanode Decentralized History - datanode init command now requires the chain id as a parameter
- 6530 - Add command to rename a wallet
- 6531 - Add command to update the passphrase of a wallet
- 6482 - Improve
TransferType
mapping usage - 6546 - Add a separate README for datanode/api gRPC handling principles
- 6582 - Match validation to the required ranges
- 6596 - Add market risk parameter validation
- 6410 - Add input validation for the
EstimateFee
endpoint. - 6556 - Limit ledger entries filtering complexity and potential number of items.
- 6539 - Fix total fee calculation in estimate order
- 6584 - Simplify
ListBalanceChanges
, removing aggregation and forward filling for now - 6583 - Cancel wallet connection request if no wallet
- 6505 - Allow negative position decimal places for market
- 6477 - Allow the user to specify a different passphrase when isolating a key
- 6549 - Output from
nodewallet reload
is now more usefuljson
- 6458 - Rename
GetMultiSigSigner...Bundles API
functions toListMultiSigSigner...Bundles
to be consistent withv2 APIs
- 6506 - Swap places of PID and date in log files in the wallet service
- 6080 - Data-node handles upgrade block and ensures data is persisted before upgrade
- 6527 - Add
last-block
sub-command todatanode CLI
- 6529 - Added reason to transfer to explain why it was stopped or rejected
- 6513 - Refactor
datanode
api
for getting balance history
- 6480 - Wallet
openrpc.json
is now a valid OpenRPC file - 6473 - Infrastructure Fee Account returns error when asset is pending listing
- 5690 - Markets query now excludes rejected markets
- 5479 - Fix inconsistent naming in API error
- 6525 - Round the right way when restoring the integer representation of cached price ranges from a snapshot
- 6011 - Fix data node fails when
Postgres
starts slowly - 6341 - Embedded
Postgres
should only capture logs during testing - 6511 - Do not check writer interface for null when starting embedded
Postgres
- 6510 - Filter parties with 0 reward from reward payout event
- 6471 - Fix potential nil reference when owner is system for ledger entries
- 6519 - Fix errors in the ledger entries
GraphQL
query. - 6515 - Required properties in OpenRPC documentation are marked as such
- 6234 - Fix response in query for oracle data spec by id
- 6294 - Fix response for query for non-existing market
- 6508 - Fix data node starts slowly when the database is not empty
- 6532 - Add current totals to the vote events
- 6271 - Require signature from new Ethereum key to validate key rotation submission
- 6364 - Rename
oracleSpecForSettlementPrice
tooracleSpecForSettlementData
- 6401 - Fix estimate fees and margin
APis
- 6428 - Update the wallet connection decision for future work
- 6429 - Rename pipeline to interactor for better understanding
- 6430 - Split the transaction status interaction depending on success and failure
- 6399 - Add
init-db
andunsafe-reset-all
commands to block explorer - 6348 - Reduce pool size to leave more available
Postgres
connections - 6453 - Add ability to write
pprofs
at intervals to core - 6312 - Add back amended balance tests and correct ordering
- 6320 - Use
Account
type without internalid
indatanode
- 6461 - Occasionally close
postgres
pool connections - 6435 - Add
GetTransaction
API
call for block explorer - 6464 - Improve block explorer performance when filtering by submitter
- 6211 - Handle
BeginBlock
andEndBlock
events - 6361 - Remove unnecessary logging in market
- 6378 - Migrate remaining views of current data to tables with current data
- 6425 - Introduce interaction for beginning and ending of request
- 6308 - Support parallel requests in wallet API version 2
- 6426 - Add a name field on interaction to know what they are when JSON
- 6427 - Improve interactions documentation
- 6431 - Pass a human-readable input data in Transaction Succeeded and Failed notifications
- 6448 - Improve wallet interaction JSON conversion
- 6454 - Improve test coverage for setting fees and rewarding LPs
- 6458 - Return a context aware message in
RequestSuccessful
interaction - 6451 - Improve interaction error message
- 6432 - Use optionals for order error and proposal error
- 6368 - Add Ledger Entry API
- 6444 - Send a transaction error if the same node announces itself twice
- 6388 - Do not transfer stake and delegations after a key rotation
- 6266 - Do not take a snapshot at block height 1 and handle increase of interval appropriately
- 6338 - Fix validation for update an new asset proposals
- 6357 - Fix potential panic in
gql
resolvers - 6391 - Fix dropped connection between core and data node when large
(>1mb)
messages are sent. - 6358 - Do not show hidden files nor directories as wallet
- 6374 - Fix panic with the metrics
- 6373 - Fix panic with the metrics as well
- 6238 - Return empty string for
multisig
bundle, not0x
when asset doesn't have one - 6236 - Make
erc20ListAssetBundle
nullable
inGraphQL
- 6395 - Wallet selection doesn't lower case the wallet name during input verification
- 6408 - Initialise observer in liquidity provision
sql
store - 6406 - Fix invalid tracking of cumulative volume and price
- 6387 - Fix max open interest calculation
- 6416 - Prevent submission of
erc20
address already used by another asset - 6375 - If there is one unit left over at the end of final market settlement - transfer it to the network treasury. if there is more than one, log all transfers and panic.
- 6456 - Assure liquidity fee gets update when target stake drops (even in the absence of trades)
- 6459 - Send lifecycle notifications after parameters validation
- 6420 - Support cancellation of a request during a wallet interaction
- 6291 - Remove
Nodewallet.ETH
configuration and add flags to supplyclef
addresses when importing or generating accounts - 6314 - Rename session namespace to client in wallet API version 2
- 6283 - Add commit hash to version if is development version
- 6321 - Get rid of the
HasChanged
check in snapshot engines - 6126 - Don't generate market depth subscription messages if nothing has changed
- 6287 - Fix GraphQL
proposals
APIproposalType
filter - 6307 - Emit an event with status rejected if a protocol upgrade proposal has no validator behind it
- 5305 - Handle market updates changing price monitoring parameters correctly.
- 6196 - Remove unused network parameters network end of life and market freeze date
- 6155 - Rename "Client" to "User" in wallet API version 2
- 5641 - Rename
SettlementPriceDecimals
toSettlementDataDecimals
- 6103 - Verify that order amendment has the desired effect on opening auction
- 6170 - Order GraphQL schema (query and subscription types) alphabetically
- 6163 - Add block explorer back end
- 6153 - Display UI friendly logs when calling
session.send_transaction
- 6063 - Update average entry valuation calculation according to spec change.
- 6191 - Remove the retry on node health check in the wallet API version 2
- 6221 - Add documentation for new
GraphQL endpoints
- 6498 - Fix incorrectly encoded account id
- 5600 - Migrate all wallet capabilities to V2 api
- 6077 - Add proof-of-work to transaction when using
furywallet command sign
- 6203 - Support automatic consent for transactions sent through the wallet API version 2
- 6203 - Log node selection process on the wallet CLI
- 5925 - Clean transfer response API, now ledger movements
- 6254 - Reject Ethereum configuration update via proposals
- 5706 - Datanode snapshot create and restore support
- 6255 - Fix
WebSocket
upgrading when setting headers in HTTP middleware. - 6101 - Fix Nodes API not returning new
ethereumAdress
afterEthereumKeyRotation
event. - 6183 - Shutdown blockchain before protocol services
- 6148 - Fix API descriptions for typos
- 6187 - Not hash message before signing if using clef for validator heartbeats
- 6138 - Return more useful information when a transaction submitted to a node contains validation errors
- 6156 - Return only delegations for the specific node in
graphql
node delegation query - 6233 - Fix
GetNodeSignatures
GRPC api - 6175 - Fix
datanode
updating node public key on key rotation - 5948 - Shutdown node gracefully when panics or
sigterm
during chain-replay - 6109 - Candle query returns unexpected data.
- 5988 - Exclude tainted keys from
session.list_keys
endpoint - 5164 - Distribute LP fees on settlement
- 6212 - Change the error for protocol upgrade request for block 0
- 6242 - Allow migrate between wallet types during Ethereum key rotation reload
- 6202 - Always update margins for parties on amend
- 6228 - Reject protocol upgrade downgrades
- 6245 - Recalculate equity values when virtual stake changes
- 6260 - Prepend
chainID
to input data only when signing the transaction - 6036 - Fix
protobuf<->swagger
generation - 6248 - Candles connection is not returning any candle data
- 6037 - Fix auction events.
- 6061 - Attempt at stabilizing the tests on the broker in the core
- 6178 - Historical balances fails with
scany
error - 6193 - Use Data field from transaction successfully sent but that were rejected
- 6230 - Node Signature Connection should return a list or an appropriate error message
- 5998 - Positions should be zero when markets are closed and settled
- 6297 - Historic Balances fails if
MarketId
is used ingroupBy
- 5989 - Remove liquidity commitment from market proposal
- 6031 - Remove market name from
graphql
market type - 6095 - Rename taker fees to maker paid fees
- 5442 - Default behaviour when starting to node is to use the latest local snapshot if it exists
- 6139 - Return the key on
session.list_keys
endpoint on wallet API version 2
- 5971 - Add headers
X-Block-Height
,X-Block-Timestamp
andX-Fury-Connection
to all API responses - 5694 - Add field
settlementPriceDecimals
to GraphQLFuture
andFutureProduct
types - 6048 - Upgrade
golangci-lint
to1.49.0
and implement its suggestions - 5807 - Add Fury tools:
stream
,snapshot
andcheckpoint
- 5678 - Add GraphQL endpoints for Ethereum bundles:
listAsset
,updateAsset
,addSigner
andremoveSigner
- 5881 - Return account subscription as a list
- 5766 - Better notification for version update on the wallet
- 5841 - Add transaction to request
multisigControl
signatures on demand - 5937 - Add more flexibility to market creation bonus
- 5932 - Remove Name and Symbol from update asset proposal
- 5880 - Send initial image with subscriptions to positions, orders & accounts
- 5878 - Add option to return only live orders in
ListOrders
API
- 5937 - Add more flexibility to market creation bonus
- 5708 - Use market price when reporting average trade price
- 5949 - Transfers processed in the order they were received
- 5966 - Do not send transaction from wallet if
chainID
is empty - 5675 - Add transaction information to all database tables
- 6004 - Probability of trading refactoring
- 5849 - Use network parameter from creation time of the proposal for requirements
- 5846 - Expose network parameter from creation time of the proposal through
APIs
. - 5999 - Recalculate margins after risk parameters are updated.
- 5682 - Expose equity share weight in the API
- 5684 - Added date range to a number of historic balances, deposits, withdrawals, orders and trades queries
- 6071 - Allow for empty settlement asset in recurring transfer metric definition for market proposer bonus
- 6042 - Set GraphQL query complexity limit
- 6106 - Returned signed transaction in wallet API version 2
session.send_transaction
- 6105 - Add
session.sign_transaction
endpoint on wallet API version 2 - 6042 - Set GraphQL query complexity limit
- 5888 - Add Liquidity Provision subscription to GraphQL
- 5961 - Add batch market instructions command
- 5974 - Flatten subscription in
Graphql
- 6146 - Add version command to Fury Visor
- 6671 - Fury Visor allows to postpone first failure when Core node is slow to startup
- 5934 - Ensure wallet without permissions can be read
- 5950 - Fix documentation for new wallet command
- 5687 - Asset cache was returning stale data
- 6032 - Risk factors store errors after update to a market
- 5986 - Error string on failed transaction is sent in the plain, no need to decode
- 5860 - Enacted but unlisted new assets are now included in checkpoints
- 6023 - Tell the
datanode
when a genesis validator does not exist in acheckpoint
- 5963 - Check other nodes during version check if the first one is unavailable
- 6002 - Do not emit events for unmatched oracle data and unsubscribe market as soon as oracle data is received
- 6008 - Fix equity like share and average trade value calculation with opening auctions
- 6040 - Fix protocol upgrade transaction submission and small Visor improvements
- 5977 - Fix missing block height and block time on stake linking API
- 6054 - Fix panic on settlement
- 6060 - Fix connection results should not be declared as mandatory in GQL schema.
- 6097 - Fix incorrect asset (metric asset) used for checking market proposer eligibility
- 6099 - Allow recurring transfers with the same to and from but with different asset
- 6067 - Verify global reward is transferred to party address 0
- 6131 -
nullblockchain
should call Tendermint Infoabci
to match real flow - 6119 - Correct order in which market event is emitted
- 5890 - Margin breach during amend doesn't cancel order
- 6144 - Price and Pegged Offset in orders are Decimals
- 6111 - Handle candles transient failure and prevent subscription blocking
- 6204 - Data Node add Ethereum Key Rotations subscriber and rest binding
With this release a few breaking changes are introduced.
The Fury application is now a built-in application. This means that Tendermint doesn't need to be started separately any more.
The fury node
command has been renamed fury start
.
The fury tm
command has been renamed fury tendermint
.
The Blockchain.Tendermint.ClientAddr
configuration field have been renamed Blockchain.Tendermint.RPCAddr
.
The init command now also generate the configuration for tendermint, the flags --no-tendermint
, --tendermint-home
and --tendermint-key
have been introduced
- 5579 - Make fury a built-in Tendermint application
- 5249 - Migrate to Tendermint version 0.35.8
- 5624 - Get rid of
updateFrequency
in price monitoring definition - 5601 - Remove support for launching a proxy in front of console and token dApp
- 5872 - Remove console and token dApp from networks
- 5802 - Remove support for transaction version 1
- 4655 - Move Ethereum
RPC
endpoint configuration fromNodewallet
section toEthereum
section
- 5589 - Used custom version of Clef
- 5541 - Support permissions in wallets
- 5439 -
vegwallet
returns better responses when a transaction fails - 5465 - Verify
bytecode
of smart-contracts on startup - 5608 - Ignore stale price monitoring trigger when market is already in auction
- 5673 - Add support for
ethereum
key rotations todatanode
- 5639 - Move all core code in the core directory
- 5613 - Import the
datanode
in the fury repo - 5660 - Migrate subscription
apis
fromdatanode v1 api
todatanode v2 api
- 5636 - Assure no false positives in cucumber steps
- 5011 - Import the
protos
repo in the fury repo - 5774 - Use
generics
forID
types - 5785 - Add support form
ERC20
bridge stopped and resumed events - 5712 - Configurable
graphql
endpoint - 5689 - Support
UpdateAsset
proposal in APIs - 5685 - Migrated
apis
fromdatanode v1
todatanode v2
- 5760 - Map all
GRPC
toREST
- 5804 - Rollback Tendermint to version
0.34.20
- 5503 - Introduce wallet API version 2 based on JSON-RPC with new authentication workflow
- 5822 - Rename
Graphql
enums - 5618 - Add wallet JSON-RPC documentation
- 5776 - Add endpoint to get a single network parameter
- 5685 - Migrated
apis
fromdatanode v1
todatanode v2
- 5761 - Transfers connection make direction optional
- 5762 - Transfers connection add under
party
type - 5685 - Migrated
apis
fromdatanode v1
todatanode v2
- 5705 - Use enum for validator status
- 5685 - Migrated
apis
fromdatanode v1
todatanode v2
- 5834 - Avoid saving proposals of terminated/cancelled/rejected/settled markets in checkpoint
- 5619 - Add wallet HTTP API version 2 documentation
- 5823 - Add endpoint to wallet HTTP API version 2 to list available RPC methods
- 5814 - Add proposal validation date time to
graphql
- 5865 - Allow a validator to withdraw their protocol upgrade proposal
- 5803 - Update cursor pagination to use new method from 5784
- 5862 - Add base
URL
inswagger
- 5817 - Add validation error on asset proposal when rejected
- 5816 - Set proper status to rejected asset proposal
- 5893 - Remove total supply from assets
- 5752 - Remove URL and Hash from proposal rationale, add Title
- 5802 - Introduce transaction version 3 that encode the chain ID in its input data to protect against transaction replay
- 5358 - Port equity like shares update to new structure
- 5926 - Check for liquidity auction at the end of a block instead of after every trade
- 5571 - Restore pending assets status correctly after snapshot restore
- 5857 - Fix panic when calling
ListAssets
grpc
end point with no arguments - 5572 - Add validation on
IDs
and public keys - 5348 - Restore markets from checkpoint proposal
- 5279 - Fix loading of proposals from checkpoint
- 5598 - Remove
currentTime
from topology engine to ease snapshot restoration - 5836 - Add missing
GetMarket
GRPC
end point - 5609 - Set event forwarder last seen height after snapshot restore
- 5782 -
Pagination
with a cursor was returning incorrect results - 5629 - Fixes for loading voting power from checkpoint with non genesis validators
- 5626 - Update
protos
, remove optional types - 5665 - Binary version hash always contain
-modified
suffix - 5633 - Allow
minProposerEquityLikeShare
to accept 0 - 5672 - Typo fixed in datanode
ethereum
address - 5863 - Fix panic when calling
FuryTime
onv2 api
- 5683 - Made market mandatory in
GraphQL
for order - 5789 - Fix performance issue with position query
- 5677 - Fixed trading mode status
- 5663 - Fixed panic with de-registering positions
- 5781 - Make enactment timestamp optional in proposal for
graphql
- 5767 - Fix typo in command validation
- 5900 - Add missing
/api/v2/parties/{party_id}/stake
REST
end point - 5825 - Fix panic in pegged orders when going into auction
- 5763 - Transfers connection rename
pubkey
topartyId
- 5486 - Fix amend order expiring
- 5809 - Remove state variables when a market proposal is rejected
- 5329 - Fix checks for market enactment and termination
- 5837 - Allow a promotion due to increased slots and a swap to happen in the same epoch
- 5819 - Add new asset proposal validation timestamp validation
- 5897 - Return uptime of 0, rather than error, when querying for
NodeData
before end of first epoch - 5811 - Do not overwrite local changes when updating wallet through JSON-RPC API
- 5868 - Clarify the error for insufficient token to submit proposal or vote
- 5867 - Fix witness check for majority
- 5853 - Do not ignore market update proposals when loading from checkpoint
- 5648 - Ethereum key rotation - search validators by Fury pub key and listen to rotation events in core API
- 5648 - Search validator by fury pub key and update the core validators API
- 5513 - Remove all checkpoint restore command
- 5428 - Update contributor information
- 5519 - Add
--genesis-file
option to theload_checkpoint
command - 5538 - Core side implementation of protocol upgrade
- 5525 - Release
furywallet
from the core - 5524 - Align
furywallet
and core versions - 5524 - Add endpoint for getting the network's
chain-id
- 5524 - Handle tendermint demotion and
ersatz
slot reduction at the same time
- 5476 - Include settlement price in snapshot
- 5476 - Fix validation of checkpoint file
- 5499 - Add error from app specific validation to check transaction response
- 5508 - Fix duplicated staking events
- 5514 - Emit
rewardScore
event correctly after loading from checkpoint - 5520 - Do not fail silently when wallet fails to start
- 5521 - Fix asset bundle and add asset status
- 5546 - Fix collateral checkpoint to unlock locked reward account balance
- 5194 - Fix market trading mode vs market state
- 5432 - Do not accept transaction with unexpected public keys
- 5478 - Assure uncross and fake uncross are in line with each other
- 5480 - Assure indicative trades are in line with actual uncrossing trades
- 5556 - Fix id generation seed
- 5361 - Fix limits for proposals
- 5557 - Fix oracle status at market settlement
- 5421 - Fix notary snapshot determinism when no signature are generated yet
- 5415 - Regenerate smart contracts code
- 5434 - Add health check for faucet
- 5412 - Proof of work improvement to support history of changes to network parameters
- 5378 - Allow new market proposals without LP
- 5438 - Evaluate all trades resulting from an aggressive orders in one call to price monitoring engine
- 5444 - Merge both checkpoints and genesis asset on startup
- 5446 - Cover liquidity monitoring acceptance criteria relating to aggressive order removing best bid or ask from the book
- 5457 - Fix sorting of validators for demotion check
- 5460 - Fix theoretical open interest calculation
- 5477 - Pass a clone of the liquidity commitment offset to pegged orders
- 5468 - Bring indicative trades inline with actual auction uncrossing trades in presence of wash trades
- 5419 - Fix listeners ordering and state updates
- 5395 - Add
burn_nonce
bridge tool - 5403 - Allow spam free / proof of work free running of null blockchain
- 5175 - Validation free transactions (including signature verification) for null blockchain
- 5371 - Ensure threshold is not breached in ERC20 withdrawal
- 5358 - Update equity shares following updated spec.
- 5362 - Liquidity and order book point to same underlying order after restore
- 5367 - better serialisation for party orders in liquidity snapshot
- 5377 - Serialise state var internal state
- 5388 - State variable snapshot now works as intended
- 5388 - Repopulate cached order-book after snapshot restore
- 5203 - Market liquidity monitor parameters trump network parameters on market creation
- 5297 - Assure min/max price always accurate
- 4223 - Use uncrossing price for target stake calculation during auction
- 3047 - Improve interaction between liquidity and price monitoring auctions
- 3570 - Set extension trigger during opening auction with insufficient liquidity
- 3362 - Stop non-persistent orders from triggering auctions
- 5388 - Use
UnixNano()
to snapshot price monitor times - 5237 - Trigger state variable calculation first time indicative uncrossing price is available
- 5397 - Bring indicative trades price inline with that of actual auction uncrossing trades
- 5192 - Require a rationale on proposals
- 5318 - Automatically dispatch reward pool into markets in recurring transfers
- 5333 - Run snapshot generation for all providers in parallel
- 5343 - Snapshot optimisation part II - get rid of
getHash
- 5324 - Send event when oracle data doesn't match
- 5140 - Move limits (enabled market / assets from) to network parameters
- 5360 - rewards test coverage
- 5338 - Checking a transaction should return proper success code
- 5277 - Updating a market should default auction extension to 1
- 5284 - price monitoring past prices are now included in the snapshot
- 5294 - Parse timestamps oracle in market proposal validation
- 5292 - Internal time oracle broadcasts timestamp without nanoseconds
- 5297 - Assure min/max price always accurate
- 5286 - Ensure liquidity fees are updated when updating the market
- 5322 - Change fury pub key hashing in topology to fix key rotation submission.
- 5313 - Future update was using oracle spec for settlement price as trading termination spec
- 5304 - Fix bug causing trade events at auction end showing the wrong price.
- 5345 - Fix issue with state variable transactions assumed gone missing
- 5351 - Fix panic when node is interrupted before snapshot engine gets cleared and initialised
- 5972 - Allow submitting a market update with termination oracle ticking before enactment of the update
- 5001 - Set and increment LP version field correctly
- 5001 - Add integration test for LP versioning
- 3372 - Add integration test making sure margin is released when an LP is cancelled.
- 5235 - Use
BroadcastTxSync
instead of async for submitting transactions totendermint
- 5268 - Make validator heartbeat frequency a function of the epoch duration.
- 5271 - Make generated hex IDs lower case
- 5273 - Reward / Transfer to allow payout of reward in an arbitrary asset unrelated to the settlement and by market.
- 5207 - Add integration tests to ensure price bounds and decimal places work as expected
- 5243 - Update equity like share according to spec changes.
- 5249 - Upgrade to tendermint 0.35.6
- 4798 - Set market pending timestamp to the time at which the market is created.
- 5222 - Do not panic when admin server stops.
- 5103 - Fix invalid http status set in faucet
- 5239 - Always call
StartAggregate()
when signing validators joining and leaving even if not a validator - 5128 - Fix wrong http rate limit for faucet
- 5231 - Fix pegged orders to be reset to the order pointer after snapshot loading
- 5247 - Fix the check for overflow in scaling settlement price
- 5250 - Fixed panic in loading validator checkpoint
- 5260 - Process recurring transfer before rewards
- 5262 - Allow recurring transfers to start during the current epoch
- 5267 - Do not check commitment on
UpdateMarket
proposals
- 5226 - Add support for settlement price decimal place in governance
- 5197 - Scale settlement price based on oracle definition
- 5055 - Ensure at most 5 triggers are used in price monitoring settings
- 5100 - add a new scenario into feature test, auction folder, leaving auction when liquidity provider provides a limit order
- 4919 - Feature tests for 0011 check order allocate margin
- 4922 - Feature tests for 0015 market insurance pool collateral
- 4926 - Feature tests for 0019 margin calculator scenarios
- 5119 - Add Ethereum key rotation support
- 5209 - Add retries to floating point consensus engine to work around tendermint missing transactions
- 5219 - Remove genesis sign command.
- 5078 - Unwrap properly position decimal place from payload
- 5076 - Set last mark price to settlement price when market is settled
- 5038 - Send proof-of-work when when announcing node
- 5034 - Ensure to / from in transfers payloads are fury public keys
- 5111 - Stop updating the market's initial configuration when an opening auction is extended
- 5066 - Return an error if market decimal place > to asset decimal place
- 5095 - Stabilise state sync restore and restore block height in the topology engine
- 5204 - Mark a snapshot state change when liquidity provision state changes
- 4870 - Add missing commands to the
TxError
event - 5136 - Fix banking snapshot for transfers, risk factor restoration, and
statevar
handling of settled markets - 5088 - Fixed MTM bug where settlement balance would not be zero when loss amount was 1.
- 5093 - Fixed proof of engine end of block callback never called to clear up state
- 4996 - Fix positions engines
vwBuys
andvwSell
when amending, send events onUpdate
andUpdateNetwork
- 5016 - Target stake in asset decimal place in Market Data
- 5109 - Fixed promotion of ersatz to tendermint validator
- 5110 - Fixed wrong tick size used for calculating probability of trading
- 5144 - Fixed the default voting power in case there is stake in the network
- 5124 - Add proto serialization for update market proposal
- 5124 - Ensure update market proposal compute a proper auction duration
- 5172 - Add replay protection for validator commands
- 5181 - Ensure Oracle specs handle numbers using
num.Decimal
andnum.Int
- 5059 - Validators without tendermint status vote in the witness and notary engine but their votes do not count
- 5190 - Fix settlement at expiry to scale the settlement price from market decimals to asset decimals
- 5185 - Fix MTM settlement where win transfers get truncated resulting in settlement balance not being zero after settlement.
- 4943 - Fix bug where amending orders in opening auctions did not work as expected
- 4814 - Review fees tests
- 5067 - Adding acceptance codes and tidy up tests
- 5052 - Adding acceptance criteria tests for market decimal places
- 5138 - Adding feature test for "0032-PRIM-price_monitoring.md"
- 4753 - Adding feature test for oracle spec public key validation
- 4559 - Small fixes to the amend order flow
- 5064 - Send order event on settlement
- 5068 - Use settlement price if exists when received trading terminated event
- 4985 - Proof of work spam protection
- 5007 - Run approbation as part of the CI pipeline
- 5019 - Label Price Monitoring tests
- 5022 - CI: Run approbation for main/master/develop branches only
- 5017 - Added access functions to
PositionState
type - 5049 - Liquidity Provision test coverage for 0034 spec
- 5022 - CI: Run approbation for main/master/develop branches only
- 4916 - Add acceptance criteria number in the existing feature tests to address acceptance criteria in
0008-TRAD-trading_workflow.md
- 5061 - Add a test scenario using log normal risk model into feature test "insurance-pool-balance-test.feature"
- 2585 - Adding position state event to event bus
- 4952 - Add checkpoints for staking and
multisig control
- 4923 - Add checkpoint state in the genesis file + add subcommand to do it.
- 4983 - Set correct event type for positions state event
- 4989 - Fixing incorrect overflow logic
- 5036 - Fix the
nullblockchain
- 4981 - Fix bug causing LP orders to uncross at auction end.
- 4951 - Add ability to stream events to a file
- 4953 - Add block hash to statistics and to block height request
- 4961 - Extend auction feature tests
- 4832 - Add validation of update market proposals.
- 4971 - Add acceptance criteria to auction tests
- 4833 - Propagate market update to other engines
- 4947 - Fix time formatting problem that was breaking consensus on nodes in different time zones
- 4956 - Fix concurrent write to price monitoring ref price cache
- 4987 - Include the witness engine in snapshots
- 4957 - Fix
fury announce_node
to work with--home
and--passphrase-file
- 4964 - Fix price monitoring snapshot
- 4974 - Fix panic when checkpointing staking accounts if there are no events
- 4888 - Fix memory leak when loading snapshots.
- 4993 - Stop snapshots thinking we've loaded via
statesync
when we just lost connection to TM - 4981 - Fix bug causing LP orders to uncross at auction end.
- 4895 - Emit validators signature when a validator is added or remove from the set
- 4901 - Update the decimal library
- 4906 - Get rid of unnecessary
ToDecimal
conversions (no functional change) - 4838 - Implement governance vote based on equity-like share for market update
- 4877 - Fix topology and
erc20
topology snapshots - 4890 - epoch service now notifies other engines when it has restored from a snapshot
- 4879 - Fixes for invalid data types in the
MarketData
proto message. - 4881 - Set tendermint validators' voting power when loading from snapshot
- 4915 - Take full snapshot of collateral engine, always read epoch length from network parameters, use back-off on heartbeats
- 4882 - Fixed tracking of liquidity fee received and added feature tests for the fee based rewards
- 4898 - Add ranking score information to checkpoint and snapshot and emit an event when loaded
- 4932 - Fix the string used for resource id of stake total supply to be stable to fix the replay of non validator node locally
- 4900 - Review LP fee tests, and move to FURY repo
- 4844 - Add endpoints for checking transactions raw transactions
- 4515 - Add snapshot options description and check provided storage method
- 4581 - Separate endpoints for liquidity provision submissions, amendment and cancellation
- 4390 - Introduce node mode,
fury init
now require a mode: full or validator - 4383 - Rename flag
--tm-root
to--tm-home
- 4588 - Remove the outdated
--network
flag onfury genesis generate
andfury genesis update
- 4605 - Use new format for
EthereumConfig
in network parameters. - 4508 - Disallow negative offset for pegged orders
- 4465 - Update to tendermint
v0.35.0
- 4594 - Add support for decimal places specific to markets. This means market price values and position events can have different values. Positions will be expressed in asset decimal places, market specific data events will list prices in market precision.
- 4660 - Add tendermint transaction hash to events
- 4670 - Rework
freeform proposal
structure so that they align with other proposals - 4681 - Remove tick size from market
- 4698 - Remove maturity field from future
- 4699 - Remove trading mode one off from market proposal
- 4790 - Fix core to work with
protos
generated by newer versions ofprotoc-gen-xxx
- 4856 - Fractional orders and positions
- 4793 - Add specific insurance pool balance test
- 4633 - Add possibility to list snapshots from the fury command line
- 4640 - Update feature tests related to liquidity provision following integration of probability of trading with floating point consensus
- 4558 - Add MacOS install steps and information required to use
dockerisedfury.sh
script with private docker repository - 4496 - State variable engine for floating point consensus
- 4481 - Add an example client application that uses the null-blockchain
- 4514 - Add network limits service and events
- 4516 - Add a command to cleanup all fury node state
- 4531 - Remove Float from network parameters, use
num.Decimal
instead - 4537 - Send staking asset total supply through consensus
- 4540 - Require Go minimum version 1.17
- 4530 - Integrate risk factors with floating point consensus engine
- 4485 - Change snapshot interval default to 1000 blocks
- 4505 - Fast forward epochs when loading from checkpoint to trigger payouts for the skipped time
- 4554 - Integrate price ranges with floating point consensus engine
- 4544 - Ensure validators are started with the right set of keys
- 4569 - Move to
ghcr.io
docker container registry - 4571 - Update
CHANGELOG.md
for0.47.x
- 4577 - Update
CHANGELOG.md
for0.45.6
patch - 4573 - Remove execution configuration duplication from configuration root
- 4555 - Probability of trading integrated into floating point consensus engine
- 4592 - Update instructions on how to use docker without
sudo
- 4491 - Measure validator performance and use to penalise rewards
- 4599 - Allow raw private keys for bridges functions
- 4588 - Add
--update
and--replace
flags onfury genesis new validator
- 4522 - Add
--network-url
option tofury tm
- 4580 - Add transfer command support (one off transfers)
- 4636 - Update the Core Team DoD and issue templates
- 4629 - Update
CHANGELOG.md
to include0.47.5
changes - 4580 - Add transfer command support (recurring transfers)
- 4643 - Add noise to floating point consensus variables in QA
- 4639 - Add cancel transfer command
- 4750 - Fix null blockchain by forcing it to always be a non-validator node
- 4754 - Fix null blockchain properly this time
- 4754 - Remove old id generator fields from execution engine's snapshot
- 4830 - Reward refactoring for network treasury
- 4647 - Added endpoint
SubmitRawTransaction
to provide support for different transaction request message versions - 4653 - Replace asset insurance pool with network treasury
- 4638 - CI add option to specify connected changes in other repos
- 4650 - Restore code from rebase and ensure node retries connection with application
- 4570 - Internalize Ethereum Event Forwarder
- 4663 - CI set
qa
build tag when running system tests - 4709 - Make
BlockNr
part of event interface - 4657 - Rename
min_lp_stake
to quantum + use it in liquidity provisions - 4672 - Update Jenkinsfile
- 4712 - Check smart contract hash on startup to ensure the correct version is being used
- 4594 - Add integration test ensuring positions plug-in calculates P&L accurately.
- 4689 - Validators joining and leaving the network
- 4680 - Add
totalTokenSupplyStake
to the snapshots - 4645 - Add transfers snapshots
- 4707 - Serialize timestamp in time update message as number of nano seconds instead of seconds
- 4595 - Add internal oracle supplying fury time data for time-triggered events
- 4737 - Use a deterministic generator for order ids, set new order ids to the transaction hash of the Submit transaction
- 4741 - Hash again list of hash from engines
- 4751 - Make trade ids unique using the deterministic id generator
- 4766 - Added feature tests and integration steps for transfers
- 4771 - Small fixes and conformance update for transfers
- 4785 - Implement feature tests given the acceptance criteria for transfers
- 4784 - Moving feature tests from specs internal to verified folder
- 4797 - Update
CODEOWNERS
for research to review verified feature files - 4801 - added acceptance criteria codes to feature tests for Settlement at expiry spec
- 4823 - simplified performance score
- 4805 - Add command line tool to sign for the asset pool method
set_bridge_address
- 4839 - Send governance events when restoring proposals on checkpoint reload.
- 4829 - Fix margins calculations for positions with a size of 0 but with a non zero potential sell or buy
- 4826 - Tidying up feature tests in verified folder
- 4843 - Make snapshot engine aware of local storage old versions, and manage them accordingly to stop growing disk usage.
- 4863 - Improve replay protection
- 4867 - Optimise replay protection
- 4865 - Fix: issue with project board automation action and update commit checker action
- 4674 - Add Ethereum events reconciliation for
multisig control
- 4886 - Add more integration tests around order amends and fees.
- 4885 - Update amend orders scenario to have fees transfers in int tests
- 4842 - Fix margin balance not being released after close-out.
- 4798 - Fix panic in loading topology from snapshot
- 4521 - Better error when trying to use the null-blockchain with an ERC20 asset
- 4692 - Set statistics block height after a snapshot reload
- 4702 - User tree importer and exporter to transfer snapshots via
statesync
- 4516 - Fix release number title typo - 0.46.1 > 0.46.2
- 4524 - Updated
fury verify genesis
to understand newapp_state
layout - 4515 - Set log level in snapshot engine
- 4721 - Save checkpoint with
UnixNano
when taking a snapshot - 4728 - Fix restoring markets from snapshot by handling generated providers properly
- 4742 -
corestate
endpoints are now populated after a snapshot restore - 4847 - save state of the
feesplitter
in the execution snapshot - 4782 - Fix restoring markets from snapshot in an auction with orders
- 4522 - Set transfer responses event when paying rewards
- 4566 - Withdrawal fails should return a status rejected rather than cancelled
- 4582 - Deposits stayed in memory indefinitely, and withdrawal keys were not being sorted to ensure determinism.
- 4588 - Fail when missing tendermint home and public key in
nodewallet import
command - 4623 - Bug fix for
--snapshot.db-path
parameter not being used if it is set - 4634 - Bug fix for
--snapshot.max-retries
parameter not working correctly - 4775 - Restore all market fields when restoring from a snapshot
- 4845 - Fix restoring rejected markets by signalling to the generated providers that their parent is dead
- 4651 - An array of fixes in the snapshot code path
- 4658 - Allow replaying a chain from zero when old snapshots exist
- 4659 - Fix liquidity provision commands decode
- 4665 - Remove all references to
TxV2
- 4686 - Fix commit hash problem when checkpoint and snapshot overlap. Ensure the snapshot contains the correct checkpoint state.
- 4691 - Handle undelegate stake with no balances gracefully
- 4716 - Fix protobuf conversion in orders
- 4861 - Set a protocol version and properly send it to
Tendermint
in all cases - 4732 -
TimeUpdate
is now first event sent - 4714 - Ensure EEF doesn't process the current block multiple times
- 4700 - Ensure verification of type between oracle spec binding and oracle spec
- 4738 - Add vesting contract as part of the Ethereum event forwarder
- 4747 - Dispatch network parameter updates at the same block when loaded from checkpoint
- 4732 - Revert tendermint to version 0.34.14
- 4756 - Fix for markets loaded from snapshot not terminated by their oracle
- 4776 - Add testing for auction state changes and remove unnecessary market state change
- 4590 - Added verification of uint market data in integration test
- 4749 - Fixed issue where LP orders did not get redeployed
- 4820 - Snapshot fixes for market + update market tracker on trades
- 4854 - Snapshot fixes for the
statevar
engine - 3919 - Fixed panic in
maybeInvalidateDuringAuction
- 4849 - Fixed liquidity auction trigger for certain cancel & replace amends.
2022-02-01
- 4691 - Handle undelegate stake with no balances gracefully
2022-01-20
- 4617 - Bug fix for incorrectly reporting auto delegation
2022-01-05
- 4563 - Send an epoch event when loaded from checkpoint
2021-12-24
- 4529 - Non determinism in checkpoint fixed
2021-12-17
- 4500 - Set minimum for validator power to avoid accidentally removing them
- 4503 - Limit delegation epochs in core API
- 4504 - Fix premature ending of epoch when loading from checkpoint
2021-11-24
- 4488 - Disable snapshots
- 4536 - Fixed non determinism in topology checkpoint
- 4550 - Do not validate assets when loading checkpoint from non-validators
2021-11-24
- 4480 - Update
CHANGELOG.md
since GH Action implemented - 4439 - Create
release_ticket.md
issue template - 4456 - Return 400 on bad mint amounts sent via the faucet
- 4434 - Add free form governance net parameters to
allKeys
map - 4436 - Add ability for the null-blockchain to deliver transactions
- 4455 - Introduce API to allow time-forwarding in the null-blockchain
- 4422 - Add support for validator key rotation
- 4463 - Remove the need for an Ethereum connection when using the null-blockchain
- 4477 - Allow reloading of null-blockchain configuration while core is running
- 4468 - Change validator weights to be based on validator score
- 4484 - Add checkpoint validator key rotation
- 4459 - Add network parameters overwrite from checkpoints
- 4070 - Add calls to enable state-sync via tendermint
- 4465 - Add events tags to the
ResponseDeliverTx
- 4435 - Fix non determinism in deposits snapshot
- 4418 - Add some logging + height/version handling fixes
- 4461 - Fix problem where chain id was not present on event bus during checkpoint loading
- 4475 - Fix rewards checkpoint not assigned to its correct place
2021-11-24
- 4445 - Limit the number of iterations for reward calculation for delegator and fix for division by zero
2021-11-22
- 4437 - Turn snapshots off for
v0.46.1
only
2021-11-22
- 4431 - Update Fury wallet to version 0.10.0
- 4406 - Add changelog and project board Github actions and update linked PR action version
- 4328 - Unwrap the timestamps in reward payout event
- 4330 - Remove badger related code from the codebase
- 4336 - Add oracle snapshot
- 4299 - Add liquidity snapshot
- 4196 - Experiment at removing the snapshot details from the engine
- 4338 - Adding more error messages
- 4317 - Extend integration tests with global check for net deposits
- 3616 - Add tests to show margins not being released
- 4171 - Add trading fees feature test
- 4348 - Updating return codes
- 4346 - Implement liquidity supplied snapshot
- 4351 - Add target liquidity engine
- 4362 - Remove staking of cache at the beginning of the epoch for spam protection
- 4364 - Change spam error messages to debug and enabled reloading of configuration
- 4353 - remove usage of
furytime.Now
over the codebase - 4382 - Add Prometheus metrics on snapshots
- 4190 - Add markets snapshot
- 4389 - Update issue templates #4389
- 4392 - Update
GETTING_STARTED.md
documentation - 4391 - Refactor delegation
- 4423 - Add CLI options to start node with a null-blockchain
- 4400 - Add transaction hash to
SubmitTransactionResponse
- 4394 - Add step to clear all events in integration tests
- 4403 - Fully remove expiry from withdrawals #4403
- 4396 - Add free form governance proposals
- 4413 - Deploy to Devnet with Jenkins and remove drone
- 4429 - Release version
v0.46.0
- 4442 - Reduce the number of iterations in reward calculation
- 4409 - Include chain id in bus messages
- 4464 - Update validator power in tendermint based on their staking
- 4325 - Remove state from the witness snapshot and infer it from votes
- 4334 - Fix notary implementation
- 4343 - Fix non deterministic test by using same
idGenerator
- 4352 - Remove usage of
time.Now()
in the auction state - 4380 - Implement Uint for network parameters and use it for monies values
- 4369 - Fix orders still being accepted after market in trading terminated state
- 4395 - Fix drone pipeline
- 4398 - Fix to set proper status on withdrawal errors
- 4421 - Fix to missing pending rewards in LNL checkpoint
- 4419 - Fix snapshot cleanup, improve logging when specified block height could not be reloaded.
- 4444 - Fix division by zero when all validator scores are 0
- 4467 - Fix reward account balance not being saved/loaded to/from checkpoint
- 4474 - Wire rewards checkpoint to checkpoint engine and store infrastructure fee accounts in collateral checkpoint
2021-11-16
- 4506 - Wire network parameters to time service to flush out pending changes
2021-11-16
- 4403 - Fully remove expiry from withdrawals and release version
v0.45.5
2021-11-05
- 4372 - Fix, if all association is nominated, allow association to be unnominated and nominated again in the same epoch
2021-11-04
- 4362 - Remove staking of cache at the beginning of the epoch for spam protection
2021-10-27
- 4308 - Add Visual Studio Code configuration
- 4319 - Add snapshot node topology
- 4321 - Release version
v0.45.2
#4321
2021-10-23
- 4246 - Add replay protection snapshot
- 4245 - Add ABCI snapshot
- 4260 - Reconcile delegation more frequently
- 4255 - Add staking snapshot
- 4278 - Add timestamps to rewards
- 4265 - Add witness snapshot
- 4287 - Add stake verifier snapshot
- 4292 - Update the fury wallet version
- 4280 - Make event forwarder hashing result more random
- 4270 - Prevent overflow with pending delegation
- 4274 - Ensure sufficient balances when nominating multiple nodes
- 4286 - Checkpoints fixes
2021-10-19
- 4188 - Add rewards snapshot
- 4191 - Add limit snapshot
- 4192 - Ask for passphrase confirmation on init and generate commands when applicable
- 4201 - Implement spam snapshot
- 4214 - Add golangci-lint to CI
- 4199 - Add ERC20 logic signing
- 4211 - Implement snapshot for notary
- 4219 - Enable linters
- 4218 - Run system-tests in separate build
- 4227 - Ignore system-tests failures for non PR builds
- 4232 - golangci-lint increase timeout
- 4229 - Ensure the fury and Ethereum wallet are not nil before accessing
- 4230 - Replay protection snapshot
- 4242 - Set timeout for system-tests steps
- 4215 - Improve handling of expected trades
- 4224 - Make evt forward mode deterministic
- 4168 - Update code still using uint64
- 4240 - Add command to list and describe Fury paths
- 4228 - Fix readme updates
- 4210 - Add min validators network parameter and bug fix for overflow reward
2021-10-11
- 4195 - Fix rewards payout with delay
2021-10-08
- 4183 - Fix
undelegateNow
to use the passed amount instead of 0 - 4184 - Remove 0 balance events from checkpoint of delegations
- 4185 - Fix event sent on reward pool creation + fix owner
2021-10-07
- 4159 - Clean-up and separate checkpoints and snapshots
- 4172 - Added assetActions to banking snapshot
- 4173 - Add tools and linting
- 4161 - Assets snapshot implemented
- 4142 - Add clef wallet
- 4160 - Snapshot positions engine
- 4170 - Update to latest proto and go mod tidy
- 4157 - Adding IDGenerator types
- 4166 - Banking snapshot
- 4133 - Matching engine snapshots
- 4162 - Add fields to validators genesis
- 4154 - Port code to use last version of proto (layout change)
- 4141 - Collateral snapshots
- 4131 - Snapshot epoch engine
- 4143 - Add delegation snapshot
- 4114 - Document default file location
- 4130 - Update proto dependencies to latest
- 4134 - Checkpoints and snapshots are 2 different things
- 4121 - Additional test scenarios for delegation & rewards
- 4111 - Simplify nodewallet integration
- 4110 - Auto delegation
- 4123 - Add auto delegation to checkpoint
- 4120 - Snapshot preparation
- 4060 - Edge case scenarios delegation
- 4156 - Fix filename for checkpoints
- 4158 - Remove delay in reward/delegation calculation
- 4150 - De-duplicate stake linkings
- 4137 - Add missing key to all network parameters key map
- 4132 - Send delegation events
- 4128 - Simplify checkpointing for network parameters and start fixing collateral checkpoint
- 4124 - Fixed non-deterministic checkpoint and added auto delegation to checkpoint
- 4118 - Fixed epoch issue
2021-09-22
- 4051 - New type to handle signed versions of the uint256 values we already support
- 4090 - Update the proto repository dependencies
- 4023 - Implement the spam protection engine
- 4063 - Migrate to XDG structure
- 4075 - Prefix checkpoint files with time and interval for automated tests
- 4050 - Extend delegation feature test scenarios
- 4056 - Improve message for genesis error with topology
- 4017 - Migrate wallet to XGD file structure
- 4024 - Extend delegation rewards feature test scenarios
- 4035 - Implement multisig control signatures
- 4083 - Remove expiry support for withdrawals
- 4068 - Allow proposal votes to happen during the validation period
- 4088 - Implements the simple JSON oracle source
- 4105 - Add more hashes to the app state hash
- 4107 - Remove the trading proxy service
- 4101 - Remove dependency to the Ethereum client from the Ethereum wallet
- 4053 - Fix readme explanation for log levels
- 4054 - Capture errors with Ethereum iterator and continue
- 4040 - Fix bug where the withdrawal signature uses uint64
- 4042 - Extended delegation rewards feature test scenario edits
- 4034 - Update integration tests now TxErr events are not sent in the execution package
- 4106 - Fix a panic when reloading checkpoints
- 4115 - Use block height in checkpoint file names
2021-09-10
- 3862 - Collateral snapshot: Add checkpoints where needed, update processor (ABCI app) to write checkpoint data to file.
- 3926 - Add epoch to delegation balance events and changes to the delegation / reward engines
- 3963 - Load tendermint logger configuration
- 3958 - Update istake ABI and run abigen
- 3933 - Remove redundant API from Validator node
- 3971 - Reinstate wallet subcommand tests
- 3961 - Implemented feature test for delegation
- 3977 - Add undelegate, delegate and register snapshot errors
- 3976 - Add network parameter for competition level
- 3975 - Add parties stake api
- 3978 - Update dependencies
- 3980 - Update protobuf dependencies
- 3910 - Change all price, amounts, balances from uint64 to string
- 3969 - Bump dlv and geth to latest versions
- 3925 - Add command to sign a subset of network parameters
- 3981 - Remove the
wallet-pubkey
flag on genesis sign command - 3987 - Add genesis verify command to verify signature against local genesis file
- 3984 - Update the mainnet addresses in genesis generation command
- 3983 - Added action field to epoch events
- 3988 - Update the go-ethereum dependency
- 3991 - Remove hardcoded address to the Ethereum node
- 3990 - Network bootstrapping
- 3992 - Check big int conversion from string in ERC20 code
- 3993 - Use the fury public key as node id
- 3955 - Use staking accounts in governance
- 4004 - Broker configuration: change IP to address Address
- 4005 - Add a simple subcommand to the fury binary to ease submitting transactions
- 3997 - Do not require Ethereum client when starting the nodewallet
- 4009 - Add delegation core APIs
- 4014 - Implement delegation and epoch for Limited Network Life
- 3914 - Implement staking event verification
- 3940 - Remove validator signature from configuration and add network parameters
- 3938 - Add more logging informations on the witness vote failures
- 3932 - Adding asset details to reward events
- 3706 - Remove startup markets workaround
- 3905 - Add fury genesis new validator sub-command
- 3895 - Add command to create a new genesis block with app_state
- 3900 - Create reward engine
- 4847 - Modified staking account to be backed by governance token account balance
- 3907 - Tune system tests
- 3904 - Update Jenkins file to run all System Tests
- 3795 - Add capability to sent events to a socket stream
- 3832 - Update the genesis topology map
- 3891 - Verify transaction version 2 signature
- 3813 - Implementing epoch time
- 4031 - Send error events in processor through wrapper
- 3950 -
LoadGenesis
returns nil if checkpoint entry is empty - 3960 - Unstaking events are not seen by all validator nodes in DV
- 3973 - Set ABCI client so it is possible to submit a transaction
- 3986 - Emit Party event when stake link is accepted
- 3979 - Add more delegation / reward scenarios and steps and a bug fix in emitted events
- 4007 - Changed delegation balance event to use string
- 4006 - Sort proposals by timestamp
- 4012 - Fix panic with fury watch
- 3937 - Include
TX_ERROR
events for type ALL subscribers - 3930 - Added missing function and updated readme with details
- 3918 - Fix the build by updating the module version for the furywallet
- 3901 - Emit a
TxErrEvent
if withdraw submission is invalid - 3874 - Fix binary version
- 3884 - Always async transaction
- 3877 - Use a custom http client for the tendermint client
2021-08-06
- #3743 - Refactor: Rename traders to parties
- #3758 - Refactor: Cleanup naming in the types package
- #3789 - Update ed25519-voi
- #3589 - Update tendermint to a newer version
- #3591 - Implemented market terminated, settled and suspended states via the oracle trigger
- #3798 - Update godog version to 11
- #3793 - Send Commander commands in a goroutine
- #3805 - Checkpoint engine hash and checkpoint creation
- #3785 - Implement delegation commands
- #3714 - Move protobufs into an external repository
- #3719 - Replace fury wallet with call to the furywallet
- #3762 - Refactor: Cleanup markets in domains types
- #3822 - Testing: fury integration add subfolders for features
- #3794 - Implement rewards transfer
- #3839 - Implement a delegation engine
- #3842 - Imports need reformatting for core code base
- #3849 - Add limits engine + genesis loading
- #3836 - Add a first version of the accounting engine
- #3859 - Enable CGO in CI
- #3751 -
Unparam
linting fixes - #3776 - Ensure expired/settled markets are correctly recorded in app state
- #3774 - Change liquidity fees distribution to general account and not margin account of liquidity provider
- #3801 - Testing: Fixed setup of oracle spec step in integration
- #3828 - π₯ Check if application context has been cancelled before writing to channel
- #3838 - π₯ Fix panic on division by 0 with party voting and withdrawing funds
2021-07-12
- #3718 - Run
unparam
over the codebase - #3705 - Return theoretical target stake when in auction
- #3703 - Remove inefficient metrics calls
- #3693 - Calculation without Decimal in the liquidity target package
- #3696 - Remove some uint <-> Decimal conversion
- #3689 - Do not rely on proto conversion for
GetAsset
- #3676 - Ad the
tm
subcommand - #3569 - Migrate from uint64 to uint256 for all balances, amount, prices in the core
- #3594 - Improve probability of trading calculations
- #3752 - Update oracle engine to send events at the end of the block
- #3745 - Add loss socialization for final settlement
- #3722 - Added sign to settle return values to allow to determine correctly win/loss
- #3720 - Tidy up max open interest calculations
- #3704 - Fix settlement with network orders
- #3686 -Fixes in the positions engine following migration to uint256
- #3684 - Fix the position engine hash state following migration to uint256
- #3467 - Ensure LP orders are not submitted during auction
- #3736 - Correcting event types and adding panics to catch mistakes
2021-06-30
- #3642 - Refactor integration tests
- #3637 - Rewrite pegged / liquidity order control flow
- #3635 - Unified error system and strict parsing in feature tests
- #3632 - Add documentation on market instantiation in feature tests
- #3599 - Return better errors when replay protection happen
- #3640 - Fix send on closed channel using timer (event bus)
- #3638 - Fix decimal instantiation in bond slashing
- #3621 - Remove pegged order from pegged list if order is aggressive and trade
- #3612 - Clean code in the wallet package
2021-06-11
- #3546 - Add Auction Extension trigger field to market data
- #3538 - Testing: Add block time handling & block time variance
- #3596 - Enable replay protection
- #3497 - Implement new transaction format
- #3461 - Implement new commands validation
- #3528 - Stop liquidity auctions from extending infinitely
- #3567 - Fix handling of Liquidity Commitments at price bounds
- #3568 - Fix potential nil pointer when fetching proposals
- #3554 - Fix package import for domain types
- #3549 - Remove Oracle prefix from files in the Oracle package
- #3541 - Ensure all votes have weight initialised to 0
- #3539 - Address flaky tests
- #3540 - Rename auction state methods
- #3533 - Refactor auction end logic to its own file
- #3532 - Fix Average Entry valuation during opening auctions
- #3523 - Improve nil pointer checks on proposal submissions
- #3591 - Avoid slice out of access bond in trades store
2021-05-26
- #3479 - Add test coverage for auction interactions
- #3494 - Add
error_details
field to rejected proposals - #3491 - Market Data no longer returns an error when no market data exists, as this is a valid situation
- #3461 - Optimise transaction format & improve validation
- #3489 - Run
buf breaking
at build time - #3487 - Refactor
prepare*
command validation - #3516 - New tests for distressed LP + use margin for bond slashing as fallback
- #4921 - Add comment to document behaviour on margin account in feature test (liquidity-provision-bond-account.feature)
- #3513 - Fix reprice of pegged orders on every liquidity update
- #3457 - Fix probability of trading calculation for liquidity orders
- #3515 - Fixes for the resolve close out LP parties flow
- #3513 - Fix redeployment of LP orders
- #3514 - Fix price monitoring bounds
2021-05-13
- #3408 - Add more information on token proportion/weight on proposal votes APIs
- #3360 - π₯ REST: Move deposits endpoint to
/parties/[partyId]/deposits
- #3431 - Improve caching of values when exiting auctions
- #3459 - Add extra validation for Order, Vote, Withdrawal and LP transactions
- #3433 - Reject non-persistent orders that fall outside price monitoring bounds
- #3443 - Party is no longer required when submitting an order amendment
- #3446 - Party is no longer required when submitting an order cancellation
- #3449 - Party is no longer required when submitting an withdrawal request
- #3451 - Remove float usage in liquidity engine
- #3447 - Clean up order submission code
- #3436 - Break up internal proposal definitions
- #3452 - Tidy up LP implementation internally
- #3458 - Fix spelling errors in GraphQL docs
- #3434 - Improve test coverage around Liquidity Provisions on auction close
- #3411 - Fix settlement tests
- #3418 - Rename External Resource Checker to Witness
- #3419 - Fix blank IDs on oracle specs in genesis markets
- #3412 - Refactor internal Vote Submission type to be separate from Vote type
- #3421 - Improve test coverage around order uncrossing
- #3425 - Remove debug steps from feature tests
- #3430 - Remove
LiquidityPoolBalance
from configuration - #3468 - Increase rate limit that was causing mempools to fill up unnecessarily
- #3438 - Split protobuf definitions
- #3450 - Do not emit amendments from liquidity engine
2021-04-21
- #3341 - Add logging for transactions rejected for having no accounts
- #3339 - Reimplement amending LPs not to be cancel and replace
- #3371 - Optimise calculation of cumulative price levels
- #3339 - Reuse LP orders IDs when they are re-created
- #3385 - Track the time spent in auction via Prometheus metrics
- #3376 - Implement a simple benchmarking framework for the core trading
- #3371 - Optimize indicative price and volume calculation
- #3356 - Auctions are extended if exiting auction would leave either side of the book empty
- #3348 - Correctly set time when liquidity engine is created
- #3321 - Fix bond account use on LP submission
- #3369 - Reimplement amending LPs not to be cancel and replace
- #3358 - Improve event bus stability
- #3363 - Fix behaviour when leaving auctions
- #3321 - Do not slash bond accounts on LP submission
- #3350 - Fix equity like share in the market data
- #3363 - Ensure leaving an auction cannot trigger another auction / auction leave
- #3369 - Fix LP order deployments
- #3366 - Set the fee paid in uncrossing auction trades
- #3364 - Improve / fix positions tracking
- #3358 - Fix event bus by deep cloning all messages
- #3374 - Check trades in integration tests
2021-04-08
- #3324 - CI: Fix multi-architecture build
2021-04-07
- #3302 - Add reference to LP in orders created by LP
- #3183 - All orders from LP - including rejected orders - are now sent through the event bus
- #3248 - Store and propagate bond penalty
- #3266 - Add network parameters to control auction duration & extension
- #3264 - Add Liquidity Provision ID to orders created by LP commitments
- #3126 - Add transfer for bond slashing
- #3281 - Update scripts to go 1.16.2
- #3280 - Update to go 1.16.2
- #3235 - Extend unit test coverage for products
- #3219 - Remove
liquidityFee
network parameter - #3217 - Add an event bus event when a market closes
- #3214 - Add arbitrary data signing wallet endpoint
- #3316 - Add tests for traders closing their own position
- #3270 - Feature test refactor: Add Liquidity Provision feature tests
- #3289 - Feature test refactor: Remove unused steps
- #3275 - Feature test refactor: Refactor order cancellation steps
- #3230 - Feature test refactor: Refactor trader amends step
- #3226 - Feature test refactor: Refactor features with invalid order specs
- #3200 - Feature test refactor: Add step to end opening auction
- #3201 - Feature test refactor: Add step to amend order by reference
- #3204 - Feature test refactor: Add step to place pegged orders
- #3207 - Feature test refactor: Add step to create Liquidity Provision
- #3212 - Feature test refactor: Remove unused settlement price step
- #3203 - Feature test refactor: Rework Submit Order step
- #3251 - Feature test refactor: Split market declaration
- #3314 - Feature test refactor: Apply naming convention to assertions
- #3295 - Refactor governance engine tests
- #3298 - Add order book caching
- #3307 - Use
UpdateNetworkParams
to validate network parameter updates - #3308 - Add probability of trading
- #3249 - GraphQL:
LiquidityProvision
is no longer missing from theEventBus
union - #3253 - Verify all properties on oracle specs
- #3224 - Check for wash trades when FOK orders uncross
- #3257 - Order Status is now only
Active
when it is submitted to the book - #3285 - LP provisions are now properly stopped when a market is rejected
- #3290 - Update Market Value Proxy at the end of each block
- #3267 - Ensure Liquidity Auctions are not left if it would result in an empty book
- #3286 - Reduce some log levels
- #3263 - Fix incorrect context object in Liquidity Provisions
- #3283 - Remove debug code
- #3198 - chore: Add spell checking to build pipeline
- #3303 - Reduce market depth updates when nothing changes
- #3310 - Fees are no longer paid to inactive LPs
- #3305 - Fix validation of governance proposal terms
- #3311 -
targetStake
is now an unsigned integer - #3313 - Fix invalid account wrapping
2021-02-16
As per the previous release notes, this release brings a lot of fixes, most of which aren't exciting new features but improve either the code quality or the developer experience. This release is pretty hefty, as the last few updates have been patch releases. It represents a lot of heavy testing and bug fixing on Liquidity Commitment orders. Alongside that, the feature test suite (we use godog) has seen some serious attention so that we can specify more complex scenarios easily.
- #3094 - π₯ GraphQL: Use
ID
scalar for IDs, ensure capitalisation is correct (marketID
->marketId
) - #3093 - π₯ GraphQL: Add LP Commitment field to market proposal
- #3061 - GraphQL: Add market proposal to markets created via governance
- #3060 - Add maximum LP shape size limit network parameter
- #3089 - Add
OracleSpec
to market - #3148 - Add GraphQL endpoints for oracle spec
- #3179 - Add metrics logging for LPs
- #3127 - Add validation for Oracle Specs on market proposals
- #3129 - Update transfers to use
uint256
- #3091 - Refactor: Standardise how
InAuction
is detected in the core - #3133 - Remove
log.error
when TX rate limit is hit - #3140 - Remove
log.error
when cancel all orders fails - #3072 - Re-enable disabled static analysis
- #3068 - Add
dlv
to docker container - #3067 - Add more LP unit tests
- #3066 - Remove
devnet
specific wallet initialisation - #3041 - Remove obsolete
InitialMarkPrice
network parameter - #3035 - Documentation fixed for infrastructure fee field
- #3034 - Add
buf
to get tools script - #3032 - Move documentation generation to
elysiumstation/api
repository - #3030 - Add more debug logging in execution engine
- #3114 - Feature test refactor: Standardise market definitions
- #3122 - Feature test refactor: Remove unused trading modes
- #3124 - Feature test refactor: Move submit order step to separate package
- #3141 - Feature test refactor: Move oracle data step to separate package
- #3142 - Feature test refactor: Move market steps to separate package
- #3143 - Feature test refactor: Move confirmed trades step to separate package
- #3144 - Feature test refactor: Move cancelled trades step to separate package
- #3145 - Feature test refactor: Move traders step to separate package
- #3146 - Feature test refactor: Create new step to verify margin accounts for a market
- #3153 - Feature test refactor: Create step to verify one account of each type per asset
- #3152 - Feature test refactor: Create step to deposit collateral
- #3151 - Feature test refactor: Create step to withdraw collateral
- #3149 - Feature test refactor: Merge deposit & verification steps
- #3154 - Feature test refactor: Create step to verify settlement balance for market
- #3156 - Feature test refactor: Rewrite margin levels step
- #3178 - Feature test refactor: Unify error handling steps
- #3157 - Feature test refactor: Various small fixes
- #3101 - Feature test refactor: Remove outdated feature tests
- #3092 - Feature test refactor: Add steps to test handling of LPs during auction
- #3071 - Feature test refactor: Fix typo
- #3018 - Fix crash caused by distressed traders with LPs
- #3029 - API: LP orders were missing their reference data
- #3031 - Parties with cancelled LPs no longer receive fees
- #3033 - Improve handling of genesis block errors
- #3036 - Equity share is now correct when submitting initial order
- #3048 - LP submission now checks margin engine is started
- #3070 - Rewrite amending LPs
- #3053 - Rewrite cancel all order implementation
- #3050 - GraphQL: Order in
LiquidityOrder
is now nullable - #3056 - Move
furystream
to a separate repository - #3057 - Ignore error if Tendermint stats is temporarily unavailable
- #3058 - Fix governance to use total supply rather than total deposited into network
- #3062 - Opening Auction no longer set to null on a market when auction completes
- #3051 - Rewrite LP refresh mechanism
- #3080 - Auctions now leave auction when
maximumDuration
is exceeded - #3075 - Bond account is now correctly cleared when LPs are cancelled
- #3074 - Switch error reporting mechanism to stream error
- #3069 - Switch more error reporting mechanisms to stream error
- #3081 - Fix fee check for LP orders
- #3087 - GraphQL schema grammar & spelling fixes
- #3185 - LP orders are now accessed deterministically
- #3131 - GRPC api now shuts down gracefully
- #3110 - LP Bond is now returned if a market is rejected
- #3115 - Parties with closed out LPs can now submit new LPs
- #3123 - New market proposals with invalid Oracle definitions no longer crash core
- #3131 - GRPC api now shuts down gracefully
- #3137 - Pegged orders that fail to reprice correctly are now properly removed from the Market Depth API
- #3168 - Fix
intoProto
forOracleSpecBinding
- #3106 - Target Stake is now used as the Market Value Proxy during opening auction
- #3103 - Ensure all filled and partially filled orders are remove from the Market Depth API
- #3095 - GraphQL: Fix missing data in proposal subscription
- #3085 - Minor tidy-up of errors reported by
goland
2021-02-23
More fixes, primarily related to liquidity provisioning (still disabled in this release) and asset withdrawals, which will soon be enabled in the UI.
Two minor breaking changes in the GraphQL API are included - one fixing a typo, the other changing the content of date fields on the withdrawal object - they're now date formatted.
- #3004 - Incorporate
buf.yaml
tidy up submitted bybufdev
on api-clients repo - #3002 -π₯GraphQL: Withdrawal fields
expiry
,createdAt
&updatedAt
are nowRFC3339Nano
date formatted - #3000 -π₯GraphQL: Fix typo in
prepareVote
mutation -propopsalId
is nowproposalId
- #2957 - REST: Add missing prepare endpoints (
PrepareProposal
,PrepareVote
,PrepareLiquiditySubmission
)
- #3011 - Liquidity fees are distributed in to margin accounts, not general accounts
- #2991 - Liquidity Provisions are now rejected if there is not enough collateral
- #2990 - Fix a lock caused by GraphQL subscribers unsubscribing from certain endpoints
- #2996 - Liquidity Provisions are now parked when repricing fails
- #2951 - Store reference prices when parking pegs for auction
- #2982 - Fix withdrawal data availability before it is verified
- #2981 - Fix sending multisig bundle for withdrawals before threshold is reached
- #2964 - Extend auctions if uncrossing price is unreasonable
- #2961 - GraphQL: Fix incorrect market in bond account resolver
- #2958 - Create
third_party
folder to avoid excluding vendor protobuf files in build - #3009 - Remove LP commitments when a trader is closed out
- #3012 - Remove LP commitments when a trader reduces their commitment to 0
2021-02-09
Many of the fixes below relate to Liquidity Commitments, which are still disabled in testnet, and Data Sourcing, which is also not enabled. Data Sourcing (a.k.a Oracles) is one of the last remaining pieces we need to complete settlement at instrument expiry, and Liquidity Commitment will be enabled when the functionality has been stabilised.
This release does improve protocol documentation, with all missing fields filled in and the explanations for Pegged Orders expanded. Two crashers have been fixed, although the first is already live as hotfix on testnet, and the other is in functionality that is not yet enabled.
This release also makes some major API changes:
api.TradingClient
->api.v1.TradingServiceClient
api.TradingDataClient
->api.v1.TradingDataServiceClient
- Fields have changed from camel-case to snake-cased (e.g.
someFieldName
is nowsome_field_name
) - All API calls now have request and response messages whose names match the API call name (e.g.
GetSomething
now has a request calledGetSomethingRequest
and a response calledGetSomethingResponse
) - See #2879 for details
- #2879 - π₯Update all the protobuf files with Buf recommendations
- #2847 - Improve proto documentation, in particular for pegged orders
- #2905 - Update
fury verify
command to verify genesis block files - #2851 - Enable distribution of liquidity fees to liquidity providers
- #2871 - Add
submitOracleData
command - #2887 - Add Open Oracle data processing & data normalisation
- #2915 - Add Liquidity Commitments to API responses
- #2913 - Fix market lifecycle events not being published through event bus API
- #2906 - Add new process for calculating margins for orders during auction
- #2887 - Liquidity Commitment fix-a-thon
- #2879 - Apply
Buf
lint recommendations - #2872 - Improve field names in fee distribution package
- #2867 - Fix GraphQL bug: deposits
creditedAt
incorrectly showedcreatedAt
time, not credit time - #2858 - Fix crasher caused by parking pegged orders for auction
- #2852 - Remove unused binaries from CI builds
- #2850 - Fix bug that caused fees to be charged for pegged orders
- #2893 - Remove unused dependency in repricing
- #2929 - Refactor GraphQL resolver for withdrawals
- #2939 - Fix crasher caused by incorrectly loading Fee account for transfers
2021-01-19
This release enables (or more accurately, re-enables previously disabled) pegged orders, meaning they're finally here π
The Ethereum bridge also received some work - in particular the number of confirmations we wait for on Ethereum is now controlled by a governance parameter. Being a governance parameter, that means that the value can be changed by a governance vote. Slightly related: You can now fetch active governance proposals via REST.
1οΈβ£ We also switch to Buf for our protobuf workflow. This was one of the pre-requisites for opening up our api clients build process, and making the protobuf files open source. More on that soon!
2οΈβ£ This fixes an issue on testnet where votes were not registered when voting on open governance proposals. The required number of Ropsten VOTE
tokens was being calculated incorrectly on testnet, leading to all votes quietly being ignored. In 0.30.0, voting works as expected again.
- #2732 Add REST endpoint to fetch all proposals (
/governance/proposals
) - #2735 Add
FeeSplitter
to correctly split fee portion of an aggressive order - #2745 Add transfer bus events for withdrawals and deposits
- #2754 Add New Market bus event
- #2778 Switch to Buf 1οΈβ£
- #2785 Add configurable required confirmations for bridge transactions
- #2791 Add Supplied State to market data
- #2793 π₯Rename
marketState
tomarketTradingMode
, add newmarketState
enum (ACTIVE
,SUSPENDED
orPENDING
) - #2833 Add fees estimate for pegged orders
- #2838 Add bond and fee transfers
- #2835 Fix voting for proposals 2οΈβ£
- #2830 Refactor pegged order repricing
- #2827 Refactor expiring orders lists
- #2821 Handle liquidity commitments on market proposals
- #2816 Add changing liquidity commitment when not enough stake
- #2805 Fix read nodes lagging if they receive votes but not a bridge event
- #2804 Fix various minor bridge confirmation bugs
- #2800 Fix removing pegged orders that are rejected when unparked
- #2799 Fix crasher when proposing an update to network parameters
- #2797 Update target stake to include mark price
- #2783 Fix price monitoring integration tests
- #2780 Add more unit tests for pegged order price amends
- #2774 Fix cancelling all orders
- #2768 Fix GraphQL: Allow
marketId
to be null when it is invalid - #2767 Fix parked pegged orders to have a price of 0 explicitly
- #2766 Disallow GFN to GTC/GTT amends
- #2765 Fix New Market bus event being sent more than once
- #2763 Add rounding to pegged order mid prices that land on non integer values
- #2795 Fix typos in GraphQL schema documentation
- #2762 Fix more typos in GraphQL schema documentation
- #2758 Fix error handling when amending some pegged order types
- #2757 Remove order from pegged list when it becomes inactive
- #2756 Add more panics to the core
- #2750 Remove expiring orders when amending to non GTT
- #2671 Add extra integration tests for uncrossing at auction end
- #2746 Fix potential divide by 0 in position calculation
- #2743 Add check for pegged orders impacted by order expiry
- #2737 Remove the ability to amend a pegged order's price
- #2724 Add price monitoring tests for order amendment
- #2723 Fix fee monitoring values during auction
- #2721 Fix incorrect reference when amending pegged orders
- #2717 Fix incorrect error codes for IOC and FOK orders during auction
- #2715 Update price monitoring to use reference price when syncing with risk model
- #2711 Refactor governance event subscription
2020-12-07
Note that you'll see a lot of changes related to Pegged Orders and Liquidity Commitments. These are still in testing, so these two types cannot currently be used in Testnet.
- #2534 Implements amends for pegged orders
- #2493 Calculate market target stake
- #2649 Add REST governance endpoints
- #2429 Replace inappropriate wording in the codebase
- #2617 Implements proposal to update network parameters
- #2622 Integrate the liquidity engine into the market
- #2683 Use the Ethereum block log index to de-duplicate Ethereum transactions
- #2674 Update ERC20 token and bridges ABIs / codegen
- #2690 Add instruction to debug integration tests with DLV
- #2680 Add price monitoring bounds to the market data API
- #2589 Fix cancellation of pegged orders
- #2659 Fix panic in execution engine when GFN order are submit at auction start
- #2661 Handle missing error conversion in GraphQL API
- #2621 Fix pegged order creating duplicated order events
- #2666 Prevent the node to DDOS the Ethereum node when lots of deposits happen
- #2653 Fix indicative price and volume calculation
- #2649 Fix a typo in market price monitoring parameters API
- #2650 Change governance minimum proposer balance to be a minimum amount of token instead of a factor of the total supply
- #2675 Fix an GraphQL enum conversion
- #2691 Fix spelling in a network parameter
- #2696 Fix panic when uncrossing auction
- #2984 Fix price monitoring by feeding it the uncrossing price at end of opening auction
- #2705 Fix a bug related to order being sorted by creating time in the matching engine price levels
2020-11-25
Fury release logs contain a π₯ emoji to denote breaking API changes. π₯π₯ is a new combination denoting something that may significantly change your experience - from this release forward, transactions from keys that have no collateral on the network will always be rejected. As there are no transactions that don't either require collateral themselves, or an action to have been taken that already required collateral, we are now rejecting these as soon as possible.
We've also added support for synchronously submitting transactions. This can make error states easier to catch. Along with this you can now subscribe to error events in the event bus.
Also: Note that you'll see a lot of changes related to Pegged Orders and Liquidity Commitments. These are still in testing, so these two types cannot currently be used in Testnet.
- #2634 Avoid caching transactions before they are rate/balance limited
- #2626 Add a transaction submit type to GraphQL
- #2624 Add mutexes to assets maps
- #2593 π₯π₯ Reject transactions
- #2453 π₯ Remove
baseName
field from markets - #2536 Add Liquidity Measurement engine
- #2539 Add Liquidity Provisioning Commitment handling to markets
- #2540 Add support for amending pegged orders
- #2549 Add calculation for liquidity order sizes
- #2553 Allow pegged orders to have a price of 0
- #2555 Update Event stream votes to contain proposal ID
- #2556 Update Event stream to contain error events
- #2560 Add Pegged Order details to GraphQL
- #2607 Add support for parking orders during auction
- #2634 Avoid caching transactions before they are rate/balance limited
- #2626 Add a transaction submit type to GraphQL
- #2624 Add mutexes to assets maps
- #2623 Fix concurrent map access in assets
- #2608 Add sync/async equivalents for
submitTX
- #2618 Disable storing API-related data on validator nodes
- #2615 Expand static checks
- #2613 Remove unused internal
cancelOrderById
function - #2530 Governance asset for the network is now set in the genesis block
- #2533 More efficiently close channels in subscriptions
- #2554 Fix mid-price to 0 when best bid and average are unavailable and pegged order price is 0
- #2565 Cancelled pegged orders now have the correct status
- #2568 Prevent pegged orders from being repriced
- #2570 Expose probability of trading
- #2576 Use static best bid/ask price for pegged order repricing
- #2581 Fix order of messages when cancelling a pegged order
- #2586 Fix blank
txHash
in deposit API types - #2591 Pegged orders are now cancelled when all orders are cancelled
- #2609 Improve expiry of pegged orders
- #2610 Improve removal of liquidity commitment orders when manual orders satisfy liquidity provisioning commitments
2020-10-30
This release contains a fix (read: large reduction in memory use) around auction modes with particularly large order books that caused slow block times when handling orders placed during an opening auction. It also contains a lot of internal work related to the liquidity provision mechanics.
- #2498 Automatically create a bond account for liquidity providers
- #2596 Create liquidity measurement API
- #2490 GraphQL: Add Withdrawal and Deposit events to event bus
- #2476 π₯
MarketData
now uses RFC339 formatted times, not seconds - #2473 Add network parameters related to target stake calculation
- #2506 Network parameters can now contain JSON configuration
- #2521 Optimise memory usage when building cumulative price levels
- #2520 Fix indicative price calculation
- #2517 Improve command line for rate limiting in faucet & wallet
- #2510 Remove reference to external risk model
- #2509 Fix panic when loading an invalid genesis configuration
- #2502 Fix pointer when using amend in place
- #2487 Remove context from struct that didn't need it
- #2485 Refactor event bus event transmission
- #2481 Add
LiquidityProvisionSubmission
transaction - #2480 Remove unused code
- #2479 Improve validation of external resources
- #1936 Upgrade to Tendermint 0.33.8
2020-10-23
Fixes a number of issues discovered during the testing of 0.26.0.
- #2463 Further reliability fixes for the event bus
- #2469 Fix incorrect error returned when a trader places an order in an asset that they have no account for (was
InvalidPartyID
, nowInsufficientAssetBalance
) - #2458 REST: Fix a crasher when a market is proposed without specifying auction times
2020-10-20
The events API added in 0.25.0 had some reliability issues when a large volume of events were being emitted. This release addresses that in two ways:
- The gRPC event stream now takes a parameter that sets a batch size. A client will receive the events when the batch limit is hit.
- GraphQL is now limited to one event type per subscription, and we also removed the ALL event type as an option. This was due to the GraphQL gateway layer taking too long to process the full event stream, leading to sporadic disconnections.
These two fixes combined make both the gRPC and GraphQL streams much more reliable under reasonably heavy load. Let us know if you see any other issues. The release also adds some performance improvements to the way the core processes Tendermint events, some documentation improvements, and some additional debug tools.
- #2319 Add fee estimate API endpoints to remaining APIs
- #2321 π₯ Change
estimateFee
toestimateOrder
in GraphQL - #2327 π₯ GraphQL: Event bus API - remove ALL type & limit subscription to one event type
- #2343 π₯ Add batching support to stream subscribers
- #2229 Add Price Monitoring module
- #2246 Add new market depth subscription methods
- #2298 Improve error messages for Good For Auction/Good For Normal rejections
- #2301 Add validation for GFA/GFN orders
- #2307 Implement app state hash
- #2312 Add validation for market proposal risk parameters
- #2313 Add transaction replay protection
- #2314 GraphQL: Improve response when market does not exist
- #2315 GraphQL: Improve response when party does not exist
- #2316 Documentation: Improve documentation for fee estimate endpoint
- #2318 Documentation: Improve documentation for governance data endpoints
- #2324 Cache transactions already seen by
checkTX
- #2328 Add test covering context cancellation mid data-sending
- #2331 Internal refactor of network parameter storage
- #2334 Rewrite
furystream
to use the event bus - #2333 Fix context for events, add block hash and event id
- #2335 Add ABCI event recorder
- #2341 Ensure event slices cannot be empty
- #2345 Handle filled orders in the market depth service before new orders are added
- #2346 CI: Add missing environment variables
- #2348 Use cached transactions in
checkTX
- #2349 Optimise accounts map accesses
- #2351 Fix sequence ID related to market
OnChainTimeUpdate
- #2355 Update coding style doc with info on log levels
- #2358 Add documentation and comments for
events.proto
- #2359 Fix out of bounds index crash
- #2364 Add mutex to protect map access
- #2366 Auctions: Reject IOC/FOK orders
- #2368 Tidy up genesis market instantiation
- #2369 Optimise event bus to reduce CPU usage
- #2370 Event stream: Send batches instead of single events
- #2376 GraphQL: Remove verbose logging
- #2377 Update tendermint stats less frequently for Fury stats API endpoint
- #2381 Event stream: Reduce CPU load, depending on batch size
- #2382 GraphQL: Make event stream batch size mandatory
- #2401 Event stream: Fix CPU spinning after stream close
- #2404 Auctions: Add fix for crash during auction exit
- #2419 Make the price level wash trade check configurable
- #2432 Use
EmitDefaults
onjsonpb.Marshaler
- #2431 GraphQL: Add price monitoring
- #2433 Validate amend orders with GFN and GFA
- #2436 Return a permission denied error for a non-allowlisted public key
- #2437 Undo accidental code removal
- #2438 GraphQL: Fix a resolver error when markets are in auction mode
- #2441 GraphQL: Remove unnecessary validations
- #2442 GraphQL: Update library; improve error responses
- #2447 REST: Fix HTTP verb for network parameters query
- #2443 Auctions: Add check for opening auction duration during market creation
2020-10-14
This release backports two fixes from the forthcoming 0.26.0 release.
2020-09-24
This release adds the event bus API, allowing for much greater introspection in to the operation of a node. We've also re-enabled the order amends API, as well as a long list of fixes.
- #2281 Enable opening auctions
- #2205 Add GraphQL event stream API
- #2219 Add deposits API
- #2222 Initial asset list is now loaded from genesis configuration, not external configuration
- #2238 Re-enable order amend API
- #2249 Re-enable TX rate limit by party ID
- #2240 Add time to position responses
- #2211 π₯ GraphQL: Field case change
proposalId
->proposalID
- #2218 π₯ GraphQL: Withdrawals now return a
Party
, not a party ID - #2202 Fix time validation for proposals when all times are the same
- #2206 Reduce log noise from statistics endpoint
- #2207 Automatically reload node configuration
- #2209 GraphQL: fix proposal rejection enum
- #2210 Refactor order service to not require blockchain client
- #2213 Improve error clarity for invalid proposals
- #2216 Ensure all GRPC endpoints use real time, not Fury time
- #2231 Refactor processor to no longer require collateral
- #2232 Clean up logs that dumped raw bytes
- #2233 Remove generate method from execution engine
- #2234 Remove
authEnabled
setting - #2236 Simply order amendment logging
- #2237 Clarify fees attribution in transfers
- #2239 Ensure margin is released immediately, not on next mark to market
- #2241 Load log level in processor app
- #2245 Fix a concurrent map access in positions API
- #2247 Improve logging on a TX with an invalid signature
- #2252 Fix incorrect order count in Market Depth API
- #2254 Fix concurrent map access in Market Depth API
- #2269 GraphQL: Fix party filtering for event bus API
- #2266 Refactor transaction codec
- #2275 Prevent opening auctions from closing early
- #2262 Clear potential position properly when an order is cancelled for self trading
- #2286 Add sequence ID to event bus events
- #2288 Fix auction events not appearing in GraphQL event bus
- #2294 Fixing incorrect order iteration in auctions
- #2285 Check auction times
- #2283 Better handling of 0
expiresAt
2020-09-04
One new API endpoint allows cancelling multiple orders simultaneously, either all orders by market, a single order in a specific market, or just all open orders.
Other than that it's mainly bugfixes, many of which fix subtly incorrect API output.
- #2107 Support for cancelling multiple orders at once
- #2186 Add per-party rate-limit of 50 requests over 3 blocks
- #2177 GraphQL: Add Governance proposal metadata
- #2098 Fix crashed in event bus
- #2041 Fix a rounding error in the output of Positions API
- #1934 Improve API documentation
- #2110 Send Infrastructure fees to the correct account
- #2117 Prevent creation of withdrawal requests for more than the available balance
- #2136 gRPC: Fetch all accounts for a market did not return all accounts
- #2151 Prevent wasteful event bus subscriptions
- #2167 Ensure events in the event bus maintain their order
- #2178 Fix API returning incorrectly formatted orders when a party has no collateral
2020-08-27
This release backports a fix from the forthcoming 0.24.0 release that fixes a GraphQL issue with the new Asset
type. When fetching the Assets from the top level, all the details came through. When fetching them as a nested property, only the ID was filled in. This is now fixed.
- #2140 GraphQL fix for fetching assets as nested properties
2020-08-10
This release contains a lot of groundwork for Fees and Auction mode.
Fees are incurred on every trade on Fury. Those fees are divided between up to three recipient types, but traders will only see one collective fee charged. The fees reward liquidity providers, infrastructure providers and market makers.
- The liquidity portion of the fee is paid to market makers for providing liquidity, and is transferred to the market-maker fee pool for the market.
- The infrastructure portion of the fee, which is paid to validators as a reward for running the infrastructure of the network, is transferred to the infrastructure fee pool for that asset. It is then periodically distributed to the validators.
- The maker portion of the fee is transferred to the non-aggressive, or passive party in the trade (the maker, as opposed to the taker).
Auction mode is not enabled in this release, but the work is nearly complete for Opening Auctions on new markets.
π₯ Please note, this release disables order amends. The team uncovered an issue in the Market Depth API output that is caused by order amends, so rather than give incorrect output, we've temporarily disabled the amendment of orders. They will return when the Market Depth API is fixed. For now, amends will return an error.
- π₯ #2092 Disable order amends
- #2027 Add built in asset faucet endpoint
- #2075, #2086, #2083, #2078 Add time & size limits to faucet requests
- #2068 Add REST endpoint to fetch governance proposals by Party
- #2058 Add REST endpoints for fees
- #2047 Add
prepareWithdraw
endpoint
- #2061 Fix Network orders being left as active
- #2034 Send
KeepAlive
messages on GraphQL subscriptions - #2031 Add proto fields required for auctions
- #2025 Add auction mode (currently never triggered)
- #2013 Add Opening Auctions support to market framework
- #2010 Add documentation for Order Errors to proto source files
- #2003 Add fees support
- #2004 Remove @deprecated field from GraphQL input types (as itβs invalid)
- #2000 Fix
rejectionReason
for trades stopped for self trading - #1990 Remove specified
tickSize
from market - #2066 Fix validation of proposal timestamps to ensure that datestamps specify events in the correct order
- #2043 Track Event Queue events to avoid processing events from other chains twice
- #2096 Fix concurrent map access in event forward
2020-07-20
This release primarily focuses on setting up Fury nodes to deal correctly with events sourced from other chains, working towards bridging assets from Ethereum. This includes responding to asset events from Ethereum, and support for validator nodes notarising asset movements and proposals.
It also contains a lot of bug fixes and improvements, primarily around an internal refactor to using an event bus to communicate between packages. Also included are some corrections for order statuses that were incorrectly being reported or left outdated on the APIs.
- #1825 Add new Notary package for tracking multisig decisions for governance
- #1837 Add support for two-step governance processes such as asset proposals
- #1856 Implement handling of external chain events from the Event Queue
- #1927 Support ERC20 deposits
- #1987 Add
OpenInterest
field to markets - #1949 Add
RejectionReason
field to rejected governance proposals
- π₯ #1988 REST: Update orders endpoints to use POST, not PUT or DELETE
- π₯ #1957 GraphQL: Some endpoints returned a nullable array of Strings. Now they return an array of nullable strings
- π₯ #1928 GraphQL & GRPC: Remove broken
open
parameter from Orders endpoints. It returned ambiguous results - π₯ #1858 Fix outdated order details for orders amended by cancel-and-replace
- π₯ #1849 Fix incorrect status on partially filled trades that would have matched with another order by the same user. Was
stopped
, nowrejected
- π₯ #1883 REST & GraphQL: Market name is now based on the instrument name rather than being set separately
- #1699 Migrate Margin package to event bus
- #1853 Migrate Market package to event bus
- #1844 Migrate Governance package to event
- #1877 Migrate Position package to event
- #1838 GraphQL: Orders now include their
version
andupdatedAt
, which are useful when dealing with amended orders - #1841 Fix:
expiresAt
on orders was validated at submission time, this has been moved to post-chain validation - #1849 Improve Order documentation for
Status
andTimeInForce
- #1861 Remove single mutex in event bus
- #1866 Add mutexes for event bus access
- #1889 Improve event broker performance
- #1891 Fix context for event subscribers
- #1889 Address event bus performance issues
- #1892 Improve handling for new chain connection proposal
- #1903 Fix regressions in Candles API introduced by event bus
- #1940 Add new asset proposals to GraphQL API
- #1943 Validate list of allowed assets
2020-06-18
A follow-on from 0.20.1, this release includes a fix for the GraphQL API returning inconsistent values for the side
field on orders, leading to Fury Console failing to submit orders. As a bonus there is another GraphQL improvement, and two fixes that return more correct values for filled network orders and expired orders.
- π₯ #1820 GraphQL: Non existent parties no longer return a GraphQL error
- π₯ #1784 GraphQL: Update schema and fix enum mappings from Proto
- π₯ #1761 Governance: Improve processing of Proposals
- #1822 Remove duplicate updates to
createdAt
- #1818 Trades: Replace buffer with events
- #1812 Governance: Improve logging
- #1810 Execution: Set order status for fully filled network orders to be
FILLED
- #1803 Matching: Set
updatedAt
when orders expire - #1780 APIs: Reject
NETWORK
orders - #1792 Update Golang to 1.14 and tendermint to 0.33.5
2020-06-18
This release fixes one small bug that was causing many closed streams, which was a problem for API clients.
- #1813 Set
PartyEvent
type to party event
2020-06-15
This release contains a lot of fixes to APIs, and a minor new addition to the statistics endpoint. Potentially breaking changes are now labelled with π₯. If you have implemented a client that fetches candles, places orders or amends orders, please check below.
- π₯ #1721 Improve API responses for
GetProposalById
- π₯ #1724 New Order: Type no longer defaults to LIMIT orders
- π₯ #1728
PrepareAmend
no longer accepts expiry time - π₯ #1760 Add proto enum zero value "unspecified" to Side
- π₯ #1764 Candles: Interval no longer defaults to 1 minute
- π₯ #1773 Add proto enum zero value "unspecified" to
Order.Status
- π₯ #1776 Add prefixes to enums, add proto zero value "unspecified" to
Trade.Type
- π₯ #1781 Add prefix and UNSPECIFIED to
ChainStatus
,AccountType
,TransferType
- #1714 Extend governance error handling
- #1726 Mark Price was not always correctly updated on a partial fill
- #1734 Feature/1577 hash context propagation
- #1741 Fix incorrect timestamps for proposals retrieved by GraphQL
- #1743 Orders amended to be GTT now return GTT in the response
- #1745 Votes blob is now base64 encoded
- #1747 Markets created from proposals now have the same ID as the proposal that created them
- #1750 Added datetime to governance votes
- #1751 Fix a bug in governance vote counting
- #1752 Fix incorrect validation on new orders
- #1757 Fix incorrect party ID validation on new orders
- #1758 Fix issue where markets created via governance were not tradable
- #1763 Expiration settlement date for market changed to 30/10/2020-22:59:59
- #1777 Create
README.md
- #1764 Add proto enum zero value "unspecified" to Interval
- #1767 Feature/1692 order event
- #1787 Feature/1697 account event
- #1788 Check for unspecified Vote value
- #1794 Feature/1696 party event
2020-05-26
This release fixes a handful of bugs, primarily around order amends and new market governance proposals.
- #1658 Add timestamps to proposal API responses
- #1656 Add margin checks to amends
- #1679 Add topology package to map Validator nodes to Fury keypairs
- #1718 Fix a case where a party can cancel another party's orders
- #1662 Start moving to event-based architecture internally
- #1684 Fix order expiry handling when
expiresAt
is amended - #1686 Fix participation stake to have a maximum of 100%
- #1607 Update
gqlgen
dependency to 0.11.3 - #1711 Remove ID from market proposal input
- #1712
prepareProposal
no longer returns an ID on market proposals - #1707 Allow overriding default governance parameters via
ldflags
. - #1715 Compile testing binary with short-lived governance periods
2020-05-13
- #1649 Fix github artefact upload CI configuration
2020-05-12
From this release forward, compiled binaries for multiple platforms will be attached to the release on GitHub.
- #1636 Add a default GraphQL query complexity limit of 5. Currently configured to 17 on testnet to support Console.
- #1656 Add GraphQL queries for governance proposals
- #1596 Add builds for multiple architectures to GitHub releases
2020-04-21
- #1458 Add root GraphQL Orders query.
- #1457 Add GraphQL query to list all known parties.
- #1455 Remove party list from stats endpoint.
- #1448 Add
updatedAt
field to orders.
- #1102 Return full Market details in nested GraphQL queries.
- #1466 Flush orders before trades. This fixes a rare scenario where a trade can be available through the API, but not the order that triggered it.
- #1491 Fix
OrdersByMarket
andOrdersByParty
'Open' parameter. - #1472 Fix Orders by the same party matching.
This release contains the initial partial implementation of Governance. This will be finished and documented in 0.18.0.
2020-04-16
- #1545 Improve error handling in
Prepare*Order
requests
2020-04-15
- !651 Prevent bad ED25519 key length causing node panic.
2020-03-02
- The new authentication service is in place. The existing authentication service is now deprecated and will be removed in the next release.
- !609 Show trades resulting from Orders created by the network (for example close outs) in the API.
- !604 Add
lastMarketPrice
settlement. - !614 Fix casing of Order parameter
timeInForce
. - !615 Add new order statuses,
Rejected
andPartiallyFilled
. - !622 GraphQL: Change Buyer and Seller properties on Trades from string to Party.
- !599 Pin Market IDs to fixed values.
- !603, !611 Remove
NotifyTraderAccount
from API documentation. - !624 Add protobuf validators to API requests.
- !595, !621, !623 Fix a flaky integration test.
- !601 Improve matching engine coverage.
- !612 Improve collateral engine test coverage.