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
Uh oh!
There was an error while loading. Please reload this page.
-
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