tx · DNqTWgB5WHBcyxYk5hAe8Sb2NdCFkvgSFjWEw81xbi9G

3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi:  -0.20000000 Waves

2019.03.17 11:55 [539980] smart account 3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi > SELF 0.00000000 Waves

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

github/deemru/w8io/169f3d6 
30.71 ms