Upgrade NNS Canister: XRC

Proposal 134173 to upgrade the Exchange Rate Cannister (XRC) is live.

Proposal #134173

Vote: Adopted
Reason: Builds fine and hash matches, as do all the listed commits and the motivation makes sense.

Review:

6dc4a6e chore: Set copyright (#273)
Set to 2022 DFINITY Foundation.
e466467 fix: Updating the Coinbase URL (#272)
api.pro.coinbase.com is replaced with api.exchange.coinbase.com.
More info can be found in the exchange changelog.
8ee6522 build: Include xrc_mock in the release (#271)
Adds a built xrc_mock wasm, and now we can be build it using dfx build.
bc9715a docs: Explain exchange rate terminology. (#270)
Reference to wikipedia link for definitions of “base” and “quote” assets.
0d55a30 feat: Copy xrc_mock from tvl in ic repo (#268)
It includes it in the ic repo for ease of use.
a33f56e fix: Use docker instead of docker-compose (#269)
Advantages are : Direct control over each container and no dependency on docker-compose.
Some drawbacks : More manual setup and teardown while also harder to manage for large multi-container apps.

2 Likes

proposal - 134173

Vote: ADOPT

Reason:

I successfully built and verified the hash. All the commit descriptions match their code changes.

Hash Match: MATCH

Feedback: NONE

Proposer Check: MATCH

Commits

6dc4a6e
Sets license

e466467
Update Coinbase URL.

8ee6522
Now xrc_mock.wasm is included in the release cycle to make it easy for scripts setting up test environments to download a WASM for the XRC mock to install

bc9715a
Fix comments

0d55a30
Introduce a new xrc-mock module, providing a mock implementation of exchange rate-related functionalities, including the ability to set and retrieve exchange rates using a test-friendly canister.

a33f56e
Matches description of using docker instead of docker componse.

2 Likes

Proposal 134173

Vote: ADOPT

Reason:
Build successful and hashes match, commits look great and found no issues.

Review:

[6dc4a6e]: Sets the copyright to 2022 DFINITY Foundation

[e466467]: Updates Coinbase API URL since it started to give the error "Coinbase Pro API is deprecated"

[8ee6522]: Added xrc_mock to dfx.json so that it can be built with dfx build. Included xrc_mock.wasm.gz in Dockerfile and in the release assests.

[bc9715a]: Fixed comments addressing what is a base_asset and a quote_asset in GetExchangeRateRequest.

[0d55a30]: Copied the xrc_mock into src/xrc_mock to facilitate testing the features of the exchange rate canister without making API calls and without having to create their own mocks. src/xrc_mock/src/main.rs provides the functionalities to get_exchange_rate and set_exchange_rate.

[a33f56e]: Changes the use of docker-compose to docker compose. This is inline with the latest changes to the Docker CLI and official Docker recommendations.

1 Like

Proposal 134173 Review

Wasm hash is reproducible.

Screenshot 2024-11-18 at 07.57.56

No args, install mode and target canister are correct.

Changes

Api switch from api.exchange.coinbase.com to api.exchange.coinbase.com.