tx · Fw3KkkpdNywjLZH7GqE1MbCk21diieCNbDwiBEbRu5Q

3MyuBDFccwXewzJsSTAP4garRegetqqoTxe:  -0.01400000 Waves

2021.01.16 10:01 [1355828] smart account 3MyuBDFccwXewzJsSTAP4garRegetqqoTxe > SELF 0.00000000 Waves

{ "type": 13, "id": "Fw3KkkpdNywjLZH7GqE1MbCk21diieCNbDwiBEbRu5Q", "fee": 1400000, "feeAssetId": null, "timestamp": 1610791295000, "version": 2, "chainId": 84, "sender": "3MyuBDFccwXewzJsSTAP4garRegetqqoTxe", "senderPublicKey": "BLTDMGHtPjF2PgfeFAzvA3YWmetvDZbDr4XMEcTNyxqp", "proofs": [ "67WvWGNcQQpDyZERuXH9TLGeRz6PvQK8CpZMD3dbYXiT9udCakrJeZcSnEAvjDYxTymgaDwJm9F9ptscCr2rNiA8", "2dWokFeqzZViViPPiGcCB1mobVXo398EZUWrVSfnJ484CrnbMbB58rnBFxNbBemnq3EoQhbza8GmMYqdV7XZiroG" ], "script": "base64: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", "height": 1355828, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BZEV55o64dv51J412ycttm4eexEKL5eUPtZxbpqgvJem Next: none Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let digiliraPay = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
4+let sponsorToken = base58'7GnHzTaDe3YbDiCD9rueHiSfPB7hdanPpN4Ab79fJGtD'
5+let paymentToken = base58'FLsa9hfu1jvXC6jhDP2x6DHHQHK2qiKPtS7D74ZFNsE1'
6+let proxyWaves = base58'nqAJcPZzdav7orQg3U78Nno2eF4J9bmeBbU2WtPaYkv'
7+let banned = 403000
8+let KYCPending = 0
9+let transferBlock = 100
10+let paymentBlock = 200
11+let fundBlock = 300
12+let paymentFundBlock = 400
13+let upperBlock = 500
414 match tx {
515 case w: TransferTransaction =>
6- if (isDefined(w.assetId))
7- then true
8- else if ((w.recipient == addressFromPublicKey(digiliraPay)))
9- then true
10- else throw("Unfortunately you can only send waves to issuer..")
16+ let myStatus = getInteger(addressFromPublicKey(digiliraPay), toBase58String(w.sender.bytes))
17+ let isUser = getInteger(addressFromPublicKey(digiliraPay), toBase58String(addressFromRecipient(w.recipient).bytes))
18+ let feeToken = w.feeAssetId
19+ let feeAmount = w.fee
20+ let asset = valueOrElse(w.assetId, proxyWaves)
21+ let isAsset = getInteger(addressFromPublicKey(digiliraPay), toBase58String(asset))
22+ if (isDefined(isUser))
23+ then if (isDefined(feeToken))
24+ then if ((feeToken == sponsorToken))
25+ then if (isDefined(isAsset))
26+ then if ((isAsset == banned))
27+ then throw("Can not transfer this asset 1")
28+ else if (if ((valueOrElse(isAsset, banned) >= transferBlock))
29+ then (upperBlock >= valueOrElse(isAsset, banned))
30+ else false)
31+ then if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
32+ then true
33+ else throw("This asset has special requirements 2")
34+ else throw("Can not transfer this asset 1")
35+ else true
36+ else if ((feeToken == paymentToken))
37+ then if ((w.recipient == addressFromPublicKey(digiliraPay)))
38+ then if ((myStatus == KYCPending))
39+ then throw("KYC Pending")
40+ else if ((myStatus == banned))
41+ then throw("Account Banned Can't Operate")
42+ else if ((feeAmount > 10))
43+ then throw("Not Allowed")
44+ else if ((isAsset == banned))
45+ then throw("Can not transfer this asset 3")
46+ else if (if (if ((valueOrElse(isAsset, banned) >= paymentBlock))
47+ then (fundBlock >= valueOrElse(isAsset, banned))
48+ else false)
49+ then true
50+ else if ((valueOrElse(isAsset, banned) >= paymentFundBlock))
51+ then (upperBlock >= valueOrElse(isAsset, banned))
52+ else false)
53+ then if ((valueOrElse(myStatus, 0) >= valueOrElse(isAsset, banned)))
54+ then true
55+ else throw("This asset has special requirements 2")
56+ else throw("Can not transfer this asset 4")
57+ else throw("Unfortunately you can only use this token for payments")
58+ else if (isDefined(isAsset))
59+ then if ((isAsset == banned))
60+ then throw("Can not transfer this asset 5")
61+ else if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
62+ then true
63+ else throw("This asset has special requirements 5")
64+ else true
65+ else if (isDefined(isAsset))
66+ then if ((valueOrElse(isAsset, 0) == banned))
67+ then throw("Can not transfer this asset")
68+ else if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
69+ then true
70+ else throw("This asset has special requirements 1")
71+ else true
72+ else if (isDefined(isAsset))
73+ then throw("cant transfer")
74+ else if (isDefined(feeToken))
75+ then if ((feeToken == sponsorToken))
76+ then throw("Cannot use this token for none DigiliraPay users transfers.")
77+ else if ((feeToken == paymentToken))
78+ then throw("Unfortunately you can only use this token for payments")
79+ else true
80+ else true
1181 case x: Order|LeaseTransaction|BurnTransaction =>
1282 false
1383 case t: DataTransaction|ExchangeTransaction|SetScriptTransaction =>
1484 sigVerify(t.bodyBytes, t.proofs[1], digiliraPay)
85+ case mtt: MassTransferTransaction =>
86+ false
1587 case _ =>
1688 true
1789 }

github/deemru/w8io/169f3d6 
48.55 ms