tx · 9Qebj4xxJeHUgsQHi2zUroGKYDL2FxoxTPFxjxefpYBV

3PR5iZeNs2RtwE6XNERrCSSxvz7J12HpxJp:  -0.10500000 Waves

2019.04.19 14:05 [1489482] smart account 3PR5iZeNs2RtwE6XNERrCSSxvz7J12HpxJp > SELF 0.00000000 Waves

{ "type": 13, "id": "9Qebj4xxJeHUgsQHi2zUroGKYDL2FxoxTPFxjxefpYBV", "fee": 10500000, "feeAssetId": null, "timestamp": 1555671861274, "version": 1, "sender": "3PR5iZeNs2RtwE6XNERrCSSxvz7J12HpxJp", "senderPublicKey": "B26jaLxE6dzUWoQ8BcWvKpFC1rFJ86TmazfL13ZfRCn6", "proofs": [ "4yVxfzJbErzfPuopdovbgzjCKcAzJd6fxvUq6iEp61dpcpdpyG6m8Svz5qYL1Pj34u8WNMtK3YxmNfa8TcQ3GFZr", "24oqeNWAE1jFbFgea2kot3APtB2mfQQJjexqBB4MLdvqEtwoMa7UHEmiM57gf5EjP62M6iM2oEXxvzxojN9J7ecn", "3CXfXMhVnFb7RvaaeDBDLxWHpPHFfhypfEviYCWWCrFnWNVXVzraVaiC2YQ7nGVBBSUCxKUPJWuDc8T8rDpoq3eS", "5aMHGFpYvkjhNC4ob69yZKnn29ig2ufH13CK1EtUXKFNbQA359zGVWwYX5S9WsUaHmomPDG3k5No3pxM2qGFTdMU" ], "script": "base64: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", "chainId": 87, "height": 1489482, "spentComplexity": 0 } View: original | compacted Prev: 7LJYpDfzcFvbzvPqS6uXd9PvSBFgwmpYdF9qps9iyCqh Next: 9MNiiv49ChYj3k1kkdKa8zz8PMjkeK42SG2T4utfnYn3 Diff:
OldNewDifferences
88 let protector2 = base58'C92PjnMxbMtvwyZLWdNJKeK2MfZU6wsESVzYjof1mSVu'
99 let protector3 = base58'HUKkWXsC7xzSncw7EDb5NPsXKFx5VJq82hUMgB1G7ELK'
1010 let protector4 = base58'E9rAmSbNdH2F3dYffqTSbvRA96pX1HBYWbAHQrNJu2Ej'
11+let ver = "1.0.3"
1112 match tx {
1213 case o: Order =>
1314 if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let WhitelistAddr = addressFromString("3P87HeVEvJ8xWiQW6N3fpCBHMxwczeGqyqD")
44 let GatewayAddr = addressFromString("3P9Typ8Wnoxt719juABnCeErU5wAvfcXAU9")
55 let validState = 1000
66 let protector0 = base58'288ncauvQoCp71m2oXUXC6LMt7yEv8vPLeAD6mo4hF8Q'
77 let protector1 = base58'4q7deHa3UojcsSDSFBvwsj2oXa39BMT9iTMnLfk3Rbpp'
88 let protector2 = base58'C92PjnMxbMtvwyZLWdNJKeK2MfZU6wsESVzYjof1mSVu'
99 let protector3 = base58'HUKkWXsC7xzSncw7EDb5NPsXKFx5VJq82hUMgB1G7ELK'
1010 let protector4 = base58'E9rAmSbNdH2F3dYffqTSbvRA96pX1HBYWbAHQrNJu2Ej'
11+let ver = "1.0.3"
1112 match tx {
1213 case o: Order =>
1314 if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
1415 then (o.matcherPublicKey == base58'E3UwaHCQCySghK3zwNB8EDHoc3b8uhzGPFz3gHmWon4W')
1516 else false
1617 case tx: TransferTransaction =>
1718 if (!(sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)))
1819 then throw("Transaction must be signed by owner")
1920 else {
2021 let userState = getInteger(extract(WhitelistAddr), toBase58String(tx.sender.bytes))
2122 if (!(isDefined(userState)))
2223 then throw("Address not in whitelist")
2324 else if ((userState != validState))
2425 then throw("User not in valid state")
2526 else if (!(isDefined(tx.assetId)))
2627 then {
2728 let key = (toBase58String(tx.sender.bytes) + "_WAVES")
2829 let minAmount = getInteger(extract(WhitelistAddr), key)
2930 if (isDefined(minAmount))
3031 then {
3132 let curBalance = wavesBalance(extract(tx.sender))
3233 if ((extract(minAmount) > (curBalance - tx.amount)))
3334 then throw("Unable to send such amount (type=2)")
3435 else true
3536 }
3637 else {
3738 let keyOverall = "res_WAVES"
3839 let minAmountOverall = getInteger(extract(WhitelistAddr), keyOverall)
3940 if (isDefined(minAmountOverall))
4041 then {
4142 let curBalance = wavesBalance(extract(tx.sender))
4243 if ((extract(minAmountOverall) > (curBalance - tx.amount)))
4344 then throw("Unable to send such amount (type=1)")
4445 else true
4546 }
4647 else true
4748 }
4849 }
4950 else {
5051 let TGATEId = base58'J6spRevsYuwKEHgzyPfojvdBPq67C8yvErr6e9ny8Jom'
5152 if ((tx.assetId == TGATEId))
5253 then (tx.recipient == GatewayAddr)
5354 else true
5455 }
5556 }
5657 case tx: SetScriptTransaction =>
5758 let p0signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], protector0))
5859 then 1
5960 else 0
6061 let p1signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], protector1))
6162 then 1
6263 else 0
6364 let p2signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], protector2))
6465 then 1
6566 else 0
6667 let p3signed = if (sigVerify(tx.bodyBytes, tx.proofs[3], protector3))
6768 then 1
6869 else 0
6970 let p4signed = if (sigVerify(tx.bodyBytes, tx.proofs[4], protector4))
7071 then 1
7172 else 0
7273 (((((p0signed + p1signed) + p2signed) + p3signed) + p4signed) >= 3)
7374 case tx: LeaseTransaction =>
7475 false
7576 case tx: SponsorFeeTransaction =>
7677 false
7778 case tx: MassTransferTransaction =>
7879 false
7980 case _ =>
8081 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8182 }

github/deemru/w8io/3ef1775 
78.97 ms