Yes i noticed it was optional, but for a Transfer operation i would expect that this data is always filled. What could be the reason that this isn’t filled? Is this an arg that need to be filled on the transfer call?
If you look at the ICRC-1 standard, more specifically the section on deduplication, you can see that the created_at_time field is used to deduplicate transactions in a certain time window. If a user is fine with their transaction not being deduplicated they can simply leave the field as None. The ledger will then not check whether the transaction has already been seen in the transaction window. If however, a user wants to make sure a certain transaction is only processed once during a transaction window, they would use the created_at_time. This is for example useful in asynchronous client-server environments during crash-recovery operations.