tx · D1jeimMH2WEt1rWUuEQUzdfbASjHzJ45KWCzv3Wz3jhE

3N75mvCU73qLDgDMqZtZu75NawfzcZJdUKP:  -0.01400000 Waves

2021.01.04 22:56 [1339110] smart account 3N75mvCU73qLDgDMqZtZu75NawfzcZJdUKP > SELF 0.00000000 Waves

{ "type": 13, "id": "D1jeimMH2WEt1rWUuEQUzdfbASjHzJ45KWCzv3Wz3jhE", "fee": 1400000, "feeAssetId": null, "timestamp": 1609790215000, "version": 1, "sender": "3N75mvCU73qLDgDMqZtZu75NawfzcZJdUKP", "senderPublicKey": "83GVKDLyeHvbtPi5VcTdDheBhrYaoXytfjZ8WsgW79Wp", "proofs": [ "3YQ6qnnFNY5AViy48eHNA4r22YpWxPSMGWEWDmsbj4zW4UWBCz8AxyiHrAhMFQwThBMwdQ6syZyCDnKCSPR5Dwrr" ], "script": "base64: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", "chainId": 84, "height": 1339110, "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 digiliraPay = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
4+let gateway = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
5+let sponsorToken = base58'7GnHzTaDe3YbDiCD9rueHiSfPB7hdanPpN4Ab79fJGtD'
6+let paymentToken = base58'FLsa9hfu1jvXC6jhDP2x6DHHQHK2qiKPtS7D74ZFNsE1'
7+let banned = 403
8+let KYCPending = 0
9+let KYCVer1 = 1
10+let KYCVer2 = 2
11+let KYCVer3 = 3
12+let isMerchant = 5
13+let isOk = 7
14+match tx {
15+ case w: TransferTransaction =>
16+ let data = getInteger(gateway, toBase58String(w.sender.bytes))
17+ let isUser = getInteger(gateway, toBase58String(addressFromRecipient(w.recipient).bytes))
18+ let feeToken = w.feeAssetId
19+ if (isDefined(isUser))
20+ then if (isDefined(feeToken))
21+ then if ((feeToken == sponsorToken))
22+ then true
23+ else if ((feeToken == paymentToken))
24+ then if ((w.recipient == addressFromPublicKey(digiliraPay)))
25+ then true
26+ else throw("Unfortunately you can only use this token for payments")
27+ else true
28+ else true
29+ else if (isDefined(feeToken))
30+ then if ((feeToken == sponsorToken))
31+ then throw("Cannot use this token for none DigiliraPay users transfers.")
32+ else if ((feeToken == paymentToken))
33+ then throw("Cannot use this token for none payment transfers.")
34+ else true
35+ else true
36+ case x: Order|LeaseTransaction|BurnTransaction =>
37+ false
38+ case t: DataTransaction|ExchangeTransaction|SetScriptTransaction =>
39+ sigVerify(t.bodyBytes, t.proofs[1], digiliraPay)
40+ case mtt: MassTransferTransaction =>
41+ let firstRecipient = mtt.transfers[0].recipient
42+ let firstAmount = mtt.transfers[0].amount
43+ let assetId = extract(mtt.assetId)
44+ false
45+ case _ =>
46+ true
47+}

github/deemru/w8io/026f985 
17.34 ms