tx · EMjqc81RZaoRTSfbRbDzAvMeqp4dpZZEPNDckTcT3yjt

3Ms3vFkrTaXvYNw9Vna8vgTmHzEhWCBkBmT:  -0.01400000 Waves

2021.11.17 14:03 [1794951] smart account 3Ms3vFkrTaXvYNw9Vna8vgTmHzEhWCBkBmT > SELF 0.00000000 Waves

{ "type": 13, "id": "EMjqc81RZaoRTSfbRbDzAvMeqp4dpZZEPNDckTcT3yjt", "fee": 1400000, "feeAssetId": null, "timestamp": 1637147052541, "version": 2, "chainId": 84, "sender": "3Ms3vFkrTaXvYNw9Vna8vgTmHzEhWCBkBmT", "senderPublicKey": "4cDpBfmEAxfhEbF9jxuT8xqJa14SqZgPfZ9Tov6ka4Qj", "proofs": [ "H2qswLmufgkQWf2UEFMD5QtCKkGVMWgMfH1YZghoL8nKv8vMdsESYSqjmS71ropwUs3z7HYS8ScwN8ANUoCXJ4Q" ], "script": "base64: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", "height": 1794951, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8ge7sMCfwzf4EdN5vyoPGuWJUThpxv13GfHtSzM7jbxH Next: none 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")
5151 else if (isAdmin(address))
5252 then throw("Alredy Is Admin")
5353 else [BooleanEntry(getAddressAdminKey(address), true)]
5454 }
5555
5656
5757
5858 @Callable(i)
5959 func removeAdmin (address) = {
6060 let account = toBase58String(i.caller.bytes)
6161 if (!(isAdmin(account)))
6262 then throw("No Access")
6363 else if (!(isAdmin(address)))
6464 then throw("Admin Not Found")
6565 else [BooleanEntry(getAddressAdminKey(address), false)]
6666 }
6767
6868
6969
7070 @Callable(i)
7171 func addUser (address) = {
7272 let account = toBase58String(i.caller.bytes)
7373 if (!(isAdmin(account)))
7474 then throw("No Access")
7575 else match getString(getAdressStatusKey(address)) {
7676 case t: String =>
7777 throw("Already Exists")
7878 case _ =>
7979 [StringEntry(getAdressStatusKey(address), VERIFIED)]
8080 }
8181 }
8282
8383
8484
8585 @Callable(i)
8686 func setUserStatus (address,status) = {
8787 let account = toBase58String(i.caller.bytes)
8888 if (!(isAdmin(account)))
8989 then throw("No Access")
9090 else if (!(isStatusValid(status)))
9191 then throw("Invalid Status")
9292 else match getString(getAdressStatusKey(address)) {
9393 case t: String =>
9494 [StringEntry(getAdressStatusKey(address), status)]
9595 case _ =>
9696 throw("User Not Found")
9797 }
9898 }
9999
100100
101101 @Verifier(tx)
102102 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
103103

github/deemru/w8io/873ac7e 
28.65 ms