Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 1.82 KB

File metadata and controls

37 lines (25 loc) · 1.82 KB

Permissions

State diagram

Functionality

  • Authorize management of a specific treasury by a (dynamic) scope owner.

    With the exception of the contingency scope:

    • the reorganize operation can be performed by the scope owner alone;
    • the sweep and disburse operations require the scope owner and at least another scope owner;

    The contingency scope, on the other hand, is managed as follows:

    • any scope owner can perform the reorganize operation on the contingency treasury;
    • ALL scope owners must approve of a sweep or disburse of the contingency treasury.
  • The validator also permits the scope owner to perform normal spend or publish operations. In practice, this isn't needed because the script shall only live as stake credential, but in case where it would be misused as an address, then it is as if it belonged to the scope owner.

  • The credentials for each scope owner are defined dynamically and attached to a UTxO that carries a well-known NFT. Credentials aren't baked into the validator, so, a reference input holding the scopes definitions is required to authenticate operations.

Parameters

  1. scopes_nft: PolicyId: The policy-id / script hash of the scopes script managing the scopes definitions. This is the script controlled by PRAGMA, which defines who are effectively the scope owners for each scope.

  2. scope: Scope: The actual scope (core development, ops and use cases, network compliance and middleware integrations) for that validator.