tx · Gf3xSGK3xMVQCZGhxV2NWCCL3rWkCyhN2ZaZ5ZQZXWiC

3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr:  -0.05000000 Waves

2020.03.30 07:16 [931684] smart account 3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr > SELF 0.00000000 Waves

{ "type": 13, "id": "Gf3xSGK3xMVQCZGhxV2NWCCL3rWkCyhN2ZaZ5ZQZXWiC", "fee": 5000000, "feeAssetId": null, "timestamp": 1585541702789, "version": 1, "sender": "3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr", "senderPublicKey": "9oKyV5bddVGqz5B3JsNZ5BW8RTsyN1DTr5sftia2htBa", "proofs": [ "sP85KJHr48YyMQfX6L8pmQL2J1qfccqL1o4sQgAcP2QxkuC1SQWGwKB4TN1YZkhmtrsqyRWDDevQiDgZAfxMHHK" ], "script": "base64:AAIDAAAAAAAAAAgIARIECgIICAAAAAYAAAAABE5PTkUCAAAABG5vbmUAAAAABU9XTkVSAgAAAAhCSVROT0RFUwAAAAAKTVVMVElPV05FUgcBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAOYWRkTm9kZURldGFpbHMAAAACAAAABGFkZHIAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEYWRkcgUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgAAAAEAAAABaQEAAAAHYWRkTm9kZQAAAAIAAAAEbm9kZQAAAAZzdGF0dXMEAAAACnNlbmRlckFkZHIJAQAAAAdleHRyYWN0AAAAAQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAZub2RlU0MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAEbm9kZQQAAAAHb3duZXJJRAkBAAAADmFkZE5vZGVEZXRhaWxzAAAAAgUAAAAGbm9kZVNDAgAAAAVvd25lcgQAAAAJbm9kZUFzc2V0CQEAAAAOYWRkTm9kZURldGFpbHMAAAACBQAAAAZub2RlU0MCAAAABWFzc2V0AwkBAAAAAiE9AAAAAgUAAAAKc2VuZGVyQWRkcgkABCUAAAABBQAAAAR0aGlzCQAAAgAAAAECAAAAGk9wZXJhw6fDo28gbsOjbyBhdXRvcml6YWRhAwkAAAAAAAACBQAAAAdvd25lcklEBQAAAAROT05FCQAAAgAAAAECAAAAHVByb3ByaWVkYWRlIG7Do28gaWRlbnRpZmljYWRhAwMJAQAAAAIhPQAAAAIFAAAAB293bmVySUQFAAAABU9XTkVSCQAAAAAAAAIFAAAACk1VTFRJT1dORVIHBwkAAAIAAAABAgAAABVQcm9wcmllZGFkZSBpbmNvcnJldGEDCQAAAAAAAAIFAAAACW5vZGVBc3NldAUAAAAETk9ORQkAAAIAAAABAgAAAB9JbmNvbnNpc3RlbmNpYSBkZSBkYWRvcyBkbyBub2RlAwMDCQEAAAACIT0AAAACBQAAAAZzdGF0dXMCAAAAB0VOQUJMRUQGCQEAAAACIT0AAAACBQAAAAZzdGF0dXMCAAAACERJU0FCTEVEBgkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzAgAAAANORVcJAAACAAAAAQIAAAAeU3RhdHVzIG9wZXJhY2lvbmFsIGluZXhpc3RlbnRlBAAAAAtub2RlRGV0YWlscwkBAAAADmFkZE5vZGVEZXRhaWxzAAAAAgUAAAAGbm9kZVNDAgAAAAdkZXRhaWxzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAlub2RlQXNzZXQFAAAABG5vZGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAEbm9kZQIAAAAHX25vZGVTQwkABCUAAAABBQAAAAZub2RlU0MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAEbm9kZQIAAAAMX25vZGVEZXRhaWxzBQAAAAtub2RlRGV0YWlscwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAARub2RlAgAAAAtfbm9kZVN0YXR1cwUAAAAGc3RhdHVzBQAAAANuaWwAAAAA4wkwiQ==", "chainId": 84, "height": 931684, "spentComplexity": 0 } View: original | compacted Prev: F89EhQHH5NkZWoQHrRPMHqz3cJ3BhEdRau9rhvTJ4JTZ Next: 2ZFMtc4A2cnP3zxHtBPqTTchtGxP1b4bkxuC8EvHgmPA Diff:
OldNewDifferences
4141
4242
4343 @Callable(i)
44-func addNode (node) = {
45- let senderAddr = toBase58String(i.caller.bytes)
44+func addNode (node,status) = {
45+ let senderAddr = extract(toBase58String(i.caller.bytes))
4646 let nodeSC = addressFromPublicKey(fromBase58String(node))
4747 let ownerID = addNodeDetails(nodeSC, "owner")
4848 let nodeAsset = addNodeDetails(nodeSC, "asset")
5656 then throw("Propriedade incorreta")
5757 else if ((nodeAsset == NONE))
5858 then throw("Inconsistencia de dados do node")
59- else {
60- let nodeDetails = addNodeDetails(nodeSC, "details")
61- WriteSet([DataEntry(nodeAsset, node), DataEntry((node + "_nodeSC"), toString(nodeSC)), DataEntry((node + "_nodeDetails"), nodeDetails), DataEntry((node + "_nodeStatus"), "DISABLED")])
62- }
59+ else if (if (if ((status != "ENABLED"))
60+ then true
61+ else (status != "DISABLED"))
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+ }
6369 }
6470
6571
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NONE = "none"
55
66 let OWNER = "BITNODES"
77
88 let MULTIOWNER = false
99
1010 func getNumberByKey (key) = {
1111 let num = match getInteger(this, key) {
1212 case a: Int =>
1313 a
1414 case _ =>
1515 0
1616 }
1717 num
1818 }
1919
2020
2121 func getStrByKey (key) = {
2222 let str = match getString(this, key) {
2323 case a: String =>
2424 a
2525 case _ =>
2626 NONE
2727 }
2828 str
2929 }
3030
3131
3232 func addNodeDetails (addr,key) = {
3333 let str = match getString(addr, key) {
3434 case a: String =>
3535 a
3636 case _ =>
3737 NONE
3838 }
3939 str
4040 }
4141
4242
4343 @Callable(i)
44-func addNode (node) = {
45- let senderAddr = toBase58String(i.caller.bytes)
44+func addNode (node,status) = {
45+ let senderAddr = extract(toBase58String(i.caller.bytes))
4646 let nodeSC = addressFromPublicKey(fromBase58String(node))
4747 let ownerID = addNodeDetails(nodeSC, "owner")
4848 let nodeAsset = addNodeDetails(nodeSC, "asset")
4949 if ((senderAddr != toString(this)))
5050 then throw("Operação não autorizada")
5151 else if ((ownerID == NONE))
5252 then throw("Propriedade não identificada")
5353 else if (if ((ownerID != OWNER))
5454 then (MULTIOWNER == false)
5555 else false)
5656 then throw("Propriedade incorreta")
5757 else if ((nodeAsset == NONE))
5858 then throw("Inconsistencia de dados do node")
59- else {
60- let nodeDetails = addNodeDetails(nodeSC, "details")
61- WriteSet([DataEntry(nodeAsset, node), DataEntry((node + "_nodeSC"), toString(nodeSC)), DataEntry((node + "_nodeDetails"), nodeDetails), DataEntry((node + "_nodeStatus"), "DISABLED")])
62- }
59+ else if (if (if ((status != "ENABLED"))
60+ then true
61+ else (status != "DISABLED"))
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+ }
6369 }
6470
6571

github/deemru/w8io/169f3d6 
30.88 ms