The Construction API currently assumes there is at most one KeyPair associated with a given AccountIdentifier (this does not mean there can only be a single KeyPair associated with an AccountIdentifier as there can be multiple AccountIdentifiers with the same Address with different SubAccounts). This restriction does not prevent many stake-based multi-sig flows but does block "Bitcoin-style" multi-sig transactions.
We should find some way to support returning multiple PublicKeys for a given AccountIdentifier (likely just wrapping PublicKey with the associated AccountIdentifier) in /construction/metadata and /construction/payloads. We may also need to add a field to SigningPayload to indicate which PublicKey should be used to sign a particular payload (when it is possible to use multiple).
The Construction API currently assumes there is at most one KeyPair associated with a given
AccountIdentifier
(this does not mean there can only be a single KeyPair associated with anAccountIdentifier
as there can be multipleAccountIdentifiers
with the sameAddress
with differentSubAccounts
). This restriction does not prevent many stake-based multi-sig flows but does block "Bitcoin-style" multi-sig transactions.We should find some way to support returning multiple
PublicKeys
for a givenAccountIdentifier
(likely just wrappingPublicKey
with the associatedAccountIdentifier
) in/construction/metadata
and/construction/payloads
. We may also need to add a field toSigningPayload
to indicate whichPublicKey
should be used to sign a particular payload (when it is possible to use multiple).