Changelog
All notable changes included in each Chainflip release will be documented in this file.
[1.7.3] - 2024-11-26
Features
- Solana chain tracking events (#5195)
- Run benchmarks on merge queue to main (#5197)
- Upload all artifacts of release builds to s3 - not just dylibs (#5202)
- Elections pallet tests (#5186)
- Dont start a new rotation if previous rotation still pending (#5211)
- Uze zip archives for artifacts on s3 (#5225)
- Added a swap_request_id to the CcmFailed event (#5254)
- Add boosted deposit lost event (#5260)
- Change broadcast timeout to be a storage value. (#5258)
- Provide ValidatorIds to ElectoralSystem::check_consensus (#5259)
- Refactor delta based ingress generics (#5265)
- Pool fills rpc subscription (#5214)
- Support use of zepter for feature checks (#5266)
- Move contract swap extrinsics into ingress-egress pallet (#5263)
- Localnet scripts to create and recreate easier (#5284)
- Add solana monitoring data (#5277)
- Remove swap and retry batch on price impact (#5285)
- Liveness electoral system (#5278)
- Minimum chunk size setting (#5314)
- Cleanup aborted broadcasts (#5301)
- Handle rotation tx construction failures (#5307)
- Expose deposit transaction hash from ingress-egress-tracker (#5320)
- Solana CCM fallback (#5316)
- Submit a slot number alongside nonce (#5297)
- Structured error return types for rpcs (#5346)
- Transaction screening (#5310)
- Engine-runner verifies gpg signature of old dylib when downloaded (#5339)
- Add sol chain tracking metric (#5366)
- Update custom_rpc, runtime_api and broker api for broker level screening (#5341)
- Runtime API versioning for monitoring API (#5393)
cf_pool_swap_rate_v3
with broker fee and DCA support (#5386)- Added EVM transfer/fetch limit (#5237)
Fixes
- Make build-m2 blocking for upload artifacts 🐛 (#5217)
- Change try_from_iter into from_iter_or_default (#5219)
- Only call monotonic median hook if state is updated. (#5223)
- CcmFailed event erased due to storage rollback (#5242)
- Decrease broadcast timeout constants for sol and arb (#5228)
- Workflow name should be berghain (#5246)
- Triple ledger size local sol node (#5249)
- Allow artefact overrides 🐛 (#5247)
- Set_range_order now returns an error if no position is created (#4540)
- Correct consensus for egress witnessing (no unanimity required) (#5274)
- Force version bump endpoint (#5280)
- Filter out stale bitcoin utxos (#5291)
- Add audit exception for RUSTSEC-2024-0375 (#5303)
- Redemption amount printed not consistent in rounding (#5296)
- Only install solana if
run-job
is true 🐛 (#5304) - Ensure unused sol deposit channels are closed (#5312)
- Increase init timeout for backup test (#5317)
- Keyholder check should use
HistoricalActiveEpochs
(#5325) - Don't exit if we can't remove a file that already doesn't exist (#5328)
- Scale types for pending ceremonies (#5286)
- Ignore dust underflows in order fills rpc (#5352)
- Features for test-externalities (#5365)
- Separate lp account for lp api (#5354)
- Remove is_vote_valid (#5363)
- Make boost detection more accurate (#5369)
- Always sweep on RPC free balance (#5376)
- Rpc subscription return types (#5374)
- Retry with search history enabled after some attempts (#5370)
- Take into account only active suspensions (#5359)
- Change_utxo not always present (#5340)
[1.6.7] - 2024-09-25
Fixes
- Add missing broker fees migration.
- Close expired Solana channels.
[1.6.6] - 2024-09-24
Fixes
- Prevent stale utxos from being selected for egress.
[1.6.5] - 2024-09-10
Fixes
- Correct consensus for egress witnessing (no unanimity required)
[1.6.4] - 2024-09-06
Fixes
- Consensus for Change elections should not require unanimity
[1.6.3] - 2024-09-04
Fixes
- Decrease broadcast timeout constants for sol and arb
- More accurate compute unit limits for Solana
- Only call monotonic median hook if state is updated. (#5223)
- Remove WS endpoint from Solana settings as it's not used.
[1.6.2] - 2024-08-30
Fixes
- Change try_from_iter into from_iter_or_default
[1.6.1] - 2024-08-30
Fixes
- Downgrade log message severity for voting / retrier
[1.6.0] - 2024-08-23
Features
- Solana gas tweaks (#5140)
- Core DCA (#5106)
- Add DCA details to scheduled swaps subscription (#5182)
- Solana deployments (#5188)
- Charging broker fee per chunk and in USDC (#5161)
- FoK for CCM swaps (#5187)
- Return early if no client ready on retry limited requests (#5057)
- Expose zero remaining value orders from cf_pool_orders RPC (#5042)
- Upload
chainflip-engine
shared libraries to S3 💾 (#5061) - Exclude validators with negative rep from auction (#5062)
- RPC to return available pools (#5065)
- Add boost balances to account info (#5028)
- Apicall stores signer, store current on chain key (#5063)
- Allow arbitrary accounts to be used as affiliate broker (#5097)
- Add FoK config items to
cf_swapping_environment
(#5099) - Emit swap request first (#5102)
- Solana chain integration (#4849)
- Governance extrinsic to recover Solana Durable Nonces (#5130)
- Add maybe_ccm_limit (#5151)
- Solana resigning (#5124)
- Sol event encoding tests (#5156)
- DCA parameter validation (#5144)
- Move asset balances into asset-balances pallet ((PRO-1422)) (#5083)
- Bouncer can observe past events (#5136)
- Generic configurable election-based witnessing pallet (#5060)
- Added benchmark for delete vote (#5189)
- Use encoded address in ccm deposit metadata in events (#5192)
- Add the ability to close all open orders (#5038)
- Solana chain tracking events (#5195)
Fixes
- Add missing Arbitrum block_height (#5126)
- Account deletion logic to keep boost funds into consideration (#5059)
- Grep correct spec_version (#5070)
- 3-node localnet in CI 🥽 (#5085)
- Pallet versions should match release + bump old dylib version to 1.5.1 (#5142)
- Qualify nodes based on reputation (#5118)
- Don't panic in SCC extrinsic detection ((PRO-1250)) (#5146)
- Use encoded addresses in refund params for events (#5138)
- Expose solana ws rpc endpoint 🐛☀️ (#5162)
- Allow unswept funds to be used in boost (#5164)
Refactor
- Impl_pallet_safe_mode for instantiable pallets (#5058)
- Bouncer cmd for FoK swap (#5103)
- Move info to correct environment (#5115)
Testing
- Bouncer Fill or Kill test (#5056)
- FoK 0 refund duration (#5111)
- Add Solana delta ingress witnessing test to bouncer (#5155)
- Bouncer test for DCA Swap (#5137)
[1.5.1] - 2024-08-13
Documentation
- Point out localnet debug file location 🕵🏻♂️ (#4850)
- Remove the mention of 1Password and Docker login 😅 (#4988)
- Comment on the + WitnessPeriod
Features
- RPC lp total balances (#4951)
- Make FoK constants configurable (#5024)
- Require upgrade-check pass on merge queue (#4878)
- Run upgrade-test on commit of trigger (#4881)
- Swap rate with limit orders [(WEB-1059)][(WEB-1062)] (#4778)
- NetworkFeeTaken includes swap_id (#4888)
- Upgrade-check is a blocking check on the merge-queue (#4899)
- Swap input excludes network fee (#4887)
- Instantiate solana (#4763)
- Check binary tomls and spec version accurately on release branches (#4927)
- Run upgrade-test on push to release branches (#4940)
- Add monitoring RPCs (#4919)
- Test benchmarks in CI (#4944)
- Chain state on bouncer failure (#4948)
- Return deposit tx_hashes where possible (#4946)
- Try to submit previous btc broadcasts before our own (#4978)
- Core fill-or-kill logic (#4950)
- Scheduled swap sub price estimation fallback (#4987)
- Polkadot v1.2.5 support (#5026)
- Add fok params to SwapDepositAddressReady (#5013)
- RPC safe mode statuses (#4967)
- Scale to json decoder (#4889)
- Consistent broker api address strings (#5030)
- Smart retrier endpoint selection (#4984)
- Add primary/secondary label to RPC_RETRIER_TOTAL_REQUESTS metric (#5015)
- Add
chainflip-node
probe scripts 🩺 (#5033) - Upload
chainflip-engine
shared libraries to S3 💾 (#5061) (#5067) - Expose zero remaining value orders from cf_pool_orders RPC (#5042)
- Protect against pending swaps during upgrade
- Also check PendingCcms
- Add boost balances to account info (#5028)
- Add FoK config items to
cf_swapping_environment
(#5099) - Set Solana ChainState
- Chore: bump openssl (#5066) (#5068)
- Feat: apicall stores signer, store current on chain key (#5063)
Fixes
- Wait for new balance on transfer asset (#4836)
- Consistent boost fee math (#4857)
- Kill node correctly in upgrade-test (#4848)
- Use release-persa for upgrade-test (#4863)
- Add
ca-certificates
to docker images 🐛 (#4864) - Engine-runner permissions +x (#4866)
- Upgrade test same version (#4868)
- Run Arbitrum migrations (#4876)
- Remove bad equals (#4879)
- Check version correctly (#4871)
- Add merge group for downloading (#4885)
- Restart node on compatible upgrade (#4886)
- Update sisyphos genesis hash (#4900)
- Vault activation and initialization (#4902)
- Use median for base_fee and gas_fee_multiplier for arbitrum (#4914)
- Utxo consolidation works without prev key (#4903)
- Add missing debug.log on recreate in localnet/manage.sh (#4916)
- More robust governance bouncer test (#4912)
- Benchmarks artefact name 🐛 (#4931)
- Change the dylib id so it can be found with rpath (#4923)
- Correctly refrence
berghain
bin artefact 🐛 (#4935) - Change field name (#4937)
- Mac rpath search should use executable's directory (#4947)
- Cannot add 0 funds to boost pool (#4953)
- Package should use old dylibs based on tags (#4966)
- Btc_utxo_consolidation import (#4968)
- Print cause of settings error (#4972)
- Use correct network for version bump check (#4977)
- Don't ignore arb settings (#4982)
- Remove prewitnessed deposits migration should migrate boost status (#4993)
- Use U256 return value for asset volume (#4986)
- Eagerly prune ExtraCallData (#4994)
- Only use cache on PRs to main (#5007)
- Record_fees (#5011)
- Remove rust cache (#5010)
- Add latest chainflip-engine
dylib
and.so
files 🐛 (#5020) - Clean up broadcast state on success only (#4758)
- Use rpath in engine dylib (#5031)
- Ingress-egress pallet migration co-dependency (#5032)
- Rpath name on 1.4.5 dylib (#5046)
- Allow validators to deregister once they no longer have relevant key material (#5045)
- Cp .so files to /usr/lib (#5051)
- Account deletion logic to keep boost funds into consideration (#5059)
- Update dylib id
- Prewitness deposits without delaying for a block
- Ccm transfers should charge broker fee
- Make network fee migration idempotent
- Api call migrations
- Use encoded address for refund_address in events (#5135)
- Fix: Add missing Arbitrum block_height (#5126)
- Fix: grep correct spec_version (#5070) (#5071)
Refactor
- Rename cf_asset_balances to cf_asset_free_balances (#4837)
- Ensure crypto ready (#4858)
- Remove storage for prewitnessed deposits (#4833)
- Migrate file to new observe event (#4907)
- Remove old observeEvent and observeBadEvent (#4958)
- Multicast subscriptions (#4980)
- Bouncer cleanup (#4901)
- Move collected network fee to swapping pallet (#5014)
- Move info to correct environment (#5115)
Testing
- Adjust btc eth ccm (#4873)
- Basic runner tests for help and version (#4983)
- Engine-runner command line args passing filters correctly (#5001)
- Bouncer Fill or Kill test (#5056)
- Add retrial mechanism for EVM broadcasts (#4875)
[1.4.5] - 2024-07-01
Fixes
- Fix Polkadot transaction encoding by adding the new CheckMetadataHash field to SignedExtra.
[1.4.4] - 2024-06-28
Fixes
- Eager pruning of Chain Tracking witness data. (#4994)
- Ensure broker fees are credited correctly. (#5011)
[1.4.3] - 2024-06-18
Fixes
- Print cause of settings error (#4972)
[1.4.2] - 2024-06-03
Features
- Add arbitrum support ((PRO-1154)) (#4486)
- Per chain safe mode to restrict deposits (#4819)
- Limit the number of utxos selected for egress (#4559)
- Rpc endpoint for json-encoded events (#4610)
- Update sisyphos and perseverance chainspecs (#4621) (#4635)
- Move broker_fee_collection_test inside all_concurrent_test (#4622)
- Add broker api connection limit option (#4643)
- RPC for returning scale-encoded System events (#4638)
- Support account deletion (#4314)
- Lock
bitcoin
andpolkadot
images to a specific commit 🔒 (#4686) - Add chainspecs of all network to docker 📜🐳 (#4702)
- Update metric's buckets values (#4708)
- Gas swaps use swapping queue (#4697)
- Continuous transfer of old utxos (#4680)
- Handle prewitness deposits (#4698)
- Emit event to help diagnose failed witnessing reports (#4741)
- Add prewitness deposit events (#4745)
- Make price impact limit configurable per pool (#4750)
- Write snapshot if try runtime check fails (#4657)
- Add pool created events (#4761)
- Authorities should be sorted pseudo-randomly (#4752)
- Cf_boost_pools_depth rpc (#4771)
- Added safe mode for ingress egress pallet (#4779)
- Cf_boost_pool_details rpc (#4780)
- Allow for single binary CFE upgrades (#4634)
- Optimistic build, streamlined ci-main (#4806)
- Try-runtime build step on dev ci (#4807)
- Better diagnostics for bouncer swaps (#4812)
- Governance extrinsic to create boost pools (#4816)
- Store boost fees explicitly + rpc (#4818)
- LP Asset rebalancing ((PRO-1259)) (#4784)
- Efficient Arbitrum witnessing ((PRO-1098)) (#4811)
- Affiliate Brokers (#4777)
Fixes
- Start localnet using correct commit (#4623)
- Allow OldAsset to support unambiguously encoding Arb USDC and Eth USDC, while maintaining backcompat ((PRO-1237)) (#4614)
- Usdt should use new encoding not legacy (#4633)
- Missing feature flags (#4639)
- Change pallet ordering to prevent breakage (#4640)
- Revert changes to sisyphos chainspec (#4641)
- Return rpc error (#4637)
- More try-runtime unwraps. (#4648)
- Publish
chainflip-engine1.3
to debian packages 🐞 (#4653) - Correct cfe-events pallet version (#4658)
- Remove unused cli command line options (#4644)
- Replace u128 with U256 (#4656)
- Remove cfe events migration (#4671)
- Update confusing runtime spec version check 🤦♂️ (#4672)
- Submission watcher could confuse/lose track of submissions (#4667)
- Cf_pools_environment rpc encoding (#4674)
- Rename slippage -> price impact (#4679)
- Replace sepolia usdt address (#4683)
- Add dummy benchmark for account roles pallet (#4684)
- Typo in the error message (#4694)
- Correct perseverance chainspec on main (#4704)
- Continuous adapter (#4707)
- Make benchmarks work again (#4716)
- Uncomment pools pallet migration (#4725)
- Remove misleading error (#4726)
- Migration for earned fees (#4733)
- Broker flakiness on bouncer CI (#4736)
- Update some obvious gaps / inaccuracies in the main readmes (#4738)
- Use new perseverance genesis hash (#4748)
- Set initial arb block (#4753)
- Initialise ingress egress pallet values for arbitrum (#4762)
- (PRO-1330) - Move Location::panic() to inside the function, so it outputs the caller of the fn and not of the async block poll fn. (#4769)
- Arb vault rotation migration (#4770)
- Use
ubuntu-22.04
for benchmark runner provisioning workflow 🐛 (#4773) - Extend upgrade timeout (#4774)
- Increase concurrent timeout (#4775)
- Git fetch all before checkout (#4776)
- Dry run gets fresh runtime version ((PRO-1249)) (#4669)
- Dot metadata update (#4786)
- Take fee on to usdc (#4801) (#4804)
- Sign tx with correct key during rotation (#4794)
- Don't set code red on "agg-key set by gov-key" (#4813)
- Improve container pull times ⌚️ (#4827)
- Dont delete
/sbin
dirs 😵💫 (#4828) - Upgrade test permissions (#4838)
- Upgrade test to kill node correctly (#4865)
- Add
ca-certificates
to docker images 🐛 (#4867) - Increase localnet chainflip-node request and response size 1.4 (#4880)
- Prevent liquidity saturation during fee estimation (#4834) (#4883)
- Increase javascript memory limit for bouncer all_concurrent_tests (#4904)
Refactor
- Move vanity names to account roles pallet (#4719)
- Autodisconnect dot clients (#4772)
- Minor cleanup of retrier code and vault pallet (#4803)
- Auto-disconnect client (#4820)
- Refactor setup (#4825)
Documentation
- Fix a typo and minor grammar issue in PRACTICES.md (#4695)
[1.3.2] - 2024-03-27
Features
- Add chainspecs of all network to docker 📜🐳 (#4705)
- Remove backcompat asset encoding from rpcs (and make them line up with newer Asset encoding) (#4710
Fixes
- Typo in the error message (#4694)
- Cherry-pick correct chainspecs for sisyphos and perseverance (#4703)
- Continuous adapter (#4707)
[1.3.1] - 2024-03-22
- Logging: LP-API panic reported in submission watcher (#4664)
- Remove unused CLI command line options ([#4644] (#4644))
- Add USDT to banana mode and update code to reflect storage changes (#4685)
- Add broker api connection limit option (#4643)
- Update sisyphos and perseverance chainspecs (#4621) (#4635)
- Update confusing runtime spec version check for releases (#4672)
- Fix: submission watcher could confuse/lose track of submissions (#4667)
- Fix: cf_pools_environment rpc encoding (#4674)
- Revert changes to sisyphos chainspec (#4641)
- Allow OldAsset to support unambiguously encoding Arb USDC and Eth USDC, while maintaining backcompat ((PRO-1237)) (#4614)
- Remove aptly check from publish workflow ([#4650] (#4650))
- Run CI on
nscloud
runners (#4505) - Usdt should use new encoding not legacy (#4633)
- Publish
chainflip-engine1.3
to debian packages (#4653) (#4654) - Replace u128 with U256 (#4656) (#4663)
- Update usdt address for testnet (#4678)
- Scheduled Swaps Subscription (#4525)
- Added boost_fee param (#4469)
- Added network fee to swapping environment (#4470)
- Add boost fee field to DepositChannelDetails (#4492)
- Expose ingress egress env fees in asset amounts (#4497)
- Storage migrations for signing refactor. (#4493)
- Ingress-egress-tracker on localnet startup (#4481)
- Punish nodes that do not witness in time (#4507)
- Auto pick non-breaking changes (#4498)
- Charge a fee for opening swap deposit addresses (#4512)
- More information added to AllBatchError. ((PRO-1171)) (#4535)
- Bump substrate deps to polkadot-sdk 1.6 (#4504)
- Extensible multi-key rotator (#4546)
- Debug logs on runtime upgrade test (#4556)
- Deploy L2 contracts upon localnet startup and send L2 TXs (#4558)
- Add broker info [(WEB-925)] (#4560)
- Store prewitnessed deposits with id (#4496)
- Relative Slippage Limits ((PRO-1207)) (#4547)
- Expose tx_hash on BroadcastSuccess event (#4561)
- Add boost lp account to bouncer and fund it on setup_swaps (#4552)
- Expose command for broker fee withdrawal (#4581)
- Add block height and deposit details to PrewitnessedDeposit (#4606)
- Introduce tx fee multiplier storage item (#4594)
- Add channel opening fee to DepositAddressReady Events (#4609)
- Use swapping queue when swapping network fee for burn (#4584)
- Reputation safe mode should not prevent backup emissions (#4485)
- Recreate debug.log in build-localnet (#4487)
- Allow redemption if balance < sum of restricted funds (#4488)
- Update
snow
package to fix audit issue (#4506) - Nicer formatting of dot addresses and payloads (#4511)
- Downgrade upload/download artifact (#4516)
- Remove old runtime benchmarks (#4514)
- Version flag (#4520)
- Remove old failed ccms (#4502)
- Pull first (#4526)
- Re-add version update (#4533)
- Don't remove
docker-compose.yml
when network stops (#4541) - Upgrade-test should restart the chainflip-nodes on an incompatible upgrade (#4490)
- Ensure channel open fee can be paid in benchmarks (#4544)
- Activate missing migrations (#4550)
- Allow test coverage to run (#4555)
- More lenient max deposit fee in bouncer test (#4564)
- Wait for ThresholdSignature success before switching to NewKeysActivated (#4534)
- Continuous adapter ((PRO-684)) (#4503)
- Remove bounded balance check (#4575)
- Disable try-state checks (#4576)
- Runtime upgrade state check uses AllPalletsWithoutSystem (#4583)
- Just check that the balance after is greater than before (#4587)
- Remove tight bound for ingress fee on broker test (#4591)
- Use correct pnpm deps for upgrade-test (#4596)
- Upgrade test pnpm install from commit (#4600)
- RUSTSEC-2024-0019 (#4604)
- Patch 1.2 broker test (#4607)
- Allow CLI to run in Debug mode (#4605)
- Swap subscription amounts as hex (#4611)
- Remove RpcAsset ((PRO-1187)) (#4491)
- Use ForeignChainAndAsset (#4536)
- Pass tx_ref as an extrinsic parameter (#4579)
- Pass out CFE incompatibility exit information to main (#4563)
- Update Solana image to latest tag (#4574)
- Ingress-egress-tracker: Add tx_ref to redis (#4573)
- Remove Arbitrum from cherry-picked code
- Add USDT (#4628)
[1.2.1] - 2024-03-04
Features
- Price impact protection for swaps (#4547)
[1.2.0] - 2024-02-02
Features
- Decouple CFE from SC events (#4382)
- Expose ingress and egress fees on events (#4442)
- BitcoinFeeInfo: Store single field, derive the rest ((PRO-1073)) (#4372)
- Track btc fees on success (#4334)
- Shave fees on ingress (#4335)
- Add version cmd to all bins (#4343)
- API Bins check SC compatibility (#4342)
- Enforce version is greater than release version on PRs to main (#4351)
- Spec_version of PR is greater than spec version of current release (#4355)
- End to end network upgrade github action (#4274)
- Btc utxo consolidation (#4338)
- Add chaintracking metric (#4369)
- Order_fills rpc ((PRO-1044)) (#4376)
- Track deposit witnesses and egress confirmations [(WEB-715)] (#4370)
- Nightly bouncer (#4400)
- Bouncer command to check how many validator witnessed something (#4408)
- Add witness safety margin [(PRO-1059)] (#4438)
- Solana localnet (#4428)
- Upgrade test can be run from any commit on main (#4421)
- Improve ceremony metrics (#4354)
- Upgrade-test can work on releases (#4453)
- CFE processes SC events in the initial block on startup (#4228)
- Nightly upgrade (#4462)
- Run tests in release-mode (pragmatic approach) (#4441)
- Expose all ignored egresses in ingress-egress pallet (#4458)
Fixes
- CFE Witnessing, use parent block metadata when decoding events (#4331)
- Build sisyphos with production profile (#4327)
- Sweeping before withdrawal (#4337)
- Changelog check 🤫 (#4348)
- Connections can become stale when reconnecting (#4310)
- Btc witnesser test failing sometimes (#4353)
- Remove pre-witnessing functionality (#4358)
- Can timeout when updating CFE version (#4365)
- Use correct runtime name for upgrade test (#4378)
- Bitcoin deposit witness code ((PRO-1078)) (#4373)
- Ensure api lib version is bumped (#4387)
- Cargo fmt (#4392)
- Remove meaningless bearer token (#4397)
- Avoid SCC "sparse stream" error in CLI when making requests ((PRO-998)) (#4393)
- Bump subxt version to 0.32.1 (#4388)
- Return correct error in cf-pool pallet (#4405)
- Use existing script for upgrade job (#4403)
- Don't have conflicting redis port with localnet (#4415)
- Pool_orders rpc filters empty orders ((PRO-1039)) (#4377)
- Await finalisation before starting broker (#4412)
- Bump spec version command only bumps when necessary (#4422)
- Restore correct restriction on redemption expiry ((PRO-1072))
- RUSTSEC-2024-0006 (#4439)
- Filter incompatible blocks ((PRO-1108)) (#4432)
- Use custom subxt config + nextAccountIndex (#4440)
- 🐛 fixed storage version (#4447)
- Const UNFINALIZED = false; (#4452)
- Use 127.0.0.1 instead of localhost (#4457)
- Issues with merge (#4466)
- Spelling of AssetConversionError::UnsupportedAsset (#4474)
- Force egress success for benchmarks (#4480)
Refactor
- Code cleaniness (#4389)
- Save data to redis [(WEB-761)] (#4399)
- Improve panic behaviour (#4391)
- Give structure [(WEB-761)] (#4402)
- Configurable expiry times [(WEB-761)] (#4406)
- Use yargs for all try_runtime_command options (#4423)
- Remove unnecessary fields (#4425)
Documentation
- Correct env vars (#4416)
Testing
- Cfe event encoding (#4429)
- Latest_then adapter testing (#4322)
- Polkadot runtime update bouncer test (#4286)
- Ensure DepositIgnored(NotEnoughToPayFees) event is emitted (#4460)
[1.1.5] - 2024-01-02
Fixes
- Ensure all nodes consistently witness Bitcoin deposits (#4374)
[1.1.4] - 2023-12-21
Features
- More accurate btc fees (#4367)
[1.1.3] - 2023-12-19
Fixes
- Remove pre-witnessing functionality (#4359)
[1.1.1] - 2023-12-13
Features
Fixes
- CFE Witnessing, use parent block metadata when decoding events (#4331)
- Sweeping before withdrawal (#4337)
Testing
- Latest_then adapter testing (#4322)
[1.1.0] - 2023-12-07
Features
- Handle failed vault transfers (#4304)
- Rpc to get list of supported assets. (#4222)
- Try-runtime loop (#4267)
- Original order size and accumulative fees (#4211)
- Store witness safety margins on SC (#4260)
- Simulate order book RPC (#4269)
- Upgrade_network command using prebuilt binaries (#4280)
- Try runtime in upgrade tool (#4282)
- Re-sign failed CCMs (#4277)
- (PRO-932): add fee info to cf_pool_orders tpc (#4295)
- Add max swap amounts to swapping env (#4306)
- Broadcast barrier (#4207)
- Add redeeming to LP API (#4292)
- Try-runtime build to CI (#4293)
- New Lp Interfaces (#4313)
- Lp_subscribe_order_fills (#4319)
Fixes
- Correlate new and old broadcast ids [(WEB-575)] (#4221)
- Build sisyphos with production profile (#4327)
- Substract broker fee from swap (#4226)
- Reduce permissions of backend token (#4265)
- No dup chain tracking submissions for reorgs on unsafe stream (#4268)
- Disable spec version check for try-runtime (#4272)
- Set_fees (#4255)
- Add missing migration hook (#4275)
- Use current MAB for bond (#4279)
- Typos (#4283)
- Make restricted address storage optional (#4285)
- Bump openssl as per cargo audit (#4289)
- Correct amm migration (#4288)
- Don't remove awaiting broadcast before retry (#4291)
- Lp logs in localnet (#4297)
- Ignore extra btc vouts (#4296)
- Transaction already in chain reported as success (#4300)
- Allow deposits to different addresses in the same tx (#4299)
- Don't block unfinalised dot source when can't find events (#4301)
- Benchmark (#4308)
- Update release version on runtime upgrade (#4281)
- CLI redeem amount rounding error (#4303)
- Current release version bumped checks (#4311)
- Threshold sig migrations (#4312)
- Add migration for PendingRequestInstructions (#4316)
- Broker endpoint as env var (#4317)
Refactor
[1.0.3] - 2023-12-07
Fixes
- Use current MAB to set bond (#4276)
[1.0.2] - 2023-11-21
Features
- Add MAB to current auction state (#4253)
- Add SECURITY.md file (#4263)
- Get new block streams from scc after creation (#4217)
- Prewitnessing uses unfinalised sc stream (#4220)
- Improve Dot Existential Deposit Test (#4195)
- Dynamic min authority count (#4224)
- User friendly error on asset parse failure (#4229)
- CLI generate keys outputs peer id (#4241)
- Maximum Swap amount (#4238)
Fixes
- All lp api return NumberOrHex (#4247)
- Revert restricted balances (#4237)
- Add missing spans in multisig logs (#4239)
- Remove bound addresses on account deletion (#4244)
- Remove existential deposit (#4243)
- Egress id race condition (#4235)
- Remove unwrap when getting tx receipt (#4231)
- Protect against double witnessing after safe mode (#4254)
- Runtime upgrade utils and migrations (#4258)
Documentation
- Deposit channel lifecycle (#4261)
Refactor
- Replace latest_finalized_hash with latest_finalized_header (#4206)
- Use btc rpc client for mempool tracker (#4227)
- Shared source inside chunked_by adapters (#4232)
[1.0.0] - 2023-11-03
Features
- Don't include dust btc amounts on rotation (#4063)
- Set pool fees (#4050)
- Ensure correct process termination in ingress/egress tracker (#4101)
- Ingress-egress tracking for DOT (#4121)
- Btc ingress egress tracking (#4133)
- Wait for registration before starting p2p (#4160)
- Add dry run CLI and use it in register_account_role (#3992)
- Shorter protocol id (#3906)
- New lp interface (#3886)
- More forgiving dot address parsing (#3938)
- (PRO-474) broadcast safe mode (#3902)
- Backup RPC (#3951)
- Governance-pre-authorised-calls (#3964)
- Threshold signing with specific fixed key (#3979)
- Add new archive node service file (#3937)
- Qualify nodes by minimum cfe version (#4003)
- Update substrate dependency (#3994) (#4004)
- Calculate ccm gas limit (#3935)
- [(PRO-823)] bind-nodes-executor-to-address (#3987)
- Witnesser dispatch call filter (#4001)
- Subcribe_price and depth rpc (#3978)
- Speedy scc ((PRO-777) (PRO-593)) (#3986)
- Add initiated_at block number for egresses (#4046)
- Simple pre-witnessing (#4056)
- Size limit for CCM (#4015)
- Add WS subscription for prewitnessed swaps (#4065)
- Added logging server port setting (#4076)
- Add account roles and LP info to custom RPC (#4089)
- Add external expiry block to event [(WEB-496)] (#4097)
- Add websocket eth subscription to deposit tracker (#4081)
- Catch dot port missing early (#4082)
- Add expiry block to liquidity channel event (#4111)
- Use snake case for lp api method names (#4108)
- Add restricted balances to AccountInfoV2 (#4048)
- Add flip balance to account info (#4119)
- Bouncer command for submitting runtime upgrades (#4122)
- Changelog config file. (#4095)
- Account_info_v2 APY (#4112)
- Required changes for multi engine release (#4123)
- Bouncer, auto bump spec version for runtime upgrades (#4143)
- Add ingress-egress documentation (#4140)
- Auto sweep earnings and accurate free balance rpc ((PRO-856)) (#4145)
- Nested polkadot fetch (#4006)
- Verify transaction metadata (#4078)((PRO-819))
- Automate compatible CFE upgrades (#4149)
- Restricted address should override bound restrictions (#4159)
- Improve environment RPC (#4154)
- Replace NumberOrHex (#4163)
- 3-node localnet (#4086)
- Update slashing values for mainnet (#4148)
- Optimistic polkadot rotation (#4182)
- Implement dry-run (#4155)
- P2p stale connections (#4189)
Fixes
- Correct Select Median Implementation (#3934)
- Ensure existing p2p connection is removed before reconnecting (#4045)
- Limit ZMQ Buffer Size for Outgoing Messages (#4051)
- Correctly handle peer updates while waiting to reconnect (#4052)
- Correct rotation transitions on failure (#3875)
- Start ARB network and increase polkadot rpc connection limit 🐛🚀 (#3897)
- Index and hash log (#3898)
- Strictly monotonic (#3899)
- Dot decode xt (#3904)
- Is_qualified should be called for all checks (#3910)
- Broadcast success should be witnessable after a rotation (#3921)
- Log error when we try to transfer more than we have fetched (#3930)
- Independent witnessing startup (#3913)
- Only burn flip if non zero (#3932)
- Duplicate logging (#3939)
- Update substrate ref to use Kademlia fix (#3941)
- Tweak cli generate-keys output (#3943)
- CanonicalAssetPair encoding issue (#3958)
- Prefer finalize_signed_extrinsic in engine (#3956)
- Scale encoding skip phantom data (#3967)
- Set limit order to zero (#3971)
- Clear failed broadcasters after abort (#3972)
- Submit eip1559 transactions (#3973)
- Release build (#3975)
- Fund-redeem test (#3982)
- Set network fee to 10bps (#4010)
- Use stderr for cli messages (#4022)
- Update cfe version record even if Idle (#4002)
- Use saturating sub while calculating change amount (#4026)
- Deposit channel expiry (#3998)
- Polkadot nonce issue (#4054)
- Warn -> info (#4060)
- Loop_select conditions ((PRO-587)) (#4061)
- Take settings backup only if migration required (#4077)
- Use percentage for eth fee history (#4071)
- Delete auction phase check for redeem cli command (#4090)
- Stop LPs without refund addresses for both assets from creating orders in a pool ((PRO-896)) (#4099)
- Stale error handling for unsigned extrinsics ((PRO-804)) (#4100)
- Don't abort broadcast if signers are unavailable (#4104)
- Don't egress empty all_batch calls (#4102)
- DOT swap output less than existential deposit (#4062)
- Account_info rpc address conversion (#4144)
- Add .rpc for consistency in engine settings (#4158)
- Use sc client to synchronise cfe upgrade (#4157)
- Don't ignore valid deposits when another one fails (#4165)
- Sweep broke lp returned events (#4176)
- Use
ubuntu:22.04
for docker containers 🐛 (#4188) - Handle relative path to db (#4164)
- Change panic to bail on LP and Broker API's (#4190)
Documentation
- Metadata fetching (#3900)
- Update funding readme with redemption restrictions (#3914)
- Amm and pools pallet (#4005)
[0.10.0] - 2023-10-18
Features
- Backup RPC
Operators can now configure a backup rpc provider for the engine. - Qualify nodes by minimum cfe version
Operators that have not upgraded their Engines can now be excluded from Keygen ceremonies. - Calculate ccm gas limit
Cross chain messages now set the correct gas limit on egress. - Executor address binding
Accounts can now be irreversibly bound to a specific Redemption Executor. - Witnesser dispatch call filter
Enables selective witnessing during safe mode. - Subcribe_price and depth rpc
Adds AMM price and depth rpc subscriptions. - Speedy SCC
Extrinsic submissions via the apis no longer wait for finality. - Add initiated_at block number for egresses
Egress event now contains the block number at which it occurred. - Size limit for CCM
Limits the size of cross-chain messages. - Required changes for multi engine release
Adds configuration for running two Engines in parallel.
Fixes
- Ensure existing p2p connection is removed before reconnecting
- Correctly handle peer updates while waiting to reconnect
- Clear failed broadcasters after abort
- Use stderr for cli messages
- Update cfe version record even if Idle
- State Chain client drives runtime upgrade activation