tx · CmV3R3JGNJJQGXgtyico8hJ2Wt936UdYUeEzWGc6ViE

3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi:  -0.20000000 Waves

2019.03.17 16:00 [540225] smart account 3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi > SELF 0.00000000 Waves

{ "type": 13, "id": "CmV3R3JGNJJQGXgtyico8hJ2Wt936UdYUeEzWGc6ViE", "fee": 20000000, "feeAssetId": null, "timestamp": 1552827595109, "version": 1, "sender": "3N8WebKP587AquW9wMuVpvY3uWJu3PvaSvi", "senderPublicKey": "3cxPyUPthF5tZXaM1gDPfeEsxfADEmufo9omveGxatPw", "proofs": [ "5NJEEGcZDRvY3TkBHgjc6zWyn46xJr143t8hmZLFRHTaXiffcqkfNajisYiYhzhwesGRLVmJVCVpJ6Nf5xkwp8fQ", "5EtbYsZZvk2jqvKvnRQXz431sqX9rhKARh6jd8vbcg2Wn21Ye8GULXATDTBtVF99r3DiKLXoeNYr2Zdb9MnmSdAZ", "4YNZeUNZTmuyyn1j51nkhrPnuTZbY53kJ54mahG3fxTEufqMm2Weq9ehCGuQCac71FTfAAPKVkkmKsLRxNzDSFPC" ], "script": "base64:AQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkIbc0v", "chainId": 84, "height": 540225, "spentComplexity": 0 } View: original | compacted Prev: Cj8MpHHuYTFYotAahTN1vB488VRTJaxursnnyWtcKKi2 Next: Geo6ukJqw1f2bDUCogQ35S3UBSwNy1NF4ztmeRbpR1VR 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/873ac7e 
17.68 ms