Operations
Draft definitions of the ELC-20 deploy, mint and transfer operations.
DraftELC-20 defines three operations. Each is an ELC-20 Sigil whose body contains an op field naming the operation, followed by its arguments.
Common fields
| Field | Type | Rule |
|---|---|---|
op | string | One of deploy, mint, transfer. Case-sensitive. |
tick | string | Asset ticker. Compared case-insensitively. Proposed length 1 to 16 characters, from a restricted character set. |
All quantities are decimal strings of base-unit integers: digits only, no sign, no decimal point, no exponent and no leading zeros.
Deploy
Declares a new asset. The first valid deploy of a ticker defines it permanently.
Draft Example — Not Finalized
{
"p": "saelis",
"v": 0,
"std": "elc-20",
"body": {
"op": "deploy",
"tick": "demo",
"max": "21000000",
"lim": "1000",
"dec": "18"
}
}| Field | Type | Required | Rule |
|---|---|---|---|
max | decimal string | Yes | Maximum supply. Must be greater than zero. |
lim | decimal string | No | Per-mint limit. Defaults to max. Must not exceed max. |
dec | decimal string | No | Display decimals, 0 to 18. Defaults to 18. Presentation only. |
Mint
Issues new units of a deployed asset to the account that signed the transaction.
Draft Example — Not Finalized
{
"p": "saelis",
"v": 0,
"std": "elc-20",
"body": {
"op": "mint",
"tick": "demo",
"amt": "1000"
}
}| Field | Type | Required | Rule |
|---|---|---|---|
amt | decimal string | Yes | Greater than zero and not greater than the deploy's lim. |
Transfer
Moves units from the signer's balance to a recipient.
Draft Example — Not Finalized
{
"p": "saelis",
"v": 0,
"std": "elc-20",
"body": {
"op": "transfer",
"tick": "demo",
"amt": "250",
"to": "0x000000000000000000000000000000000000dEaD"
}
}| Field | Type | Required | Rule |
|---|---|---|---|
amt | decimal string | Yes | Greater than zero and not greater than the signer's balance at that position. |
to | address | Yes | A 20-byte hex address. Compared case-insensitively. |
Operations not included
ELC-20 intentionally omits approvals, allowances and burns in the current draft. Each would add state and edge cases, and none is required to validate the core model. They may be proposed as extensions once the base rules are settled.