You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/concepts/accounts/permission-delegation.md
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ status: not_enabled
10
10
11
11
Permission delegation is the function of granting various permissions to another account to send permissions on behalf of your account. You can use permission delegation to enable flexible security paradigms such as role-based access control, instead of or alongside techniques such as [multi-signing](./multi-signing.md).
@@ -43,13 +43,12 @@ For a complete list of transaction types that can or cannot be delegated as well
43
43
44
44
### Limitations of Permission Delegation
45
45
46
-
The main limiting factor on how many delegates you can have is that you must hold enough XRP to meet the [reserve requirement](./reserves.md). Each delegate's permissions are tracked with a [Delegate ledger entry][], which counts as one item towards the delegator's owner reserve.
47
-
48
-
Each delegate can be granted up to 10 permissions.
49
-
50
-
Some permissions cannot be delegated, especially permissions that would allow the delegate to change cryptographic keys or grant additional permissions.
51
-
52
-
The available set of granular permissions is hard-coded, and the permissions cannot be customized. For example, you cannot grant permission to send only certain currencies and not others.
46
+
- The number of delegates you can have is limited by the [reserve requirement](./reserves.md). Each delegate's permissions are tracked with a [Delegate ledger entry][], which counts as one item towards the delegator's owner reserve.
47
+
- Each delegate can be granted up to 10 permissions.
48
+
- Some permissions cannot be delegated, especially permissions that would allow the delegate to change cryptographic keys or grant additional permissions.
49
+
- The set of granular permissions is hard-coded and cannot be customized. For example, you cannot grant permission to send only certain currencies and not others.
50
+
- You cannot delegate permissions to a [pseudo-account](/docs/concepts/accounts/pseudo-accounts.md) (such as an AMM or a Single Asset Vault).
51
+
- Delegated transactions cannot be held in the [transaction queue](/docs/concepts/transactions/transaction-queue.md). A delegated transaction that can't apply to the open ledger immediately fails with `telCAN_NOT_QUEUE` instead of being queued.
Copy file name to clipboardExpand all lines: docs/concepts/transactions/transaction-queue.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,7 @@ The `xrpld` server uses a variety of heuristics to estimate which transactions a
39
39
- Transactions must be properly-formed and [authorized](index.md#authorizing-transactions) with valid signatures.
40
40
- Transactions with an `AccountTxnID` field cannot be queued.
41
41
- Fee-sponsored transactions (using the `spfSponsorFee` flag) cannot be queued. {% amendment-disclaimer name="Sponsor" /%}
42
+
-[Delegated transactions](../accounts/permission-delegation.md) (those with a `Delegate` field) cannot be queued. {% amendment-disclaimer name="PermissionDelegationV1_1" /%}
42
43
- A single sending address can have at most 10 transactions queued at the same time.
43
44
- To queue a transaction, the sender must have enough XRP for all of the following:
44
45
- Destroying the XRP [transaction cost](transaction-cost.md) as specified in the `Fee` fields of all the sender's queued transactions. The total amount among queued transactions cannot be more than the base account reserve (currently {% $env.PUBLIC_BASE_RESERVE %}). (Transactions paying significantly more than the minimum transaction cost of 0.00001 XRP typically skip the queue and go straight into the open ledger.)
Copy file name to clipboardExpand all lines: docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,9 +77,19 @@ The request includes the following parameters:
77
77
|`forward`| Boolean |_(Optional)_ Defaults to `false`. If set to `true`, returns values indexed with the oldest ledger first. Otherwise, the results are indexed with the newest ledger first. (Each page of results may not be internally ordered, but the pages are overall ordered.) |
78
78
|`limit`| Positive Integer |_(Optional)_ Default varies. Limit the number of transactions to retrieve. The server is not required to honor this value. |
79
79
|`marker`|[Marker][]| Value from a previous paginated response. Resume retrieving data where that response left off. This value is stable even if there is a change in the server's range of available ledgers. |
80
+
|`delegate`| Object |_(Optional)_ Filter the results by [transaction delegation](../../../../concepts/accounts/permission-delegation.md) relationship. See [`delegate` filter](#delegate-filter) for the object's fields. {% amendment-disclaimer name="PermissionDelegationV1_1" /%} |
80
81
81
82
-[API v2]: If you specify either `ledger_index` or `ledger_hash`, including `ledger_index_min` and `ledger_index_max` returns an `invalidParams` error.
82
83
84
+
#### `delegate` filter
85
+
86
+
The `delegate` object filters results to transactions where one account (the delegatee) signed and submitted a transaction on behalf of another account (the delegator). It has the following fields:
87
+
88
+
|`Field`| Type | Description |
89
+
|:------------------|:-------|:------------|
90
+
|`delegate_filter`| String |_(Required)_ The relationship to filter by. `actor` returns transactions others signed on behalf of the `account` (the account holder's view). `authorizer` returns transactions the `account` signed on behalf of others (the delegatee's view). |
91
+
|`counter_party`| String |_(Optional)_ An [address][] to filter by. Use with `delegate_filter`:`actor` to limit results to transactions signed by this delegatee. Use with `delegate_filter`:`authorizer` to limit results to transactions signed on behalf of this delegator. |
Copy file name to clipboardExpand all lines: docs/references/protocol/transactions/types/delegateset.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %}
70
70
|`tecDIR_FULL`| The sender owns too many items in the ledger already.<br>This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. |
71
71
|`tecINSUFFICIENT_RESERVE`| The sender does not have enough XRP to meet the [reserve requirement](/docs/concepts/accounts/reserves.md) of creating a new Delegate ledger entry. |
72
72
|`tecNO_ENTRY`| The `Permissions` list is empty but no [Delegate ledger entry][] exists for the delegate. An empty list is only valid for deleting an existing entry. |
73
-
|`tecNO_PERMISSION`| At least one permission in the `Permissions` list is not delegatable. See[Permission Values](../../data-types/permission-values.md) for which permissions are not delegatable. |
73
+
|`tecNO_PERMISSION`| At least one permission in the `Permissions` list is not delegatable (see[Permission Values](../../data-types/permission-values.md) for which permissions are not delegatable), or the `Authorize` account is a [pseudo-account](/docs/concepts/accounts/pseudo-accounts.md). |
74
74
|`tecNO_TARGET`| The account specified in the `Authorize` field does not exist in the ledger. |
75
75
|`temARRAY_TOO_LARGE`| The `Permissions` list is too large. It cannot contain more than 10 entries. |
76
76
|`temDISABLED`| The [PermissionDelegation amendment][] is not enabled. |
0 commit comments