tx · 7CRSpNdrVArCphbyvYoeoeY8ivKXeMksTozD6WJ2Efo9

3Ms3vFkrTaXvYNw9Vna8vgTmHzEhWCBkBmT:  -0.04000000 Waves

2021.11.08 13:53 [1781948] smart account 3Ms3vFkrTaXvYNw9Vna8vgTmHzEhWCBkBmT > SELF 0.00000000 Waves

{ "type": 13, "id": "7CRSpNdrVArCphbyvYoeoeY8ivKXeMksTozD6WJ2Efo9", "fee": 4000000, "feeAssetId": null, "timestamp": 1636368834890, "version": 2, "chainId": 84, "sender": "3Ms3vFkrTaXvYNw9Vna8vgTmHzEhWCBkBmT", "senderPublicKey": "4cDpBfmEAxfhEbF9jxuT8xqJa14SqZgPfZ9Tov6ka4Qj", "proofs": [ "3DAto3LukmU1NkWaHPkAA3yGVXgUpb6S9QbCsXhfF3Wwo4Vc8uNkghj4YcSHy97jMyhPZRw3JecQMpG14odg7J26" ], "script": "base64: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", "height": 1781948, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 74qPxYbivj8Hh7yroujTUWNhKsaDi3xdNfa91uS2qGWJ Next: C8dpn7oViiV5H4tdNKJTodjkHqV6P9vnRPzDnLC8yPso Diff:
OldNewDifferences
4848 let account = toBase58String(i.caller.bytes)
4949 if (!(isAdmin(account)))
5050 then throw("No Access")
51- else if (isAdmin(address))
52- then throw("Alredy is admin")
53- else [BooleanEntry(getAddressAdminKey(address), true)]
51+ else [BooleanEntry(getAddressAdminKey(address), true)]
5452 }
5553
5654
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let ADMIN = "3N8FWN9orV8D8px6xrYqTjWHHu2Qd3Jx4bV"
55
66 let DAPP = "3Mza5Ao6wJgpw1JG3jxRY1xigD44zgfhdK6"
77
88 let VERIFIED = "verified"
99
1010 let BLOCKED = "blocked"
1111
1212 func getAdressStatusKey (address) = (address + "_status")
1313
1414
1515 func getAddressAdminKey (address) = (address + "_admin")
1616
1717
1818 func isStatusValid (status) = match status {
1919 case t: String =>
2020 if ((t == BLOCKED))
2121 then true
2222 else (t == VERIFIED)
2323 case _ =>
2424 false
2525 }
2626
2727
2828 func isAdmin (address) = if ((address == ADMIN))
2929 then true
3030 else match getBoolean(this, getAddressAdminKey(address)) {
3131 case t: Boolean =>
3232 t
3333 case _ =>
3434 false
3535 }
3636
3737
3838 func getAddresVerifiedStatus (address) = match getString(getAdressStatusKey(address)) {
3939 case s: String =>
4040 s
4141 case _ =>
4242 VERIFIED
4343 }
4444
4545
4646 @Callable(i)
4747 func addAdmin (address) = {
4848 let account = toBase58String(i.caller.bytes)
4949 if (!(isAdmin(account)))
5050 then throw("No Access")
51- else if (isAdmin(address))
52- then throw("Alredy is admin")
53- else [BooleanEntry(getAddressAdminKey(address), true)]
51+ else [BooleanEntry(getAddressAdminKey(address), true)]
5452 }
5553
5654
5755
5856 @Callable(i)
5957 func removeAdmin (address) = {
6058 let account = toBase58String(i.caller.bytes)
6159 if (!(isAdmin(account)))
6260 then throw("No Access")
6361 else if (!(isAdmin(address)))
6462 then throw("Not found admin")
6563 else [BooleanEntry(getAddressAdminKey(address), false)]
6664 }
6765
6866
6967
7068 @Callable(i)
7169 func setStatus (address,status) = {
7270 let account = toBase58String(i.caller.bytes)
7371 if (!(isAdmin(account)))
7472 then throw("No Access")
7573 else if (!(isStatusValid(status)))
7674 then throw("Invalid status")
7775 else [StringEntry(getAdressStatusKey(address), status)]
7876 }
7977
8078
8179 @Verifier(tx)
8280 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8381

github/deemru/w8io/873ac7e 
46.55 ms