tx · F5wy5pRGBCcUY6EtvFit1heZyAnpUttNr1q91AnAitf1

3Msughfkwji8uccY4RAxuKWvNpnEscWyhHK:  -0.01400000 Waves

2019.06.21 19:39 [552024] smart account 3Msughfkwji8uccY4RAxuKWvNpnEscWyhHK > SELF 0.00000000 Waves

{ "type": 13, "id": "F5wy5pRGBCcUY6EtvFit1heZyAnpUttNr1q91AnAitf1", "fee": 1400000, "feeAssetId": null, "timestamp": 1561135291005, "version": 1, "sender": "3Msughfkwji8uccY4RAxuKWvNpnEscWyhHK", "senderPublicKey": "AzyC6W7iD5HYehj2xef6xWKogmxDC6RaX9N1ST8P39bn", "proofs": [ "2ushNrahG14eroEzJn9EQ8DzUQLYygoCx8AbWe5djRZa7ZiLEUV16GuSYLF1Qp32sqAWBmEkUqcir2AioN99Wybh" ], "script": "base64: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", "chainId": 84, "height": 552024, "spentComplexity": 0 } View: original | compacted Prev: 7W7izueMUAiQjnFEGNDz9vP7q5UXGeNWHsVTUoXSyiRu Next: 6fatmETngZbm9wQqjWPJbsSUnJVv5mmxa5etyoMyhD3Y Diff:
OldNewDifferences
3838 @Callable(i)
3939 func fund () = {
4040 let owner = toBase58String(i.callerPublicKey)
41- let ownerColon = (((owner + ":") + toString(height)) + ":")
41+ let tx = extract(transferTransactionById(i.transactionId))
42+ let ownerColon = (((owner + ":") + toString(tx.timestamp)) + ":")
4243 let amount = extract(i.payment).amount
4344 WriteSet( match getString(this, (owner + "_refstructure")) {
4445 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 ownerColon = (((owner + ":") + toString(height)) + ":")
41+ let tx = extract(transferTransactionById(i.transactionId))
42+ let ownerColon = (((owner + ":") + toString(tx.timestamp)) + ":")
4243 let amount = extract(i.payment).amount
4344 WriteSet( match getString(this, (owner + "_refstructure")) {
4445 case refListS: String =>
4546 let refList = split(refListS, ",")
4647 let refListSize = size(refList)
4748 let incLevel1 = ((amount * level1) / 1000)
4849 let incCashBack = ((amount * cashBack) / 1000)
4950 [balanceIncrement(owner, incCashBack), indexBalanceIncrement(owner, ownerColon, incCashBack, "_txs_cashback"), balanceIncrement(refList[0], incLevel1), indexBalanceIncrement(refList[0], ownerColon, incLevel1, "_txs_l1"), if ((refListSize >= 2))
5051 then {
5152 let incLevel2 = ((amount * level2) / 1000)
5253 [balanceIncrement(refList[1], incLevel2), indexBalanceIncrement(refList[1], ownerColon, incLevel2, "_txs_l2"), if ((refListSize >= 3))
5354 then {
5455 let incLevel3 = ((amount * level3) / 1000)
5556 [balanceIncrement(refList[2], incLevel3), indexBalanceIncrement(refList[2], ownerColon, incLevel3, "_txs_l3")]
5657 }
5758 else nil]
5859 }
5960 else nil]
6061 case _ =>
6162 nil
6263 })
6364 }
6465
6566
6667
6768 @Callable(i)
6869 func withdraw (amount) = if ((0 >= amount))
6970 then throw("invalid amount")
7071 else {
7172 let owner = toBase58String(i.callerPublicKey)
7273 let newBalance = ( match getInteger(this, (owner + "_balance")) {
7374 case b: Int =>
7475 b
7576 case _ =>
7677 0
7778 } - amount)
7879 if ((0 > newBalance))
7980 then throw("transaction leads to negative account balance")
8081 else ScriptResult(WriteSet([DataEntry((owner + "_balance"), newBalance)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
8182 }
8283
8384
8485
8586 @Callable(i)
8687 func register (referer) = {
8788 let owner = toBase58String(i.callerPublicKey)
8889 if (isDefined(getReferer(owner)))
8990 then throw("Already registered")
9091 else {
9192 let referalsKey = (referer + "_referrals")
9293 let referals = match getString(this, referalsKey) {
9394 case oldRefs: String =>
9495 ((oldRefs + ",") + owner)
9596 case _ =>
9697 owner
9798 }
9899 let refStructure = (referer + match getReferer(referer) {
99100 case referer2: String =>
100101 (("," + referer2) + match getReferer(referer2) {
101102 case referer3: String =>
102103 ("," + referer3)
103104 case _ =>
104105 ""
105106 })
106107 case _ =>
107108 ""
108109 })
109110 WriteSet([DataEntry((owner + "_referer"), referer), DataEntry(referalsKey, referals), DataEntry((owner + "_refstructure"), refStructure)])
110111 }
111112 }
112113
113114

github/deemru/w8io/873ac7e 
66.55 ms