Files
2020-11-05 14:27:01 +01:00

112 lines
3.0 KiB
Plaintext

request_funds(1){
find_account{
currency = {"symbol":"STX", "decimals":6};
random_account = find_balance({
"minimum_balance":{
"value": "0",
"currency": {{currency}}
},
"create_limit":1
});
},
// Create a separate scenario to request funds so that
// the address we are using to request funds does not
// get rolled back if funds do not yet exist.
request{
loaded_account = find_balance({
"account_identifier": {{random_account.account_identifier}},
"minimum_balance":{
"value": "1000000000",
"currency": {{currency}}
}
});
}
}
create_account(1){
create{
network = {"network":"testnet", "blockchain":"stacks"};
key = generate_key({"curve_type": "secp256k1"});
account = derive({
"network_identifier": {{network}},
"public_key": {{key.public_key}}
});
// If the account is not saved, the key will be lost!
save_account({
"account_identifier": {{account.account_identifier}},
"keypair": {{key}}
});
print_message({"--- created": {{key}}});
}
}
transfer(10){
transfer{
transfer.network = {"network":"testnet", "blockchain":"stacks"};
currency = {"symbol":"STX", "decimals":6};
sender = find_balance({
"minimum_balance":{
"value": "1000000000",
"currency": {{currency}}
}
});
// Set the recipient_amount as some value <= sender.balance-max_fee
max_fee = "1000";
available_amount = "10000";
recipient_amount = random_number({"minimum": "1", "maximum": {{available_amount}}});
print_message({"recipient_amount":{{recipient_amount}}});
// Find recipient and construct operations
sender_amount = 0 - {{recipient_amount}};
recipient = find_balance({
"not_account_identifier":[{{sender.account_identifier}}],
"minimum_balance":{
"value": "0",
"currency": {{currency}}
},
"create_limit": 100,
"create_probability": 50
});
print_message({"---- SENDING FROM": {{sender}}});
print_message({"---- SENDING TO": {{recipient}}});
transfer.confirmation_depth = "1";
transfer.operations = [
{
"operation_identifier":{"index":0},
"type":"fee",
"account":{{sender.account_identifier}},
"amount":{
"value":"-180",
"currency":{{currency}}
}
},
{
"operation_identifier":{"index":1},
"type":"token_transfer",
"account":{{sender.account_identifier}},
"amount":{
"value":{{sender_amount}},
"currency":{{currency}}
}
},
{
"operation_identifier":{"index":2},
"type":"token_transfer",
"account":{{recipient.account_identifier}},
"amount":{
"value":{{recipient_amount}},
"currency":{{currency}}
}
}
];
transfer.public_keys = [
{
"hex_bytes" : {{sender}},
"curve_type" : "secp256k1"
}
];
}
}