tx · CR7GqYYr3HaraBY5dpci3nDudGHR2Q8xPUtpSHmx1Mjw

3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi:  -0.20000000 Waves

2019.03.17 16:50 [540274] smart account 3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi > SELF 0.00000000 Waves

{ "type": 13, "id": "CR7GqYYr3HaraBY5dpci3nDudGHR2Q8xPUtpSHmx1Mjw", "fee": 20000000, "feeAssetId": null, "timestamp": 1552830609446, "version": 1, "sender": "3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi", "senderPublicKey": "3cxPyUPthF5tZXaM1gDPfeEsxfADEmufo9omveGxatPw", "proofs": [ "4vi5EEgWE5MayFLY17mvr84tm88JK6zu9owkYV5FFLw8DebExCR4FTBtZexjgYd9FW46qC8UZpibShT3vHtScBQ9", "2hnkDZLvEd29iPPgZufMZryrXT6MggV9kvRDTKJJQ8R27uHmKRjaKAumyTvxJ6PecoQGaiv7Liwj7HYqZvQAbdx8", "5pV71YN8oiyrVEGzHycNuG88SGhPUjQMfiboBL8SaFx7xcigvqd17tfCq39EHBBHhjFytJDZvyrpkDnP6mBHTLsy" ], "script": "base64:AQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkIbc0v", "chainId": 84, "height": 540274, "spentComplexity": 0 } View: original | compacted Prev: 3tt3VUx1nAXrB4fAZ84JJQT42tLgNr1qSvHT728br2g7 Next: Av5pWXVoyU64rmDcqHZT7VpoyT3Mzy81TpTkWZRkoJKu Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3-let WhitelistAddr = addressFromString("3N7TmPFE1QRKEtKNBcQvPiHqGdvm7RKa6V9")
4-let validState = 1000
5-let protector0 = base58'64RiMxFkTamG4znZQBhi4oxs43nNrHiHdUYYwdYQhdPj'
6-let protector1 = base58'H3BYxQ8MPzosmxYf3uj5ZLNDovW1XpbooD5K11K3vwkh'
7-let protector2 = base58'HDLZwRd7786Tk7p7Bu4ziX7dzL24yNSkVzXctJPgPTLR'
8-match tx {
9- case tx: MassTransferTransaction =>
10- false
11- case tx: TransferTransaction =>
12- if (!(sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)))
13- then throw("Transaction must be signed by owner")
14- else {
15- let userState = getInteger(extract(WhitelistAddr), toBase58String(tx.sender.bytes))
16- if (!(isDefined(userState)))
17- then throw("Address not in whitelist")
18- else if ((userState != validState))
19- then throw("Not valid state")
20- else if (!(isDefined(tx.assetId)))
21- then {
22- let key = (toBase58String(tx.sender.bytes) + "_WAVES")
23- let minAmount = getInteger(extract(WhitelistAddr), key)
24- if (isDefined(minAmount))
25- then {
26- let curBalance = wavesBalance(extract(tx.sender))
27- if ((extract(minAmount) > (curBalance - tx.amount)))
28- then throw("Transfer is prohibited")
29- else true
30- }
31- else true
32- }
33- else true
34- }
35- case tx: SetScriptTransaction =>
36- let p0signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], protector0))
37- then 1
38- else 0
39- let p1signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], protector1))
40- then 1
41- else 0
42- let p2signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], protector2))
43- then 1
44- else 0
45- (((p0signed + p1signed) + p2signed) >= 2)
46- case tx: LeaseTransaction =>
47- false
48- case tx: SponsorFeeTransaction =>
49- false
50- case _ =>
51- sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
52-}
3+sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)

github/deemru/w8io/026f985 
31.10 ms