tx · 2FtY18a9JriQzTVhDAcrh7StKj1XWUcfe4AHbePjoH9y

3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi:  -0.20000000 Waves

2019.03.17 17:13 [540298] smart account 3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi > SELF 0.00000000 Waves

{ "type": 13, "id": "2FtY18a9JriQzTVhDAcrh7StKj1XWUcfe4AHbePjoH9y", "fee": 20000000, "feeAssetId": null, "timestamp": 1552832025013, "version": 1, "sender": "3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi", "senderPublicKey": "3cxPyUPthF5tZXaM1gDPfeEsxfADEmufo9omveGxatPw", "proofs": [ "3ZxnS3berAoSgy51EhkiTKPAUdSb828eHRjpeU4hNBGXxznXrK4QTTbewZw6CG49G1BRh7iwcSj4k9mnP4YVD3uw", "2jywE6JMk92HVqPV1tTdTnL4zyZxiCaLmkDGhxmu4GPW3NmZwbe3VY5RFobP2wLaEAKAdxQs3MuUfWMp7ky6jWwW", "4EajwfmnBGmU9xpRJjhzfeXyEiQGTW18XBQfFH1ysWkCdrhhr6c1eD2bhMN4CRuwNC1a8RTGeMsdnJr2B2NjL2ko" ], "script": "base64:AQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkIbc0v", "chainId": 84, "height": 540298, "spentComplexity": 0 } View: original | compacted Prev: DedLUVcvkhGwKkV4dqEAkNgbHYbUoHn25GScdXZZTjb5 Next: GYHZ8hmUxJ3go7sz6vJam7n5AWgfDkWWRa5F5s4mKbXJ 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/169f3d6 
37.91 ms