tx · 6DrJB7N5VQq3DfNbszAaJgPxpfNyCvSkCshDXW3uSv4b 3Moz6HJhucpFh4V3VScXhd9efei4Curytfj: -0.01000000 Waves 2023.11.19 20:34 [2850569] smart account 3Moz6HJhucpFh4V3VScXhd9efei4Curytfj > SELF 0.00000000 Waves
{ "type": 13, "id": "6DrJB7N5VQq3DfNbszAaJgPxpfNyCvSkCshDXW3uSv4b", "fee": 1000000, "feeAssetId": null, "timestamp": 1700415344493, "version": 2, "chainId": 84, "sender": "3Moz6HJhucpFh4V3VScXhd9efei4Curytfj", "senderPublicKey": "Ec1VLg3r1E7mwHmaNidmoKrFAUJ55UVJFq3J1YKRy5Zm", "proofs": [ "W1zbZgaATqtMMnjGR2tYC9VdAFTJgUV5YWixBBA6cNZVNaq4ZUmMVBqsHnVgCeZ6zpQCGCbqPEGdcdG9JU9cGyk", "62CJdwb1yM5xz7pyEByCqw4ZcESDmDbYn7uJPhreMkTtNKFb2aeQHF2aU84rkpFeFAT6FqYbLfWBbyxVfNYcRpXN" ], "script": "base64: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", "height": 2850569, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: edHHWZhzMocFaEmRgCHdG39rnEcosEpcE9P1JVNUaNo Next: CWc44LPN52RahNwFtpagyUSQapRdnDVnf79eR4bcnUwU Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | ||
4 | + | let viableCallerAddress = "3N73dcv2jkTobdQ9TRLSX4PtvqHbjsiKxiP" | |
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | - | func call (input,input2) = [IntegerEntry("1", input[0]), IntegerEntry("2", input[1])] | |
7 | + | func registerData (clientInput,opponentInput,id,oppAddress,lgtCond) = { | |
8 | + | let client = toString(i.caller) | |
9 | + | let txId = toBase58String(i.transactionId) | |
10 | + | [StringEntry(id, txId), IntegerEntry((((txId + "_") + client) + "_age"), clientInput[0]), IntegerEntry((((txId + "_") + client) + "_sex"), clientInput[1]), IntegerEntry((((txId + "_") + client) + "_damage"), clientInput[2]), IntegerEntry((((txId + "_") + client) + "_fac1"), clientInput[3]), IntegerEntry((((txId + "_") + client) + "_fac2"), clientInput[4]), IntegerEntry((((txId + "_") + client) + "_fac3"), clientInput[5]), IntegerEntry((((txId + "_") + client) + "_fac4"), clientInput[6]), IntegerEntry((((txId + "_") + client) + "_vio1"), clientInput[7]), IntegerEntry((((txId + "_") + client) + "_vio2"), clientInput[8]), IntegerEntry((((txId + "_") + client) + "_vio3"), clientInput[9]), IntegerEntry((((txId + "_") + client) + "_vio4"), clientInput[10]), IntegerEntry((((txId + "_") + oppAddress) + "_age"), opponentInput[0]), IntegerEntry((((txId + "_") + oppAddress) + "_sex"), opponentInput[1]), IntegerEntry((((txId + "_") + oppAddress) + "_damage"), opponentInput[2]), IntegerEntry((((txId + "_") + oppAddress) + "_fac1"), opponentInput[3]), IntegerEntry((((txId + "_") + oppAddress) + "_fac2"), opponentInput[4]), IntegerEntry((((txId + "_") + oppAddress) + "_fac3"), opponentInput[5]), IntegerEntry((((txId + "_") + oppAddress) + "_fac4"), opponentInput[6]), IntegerEntry((((txId + "_") + oppAddress) + "_vio1"), opponentInput[7]), IntegerEntry((((txId + "_") + oppAddress) + "_vio2"), opponentInput[8]), IntegerEntry((((txId + "_") + oppAddress) + "_vio3"), opponentInput[9]), IntegerEntry((((txId + "_") + oppAddress) + "_vio4"), opponentInput[10]), IntegerEntry((txId + "_lgt"), lgtCond)] | |
11 | + | } | |
8 | 12 | ||
9 | 13 | ||
10 | 14 | ||
11 | 15 | @Callable(i) | |
12 | - | func registerData (clientInput,opponentInput,id,oppAddress) = { | |
16 | + | func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address,eligible_person_address) = { | |
17 | + | let txId = toBase58String(i.transactionId) | |
18 | + | [StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address), StringEntry((txId + "_eligible_payout"), eligible_person_address)] | |
19 | + | } | |
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | @Callable(i) | |
24 | + | func requestPayout (pred_txId,amount,id) = { | |
13 | 25 | let client = toString(i.caller) | |
14 | 26 | let txId = toBase58String(i.transactionId) | |
15 | - | [StringEntry(id, txId), IntegerEntry((((txId + "_") + client) + "_age"), clientInput[0]), IntegerEntry((((txId + "_") + client) + "_sex"), clientInput[1]), IntegerEntry((((txId + "_") + client) + "_damage"), clientInput[2]), IntegerEntry((((txId + "_") + client) + "_fac1"), clientInput[3]), IntegerEntry((((txId + "_") + client) + "_fac2"), clientInput[4]), IntegerEntry((((txId + "_") + client) + "_fac3"), clientInput[5]), IntegerEntry((((txId + "_") + client) + "_fac4"), clientInput[6]), IntegerEntry((((txId + "_") + client) + "_vio1"), clientInput[7]), IntegerEntry((((txId + "_") + client) + "_vio2"), clientInput[8]), IntegerEntry((((txId + "_") + client) + "_vio3"), clientInput[9]), IntegerEntry((((txId + "_") + client) + "_vio4"), clientInput[10]), IntegerEntry((((txId + "_") + oppAddress) + "_age"), opponentInput[0]), IntegerEntry((((txId + "_") + oppAddress) + "_sex"), opponentInput[1]), IntegerEntry((((txId + "_") + oppAddress) + "_damage"), opponentInput[2]), IntegerEntry((((txId + "_") + oppAddress) + "_fac1"), opponentInput[3]), IntegerEntry((((txId + "_") + oppAddress) + "_fac2"), opponentInput[4]), IntegerEntry((((txId + "_") + oppAddress) + "_fac3"), opponentInput[5]), IntegerEntry((((txId + "_") + oppAddress) + "_fac4"), opponentInput[6]), IntegerEntry((((txId + "_") + oppAddress) + "_vio1"), opponentInput[7]), IntegerEntry((((txId + "_") + oppAddress) + "_vio2"), opponentInput[8]), IntegerEntry((((txId + "_") + oppAddress) + "_vio3"), opponentInput[9]), IntegerEntry((((txId + "_") + oppAddress) + "_vio4"), opponentInput[10])] | |
27 | + | [StringEntry((id + "_request_payout"), txId), IntegerEntry((txId + "_amount"), amount), StringEntry((txId + "_prediction_id"), pred_txId)] | |
28 | + | } | |
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | @Callable(i) | |
33 | + | func PayoutUser (amount,status,id,recipientAddress) = { | |
34 | + | let caller = toString(i.caller) | |
35 | + | let txId = toBase58String(i.transactionId) | |
36 | + | let recipient = Address(fromBase58String(recipientAddress)) | |
37 | + | if ((status == "error")) | |
38 | + | then throw("There is an error with the data") | |
39 | + | else if ((caller != viableCallerAddress)) | |
40 | + | then throw("You are not allowed to authorize payouts") | |
41 | + | else [StringEntry((id + "_payout"), txId), IntegerEntry((txId + "_amount"), amount), ScriptTransfer(recipient, 1000000, unit)] | |
16 | 42 | } | |
17 | 43 | ||
18 | 44 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | ||
4 | + | let viableCallerAddress = "3N73dcv2jkTobdQ9TRLSX4PtvqHbjsiKxiP" | |
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | - | func call (input,input2) = [IntegerEntry("1", input[0]), IntegerEntry("2", input[1])] | |
7 | + | func registerData (clientInput,opponentInput,id,oppAddress,lgtCond) = { | |
8 | + | let client = toString(i.caller) | |
9 | + | let txId = toBase58String(i.transactionId) | |
10 | + | [StringEntry(id, txId), IntegerEntry((((txId + "_") + client) + "_age"), clientInput[0]), IntegerEntry((((txId + "_") + client) + "_sex"), clientInput[1]), IntegerEntry((((txId + "_") + client) + "_damage"), clientInput[2]), IntegerEntry((((txId + "_") + client) + "_fac1"), clientInput[3]), IntegerEntry((((txId + "_") + client) + "_fac2"), clientInput[4]), IntegerEntry((((txId + "_") + client) + "_fac3"), clientInput[5]), IntegerEntry((((txId + "_") + client) + "_fac4"), clientInput[6]), IntegerEntry((((txId + "_") + client) + "_vio1"), clientInput[7]), IntegerEntry((((txId + "_") + client) + "_vio2"), clientInput[8]), IntegerEntry((((txId + "_") + client) + "_vio3"), clientInput[9]), IntegerEntry((((txId + "_") + client) + "_vio4"), clientInput[10]), IntegerEntry((((txId + "_") + oppAddress) + "_age"), opponentInput[0]), IntegerEntry((((txId + "_") + oppAddress) + "_sex"), opponentInput[1]), IntegerEntry((((txId + "_") + oppAddress) + "_damage"), opponentInput[2]), IntegerEntry((((txId + "_") + oppAddress) + "_fac1"), opponentInput[3]), IntegerEntry((((txId + "_") + oppAddress) + "_fac2"), opponentInput[4]), IntegerEntry((((txId + "_") + oppAddress) + "_fac3"), opponentInput[5]), IntegerEntry((((txId + "_") + oppAddress) + "_fac4"), opponentInput[6]), IntegerEntry((((txId + "_") + oppAddress) + "_vio1"), opponentInput[7]), IntegerEntry((((txId + "_") + oppAddress) + "_vio2"), opponentInput[8]), IntegerEntry((((txId + "_") + oppAddress) + "_vio3"), opponentInput[9]), IntegerEntry((((txId + "_") + oppAddress) + "_vio4"), opponentInput[10]), IntegerEntry((txId + "_lgt"), lgtCond)] | |
11 | + | } | |
8 | 12 | ||
9 | 13 | ||
10 | 14 | ||
11 | 15 | @Callable(i) | |
12 | - | func registerData (clientInput,opponentInput,id,oppAddress) = { | |
16 | + | func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address,eligible_person_address) = { | |
17 | + | let txId = toBase58String(i.transactionId) | |
18 | + | [StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address), StringEntry((txId + "_eligible_payout"), eligible_person_address)] | |
19 | + | } | |
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | @Callable(i) | |
24 | + | func requestPayout (pred_txId,amount,id) = { | |
13 | 25 | let client = toString(i.caller) | |
14 | 26 | let txId = toBase58String(i.transactionId) | |
15 | - | [StringEntry(id, txId), IntegerEntry((((txId + "_") + client) + "_age"), clientInput[0]), IntegerEntry((((txId + "_") + client) + "_sex"), clientInput[1]), IntegerEntry((((txId + "_") + client) + "_damage"), clientInput[2]), IntegerEntry((((txId + "_") + client) + "_fac1"), clientInput[3]), IntegerEntry((((txId + "_") + client) + "_fac2"), clientInput[4]), IntegerEntry((((txId + "_") + client) + "_fac3"), clientInput[5]), IntegerEntry((((txId + "_") + client) + "_fac4"), clientInput[6]), IntegerEntry((((txId + "_") + client) + "_vio1"), clientInput[7]), IntegerEntry((((txId + "_") + client) + "_vio2"), clientInput[8]), IntegerEntry((((txId + "_") + client) + "_vio3"), clientInput[9]), IntegerEntry((((txId + "_") + client) + "_vio4"), clientInput[10]), IntegerEntry((((txId + "_") + oppAddress) + "_age"), opponentInput[0]), IntegerEntry((((txId + "_") + oppAddress) + "_sex"), opponentInput[1]), IntegerEntry((((txId + "_") + oppAddress) + "_damage"), opponentInput[2]), IntegerEntry((((txId + "_") + oppAddress) + "_fac1"), opponentInput[3]), IntegerEntry((((txId + "_") + oppAddress) + "_fac2"), opponentInput[4]), IntegerEntry((((txId + "_") + oppAddress) + "_fac3"), opponentInput[5]), IntegerEntry((((txId + "_") + oppAddress) + "_fac4"), opponentInput[6]), IntegerEntry((((txId + "_") + oppAddress) + "_vio1"), opponentInput[7]), IntegerEntry((((txId + "_") + oppAddress) + "_vio2"), opponentInput[8]), IntegerEntry((((txId + "_") + oppAddress) + "_vio3"), opponentInput[9]), IntegerEntry((((txId + "_") + oppAddress) + "_vio4"), opponentInput[10])] | |
27 | + | [StringEntry((id + "_request_payout"), txId), IntegerEntry((txId + "_amount"), amount), StringEntry((txId + "_prediction_id"), pred_txId)] | |
28 | + | } | |
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | @Callable(i) | |
33 | + | func PayoutUser (amount,status,id,recipientAddress) = { | |
34 | + | let caller = toString(i.caller) | |
35 | + | let txId = toBase58String(i.transactionId) | |
36 | + | let recipient = Address(fromBase58String(recipientAddress)) | |
37 | + | if ((status == "error")) | |
38 | + | then throw("There is an error with the data") | |
39 | + | else if ((caller != viableCallerAddress)) | |
40 | + | then throw("You are not allowed to authorize payouts") | |
41 | + | else [StringEntry((id + "_payout"), txId), IntegerEntry((txId + "_amount"), amount), ScriptTransfer(recipient, 1000000, unit)] | |
16 | 42 | } | |
17 | 43 | ||
18 | 44 | ||
19 | 45 | @Verifier(tx) | |
20 | 46 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
21 | 47 |
github/deemru/w8io/169f3d6 36.10 ms ◑