tx · X6E65JnqjwEkFCaPxQiguZT3D6puBrd1kd5qZt5WYXE

3N3P5euNnTjmGsZHxXceWDyFZM7CN9YPjhp:  -0.01400000 Waves

2021.04.19 07:48 [1488881] smart account 3N3P5euNnTjmGsZHxXceWDyFZM7CN9YPjhp > SELF 0.00000000 Waves

{ "type": 13, "id": "X6E65JnqjwEkFCaPxQiguZT3D6puBrd1kd5qZt5WYXE", "fee": 1400000, "feeAssetId": null, "timestamp": 1618807688386, "version": 2, "chainId": 84, "sender": "3N3P5euNnTjmGsZHxXceWDyFZM7CN9YPjhp", "senderPublicKey": "ECgJ5aXMvEomM6yWA4tsqXdM3az7ddLr4cLr3yNJwJUb", "proofs": [ "4qfmir8D9cmrugpidNnGDRHwUbLSwNWh4gA8CS6YsiyTk6hU9pbkYcc1v7TnuEo85VArq33tChtNsETuLsgSKJwj" ], "script": "base64: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", "height": 1488881, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: F3nAj4Cxtn7Qfz1BpFk2NVWkop5oZsmmpQBrbct1QfYt Next: 82XQZz5Vs3yn19Ymz4QWLa9DxsNbtWVgijsubvFXBm7Q Diff:
OldNewDifferences
2626 0
2727 }
2828 let newAmount = (currentAmount + pmt.amount)
29-[IntegerEntry(((((("sponsor_" + currentKey) + "_") + currentId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + currentId), newAmount)]
29+ let compeCurrentAmount = match getInteger(this, ((compeNumber + "_") + currentId)) {
30+ case a: Int =>
31+ a
32+ case _ =>
33+ 0
34+ }
35+ let compeNewAmount = (compeCurrentAmount + pmt.amount)
36+[IntegerEntry(((((("sponsor_" + currentKey) + "_") + currentId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + currentId), compeNewAmount)]
3037 }
3138 }
3239
4249 0
4350 }
4451 let newAmount = (currentAmount - amount)
52+ let compeCurrentAmount = match getInteger(this, ((compeNumber + "_") + assetId)) {
53+ case a: Int =>
54+ a
55+ case _ =>
56+ 0
57+ }
58+ let compeNewAmount = (compeCurrentAmount + amount)
4559 if ((timestamp > compeStartTimestamp))
4660 then throw("Competition has already started")
4761 else if ((0 > amount))
4862 then throw("Can't withdraw negative amount")
4963 else if ((0 > newAmount))
5064 then throw("Not enough balance")
51- else [IntegerEntry(((((("sponsor_" + currentKey) + "_") + assetId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + assetId), newAmount)]
65+ else [IntegerEntry(((((("sponsor_" + currentKey) + "_") + assetId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + assetId), compeNewAmount)]
5266 }
5367
5468
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let par7Id = base58'BCqo4hvDBB2dzmidJQKkVtQtkgEQVVwMy1jjV4R4tNB4'
55
66 func current (i) = {
77 let pmt = i.payments[0]
88 if (isDefined(pmt.assetId))
99 then toBase58String(value(pmt.assetId))
1010 else "WAVES"
1111 }
1212
1313
1414 @Callable(i)
1515 func sponsorDeposit (compeNumber,compeEndTimestamp,timestamp) = {
1616 let pmt = i.payments[0]
1717 let currentId = current(i)
1818 if ((timestamp > compeEndTimestamp))
1919 then throw("Competition is finished")
2020 else {
2121 let currentKey = toBase58String(i.caller.bytes)
2222 let currentAmount = match getInteger(this, ((((("sponsor_" + currentKey) + "_") + currentId) + "_") + compeNumber)) {
2323 case a: Int =>
2424 a
2525 case _ =>
2626 0
2727 }
2828 let newAmount = (currentAmount + pmt.amount)
29-[IntegerEntry(((((("sponsor_" + currentKey) + "_") + currentId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + currentId), newAmount)]
29+ let compeCurrentAmount = match getInteger(this, ((compeNumber + "_") + currentId)) {
30+ case a: Int =>
31+ a
32+ case _ =>
33+ 0
34+ }
35+ let compeNewAmount = (compeCurrentAmount + pmt.amount)
36+[IntegerEntry(((((("sponsor_" + currentKey) + "_") + currentId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + currentId), compeNewAmount)]
3037 }
3138 }
3239
3340
3441
3542 @Callable(i)
3643 func sponsorWithdraw (compeNumber,compeStartTimestamp,timestamp,amount,assetId) = {
3744 let currentKey = toBase58String(i.caller.bytes)
3845 let currentAmount = match getInteger(this, ((((("sponsor_" + currentKey) + "_") + assetId) + "_") + compeNumber)) {
3946 case a: Int =>
4047 a
4148 case _ =>
4249 0
4350 }
4451 let newAmount = (currentAmount - amount)
52+ let compeCurrentAmount = match getInteger(this, ((compeNumber + "_") + assetId)) {
53+ case a: Int =>
54+ a
55+ case _ =>
56+ 0
57+ }
58+ let compeNewAmount = (compeCurrentAmount + amount)
4559 if ((timestamp > compeStartTimestamp))
4660 then throw("Competition has already started")
4761 else if ((0 > amount))
4862 then throw("Can't withdraw negative amount")
4963 else if ((0 > newAmount))
5064 then throw("Not enough balance")
51- else [IntegerEntry(((((("sponsor_" + currentKey) + "_") + assetId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + assetId), newAmount)]
65+ else [IntegerEntry(((((("sponsor_" + currentKey) + "_") + assetId) + "_") + compeNumber), newAmount), IntegerEntry(((compeNumber + "_") + assetId), compeNewAmount)]
5266 }
5367
5468
5569 @Verifier(tx)
5670 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5771

github/deemru/w8io/169f3d6 
43.55 ms