tx · 4G5RnDBDo4p2q2AqiKVEMBtbYviqKb51zAjakS9hHrPc

3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW:  -0.01400000 Waves

2020.01.12 15:55 [850837] smart account 3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW > SELF 0.00000000 Waves

{ "type": 13, "id": "4G5RnDBDo4p2q2AqiKVEMBtbYviqKb51zAjakS9hHrPc", "fee": 1400000, "feeAssetId": null, "timestamp": 1578833657565, "version": 1, "sender": "3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW", "senderPublicKey": "8zVjiVAuhkkAyQsSHHvjkNNoN8WDKJAEBV5nSpiyyYWr", "proofs": [ "2VcoStbq2kYmYok1tJVPUoNbqu7tDJH7L2ov6dac13VKPW319g5UxGXFnMhi91QhzMRofiST2DmDaQtpJzRbwvWo" ], "script": "base64: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", "chainId": 84, "height": 850837, "spentComplexity": 0 } View: original | compacted Prev: FFrLygYMTPpHGDKLyvVRcFVYPTNi1b1GS7w3uj96HTcU Next: none Diff:
OldNewDifferences
1414 @Callable(i)
1515 func deposit (compeStart,id,compe) = {
1616 let compeNum = toString(compe)
17+ let compeStartS = toString(compeStart)
1718 let pmt = extract(i.payment)
18- let paymentId = pmt.assetId
1919 let currentKey = toBase58String(i.caller.bytes)
20- let currentAmount = match getInteger(this, currentKey) {
20+ let currentAmount = match getInteger(this, ((((((compeNum + "_") + id) + "_") + currentKey) + "_") + compeStartS)) {
2121 case a: Int =>
2222 a
2323 case _ =>
2424 0
2525 }
2626 let newAmount = (currentAmount + pmt.amount)
27- WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount), DataEntry(((((compeNum + "_") + id) + "_compeStart_") + currentKey), compeStart)])
27+ WriteSet([DataEntry(((((((compeNum + "_") + id) + "_") + currentKey) + "_") + compeStartS), newAmount)])
2828 }
2929
3030
3131
3232 @Callable(i)
33-func withdraw (amount,id,compe) = {
33+func withdraw (amount,id,compe,compeStart) = {
3434 let compeNum = toString(compe)
35+ let compeStartS = toString(compeStart)
3536 let currentKey = toBase58String(i.caller.bytes)
36- let compeStart = match getInteger(this, ((((compeNum + "_") + id) + "_compeStart_") + currentKey)) {
37- case a: Int =>
38- a
39- case _ =>
40- 0
41- }
42- let currentAmount = match getInteger(this, ((((compeNum + "_") + id) + "_") + currentKey)) {
37+ let currentAmount = match getInteger(this, ((((((compeNum + "_") + id) + "_") + currentKey) + "_") + compeStartS)) {
4338 case a: Int =>
4439 a
4540 case _ =>
4641 0
4742 }
4843 let newAmount = (currentAmount - amount)
49- if ((0 > amount))
50- then throw("Can't withdraw negative amount")
51- else if ((0 > newAmount))
52- then throw("Not enough balance")
53- else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
54- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
55- else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
56- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
57- else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
58- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
59- else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
60- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
61- else if ((id == "WAVES"))
62- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
63- else throw("Can't withdraw")
44+ if ((lastBlock.timestamp > compeStart))
45+ then throw("Can't withdraw compe strat")
46+ else if ((0 > amount))
47+ then throw("Can't withdraw negative amount")
48+ else if ((0 > newAmount))
49+ then throw("Not enough balance")
50+ else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
51+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
52+ else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
53+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
54+ else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
55+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
56+ else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
57+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
58+ else if ((id == "WAVES"))
59+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
60+ else throw("Can't withdraw")
6461 }
6562
6663
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let dappAcountPubKey = base58'7DERSZYEoBTSwaTrN1ktwnx1Y5D46mSpMSayUNs8CmcK'
55
66 let par7Id = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
77
88 let usdnId = base58'3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC'
99
1010 let btcId = base58'DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn'
1111
1212 let euroId = base58'AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ'
1313
1414 @Callable(i)
1515 func deposit (compeStart,id,compe) = {
1616 let compeNum = toString(compe)
17+ let compeStartS = toString(compeStart)
1718 let pmt = extract(i.payment)
18- let paymentId = pmt.assetId
1919 let currentKey = toBase58String(i.caller.bytes)
20- let currentAmount = match getInteger(this, currentKey) {
20+ let currentAmount = match getInteger(this, ((((((compeNum + "_") + id) + "_") + currentKey) + "_") + compeStartS)) {
2121 case a: Int =>
2222 a
2323 case _ =>
2424 0
2525 }
2626 let newAmount = (currentAmount + pmt.amount)
27- WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount), DataEntry(((((compeNum + "_") + id) + "_compeStart_") + currentKey), compeStart)])
27+ WriteSet([DataEntry(((((((compeNum + "_") + id) + "_") + currentKey) + "_") + compeStartS), newAmount)])
2828 }
2929
3030
3131
3232 @Callable(i)
33-func withdraw (amount,id,compe) = {
33+func withdraw (amount,id,compe,compeStart) = {
3434 let compeNum = toString(compe)
35+ let compeStartS = toString(compeStart)
3536 let currentKey = toBase58String(i.caller.bytes)
36- let compeStart = match getInteger(this, ((((compeNum + "_") + id) + "_compeStart_") + currentKey)) {
37- case a: Int =>
38- a
39- case _ =>
40- 0
41- }
42- let currentAmount = match getInteger(this, ((((compeNum + "_") + id) + "_") + currentKey)) {
37+ let currentAmount = match getInteger(this, ((((((compeNum + "_") + id) + "_") + currentKey) + "_") + compeStartS)) {
4338 case a: Int =>
4439 a
4540 case _ =>
4641 0
4742 }
4843 let newAmount = (currentAmount - amount)
49- if ((0 > amount))
50- then throw("Can't withdraw negative amount")
51- else if ((0 > newAmount))
52- then throw("Not enough balance")
53- else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
54- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
55- else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
56- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
57- else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
58- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
59- else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
60- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
61- else if ((id == "WAVES"))
62- then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
63- else throw("Can't withdraw")
44+ if ((lastBlock.timestamp > compeStart))
45+ then throw("Can't withdraw compe strat")
46+ else if ((0 > amount))
47+ then throw("Can't withdraw negative amount")
48+ else if ((0 > newAmount))
49+ then throw("Not enough balance")
50+ else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
51+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
52+ else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
53+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
54+ else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
55+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
56+ else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
57+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
58+ else if ((id == "WAVES"))
59+ then ScriptResult(WriteSet([DataEntry(((((compeNum + "_") + id) + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
60+ else throw("Can't withdraw")
6461 }
6562
6663
6764 @Verifier(tx)
6865 func verify () = match tx {
6966 case ttx: TransferTransaction =>
7067 sigVerify(ttx.bodyBytes, ttx.proofs[0], ttx.senderPublicKey)
7168 case stx: SetScriptTransaction =>
7269 sigVerify(stx.bodyBytes, stx.proofs[0], stx.senderPublicKey)
7370 case _ =>
7471 true
7572 }
7673

github/deemru/w8io/873ac7e 
28.78 ms