Authorization
Granting authorization to enable smart contracts to send messages on behalf of a user account involves establishing a mechanism within the blockchain network that allows users to delegate specific permissions and capabilities to other contracts or addresses. This authorization process is facilitated through the Authorization.sol
contract, which contains functions to grant approvals and allowances. The contract conforms to the AuthorizationI
interface, providing a standardized set of functions and events to manage these authorizations
Functions:
1. approve
Description: Approves a list of Cosmos or IBC transactions with a specific amount of tokens.
Parameters:
spender: The address that will spend the funds.
amount: The amount of tokens to be spent.
methods: The message type URLs of the methods to approve.
Return: Boolean value indicating if the approval was successful.
2. revoke
Description: Revokes a list of Cosmos transactions.
Parameters:
spender: The address that will spend the funds.
methods: The message type URLs of the methods to revoke.
Return: Boolean value indicating if the revocation was successful.
3. increaseAllowance
Description: Increases the allowance of a given spender by a specific amount of tokens for IBC transfer methods or staking.
Parameters:
spender: The address that will spend the funds.
amount: The amount of tokens to be added to the allowance.
methods: The message type URLs of the methods to approve.
Return: Boolean value indicating if the increase in allowance was successful.
4. decreaseAllowance
Description: Decreases the allowance of a given spender by a specific amount of tokens for IBC transfer methods or staking.
Parameters:
spender: The address that will spend the funds.
amount: The amount of tokens to be deducted from the allowance.
methods: The message type URLs of the methods to approve.
Return: Boolean value indicating if the decrease in allowance was successful.
5. allowance
Description: Returns the remaining number of tokens that a spender is allowed to spend on behalf of the owner through IBC transfer methods or staking.
Parameters:
owner: The address of the account owning tokens.
spender: The address of the account able to transfer the tokens.
method: The message type URL of the method for which the approval should be queried.
Return: The remaining number of tokens available to be spent.
Events:
1. Approval
Description: Emitted when the allowance of a spender is set by a call to the approve method.
Parameters:
owner: Owner of the tokens. spender: Address that will spend the tokens.
methods: List of message type URLs for which the approval is set.
value: Amount of tokens approved to be spent.
2. Revocation
Description: Emitted when an owner revokes a spender's allowance for specific methods.
Parameters:
owner: Owner of the tokens.
spender: Address that will spend the tokens.
methods: List of message type URLs for which the approval is revoked.
3. AllowanceChange
Description: Emitted when the allowance of a spender changes due to a call to increaseAllowance or decreaseAllowance methods.
Parameters:
owner: Owner of the tokens.
spender: Address that will spend the tokens.
methods: List of message type URLs for which the approval is set.
values: Amounts of tokens approved to be spent.
Last updated