tx · GyfVq3s8NYbDx8kPFppuDPYGVwvo1KP7d7pV3kR2snfd

3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr:  -0.01000000 Waves

2020.03.30 05:57 [931599] smart account 3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr > SELF 0.00000000 Waves

{ "type": 13, "id": "GyfVq3s8NYbDx8kPFppuDPYGVwvo1KP7d7pV3kR2snfd", "fee": 1000000, "feeAssetId": null, "timestamp": 1585537059075, "version": 1, "sender": "3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr", "senderPublicKey": "9oKyV5bddVGqz5B3JsNZ5BW8RTsyN1DTr5sftia2htBa", "proofs": [ "rU9jLMvTCYgjhdLZUeScpkQUD2fhgsGZ5HSz3pwRk49pnMCqYg98kETs9fDKSokeJLRAdmJjiGjxxmMsEcXJbmU" ], "script": "base64:AAIDAAAAAAAAAAgIARIECgIICAAAAAYAAAAABE5PTkUCAAAABG5vbmUAAAAABU9XTkVSAgAAAAhCSVROT0RFUwAAAAAKTVVMVElPV05FUgcBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAOYWRkTm9kZURldGFpbHMAAAACAAAABGFkZHIAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEYWRkcgUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgAAAAEAAAABaQEAAAAHYWRkTm9kZQAAAAIAAAAEbm9kZQAAAAZzdGF0dXMEAAAACnNlbmRlckFkZHIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGbm9kZVNDCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAABG5vZGUEAAAAB293bmVySUQJAQAAAA5hZGROb2RlRGV0YWlscwAAAAIFAAAABm5vZGVTQwIAAAAFb3duZXIEAAAACW5vZGVBc3NldAkBAAAADmFkZE5vZGVEZXRhaWxzAAAAAgUAAAAGbm9kZVNDAgAAAAVhc3NldAMJAQAAAAIhPQAAAAIFAAAACnNlbmRlckFkZHIJAAQlAAAAAQUAAAAEdGhpcwkAAAIAAAABAgAAABpPcGVyYcOnw6NvIG7Do28gYXV0b3JpemFkYQMJAAAAAAAAAgUAAAAHb3duZXJJRAUAAAAETk9ORQkAAAIAAAABAgAAAB1Qcm9wcmllZGFkZSBuw6NvIGlkZW50aWZpY2FkYQMDCQEAAAACIT0AAAACBQAAAAdvd25lcklEBQAAAAVPV05FUgkAAAAAAAACBQAAAApNVUxUSU9XTkVSBwcJAAACAAAAAQIAAAAVUHJvcHJpZWRhZGUgaW5jb3JyZXRhAwkAAAAAAAACBQAAAAlub2RlQXNzZXQFAAAABE5PTkUJAAACAAAAAQIAAAAfSW5jb25zaXN0ZW5jaWEgZGUgZGFkb3MgZG8gbm9kZQMDAwkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzAgAAAAdFTkFCTEVEBgkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzAgAAAAdFTkFCTEVEBgkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzAgAAAANORVcJAAACAAAAAQIAAAAeU3RhdHVzIG9wZXJhY2lvbmFsIGluZXhpc3RlbnRlBAAAAAtub2RlRGV0YWlscwkBAAAADmFkZE5vZGVEZXRhaWxzAAAAAgUAAAAGbm9kZVNDAgAAAAdkZXRhaWxzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAlub2RlQXNzZXQFAAAABG5vZGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAEbm9kZQIAAAAHX25vZGVTQwkABCUAAAABBQAAAAZub2RlU0MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAEbm9kZQIAAAAMX25vZGVEZXRhaWxzBQAAAAtub2RlRGV0YWlscwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAARub2RlAgAAAAtfbm9kZVN0YXR1cwUAAAAGc3RhdHVzBQAAAANuaWwAAAAA/tscoQ==", "chainId": 84, "height": 931599, "spentComplexity": 0 } View: original | compacted Prev: none Next: DCX6kace9SjZRtQKY9cALgwHiirtQnEeUJcCUVw3bjqt Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let NONE = "none"
5+
6+let OWNER = "BITNODES"
7+
8+let MULTIOWNER = false
9+
10+func getNumberByKey (key) = {
11+ let num = match getInteger(this, key) {
12+ case a: Int =>
13+ a
14+ case _ =>
15+ 0
16+ }
17+ num
18+ }
19+
20+
21+func getStrByKey (key) = {
22+ let str = match getString(this, key) {
23+ case a: String =>
24+ a
25+ case _ =>
26+ NONE
27+ }
28+ str
29+ }
30+
31+
32+func addNodeDetails (addr,key) = {
33+ let str = match getString(addr, key) {
34+ case a: String =>
35+ a
36+ case _ =>
37+ NONE
38+ }
39+ str
40+ }
41+
42+
43+@Callable(i)
44+func addNode (node,status) = {
45+ let senderAddr = toBase58String(i.caller.bytes)
46+ let nodeSC = addressFromPublicKey(fromBase58String(node))
47+ let ownerID = addNodeDetails(nodeSC, "owner")
48+ let nodeAsset = addNodeDetails(nodeSC, "asset")
49+ if ((senderAddr != toString(this)))
50+ then throw("Operação não autorizada")
51+ else if ((ownerID == NONE))
52+ then throw("Propriedade não identificada")
53+ else if (if ((ownerID != OWNER))
54+ then (MULTIOWNER == false)
55+ else false)
56+ then throw("Propriedade incorreta")
57+ else if ((nodeAsset == NONE))
58+ then throw("Inconsistencia de dados do node")
59+ else if (if (if ((status != "ENABLED"))
60+ then true
61+ else (status != "ENABLED"))
62+ then true
63+ else (status != "NEW"))
64+ then throw("Status operacional inexistente")
65+ else {
66+ let nodeDetails = addNodeDetails(nodeSC, "details")
67+ WriteSet([DataEntry(nodeAsset, node), DataEntry((node + "_nodeSC"), toString(nodeSC)), DataEntry((node + "_nodeDetails"), nodeDetails), DataEntry((node + "_nodeStatus"), status)])
68+ }
69+ }
70+
71+

github/deemru/w8io/169f3d6 
30.85 ms