Releases: dfinity/exchange-rate-canister
Releases · dfinity/exchange-rate-canister
2024.11.12
Summary
- Proposer: DFINITY Foundation
- Git Hash:
6dc4a6eb450bc477d6ea09597c992a3ef31d0d88
- Compressed WASM Hash:
952dec65a8a0360c76d493b36e33113e1083c059a589fdc66bef76604eaee6a6
- Target Canister:
uf6dk-hyaaa-aaaaq-qaaaq-cai
- Repository:
https://github.com/dfinity/exchange-rate-canister.git
Features
- Since Coinbase deprecated their Coinbase Pro API, the exchange rate canister must be upgraded, changing the Coinbase API URL.
Commit Log
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 6dc4a6eb450bc477d6ea09597c992a3ef31d0d88
$ git log --format='%C(auto) %h %s' 458adc36f9c3f6b7232a8868528262c0c3eb52ab..6dc4a6eb450bc477d6ea09597c992a3ef31d0d88 -- ./src/xrc
6dc4a6e chore: Set copyright (#273)
e466467 fix: Updating the Coinbase URL (#272)
8ee6522 build: Include xrc_mock in the release (#271)
bc9715a docs: Explain exchange rate terminology. (#270)
0d55a30 feat: Copy xrc_mock from tvl in ic repo (#268)
a33f56e fix: Use docker instead of docker-compose (#269)
To Verify
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 6dc4a6eb450bc477d6ea09597c992a3ef31d0d88
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
952dec65a8a0360c76d493b36e33113e1083c059a589fdc66bef76604eaee6a6 xrc.wasm.gz
2024.09.05
Release created to make the mock XRC canister available for download.
2024.07.12
Summary
- Proposer: DFINITY Foundation
- Git Hash:
458adc36f9c3f6b7232a8868528262c0c3eb52ab
- Compressed WASM Hash:
206f8b6304ebddad1dd32ad93ca79eae434ce641aa1aee3c671be208517d1a4a
- Target Canister:
uf6dk-hyaaa-aaaaq-qaaaq-cai
- Repository: https://github.com/dfinity/exchange-rate-canister.git
Features
- Prevent repeated calls to failed exchanges
- Enable the ability to release to an application subnet using feature flags
Commit Log
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 458adc36f9c3f6b7232a8868528262c0c3eb52ab
$ git log --format="%C(auto) %h %s" 51428a562622c5fb3f0bf24214cff77f27ce9bdf..458adc36f9c3f6b7232a8868528262c0c3eb52ab -- ./src/xrc
458adc3 fix: Prevent repeated calls to failed exchanges (#264)
987d384 fix: Enable beta release by upping the required cycles and lowering the minimum forexes if IPv4 support is not available. (#263)
036bac7 feat: Add flag to support sending cycles on an application subnet. (#262)
To Verify
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 458adc36f9c3f6b7232a8868528262c0c3eb52ab
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
206f8b6304ebddad1dd32ad93ca79eae434ce641aa1aee3c671be208517d1a4a xrc.wasm.gz
2024.04.05
Summary
- Proposer: DFINITY Foundation
- Git Hash:
51428a562622c5fb3f0bf24214cff77f27ce9bdf
- Compressed WASM Hash:
dcc42fd617ce8382a28941678b6299cc4c23f1bfc29bfb1eec517e1e84b9128a
- Target Canister:
uf6dk-hyaaa-aaaaq-qaaaq-cai
- Repository: https://github.com/dfinity/exchange-rate-canister.git
Features
- Add two new crypto exchanges: Bitget and Digifinex
- Add new forex source: Central Bank Of Turkey
- Update Rust to 1.75.0.
- Update chrono to resolve security vulnerability.
- Ensure that /dashboard endpoint returns content-type header.
Commit Log
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 51428a562622c5fb3f0bf24214cff77f27ce9bdf
$ git log --format="%C(auto) %h %s" 06395554fe69c3d423704ed0ed3d5275ea3a3262..51428a562622c5fb3f0bf24214cff77f27ce9bdf -- ./src/xrc
51428a5 fix: Switch Bitget endpoint and updated response data structure (#261)
2992c1e feat: Add Turkey forex (#260)
97d6731 feat: Add Digifinex crypto exchange (#258)
2589353 feat: Add Bitget exchange (#256)
064147f fix: Remove access by index when inverting and dividing rates (#257)
e8ec7fa chore: Update rust toolchain to 1.75.0 (#253)
3f7ee77 chore: Update chrono to resolve security vulnerability (#254)
a035563 fix: Set /dashboard content-type (#255)
To Verify
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 51428a562622c5fb3f0bf24214cff77f27ce9bdf
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
dcc42fd617ce8382a28941678b6299cc4c23f1bfc29bfb1eec517e1e84b9128a xrc.wasm.gz
2024.02.02
Summary
- Proposer: DFINITY Foundation
- Git Hash:
06395554fe69c3d423704ed0ed3d5275ea3a3262
- Compressed WASM Hash:
4bfbaa72726f0395383bf5241e77516c3e1b727da04484e728d8e496e24be569
- Target Canister:
uf6dk-hyaaa-aaaaq-qaaaq-cai
- Repository: https://github.com/dfinity/exchange-rate-canister.git
Features
- Update the max response bytes for all exchanges to 3KiB. This allows extra padding in case new headers are introduced in responses by exchanges (ex. MEXC).
Commit Log
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 06395554fe69c3d423704ed0ed3d5275ea3a3262
$ git log --format="%C(auto) %h %s" 77cdb2c91c2b59238def95bab738bc8308389b9b..06395554fe69c3d423704ed0ed3d5275ea3a3262 -- ./src/xrc
0639555 fix: Bump all exchanges to default max response bytes to 3KiB (#251)
To Verify
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 06395554fe69c3d423704ed0ed3d5275ea3a3262
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
4bfbaa72726f0395383bf5241e77516c3e1b727da04484e728d8e496e24be569 xrc.wasm.gz
2024.01.17
Summary
- Proposer: DFINITY Foundation
- Git Hash:
77cdb2c91c2b59238def95bab738bc8308389b9b
- Compressed WASM Hash:
785ad7825857116528fe17d2b286b488bff6a533999d8e46d505f85f3c46bc3f
- Target Canister:
uf6dk-hyaaa-aaaaq-qaaaq-cai
- Repository: https://github.com/dfinity/exchange-rate-canister.git
Features
- Update the handling of responses from Gate.io due to a change in their API.
- Update Candid to 0.10.0.
Commit Log
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 77cdb2c91c2b59238def95bab738bc8308389b9b
$ git log --format="%C(auto) %h %s" b6b25bcb6db7a972dcee58ab9b53b04d88fdda9a..77cdb2c91c2b59238def95bab738bc8308389b9b -- ./src/xrc
77cdb2c fix: Gate.io updated API Response (#250)
ff2a2b5 chore: updated candid to 0.10.0 (#249)
To Verify
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 77cdb2c91c2b59238def95bab738bc8308389b9b
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
785ad7825857116528fe17d2b286b488bff6a533999d8e46d505f85f3c46bc3f xrc.wasm.gz
2023.12.01
Summary
- Proposer: DFINITY Foundation
- Git Hash:
b6b25bcb6db7a972dcee58ab9b53b04d88fdda9a
- Compressed WASM Hash:
fe91ed906ba7f7b3ac506680d68ab50fc815dba5718154539fe9df032e222553
- Target Canister:
uf6dk-hyaaa-aaaaq-qaaaq-cai
- Repository: https://github.com/dfinity/exchange-rate-canister.git
Features
- Replace ByBit with Crypto.com as an exchange source.
Commit Log
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout b6b25bcb6db7a972dcee58ab9b53b04d88fdda9a
$ git log --format="%C(auto) %h %s" 9ee933fb2d8b29fcc4a2a4ff9052b9c21a72433e..b6b25bcb6db7a972dcee58ab9b53b04d88fdda9a -- ./src/xrc
b6b25bc chore: Replace bybit with crypto.com (#248)
To Verify
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout b6b25bcb6db7a972dcee58ab9b53b04d88fdda9a
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
fe91ed906ba7f7b3ac506680d68ab50fc815dba5718154539fe9df032e222553 xrc.wasm.gz
2023.11.28
Summary
- Proposer: DFINITY Foundation
- Git Hash:
9ee933fb2d8b29fcc4a2a4ff9052b9c21a72433e
- Compressed WASM Hash:
45e306e083590365adef0feca43b1f1bc13e8ab8da7b1547800317a6f0e441ef
- Target Canister:
uf6dk-hyaaa-aaaaq-qaaaq-cai
- Repository: https://github.com/dfinity/exchange-rate-canister.git
Features
- Ensure forex rates are sorted in the transform function to ensure consensus passes.
- Replace Binance with ByBit as an exchange source.
- Update to candid 0.9.11
- Remove Singapore from forex sources.
Commit Log
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ git checkout 9ee933fb2d8b29fcc4a2a4ff9052b9c21a72433e
$ git log --format="%C(auto) %h %s" aff48f88ea2f26bb16dea1d644636dc00197c942..e9a789189425bb70e7bf6bf0efa1dfa4a3e180f9 -- ./src/xrc
9ee933f fix: In order to ensure consensus passes, forex rates must be sorted. (#247)
4cbef71 chore: Removing the Singapore forex source (#246)
f956dc0 chore: Replacing Binance with Bybit (#245)
03f4f44 chore: Update to latest candid, ic-cdk, and serde-xml-rs (#237)
To Verify
$ git clone https://github.com/dfinity/exchange-rate-canister.git
$ cd exchange-rate-canister
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
45e306e083590365adef0feca43b1f1bc13e8ab8da7b1547800317a6f0e441ef xrc.wasm.gz
2023.07.24
Summary
Git Hash: e9a789189425bb70e7bf6bf0efa1dfa4a3e180f9
Compressed WASM Hash: 513bd326c827881278810c09327573a95aac84976a9a97c769847179223ffc27
Target Canister: uf6dk-hyaaa-aaaaq-qaaaq-cai
Features
- The pricing has been updated in accordance with the new price function of HTTPS outcalls. In short, the number of cycles that need to be attached and the number of cycles charged have been reduced by a factor of 10!
- The exchange rate canister now supports variable decimals. That is, the decimals field in the returned exchange rate metadata may deviate from the default value 9 to represent very small or large exchange rates.
- Since all rates are represented as integers, the standard deviation in the metadata is now computed using an integer square-root function to minimize the use of floating-point operations.
- The exchange rate canister now supports the upcoming
dfx deps
feature, which will make it possible to easily install canisters locally. - Several new end-to-end tests have been added to test the canister’s behavior in various scenarios.
Commit Log
$ git checkout e9a789189425bb70e7bf6bf0efa1dfa4a3e180f9
$ git log --format="%C(auto) %h %s" aff48f88ea2f26bb16dea1d644636dc00197c942..e9a789189425bb70e7bf6bf0efa1dfa4a3e180f9 -- ./src/xrc
e9a7891 `chore`: Update Coinbase max response bytes (#236)
c55e2f5 Update cycle pricing (#232)
bfb1f74 Removing floating-point square-root operations (#230)
cd127b1 fix(stddev): Update standard deviation to account for overflow (#229)
e6030c9 feat: Enabling variable decimals (#222)
2b82623 feat: Mock forex and stablecoin responses (#221)
ef51b10 chore: Update rust version to 1.69.0 (#215)
Verify the WASM hash of the canister
$ export IP_SUPPORT=ipv4
$ ./scripts/docker-build
$ sha256sum xrc.wasm.gz
Expected output
513bd326c827881278810c09327573a95aac84976a9a97c769847179223ffc27 xrc.wasm.gz