2020.10.10 14:05 [2278097] smart account 3PGQQE3ecugwzQetKPXDWbMnGHE2sJRDr1c > SELF 0.00000000 Waves

{ "type": 13, "id": "Hk3j3R6ayz3euBoWESoKXCdffM5YJVUwFKtw5Wd5x3Wj", "fee": 1000000, "feeAssetId": null, "timestamp": 1602327980059, "version": 1, "sender": "3PGQQE3ecugwzQetKPXDWbMnGHE2sJRDr1c", "senderPublicKey": "Efrc8eBvmahBafwP4uWEdbQpE34kKNKTu5VbrF7EMLfT", "proofs": [ "PFv51hhFw7ceuLgBfb4Za4YopcCTQ76fpS4yKXbCnZF3xggppj83gUorFuFGFWMhzD6PBsGoLtVv9fZfokJg3rV" ], "script": "base64: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", "chainId": 87, "height": 2278097, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let assetId = base58'4SWf7zPUp2woPVxYMXHgsMAYA6hNXCCwFN2gbzdjcEVe'
4+let whiteListAddress = "3PHkcbh5zqSJea12a6xengurJbD1YC5oqhB"
5+match tx {
6+ case t: TransferTransaction =>
7+ if ((t.assetId != assetId))
8+ then sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey)
9+ else {
10+ let recipientAddress = toString(addressFromRecipient(t.recipient))
11+ let whiteListAddressValue = addressFromStringValue(whiteListAddress)
12+ let addressIsAllowed = getBoolean(whiteListAddressValue, recipientAddress)
13+ let addressInWhiteList = match addressIsAllowed {
14+ case b: Boolean =>
15+ (b == true)
16+ case _ =>
17+ false
18+ }
19+ if (if (addressInWhiteList)
20+ then true
21+ else (recipientAddress == whiteListAddress))
22+ then if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
23+ then true
24+ else throw("Signature is required")
25+ else throw("You can send this token only to white-listed addresses")
26+ }
27+ case s: SetScriptTransaction =>
28+ let assetIssuerPublicKey = extract(assetInfo(assetId)).issuerPublicKey
29+ if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
30+ then sigVerify(tx.bodyBytes, tx.proofs[1], assetIssuerPublicKey)
31+ else false
32+ case b: BurnTransaction =>
33+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
34+ case i: InvokeScriptTransaction =>
35+ let dappCalledAddress = toString(addressFromRecipient(i.dApp))
36+ if ((dappCalledAddress != whiteListAddress))
37+ then throw(((("You can call only dApp with address " + whiteListAddress) + ", but you're trying to call ") + dappCalledAddress))
38+ else if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
39+ then throw("Transaction should be signed with users key")
40+ else true
41+ case _ =>
42+ throw("Bad transaction type")
43+}

github/deemru/w8io/786bc32 
25.87 ms