[
"autonomous agent",
{
"bounce_fees": {
"base": 10000
},
"init": "{
$this = {
dust_collector : "
B2UMBICLZSBVDHRC7BYM6BBU4AQEXL2F",
htlc_base_aa : "
QDUO5LIIERVQM2Q5JSZCNIEGBD5XEVAW"
};
}",
"messages": {
"cases": [
{
"if": "{ !!trigger.data.destination_address and !!trigger.data.hash_of_secret}",
"init": "{
$duration = json_parse(trigger.data.duration_in_hours otherwise 12)*60*60;
$aa_definition = ['autonomous agent', {
base_aa: $this.htlc_base_aa ,
params: {
destination_address: trigger.data.destination_address,
hash_of_secret: trigger.data.hash_of_secret,
amount: trigger.data.amount otherwise 0,
asset_id: trigger.data.asset_id otherwise "base",
duration: $duration,
}
}
];
}",
"messages": [
{
"app": "definition",
"payload": {
"definition": "{$aa_definition}"
}
},
{
"app": "payment",
"payload": {
"asset": "base",
"outputs": [
{
"address": "{trigger.initial_address}",
"amount": "{balance[base]-2000}"
}
]
}
},
{
"app": "state",
"state": "{
response['message'] = "HTLC has been created";
response['HTLC address'] = chash160($aa_definition);
response['HTLC duration'] = trigger.data.duration_in_hours;
response['HTLC destination'] = trigger.data.destination_address;
}"
}
]
},
{
"messages": [
{
"app": "state",
"state": "{
bounce("I need:'destination_address' and 'hash_of_secret' and optional 'amount', 'asset_id' and 'duration_in_hours'.");
}"
}
]
}
]
}
}
]