Skip to content

Conversation

@bogwar
Copy link
Contributor

@bogwar bogwar commented Nov 28, 2024

A standard to allow for the discovery of the index canister from the corresponding ledger.
A secondary goal for the standard is to document the interface of the current index canister.
This standard will exist in draft form only since we will work on a proper ICRC standard for index canisters (which will include discoverability).

A ledger implementing ICRC-106 MUST include the following entry in the output of the `icrc1_supported_standards` method:

```candid
record { name = "ICRC-106"; url = "https://github.com/dfinity/ICRC/blob/main/ICRCs/ICRC-106" }
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the location of where the standard once the PR is merged. In the meantime there was some reorganisation of the working gorups (and of repositories) so there will be a new location. I'll leave this open so that I remember to update the link accordingly.


type Transaction = record {
burn : opt Burn;
kind : text;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the textual represenation of the variant (option) included? If so, a variant type would be more consistent.




# Methods Provided by the Index Canister
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this section be placed before the candid interface? (So that the description comes first and the reader is not confused by hitting an undocumented candid declarations first.)

- **Typical Use Case**: Used for monitoring the health and synchronization status of the index, this method is helpful for determining whether the index has fully caught up with the ledger and is operational.


## Optional Methods
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How useful is this section given that it doesn't really provide much details on the method listed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the point of view of documenting the existing index it says that "there's these other bunch of methods implemented by the index"

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, but if the input/output types and their description is omitted, then how is a reader suppose to use this information?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They could look the at the .did file of the index canister. But I think this discussion points out to simply omitting this part and not even popularising those methods anyway

@baolongt
Copy link

@bogwar how ICRC-106 can enrich data for existed index canister

github-merge-queue bot pushed a commit to dfinity/ic that referenced this pull request Jun 6, 2025
)

Implement [ICRC-106](dfinity/ICRC-1#196)
(relocated from [here](dfinity/ICRC#106)) in the
ICRC ledger.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants