# FundingPolicy

Funding policy commitments and authorization codecs.

## Functions

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`FundingPolicy.decode`](/tempo/reference/FundingPolicy/decode) | Decodes canonical ABI rules, rejecting noncanonical or trailing bytes. |
| [`FundingPolicy.encode`](/tempo/reference/FundingPolicy/encode) | ABI-encodes complete rules for a transaction's `policyRules` field. |
| [`FundingPolicy.fromRpc`](/tempo/reference/FundingPolicy/fromRpc) | Converts an RPC policy authorization to its domain representation. |
| [`FundingPolicy.fromTuple`](/tempo/reference/FundingPolicy/fromTuple) | Decodes a canonical policy authorization tuple. |
| [`FundingPolicy.hash`](/tempo/reference/FundingPolicy/hash) | Computes the protocol's domain-separated commitment to rules. |
| [`FundingPolicy.toRoutes`](/tempo/reference/FundingPolicy/toRoutes) | Converts a token map to canonical ABI routes, without reordering sources. |
| [`FundingPolicy.toRpc`](/tempo/reference/FundingPolicy/toRpc) | Converts a policy authorization to its RPC representation. |
| [`FundingPolicy.toTuple`](/tempo/reference/FundingPolicy/toTuple) | Encodes an existing policy ID or an inline policy as an RLP tuple. |

## Errors

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`FundingPolicy.InvalidPolicyError`](/tempo/reference/FundingPolicy/errors#fundingpolicyinvalidpolicyerror) | Thrown when a funding policy cannot be canonically encoded. |

## Types

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`FundingPolicy.Authorization`](/tempo/reference/FundingPolicy/types#fundingpolicyauthorization) | Policy authorization: an existing nonzero uint64 ID or inline creation. |
| [`FundingPolicy.Inline`](/tempo/reference/FundingPolicy/types#fundingpolicyinline) | Inline policy creation parameters. |
| [`FundingPolicy.Policy`](/tempo/reference/FundingPolicy/types#fundingpolicypolicy) | Policy state returned by the precompile; rules are available in events. |
| [`FundingPolicy.Route`](/tempo/reference/FundingPolicy/types#fundingpolicyroute) | ABI representation of one output route. |
| [`FundingPolicy.Rpc`](/tempo/reference/FundingPolicy/types#fundingpolicyrpc) | Policy authorization in RPC form. |
| [`FundingPolicy.Rules`](/tempo/reference/FundingPolicy/types#fundingpolicyrules) | Funding permissions, represented by output token. |
| [`FundingPolicy.Source`](/tempo/reference/FundingPolicy/types#fundingpolicysource) | An approved funding source and its configuration data. |
| [`FundingPolicy.Tuple`](/tempo/reference/FundingPolicy/types#fundingpolicytuple) | RLP policy authorization. |
