Support opt-in "merged" transaction scheduling #172
tinker-michaelj
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
A scheduled transaction is identified by three things:
memo
.adminKey
.scheduledTransactionBody
.If two
ScheduleCreate
transactionsC1
andC2
agree in these fields, we can say they are scheduling the "same" transaction. (Although it is important to note that thepayerAccountID
s could differ betweenC1
andC2
.)✖️ Current network behavior
Suppose transaction
X
requires signatures from both Alice and Bob; and both of them want to scheduleX
.So Alice submits
C1
with their key and getsSUCCESS
. Now Bob submitsC2
with their key; but instead of Bob'sScheduleCreate
being interpreted as aScheduleSign
that "merges" withC1
, the network resolves toIDENTICAL_SCHEDULE_ALREADY_CREATED
.Because it is always possible that Alice and Bob could be accidentally scheduling two related-but-not-truly-identical transactions, this behavior is a reasonable---albeit conservative---default.
✅ Proposed change to network behavior
Add a
merge_with_identical_schedule
field to theScheduleCreateTransactionBody
,In the above scenario, if Bob's
C2
transaction hadmerge_with_identical_schedule=true
, simply merge its signatures with the existing scheduled transaction created byC1
.C1
andC2
gavepayerAccountID
s, and they were not the same account, then still fail when handlingC2
, and resolve toIDENTICAL_SCHEDULE_ALREADY_EXISTS_WITH_DIFFERENT_PAYER
.Beta Was this translation helpful? Give feedback.
All reactions