Trigger Examples
Trigger OnUpgrade
In this example, this contract will only be updated if it's the owner that called it and reject anything else.
Make sure to add a validation like this, else your contract can be hacked and updated without your consent!
contract test {
import Runtime;
global owner: address;
trigger onUpgrade(from:address)
{
Runtime.expect(Runtime.isWitness(owner), "Only the owner can update");
}
}Trigger OnMint
In this example, this token will check the symbol, the address that called, and check it was called from within the contract and reject anything else.
Trigger OnBurn
In this example, this contract only burn if it's the owner and reject anything else.
Trigger OnSeries
In this example, this contract when a series is created will check if it was the owner that did it and reject anything else.
Trigger OnInfuse
In this example, this token will only accept being infused with the same token and reject anything else.
Trigger OnWrite
In this example, this token will only be able to be updated if it's the owner that called the change and reject anything else.
Trigger OnSend
In this example, this account will only accept transfers of KCAL and reject anything else.
Trigger OnReceive
Example 1
In this example, this account will only accept transfers of KCAL and reject anything else.
Example 2
In this example, any asset sent to this account will be auto-converted into SOUL.
Trigger OnMigrate
In this example, this address migrated to another one and we check if it was the actual user that called the method and reject anything else.
Trigger OnKill
This method will be triggered when you want to destroy/delete the token.
Be very careful when implementing this trigger.
In this example, this token will only be killed by the owner and reject anything else.
This is to destroy the contract.
Last updated