tx · 7h9V9gezoiHv6SBeLyDVbcYGuZSBQZK9JRZsZFeZYQGf

3N3HcmfU1kxFj1x7PdZNnGZhGRELxC9gVbr:  -0.01400000 Waves

2021.01.05 14:30 [1340032] smart account 3N3HcmfU1kxFj1x7PdZNnGZhGRELxC9gVbr > SELF 0.00000000 Waves

{ "type": 13, "id": "7h9V9gezoiHv6SBeLyDVbcYGuZSBQZK9JRZsZFeZYQGf", "fee": 1400000, "feeAssetId": null, "timestamp": 1609846294521, "version": 2, "chainId": 84, "sender": "3N3HcmfU1kxFj1x7PdZNnGZhGRELxC9gVbr", "senderPublicKey": "CdPKZLUm4NiopSyscAvon7a9kzDkN2DomZqxEo1ba9ox", "proofs": [ "3zCNv1Gd6JpSf4EnqoUpTbfANqeu3KNn4MAeb1bR49csJmMP3mQhKkFu3jmv7eFUieKL3xEZctaF32gLqAGbS8XV", "5UA3LkNLiCeYYBCBebQtPsiDQvDnS1oxkkJUZ1YraTgrMarZKPceJvd8T7wmMkUHuyGafAFUPtKBF2b8DvbKLjVr" ], "script": "base64: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", "height": 1340032, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3sSDD33ikyJCCm2jSMudJZ7GsqPyzZBW4veLoSpdWyYZ Next: 8u4vTDUakJJidGPcC5ntBGefTZ5n8tq7b4kqCtNkJRiQ Diff:
OldNewDifferences
2525 then if (isDefined(isAsset))
2626 then if ((isAsset == banned))
2727 then throw("Can not transfer this asset 1")
28- else if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
28+ else if (if (if ((valueOrElse(isAsset, banned) >= transferBlock))
29+ then (paymentBlock >= valueOrElse(isAsset, banned))
30+ else false)
2931 then true
32+ else if ((valueOrElse(isAsset, banned) >= fundBlock))
33+ then (paymentFundBlock >= valueOrElse(isAsset, banned))
34+ else false)
35+ then if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
36+ then true
37+ else throw("This asset has special requirements 2")
3038 else throw("Can not transfer this asset 1")
3139 else true
3240 else if ((feeToken == paymentToken))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let digiliraPay = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
44 let sponsorToken = base58'7GnHzTaDe3YbDiCD9rueHiSfPB7hdanPpN4Ab79fJGtD'
55 let paymentToken = base58'FLsa9hfu1jvXC6jhDP2x6DHHQHK2qiKPtS7D74ZFNsE1'
66 let proxyWaves = base58'nqAJcPZzdav7orQg3U78Nno2eF4J9bmeBbU2WtPaYkv'
77 let banned = 403000
88 let KYCPending = 0
99 let transferBlock = 100
1010 let paymentBlock = 200
1111 let fundBlock = 300
1212 let paymentFundBlock = 400
1313 let upperBlock = 500
1414 match tx {
1515 case w: TransferTransaction =>
1616 let myStatus = getInteger(addressFromPublicKey(digiliraPay), toBase58String(w.sender.bytes))
1717 let isUser = getInteger(addressFromPublicKey(digiliraPay), toBase58String(addressFromRecipient(w.recipient).bytes))
1818 let feeToken = w.feeAssetId
1919 let feeAmount = w.fee
2020 let asset = valueOrElse(w.assetId, proxyWaves)
2121 let isAsset = getInteger(addressFromPublicKey(digiliraPay), toBase58String(asset))
2222 if (isDefined(isUser))
2323 then if (isDefined(feeToken))
2424 then if ((feeToken == sponsorToken))
2525 then if (isDefined(isAsset))
2626 then if ((isAsset == banned))
2727 then throw("Can not transfer this asset 1")
28- else if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
28+ else if (if (if ((valueOrElse(isAsset, banned) >= transferBlock))
29+ then (paymentBlock >= valueOrElse(isAsset, banned))
30+ else false)
2931 then true
32+ else if ((valueOrElse(isAsset, banned) >= fundBlock))
33+ then (paymentFundBlock >= valueOrElse(isAsset, banned))
34+ else false)
35+ then if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
36+ then true
37+ else throw("This asset has special requirements 2")
3038 else throw("Can not transfer this asset 1")
3139 else true
3240 else if ((feeToken == paymentToken))
3341 then if ((w.recipient == addressFromPublicKey(digiliraPay)))
3442 then if ((myStatus == KYCPending))
3543 then throw("KYC Pending")
3644 else if ((myStatus == banned))
3745 then throw("Account Banned Can't Operate")
3846 else if ((feeAmount > 10))
3947 then throw("Not Allowed")
4048 else if ((isAsset == banned))
4149 then throw("Can not transfer this asset 3")
4250 else if (if (if ((valueOrElse(isAsset, banned) >= paymentBlock))
4351 then (fundBlock >= valueOrElse(isAsset, banned))
4452 else false)
4553 then true
4654 else if ((valueOrElse(isAsset, banned) >= paymentFundBlock))
4755 then (upperBlock >= valueOrElse(isAsset, banned))
4856 else false)
4957 then if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
5058 then true
5159 else throw("This asset has special requirements 2")
5260 else throw("Can not transfer this asset 4")
5361 else throw("Unfortunately you can only use this token for payments")
5462 else if (isDefined(isAsset))
5563 then if ((isAsset == banned))
5664 then throw("Can not transfer this asset 5")
5765 else if ((valueOrElse(myStatus, 0) >= valueOrElse(isAsset, banned)))
5866 then true
5967 else throw("This asset has special requirements 2")
6068 else true
6169 else if (isDefined(isAsset))
6270 then if ((valueOrElse(isAsset, 0) == banned))
6371 then throw("Can not transfer this asset")
6472 else if ((valueOrElse(isUser, 0) >= valueOrElse(isAsset, banned)))
6573 then true
6674 else throw("This asset has special requirements 1")
6775 else true
6876 else if (isDefined(isAsset))
6977 then throw("cant transfer")
7078 else if (isDefined(feeToken))
7179 then if ((feeToken == sponsorToken))
7280 then throw("Cannot use this token for none DigiliraPay users transfers.")
7381 else if ((feeToken == paymentToken))
7482 then throw("Unfortunately you can only use this token for payments")
7583 else true
7684 else true
7785 case x: Order|LeaseTransaction|BurnTransaction =>
7886 false
7987 case t: DataTransaction|ExchangeTransaction|SetScriptTransaction =>
8088 sigVerify(t.bodyBytes, t.proofs[1], digiliraPay)
8189 case mtt: MassTransferTransaction =>
8290 false
8391 case _ =>
8492 true
8593 }

github/deemru/w8io/169f3d6 
41.52 ms