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:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let viableCallerAddress = "3N73dcv2jkTobdQ9TRLSX4PtvqHbjsiKxiP"
4+let BAI_ADDRESS = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV"
5+
6+let AI_TOKEN_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
57
68 @Callable(i)
79 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)
1021 [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+ }
1123 }
1224
1325
1426
1527 @Callable(i)
16-func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address,eligible_person_address) = {
28+func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address) = {
1729 let txId = toBase58String(i.transactionId)
18-[StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address), StringEntry((txId + "_eligible_payout"), eligible_person_address)]
30+[StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address)]
1931 }
2032
2133
2840 }
2941
3042
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-
4743 @Verifier(tx)
4844 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
4945
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let viableCallerAddress = "3N73dcv2jkTobdQ9TRLSX4PtvqHbjsiKxiP"
4+let BAI_ADDRESS = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV"
5+
6+let AI_TOKEN_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
57
68 @Callable(i)
79 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)
1021 [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+ }
1123 }
1224
1325
1426
1527 @Callable(i)
16-func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address,eligible_person_address) = {
28+func evaluatedData (prediction_id,per_one_address,per_two_address,guilty_person_address) = {
1729 let txId = toBase58String(i.transactionId)
18-[StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address), StringEntry((txId + "_eligible_payout"), eligible_person_address)]
30+[StringEntry(prediction_id, txId), StringEntry((txId + "_guilty"), guilty_person_address)]
1931 }
2032
2133
2234
2335 @Callable(i)
2436 func requestPayout (pred_txId,amount,id) = {
2537 let client = toString(i.caller)
2638 let txId = toBase58String(i.transactionId)
2739 [StringEntry((id + "_request_payout"), txId), IntegerEntry((txId + "_amount"), amount), StringEntry((txId + "_prediction_id"), pred_txId)]
2840 }
2941
3042
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-
4743 @Verifier(tx)
4844 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
4945

github/deemru/w8io/169f3d6 
36.40 ms