[
"autonomous agent",
{
"init": "{
$aa_name = "DANAA"; // Dynamic Asset Names Autonomous Agent;
$owner = "
O7NYCFUL5XIJTYE3O4MKGMGMTN6ATQAJ"; // could withdraw the dust is calculable.
$unit_id = trigger.data.unit_id otherwise false;
$short_name = trigger.data.short_name otherwise false;
$ticker = trigger.data.ticker otherwise false;
$decimals = trigger.data.decimals otherwise false;
$issuer = trigger.address; // preferrably the address to be able to modify it
$name = trigger.data.name otherwise $shortName||" by "||$author;
$description = trigger.data.description otherwise "Asset called "||$shortName||" issued by "||$issuer||", with "||$decimals||" decimals available. Its ticker is "||$ticker||" and it is defined by the unit '"||$unit_id||"'.";
}",
"messages": {
"cases": [
{
"if": "{ $unit_id and $short_name and $ticker and $decimals }",
"init": "{
// check
if (var[$unit_id])
if (trigger.address != var[$unit_id||"_issuer"])
bounce ("Already registered and not by you!");
}",
"messages": [
{
"app": "data",
"payload": {
"unit_id": "{$unit_id}",
"name": "{$name}",
"short_name": "{$short_name}",
"issuer": "{$issuer}",
"ticker": "{$ticker}",
"decimals": "{$decimals}",
"description": "{$description}"
}
},
{
"app": "payment",
"payload": {
"asset": "{'base'}",
"outputs": [
{
"address": "{$author}",
"amount": "{trigger.output[[asset=base]] - 1000}"
}
]
}
},
{
"app": "state",
"state": "{
var[$unit_id||"_shortName"] = $short_name;
var[$unit_id||"_issuer"] = $issuer;
var[$unit_id||"_name"] = $name;
var[$unit_id||"_ticker"] = $ticker;
var[$unit_id||"_decimals"] = $decimals;
var[$unit_id||"_description"] = $description;
}"
}
]
},
{
"messages": [
{
"app": "state",
"state": "{
bounce ("Specify the following fields: 'unit_id', 'shortname', 'ticker', 'decimal' and optionaly 'name, and description' that can be by default built from the previous fields.");
}"
}
]
}
]
}
}
]