tx · 2ZFMtc4A2cnP3zxHtBPqTTchtGxP1b4bkxuC8EvHgmPA

3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr:  -0.05000000 Waves

2020.03.30 07:26 [931694] smart account 3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr > SELF 0.00000000 Waves

{ "type": 13, "id": "2ZFMtc4A2cnP3zxHtBPqTTchtGxP1b4bkxuC8EvHgmPA", "fee": 5000000, "feeAssetId": null, "timestamp": 1585542429079, "version": 1, "sender": "3MtqLwWMkKYPCKTnEqVaErLLsQJgXs7bqnr", "senderPublicKey": "9oKyV5bddVGqz5B3JsNZ5BW8RTsyN1DTr5sftia2htBa", "proofs": [ "2fhqbJ8GEiednMvPMKRfNCWgLJNtxaq49HNv8RwPDHe1b6RT8XRr6xtzFBr9DU9XNKuGJoMgmv6xCDFDREZ5BrGn" ], "script": "base64:AAIDAAAAAAAAAAgIARIECgIICAAAAAYAAAAABE5PTkUCAAAABG5vbmUAAAAABU9XTkVSAgAAAAhCSVROT0RFUwAAAAAKTVVMVElPV05FUgcBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAOYWRkTm9kZURldGFpbHMAAAACAAAABGFkZHIAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEYWRkcgUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgAAAAEAAAABaQEAAAAHYWRkTm9kZQAAAAIAAAAEbm9kZQAAAAZzdGF0dXMEAAAACnNlbmRlckFkZHIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwMJAQAAAAIhPQAAAAIJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAEFAAAACnNlbmRlckFkZHIFAAAABHRoaXMJAAACAAAAAQIAAAAaT3BlcmHDp8OjbyBuw6NvIGF1dG9yaXphZGEDCQAAAAAAAAIJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAEFAAAACnNlbmRlckFkZHIFAAAABHRoaXMJAAACAAAAAQIAAAAdIDIgT3BlcmHDp8OjbyBuw6NvIGF1dG9yaXphZGEJAQAAAAhXcml0ZVNldAAAAAEFAAAAA25pbAAAAAA9UodM", "chainId": 84, "height": 931694, "spentComplexity": 0 } View: original | compacted Prev: Gf3xSGK3xMVQCZGhxV2NWCCL3rWkCyhN2ZaZ5ZQZXWiC Next: HcDUc6akWrpZJNZrkQjkv9T1LXz4fRj9dtpYs5LNG7NB Diff:
OldNewDifferences
4242
4343 @Callable(i)
4444 func addNode (node,status) = {
45- let senderAddr = extract(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)))
45+ let senderAddr = toBase58String(i.caller.bytes)
46+ if ((addressFromString(senderAddr) != this))
5047 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 != "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- }
48+ else if ((addressFromString(senderAddr) == this))
49+ then throw(" 2 Operação não autorizada")
50+ else WriteSet(nil)
6951 }
7052
7153
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)
4444 func addNode (node,status) = {
45- let senderAddr = extract(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)))
45+ let senderAddr = toBase58String(i.caller.bytes)
46+ if ((addressFromString(senderAddr) != this))
5047 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 != "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- }
48+ else if ((addressFromString(senderAddr) == this))
49+ then throw(" 2 Operação não autorizada")
50+ else WriteSet(nil)
6951 }
7052
7153

github/deemru/w8io/169f3d6 
30.65 ms