tx · 2RTeomRDN7qoTwEfDHxKhE2NT9d1keU6eFFE3cMS2V1U

3NCHkdhkeBBP1gfHpckmb2yPoYJ2CH7fxPN:  -0.20000000 Waves

2019.03.17 17:06 [540291] smart account 3NCHkdhkeBBP1gfHpckmb2yPoYJ2CH7fxPN > SELF 0.00000000 Waves

{ "type": 13, "id": "2RTeomRDN7qoTwEfDHxKhE2NT9d1keU6eFFE3cMS2V1U", "fee": 20000000, "feeAssetId": null, "timestamp": 1552831600694, "version": 1, "sender": "3NCHkdhkeBBP1gfHpckmb2yPoYJ2CH7fxPN", "senderPublicKey": "si2dSJdZCsTdJWYDXE6WbT5coL1B3jbUuKsBRG3hYUm", "proofs": [ "4QJuExjwD2ceoSfG2bBQfHeG2PBANSsE5Kuz1bbPmeVh93V4FGriS1Zy8JqfteJK4osQDhZqsuQvJMv1fkvjPtqK", "Nm73vYXWx78xXesp1Sacg4s8hCH1Q8niyQiNrfaPD8yb7PQwdeZFkijMgkTWW53oV3aHuiEjRDKU3a1RTzt1WKA", "2TvTm5xr5BtGuvYCqJebTYSeksL63L6fnSeV1rAp88LQu2dFr1EdGNAoVB3RrDMR6fao6b4jDYT36JpFWu2gBwdn" ], "script": "base64:AQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkIbc0v", "chainId": 84, "height": 540291, "spentComplexity": 0 } View: original | compacted Prev: Ed8FD9fpCuDk7uUcXTNziWVJwLW4fHjKucbHmeuPAfX9 Next: E9u9wZbrSmjVZdLVfUy5GeZeXaooryXhB1ihCrWotqxy 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 
23.07 ms