tx · 5nyCMsuuNbT7YWv8FSSvkppVXiTfouHU1eeycAwukt7d

3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW:  -0.01400000 Waves

2020.07.14 14:31 [1086929] smart account 3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW > SELF 0.00000000 Waves

{ "type": 13, "id": "5nyCMsuuNbT7YWv8FSSvkppVXiTfouHU1eeycAwukt7d", "fee": 1400000, "feeAssetId": null, "timestamp": 1594726340957, "version": 1, "sender": "3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW", "senderPublicKey": "AXbaBkJNocyrVpwqTzD4TpUY8fQ6eeRto9k1m2bNCzXV", "proofs": [ "5me1XSB4aXYpXKu3xajHznuDPi9skmjacd9b9uEbZgyCaMfWWFfXcLUsMumWXE7bgDqzsqJCJH8T3BbTpuxtvP1T" ], "script": "base64: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", "chainId": 84, "height": 1086929, "spentComplexity": 0 } View: original | compacted Prev: FEbhWjo7ozXdDMEV2SVTAaj99Xo9kogtz3LacFLEXW9d Next: 37MENWBZANVjznPKeiL4EXZvY87dQyCRZzrt7rMXHAH4 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let MaxConsuls = 5
55
66 func getNumberByKey (key) = match getInteger(this, key) {
77 case v: Int =>
88 v
99 case _ =>
1010 0
1111 }
1212
1313
1414 func getStringByKey (key) = match getString(this, key) {
1515 case v: String =>
1616 v
1717 case _ =>
1818 ""
1919 }
2020
2121
2222 let ConsulsKey = "consuls"
2323
2424 let BftCoefficientKey = "bft_coefficient"
2525
2626 let LastRoundKey = "last_round"
2727
2828 let consuls = split(getStringByKey(ConsulsKey), ",")
2929
3030 let bftCoefficient = getNumberByKey(BftCoefficientKey)
3131
3232 func validateSign (hash,sign,oracle) = if ((sign != "nil"))
3333 then if (sigVerify(hash, fromBase58String(sign), fromBase58String(oracle)))
3434 then 1
3535 else 0
3636 else 0
3737
3838
3939 @Callable(i)
4040 func setConsuls (newConsuls,stringSigns,round) = {
4141 let signs = split(stringSigns, ",")
4242 let count = ((((validateSign(toBytes(newConsuls), signs[0], consuls[0]) + validateSign(toBytes(newConsuls), signs[1], consuls[1])) + validateSign(toBytes(newConsuls), signs[2], consuls[2])) + validateSign(toBytes(newConsuls), signs[3], consuls[3])) + validateSign(toBytes(newConsuls), signs[4], consuls[4]))
4343 if ((count > bftCoefficient))
4444 then throw("invalid bft count")
4545 else WriteSet([DataEntry(ConsulsKey, newConsuls), DataEntry(((LastRoundKey + "_") + toString(round)), round)])
4646 }
4747
4848

github/deemru/w8io/873ac7e 
58.33 ms