When we create 2 sequential unique transactions with same sender/receiver/amount within a short amount of time, we get the following error back:
"The operation couldn't be completed. (KinBase.KinServiceV4.Errors error 2.)"
If we wait some amount of time between initiating transactions, the 2nd txn goes through properly, and gets a unique txn ID.
We believe the issue is caused by Agora considering the txns non-unique, and dedupes / hands back the txn ID of the 1st txn instead of making a new 2nd txn ID.
Our request is for the ios/android/etc SDKs to handle this detail internally with Agora, so we as the implementers do not have to care/worry about the deduping logic.
For reference: on our app, it's very easy for users to send Kin tips to each other, and we have a default of 10 Kin. So often times, users will send tips to each other, using the default amount, which then triggers this issue.
We had tried to work around it by attempting to use some part of "memo" or "invoice" fields, but feel that the SDKs should handle this internally, but there were various issues, and also feel from an ease-of-use perspective, the implementers should not have to worry about internal Agora deduping logic, in case it changes in the future.