tx · 576DiPkqau4WJSoxKLGBqxV8MHw5i7P5rFhu4u7dFNkf 3NAoJSThEgz12iLrRFSeMZpP1mEYc4QcGa3: -0.01000000 Waves 2023.11.26 11:49 [2860154] smart account 3NAoJSThEgz12iLrRFSeMZpP1mEYc4QcGa3 > SELF 0.00000000 Waves
{ "type": 13, "id": "576DiPkqau4WJSoxKLGBqxV8MHw5i7P5rFhu4u7dFNkf", "fee": 1000000, "feeAssetId": null, "timestamp": 1700988618016, "version": 2, "chainId": 84, "sender": "3NAoJSThEgz12iLrRFSeMZpP1mEYc4QcGa3", "senderPublicKey": "5TXMdPyvDNfxhdixe86fk7Ya8FScpZGfZ6XNawu8sYK4", "proofs": [ "5BPCiqPERsixiQBhGqvwZMtBqSKSfjiqG4vdPpvvuv2pedZ9Zbmong8EoMK16QwjkgAQFBfbJ3U86V9gv2HG4p27" ], "script": "base64:BgIaCAISBwoFEREICAESBgoECAgICBIFCgMIAQgCAAtCQUlfQUREUkVTUwIjM045dEtpeHpxVFlXbkVYUXhyRFE1cEJUR3ZRZDZzRnN2bVYAEUFJX1RPS0VOX0FTU0VUX0lEASCT4XI4cQSbauiaYx8EJLdkU5csPrxmC4N0r2i7JI3iQgMBaQEMcmVnaXN0ZXJEYXRhBQtjbGllbnRJbnB1dA1vcHBvbmVudElucHV0AmlkCm9wcEFkZHJlc3MHbGd0Q29uZAQVc2VhcmNoRm9yRXhpc3RpbmdEYXRhBAckbWF0Y2gwCQCiCAEFAmlkAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAUBcwIObm8gRGF0YSBleGlzdHMDCQECIT0CBRVzZWFyY2hGb3JFeGlzdGluZ0RhdGECDm5vIERhdGEgZXhpc3RzCQACAQIfVGhlcmUgaXMgYWxyZWFkeSBleGlzdGluZyBEYXRhIQQGY2xpZW50CQClCAEIBQFpBmNhbGxlcgQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIFAmlkBQR0eElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQZjbGllbnQCBF9hZ2UJAJEDAgULY2xpZW50SW5wdXQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUGY2xpZW50AgRfc2V4CQCRAwIFC2NsaWVudElucHV0AAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FBmNsaWVudAIHX2RhbWFnZQkAkQMCBQtjbGllbnRJbnB1dAACCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQZjbGllbnQCBV9mYWMxCQCRAwIFC2NsaWVudElucHV0AAMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FBmNsaWVudAIFX2ZhYzIJAJEDAgULY2xpZW50SW5wdXQABAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUGY2xpZW50AgVfZmFjMwkAkQMCBQtjbGllbnRJbnB1dAAFCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQZjbGllbnQCBV9mYWM0CQCRAwIFC2NsaWVudElucHV0AAYJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FBmNsaWVudAIFX3ZpbzEJAJEDAgULY2xpZW50SW5wdXQABwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUGY2xpZW50AgVfdmlvMgkAkQMCBQtjbGllbnRJbnB1dAAICQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQZjbGllbnQCBV92aW8zCQCRAwIFC2NsaWVudElucHV0AAkJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FBmNsaWVudAIFX3ZpbzQJAJEDAgULY2xpZW50SW5wdXQACgkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUKb3BwQWRkcmVzcwIEX2FnZQkAkQMCBQ1vcHBvbmVudElucHV0AAAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCm9wcEFkZHJlc3MCBF9zZXgJAJEDAgUNb3Bwb25lbnRJbnB1dAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQpvcHBBZGRyZXNzAgdfZGFtYWdlCQCRAwIFDW9wcG9uZW50SW5wdXQAAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUKb3BwQWRkcmVzcwIFX2ZhYzEJAJEDAgUNb3Bwb25lbnRJbnB1dAADCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQpvcHBBZGRyZXNzAgVfZmFjMgkAkQMCBQ1vcHBvbmVudElucHV0AAQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCm9wcEFkZHJlc3MCBV9mYWMzCQCRAwIFDW9wcG9uZW50SW5wdXQABQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUKb3BwQWRkcmVzcwIFX2ZhYzQJAJEDAgUNb3Bwb25lbnRJbnB1dAAGCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQpvcHBBZGRyZXNzAgVfdmlvMQkAkQMCBQ1vcHBvbmVudElucHV0AAcJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCm9wcEFkZHJlc3MCBV92aW8yCQCRAwIFDW9wcG9uZW50SW5wdXQACAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUKb3BwQWRkcmVzcwIFX3ZpbzMJAJEDAgUNb3Bwb25lbnRJbnB1dAAJCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQpvcHBBZGRyZXNzAgVfdmlvNAkAkQMCBQ1vcHBvbmVudElucHV0AAoJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUEdHhJZAIEX2xndAUHbGd0Q29uZAUDbmlsAWkBDWV2YWx1YXRlZERhdGEEDXByZWRpY3Rpb25faWQPcGVyX29uZV9hZGRyZXNzD3Blcl90d29fYWRkcmVzcxVndWlsdHlfcGVyc29uX2FkZHJlc3MEBHR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAkAzAgCCQELU3RyaW5nRW50cnkCBQ1wcmVkaWN0aW9uX2lkBQR0eElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIHX2d1aWx0eQUVZ3VpbHR5X3BlcnNvbl9hZGRyZXNzBQNuaWwBaQENcmVxdWVzdFBheW91dAMJcHJlZF90eElkBmFtb3VudAJpZAQGY2xpZW50CQClCAEIBQFpBmNhbGxlcgQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUCaWQCD19yZXF1ZXN0X3BheW91dAUEdHhJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQR0eElkAgdfYW1vdW50BQZhbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAg5fcHJlZGljdGlvbl9pZAUJcHJlZF90eElkBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5l2uplw==", "height": 2860154, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ycPH1d7XV4DvEqnUqqsCJSCLz1ZyVHanqL75BM7z9gQ Next: B5YNGBtGVQKUnQY8wPGnPk8GjcTjQvY3CpnS1cixX9x Diff:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let viableCallerAddress = "3N73dcv2jkTobdQ9TRLSX4PtvqHbjsiKxiP" | |
4 | + | let BAI_ADDRESS = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV" | |
5 | + | ||
6 | + | let AI_TOKEN_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1' | |
5 | 7 | ||
6 | 8 | @Callable(i) | |
7 | 9 | func registerData (clientInput,opponentInput,id,oppAddress,lgtCond) = { | |
8 | - | let client = toString(i.caller) | |
9 | - | let txId = toBase58String(i.transactionId) | |
10 | + | let searchForExistingData = match getString(id) { | |
11 | + | case s: String => | |
12 | + | s | |
13 | + | case _ => | |
14 | + | "no Data exists" | |
15 | + | } | |
16 | + | if ((searchForExistingData != "no Data exists")) | |
17 | + | then throw("There is already existing Data!") | |
18 | + | else { | |
19 | + | let client = toString(i.caller) | |
20 | + | let txId = toBase58String(i.transactionId) | |
10 | 21 | [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)] | |
22 | + | } | |
11 | 23 | } | |
12 | 24 | ||
13 | 25 | ||
14 | 26 | ||
15 | 27 | @Callable(i) | |
16 | - | func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address | |
28 | + | func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address) = { | |
17 | 29 | let txId = toBase58String(i.transactionId) | |
18 | - | [StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address) | |
30 | + | [StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address)] | |
19 | 31 | } | |
20 | 32 | ||
21 | 33 | ||
28 | 40 | } | |
29 | 41 | ||
30 | 42 | ||
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 if ((size(fromBase58String(recipientAddress)) != 26)) | |
42 | - | then throw("Invalid recipient address length") | |
43 | - | else [StringEntry((id + "_payout"), txId), IntegerEntry((txId + "_amount"), amount), ScriptTransfer(recipient, 100000000, unit)] | |
44 | - | } | |
45 | - | ||
46 | - | ||
47 | 43 | @Verifier(tx) | |
48 | 44 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
49 | 45 |
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let viableCallerAddress = "3N73dcv2jkTobdQ9TRLSX4PtvqHbjsiKxiP" | |
4 | + | let BAI_ADDRESS = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV" | |
5 | + | ||
6 | + | let AI_TOKEN_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1' | |
5 | 7 | ||
6 | 8 | @Callable(i) | |
7 | 9 | func registerData (clientInput,opponentInput,id,oppAddress,lgtCond) = { | |
8 | - | let client = toString(i.caller) | |
9 | - | let txId = toBase58String(i.transactionId) | |
10 | + | let searchForExistingData = match getString(id) { | |
11 | + | case s: String => | |
12 | + | s | |
13 | + | case _ => | |
14 | + | "no Data exists" | |
15 | + | } | |
16 | + | if ((searchForExistingData != "no Data exists")) | |
17 | + | then throw("There is already existing Data!") | |
18 | + | else { | |
19 | + | let client = toString(i.caller) | |
20 | + | let txId = toBase58String(i.transactionId) | |
10 | 21 | [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)] | |
22 | + | } | |
11 | 23 | } | |
12 | 24 | ||
13 | 25 | ||
14 | 26 | ||
15 | 27 | @Callable(i) | |
16 | - | func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address | |
28 | + | func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address) = { | |
17 | 29 | let txId = toBase58String(i.transactionId) | |
18 | - | [StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address) | |
30 | + | [StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address)] | |
19 | 31 | } | |
20 | 32 | ||
21 | 33 | ||
22 | 34 | ||
23 | 35 | @Callable(i) | |
24 | 36 | func requestPayout (pred_txId,amount,id) = { | |
25 | 37 | let client = toString(i.caller) | |
26 | 38 | let txId = toBase58String(i.transactionId) | |
27 | 39 | [StringEntry((id + "_request_payout"), txId), IntegerEntry((txId + "_amount"), amount), StringEntry((txId + "_prediction_id"), pred_txId)] | |
28 | 40 | } | |
29 | 41 | ||
30 | 42 | ||
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 if ((size(fromBase58String(recipientAddress)) != 26)) | |
42 | - | then throw("Invalid recipient address length") | |
43 | - | else [StringEntry((id + "_payout"), txId), IntegerEntry((txId + "_amount"), amount), ScriptTransfer(recipient, 100000000, unit)] | |
44 | - | } | |
45 | - | ||
46 | - | ||
47 | 43 | @Verifier(tx) | |
48 | 44 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
49 | 45 |
github/deemru/w8io/169f3d6 36.40 ms ◑![]()