Amendment XLS: DisallowIncomingCredentials #379
tequdev
started this conversation in
Standard Proposals
Replies: 2 comments 2 replies
-
@tequdev note the new process where XLS numbers are assigned on PR, not Discussion: #340 Please just use |
Beta Was this translation helpful? Give feedback.
0 replies
-
What do you think about just having one |
Beta Was this translation helpful? Give feedback.
2 replies
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.
Uh oh!
There was an error while loading. Please reload this page.
-
Disallow Incoming Credentials
Abstract
Some accounts may wish to opt out of receiving on-ledger credentials created by third parties. This document proposes a new account-level flag that, when enabled, causes
CredentialCreate
transactions targeting the account to be rejected unless the credential is self-issued by the account itself.1. Motivation
In XLS-70: On-Chain Credentials, an issuer can create a credential for any subject (
CredentialCreate
). Some subjects may not want unsolicited credentials to be created for them. This proposal provides a simple, opt-in mechanism to prevent third-party issuance to an account while preserving the ability to self-issue.2. Specification
This feature requires a new amendment, tentatively titled
DisallowIncomingCredentials
.2.1. Ledger Object:
AccountRoot
Introduce a new AccountSet flag on
AccountRoot
:lsfDisallowIncomingCredential
0x00008000
2.2. Transaction:
AccountSet
This proposal adds a new flag to
AccountSet
:asfDisallowIncomingCredential
18
AccountSet
transaction, thelsfDisallowIncomingCredential
flag on theAccountRoot
will be set.SetFlag
/ClearFlag
.2.3. Transaction:
CredentialCreate
This proposal adds a new failure condition to
CredentialCreate
(as defined in XLS-70):Subject
account hasasfDisallowIncomingCredentials
enabled andIssuer
≠Subject
, the transaction MUST fail with atecNO_PERMISSION
error code.Issuer
=Subject
(self-issued credential), the transaction proceeds under the normal rules, regardless of the flag.Subject
, behavior is unchanged.No other transactions are affected by this proposal.
3. Backwards Compatibility
4. Test Cases (Illustrative)
asfDisallowIncomingCredentials
enabled,Issuer
≠Subject
→CredentialCreate
MUST returntecNO_PERMISSION
error code.asfDisallowIncomingCredentials
enabled,Issuer
=Subject
→CredentialCreate
MUST succeed if otherwise valid.5. References
Beta Was this translation helpful? Give feedback.
All reactions