Announcing "Token Standard" as topic of the first meeting of the Ledger & Tokenization Working Group

I hope the old endpoint still works and captures movements of tokens… it will be a real pain to modify all the ICRC index canisters I’ve just setup for 221Bravo.

Got about 30 canisters churning through transaction data. Looking to add OGY sometime soon :slight_smile:

Yes, it will find approve https://github.com/dfinity/ic/blob/56800b234dc986c14e8730ba9c26f29811c3db79/packages/icrc-ledger-types/src/icrc3/transactions.rs#L65.

Ah ok - am I right in thinking that approve transactions dont change the balance of an account and only earmark funds that can be transferred on another users’ behalf? Is the changing of balances still done with a transfer transaction?

Or am I way off? :joy:

1 Like

Tokens are transferred by icrc1_transfer or a icrc2_transfer_from but icrc2_approve charges a fee for recording the approval and therefore it changes the balance of the “approver”.

For instance, let’s say that Alice approves Bob. If the approval is successful then the balance of Alice has been decreased of the fee. That’s the only balance that changes.

4 Likes

Dear Working Group!

Due to absence of almost everyone from DFINITY side tomorrow, I suggest to cancel the WG meeting of October 3.

2 Likes

Thanks for letting us know :smiley:

1 Like

Dear Working Group!

The next WG meeting is taking place today, October 17, 2023.

As discussed in the recent meeting, the topics are the following:

Hope to see you there!

1 Like

Please find the recording and minutes of the WG Meeting of October 17, 2023 linked below:
Recording
Minutes

You can find all the recordings, chats, and slides of all meetings here:
All files of all meetings

1 Like

Dear Working Group!

The next WG meeting is taking place tomorrow, October 31, 2023.

As discussed in the recent meeting, the topics are the following:

We will cover then depending on availability of people and time.

Hope to see you there!

1 Like

Is ICRC-3 complete now? Is that it set :slight_smile:

1 Like

Hey @NS01, I’m still working on it. I had to put it aside for a few weeks to deal with other features but I should be able to produce a full spec for next WG together with a tool to verify the compliance of blocks to the ICRC-3 schema. A preview of the tool is already available here and is part of icrc-ledger-types 0.1.3.

3 Likes

I’ve made a formal recommendation on the ICRC-23 - HTTP request namespacing and would love feed back. We can also discuss more on the call:

1 Like

Please find the recording and minutes of the WG Meeting of October 31, 2023 linked below:
Recording
Minutes

You can find all the recordings, chats, and slides of all meetings here:
All files of all meetings

Dear Working Group and community!

In the upcoming meeting on Nov 14, 2023, we suggest to discuss ICRC-3 as progress has been made towards resolving remaining issues and completion of the standard.

ICRC-3 draft

Please find the recording and minutes of the WG Meeting of November 14, 2023 linked below:
Recording
Minutes

You can find all the recordings, chats, and slides of all meetings here:
All files of all meetings

1 Like

In today’s meeting of Nov 28, 2023, we suggest to continue the discussion on ICRC-3.

ICRC-3 draft

1 Like

Hi, the second draft of the ICRC-3 standard is available (see this). People part of the working group can now vote to make the proposal official Vote on the second draft of ICRC-3 · Issue #169 · dfinity/ICRC-1 · GitHub.

3 Likes

:slight_smile: propose a minor extension to ICRC-3 that specifies how future ICRC standards that build on top of ICRC-3 should name their op in order to avoid naming clashes.

See ICRC-3 by MarioDfinity · Pull Request #128 · dfinity/ICRC-1 · GitHub.

tl;dr
We need to namespace the op that goes into blocks. My proposal is to keep is as succinct as possible: For the transfer_from operation defined in ICRC-xy, the op must begin with the prefix xz, e.g., 30xfer_from or only 30xfer (still readable, but shorter).

Proposal for naming:

  • Prefix is the ICRC number without the string ICRC- to keep it shorter.
  • The actual op name must then start with a letter character.
  • The following characters can be alphanumeric and “_” and “-”

I.e.:

op = icrc_number op_name
icrc_number = nonzero_digit *digit
nonzero digit = "1" "2" "3" "4" "5" "6" "7" "8" "9"
digit = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"
op_name = a-z *(alphanumeric \ "_" \ "-")

What do people think about this? We need this for the NFT standards that are coming up and we should define something.

At the bare minimum, we could fix the ICRC number as prefix, followed by anything not starting with a number to keep it as unconstrained as possible.

2 Likes

Here would be a proposal of a first draft of the ICRC-3-compliant block schema for ICRC-7 using the above namespacing proposal. That would be the first “customer” of ICRC-3 besides the “built-in” ICRC-1 and ICRC-2.

Comments welcome also from this WG as this is an inter-WG affair.

1 Like

Here’s another application of ICRC-3 in ICRC-30 (draft):

1 Like