tx · 6fatmETngZbm9wQqjWPJbsSUnJVv5mmxa5etyoMyhD3Y

3Msughfkwji8uccY4RAxuKWvNpnEscWyhHK:  -0.01400000 Waves

2019.06.21 19:44 [552027] smart account 3Msughfkwji8uccY4RAxuKWvNpnEscWyhHK > SELF 0.00000000 Waves

{ "type": 13, "id": "6fatmETngZbm9wQqjWPJbsSUnJVv5mmxa5etyoMyhD3Y", "fee": 1400000, "feeAssetId": null, "timestamp": 1561135490830, "version": 1, "sender": "3Msughfkwji8uccY4RAxuKWvNpnEscWyhHK", "senderPublicKey": "AzyC6W7iD5HYehj2xef6xWKogmxDC6RaX9N1ST8P39bn", "proofs": [ "61ri3wHyiNrAPgCiz4upw8P4MiBWPzVxGuY1Rh9w4oHY1eUutQctNJ9tz45g2qGJP49soVLiu5oyhWmdusYwvAQ8" ], "script": "base64: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", "chainId": 84, "height": 552027, "spentComplexity": 0 } View: original | compacted Prev: F5wy5pRGBCcUY6EtvFit1heZyAnpUttNr1q91AnAitf1 Next: GSr54MwU9EAHAPcM1KmrL55ru6cGc5WwZVxudhBMtApH Diff:
OldNewDifferences
3838 @Callable(i)
3939 func fund () = {
4040 let owner = toBase58String(i.callerPublicKey)
41- let tx = extract(transferTransactionById(i.transactionId))
42- let ownerColon = (((owner + ":") + toString(tx.timestamp)) + ":")
41+ let block = extract(blockInfoByHeight(height))
42+ let ownerColon = (((owner + ":") + toString(block.timestamp)) + ":")
4343 let amount = extract(i.payment).amount
4444 WriteSet( match getString(this, (owner + "_refstructure")) {
4545 case refListS: String =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let level1 = 5
55
66 let level2 = 5
77
88 let level3 = 5
99
1010 let cashBack = 5
1111
1212 func balanceIncrement (address,inc) = {
1313 let balanceKey = (address + "_balance")
1414 DataEntry(balanceKey, (inc + match getInteger(this, balanceKey) {
1515 case b: Int =>
1616 b
1717 case _ =>
1818 0
1919 }))
2020 }
2121
2222
2323 func indexBalanceIncrement (address,owner,inc,level) = {
2424 let logKey = (address + level)
2525 let recordData = (owner + toString(inc))
2626 match getString(this, logKey) {
2727 case prev: String =>
2828 DataEntry(logKey, ((prev + ",") + recordData))
2929 case _ =>
3030 DataEntry(logKey, recordData)
3131 }
3232 }
3333
3434
3535 func getReferer (user) = getString(this, (user + "_referer"))
3636
3737
3838 @Callable(i)
3939 func fund () = {
4040 let owner = toBase58String(i.callerPublicKey)
41- let tx = extract(transferTransactionById(i.transactionId))
42- let ownerColon = (((owner + ":") + toString(tx.timestamp)) + ":")
41+ let block = extract(blockInfoByHeight(height))
42+ let ownerColon = (((owner + ":") + toString(block.timestamp)) + ":")
4343 let amount = extract(i.payment).amount
4444 WriteSet( match getString(this, (owner + "_refstructure")) {
4545 case refListS: String =>
4646 let refList = split(refListS, ",")
4747 let refListSize = size(refList)
4848 let incLevel1 = ((amount * level1) / 1000)
4949 let incCashBack = ((amount * cashBack) / 1000)
5050 [balanceIncrement(owner, incCashBack), indexBalanceIncrement(owner, ownerColon, incCashBack, "_txs_cashback"), balanceIncrement(refList[0], incLevel1), indexBalanceIncrement(refList[0], ownerColon, incLevel1, "_txs_l1"), if ((refListSize >= 2))
5151 then {
5252 let incLevel2 = ((amount * level2) / 1000)
5353 [balanceIncrement(refList[1], incLevel2), indexBalanceIncrement(refList[1], ownerColon, incLevel2, "_txs_l2"), if ((refListSize >= 3))
5454 then {
5555 let incLevel3 = ((amount * level3) / 1000)
5656 [balanceIncrement(refList[2], incLevel3), indexBalanceIncrement(refList[2], ownerColon, incLevel3, "_txs_l3")]
5757 }
5858 else nil]
5959 }
6060 else nil]
6161 case _ =>
6262 nil
6363 })
6464 }
6565
6666
6767
6868 @Callable(i)
6969 func withdraw (amount) = if ((0 >= amount))
7070 then throw("invalid amount")
7171 else {
7272 let owner = toBase58String(i.callerPublicKey)
7373 let newBalance = ( match getInteger(this, (owner + "_balance")) {
7474 case b: Int =>
7575 b
7676 case _ =>
7777 0
7878 } - amount)
7979 if ((0 > newBalance))
8080 then throw("transaction leads to negative account balance")
8181 else ScriptResult(WriteSet([DataEntry((owner + "_balance"), newBalance)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
8282 }
8383
8484
8585
8686 @Callable(i)
8787 func register (referer) = {
8888 let owner = toBase58String(i.callerPublicKey)
8989 if (isDefined(getReferer(owner)))
9090 then throw("Already registered")
9191 else {
9292 let referalsKey = (referer + "_referrals")
9393 let referals = match getString(this, referalsKey) {
9494 case oldRefs: String =>
9595 ((oldRefs + ",") + owner)
9696 case _ =>
9797 owner
9898 }
9999 let refStructure = (referer + match getReferer(referer) {
100100 case referer2: String =>
101101 (("," + referer2) + match getReferer(referer2) {
102102 case referer3: String =>
103103 ("," + referer3)
104104 case _ =>
105105 ""
106106 })
107107 case _ =>
108108 ""
109109 })
110110 WriteSet([DataEntry((owner + "_referer"), referer), DataEntry(referalsKey, referals), DataEntry((owner + "_refstructure"), refStructure)])
111111 }
112112 }
113113
114114

github/deemru/w8io/873ac7e 
31.29 ms