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.

1 Like

Proposal 134173

Vote: ADOPT

Reviews:

6dc4a6e Properly set copyright in license

e466467 Updated Coinbase URL.

8ee6522 Added xrc_mock wasm to dockerfile and added dfx.json canister definition for it.

bc9715a Updated some comments.

0d55a30 Ported over code from the ic repo to mock an exchange rate canister.

a33f56e Same as description, switch docker-compose references with docker command.

1 Like