mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-07-03 13:39:38 +00:00
- Added mint_authority: Option<AccountId> to TokenDefinition::Fungible - NewFungibleDefinitionWithAuthority instruction - SetAuthority instruction (rotate or revoke to None) - Updated Mint with early authority guard - Fully backwards compatible - token_core SDK + regenerated SPEL IDL - End-to-end demo script + tests
205 lines
4.1 KiB
JSON
205 lines
4.1 KiB
JSON
{
|
|
"version": "0.1.0",
|
|
"name": "token",
|
|
"instructions": [
|
|
{
|
|
"name": "transfer",
|
|
"accounts": [
|
|
{
|
|
"name": "sender",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "recipient",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "amount_to_transfer",
|
|
"type": "u128"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "new_fungible_definition",
|
|
"accounts": [
|
|
{
|
|
"name": "definition_target_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "holding_target_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "total_supply",
|
|
"type": "u128"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "new_fungible_definition_with_authority",
|
|
"accounts": [
|
|
{
|
|
"name": "definition_target_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "holding_target_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "total_supply",
|
|
"type": "u128"
|
|
},
|
|
{
|
|
"name": "mint_authority",
|
|
"type": {
|
|
"option": "account_id"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "set_authority",
|
|
"accounts": [
|
|
{
|
|
"name": "definition_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "new_authority",
|
|
"type": {
|
|
"option": "account_id"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "new_definition_with_metadata",
|
|
"accounts": [
|
|
{
|
|
"name": "definition_target_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "holding_target_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "metadata_target_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "new_definition",
|
|
"type": {
|
|
"defined": "NewTokenDefinition"
|
|
}
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": {
|
|
"defined": "Box"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "initialize_account",
|
|
"accounts": [
|
|
{
|
|
"name": "definition_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "account_to_initialize",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "burn",
|
|
"accounts": [
|
|
{
|
|
"name": "definition_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "user_holding_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "amount_to_burn",
|
|
"type": "u128"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "mint",
|
|
"accounts": [
|
|
{
|
|
"name": "definition_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
},
|
|
{
|
|
"name": "user_holding_account",
|
|
"writable": false,
|
|
"signer": false,
|
|
"init": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "amount_to_mint",
|
|
"type": "u128"
|