tx · 6vJfcdys9yRagXbrGtmWW8ZqtaUJUG9Cet422b9hVtZ7

3NBTGfiEtHiKvpV84qrVpaqycizY8hGAxpu:  -0.01400000 Waves

2020.01.03 11:12 [837414] smart account 3NBTGfiEtHiKvpV84qrVpaqycizY8hGAxpu > SELF 0.00000000 Waves

{ "type": 13, "id": "6vJfcdys9yRagXbrGtmWW8ZqtaUJUG9Cet422b9hVtZ7", "fee": 1400000, "feeAssetId": null, "timestamp": 1578039187820, "version": 1, "sender": "3NBTGfiEtHiKvpV84qrVpaqycizY8hGAxpu", "senderPublicKey": "7DERSZYEoBTSwaTrN1ktwnx1Y5D46mSpMSayUNs8CmcK", "proofs": [ "UwgBAFf2ZHk28hjkCzif27JNuNsrH6BNJcYZnJ4CeNuYNZMHcSnJmb3Rj2XsX7sPXwnznDkCgcnMAbpXeZy7z4g" ], "script": "base64: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", "chainId": 84, "height": 837414, "spentComplexity": 0 } View: original | compacted Prev: 6SMNt2SsSqw2VpZegNvXPrQUyaf8MUw5WAdEEFAF67tn Next: Ak6JxE8UGZ3YLGzAWAAfiXfMGoiu8w48qvnYNjP9pKRb Diff:
OldNewDifferences
2525 0
2626 }
2727 let newAmount = (currentAmount + pmt.amount)
28- WriteSet([DataEntry((id + currentKey), newAmount), DataEntry((id + currentKey), compeStart)])
28+ WriteSet([DataEntry((id + currentKey), newAmount), DataEntry(((id + "compeStart") + currentKey), compeStart)])
2929 }
3030
3131
3333 @Callable(i)
3434 func withdraw (amount,id) = {
3535 let currentKey = toBase58String(i.caller.bytes)
36- let compeStart = match getInteger(this, ("compeStart_" + currentKey)) {
36+ let compeStart = match getInteger(this, ((id + "compeStart") + currentKey)) {
3737 case a: Int =>
3838 a
3939 case _ =>
5555 else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
5656 then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
5757 else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
58- then ScriptResult(WriteSet([DataEntry(("USD-N_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
58+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
5959 else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
60- then ScriptResult(WriteSet([DataEntry(("BTC_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
60+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
6161 else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
62- then ScriptResult(WriteSet([DataEntry(("EURO_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
62+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
6363 else if ((id == "WAVES"))
64- then ScriptResult(WriteSet([DataEntry(("WAVES_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, wavesId)]))
64+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, wavesId)]))
6565 else throw("Can't withdraw")
6666 }
6767
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 let wavesId = base58'WAVES'
1515
1616 @Callable(i)
1717 func deposit (compeStart,id) = {
1818 let pmt = extract(i.payment)
1919 let paymentId = pmt.assetId
2020 let currentKey = toBase58String(i.caller.bytes)
2121 let currentAmount = match getInteger(this, currentKey) {
2222 case a: Int =>
2323 a
2424 case _ =>
2525 0
2626 }
2727 let newAmount = (currentAmount + pmt.amount)
28- WriteSet([DataEntry((id + currentKey), newAmount), DataEntry((id + currentKey), compeStart)])
28+ WriteSet([DataEntry((id + currentKey), newAmount), DataEntry(((id + "compeStart") + currentKey), compeStart)])
2929 }
3030
3131
3232
3333 @Callable(i)
3434 func withdraw (amount,id) = {
3535 let currentKey = toBase58String(i.caller.bytes)
36- let compeStart = match getInteger(this, ("compeStart_" + currentKey)) {
36+ let compeStart = match getInteger(this, ((id + "compeStart") + currentKey)) {
3737 case a: Int =>
3838 a
3939 case _ =>
4040 0
4141 }
4242 let currentAmount = match getInteger(this, currentKey) {
4343 case a: Int =>
4444 a
4545 case _ =>
4646 0
4747 }
4848 let newAmount = (currentAmount - amount)
4949 if ((compeStart > lastBlock.timestamp))
5050 then throw("Can't withdraw compe start")
5151 else if ((0 > amount))
5252 then throw("Can't withdraw negative amount")
5353 else if ((0 > newAmount))
5454 then throw("Not enough balance")
5555 else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
5656 then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
5757 else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
58- then ScriptResult(WriteSet([DataEntry(("USD-N_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
58+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
5959 else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
60- then ScriptResult(WriteSet([DataEntry(("BTC_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
60+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
6161 else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
62- then ScriptResult(WriteSet([DataEntry(("EURO_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
62+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
6363 else if ((id == "WAVES"))
64- then ScriptResult(WriteSet([DataEntry(("WAVES_" + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, wavesId)]))
64+ then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, wavesId)]))
6565 else throw("Can't withdraw")
6666 }
6767
6868
6969 @Verifier(tx)
7070 func verify () = match tx {
7171 case _ =>
7272 true
7373 }
7474

github/deemru/w8io/169f3d6 
53.46 ms