ICP Ledger last approved commit .did doesn't include ICRC_1 methods

I download the latest version of the ICP Ledger .did (public & private) and it doesn’t include icrc_1 methods.

This is the IC_Version I’m downloading: e4843a130730f515cf342d6b3ffa7191529a9df0

Using this command (e.g. public): curl -o ledger.public.did “https://raw.githubusercontent.com/dfinity/ic/e4843a130730f515cf342d6b3ffa7191529a9df0/rs/rosetta-api/icp_ledger/ledger.did

And the actual candid of the ICP ledger can be seeing here.

I can replace with an icrc_1 did and use it to call the ledger but as I need to deploy it locally that doesn’t work as I also need the wasm.

We didn’t add the ICRC1 methods to the ICP Ledger did file and instead we are reusing the icrc1.did file from the ICRC ledger in the same repository. You can use the private did file to deploy the ICP Ledger and then use the icrc1.did file to send messages to the Ledger.


Can we just make sure they are all exposed via the helper function that tools like icscan use to show the interface?

They are exposed as shown by the dashboard.

1 Like

@mariop - could we get a link to this in the documentation? Maybe here - https://internetcomputer.org/docs/current/developer-docs/integrations/ledger/interact-with-ledger

Personally, I didn’t think to even check the dashboard. I always end up searching through the docs and eventually git for the candid :weary:.

Thanks, this worked!!

Should be awesome to have this doc updated: Ledger Local Setup.

Maybe just changing the download link on:

curl -o ledger.public.did "https://raw.githubusercontent.com/dfinity/ic/$IC_VERSION/rs/rosetta-api/icp_ledger/ledger.did"

with the one for the ICRC_1 did file.

Should we tag someone here for that? Maybe @diegop ?

You can always propose changes using the ‘Edit this page’ button at the bottom of the page. I’m happy to review your proposed changes. I went ahead and made a PR already for this one.

1 Like