tx · GjNKi1PG2RNBCNwvQnYG8hY5R65nXmd6im3r3Yda6LNx

3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW:  -0.01400000 Waves

2020.01.03 18:06 [837834] smart account 3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW > SELF 0.00000000 Waves

{ "type": 13, "id": "GjNKi1PG2RNBCNwvQnYG8hY5R65nXmd6im3r3Yda6LNx", "fee": 1400000, "feeAssetId": null, "timestamp": 1578063911299, "version": 1, "sender": "3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW", "senderPublicKey": "8zVjiVAuhkkAyQsSHHvjkNNoN8WDKJAEBV5nSpiyyYWr", "proofs": [ "eRDbLyJknXgrmxj6gyx2w9qh8ftpk8fTUJG7XgyjYnnQDkrresWYetQ7ufNRKQDxsqmCifKnobQY9a8hr5HkNco" ], "script": "base64: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", "chainId": 84, "height": 837834, "spentComplexity": 0 } View: original | compacted Prev: HykdfxjytxdV628ndwpVA5RgTrcpsQkjLkjeDXbBkQhA Next: 6LJxxk9LVmZM637kDQsjgL9UbVmxwWaRtbYW1k4SSotp Diff:
OldNewDifferences
1212 let euroId = base58'AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ'
1313
1414 @Callable(i)
15-func deposit (compeStart,id,num) = {
15+func deposit (compeStart,id) = {
1616 let pmt = extract(i.payment)
1717 let paymentId = pmt.assetId
1818 let currentKey = toBase58String(i.caller.bytes)
2323 0
2424 }
2525 let newAmount = (currentAmount + pmt.amount)
26- WriteSet([DataEntry(((((id + "_") + num) + "_") + currentKey), newAmount), DataEntry(((((id + "_") + num) + "_compeStart_") + currentKey), compeStart)])
26+ WriteSet([DataEntry(((id + "_") + currentKey), newAmount), DataEntry((((id + "_") + "_compeStart_") + currentKey), compeStart)])
2727 }
2828
2929
3030
3131 @Callable(i)
32-func withdraw (amount,id,num) = {
32+func withdraw (amount,id) = {
3333 let currentKey = toBase58String(i.caller.bytes)
34- let compeStart = match getInteger(this, ((((id + "_") + num) + "_compeStart_") + currentKey)) {
34+ let compeStart = match getInteger(this, (((id + "_") + "_compeStart_") + currentKey)) {
3535 case a: Int =>
3636 a
3737 case _ =>
3838 0
3939 }
40- let currentAmount = match getInteger(this, ((((id + "_") + num) + "_") + currentKey)) {
40+ let currentAmount = match getInteger(this, ((id + "_") + currentKey)) {
4141 case a: Int =>
4242 a
4343 case _ =>
5151 else if ((0 > newAmount))
5252 then throw("Not enough balance")
5353 else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
54- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
54+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
5555 else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
56- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
56+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
5757 else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
58- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
58+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
5959 else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
60- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
60+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
6161 else if ((id == "WAVES"))
62- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
62+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
6363 else throw("Can't withdraw")
6464 }
6565
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)
15-func deposit (compeStart,id,num) = {
15+func deposit (compeStart,id) = {
1616 let pmt = extract(i.payment)
1717 let paymentId = pmt.assetId
1818 let currentKey = toBase58String(i.caller.bytes)
1919 let currentAmount = match getInteger(this, currentKey) {
2020 case a: Int =>
2121 a
2222 case _ =>
2323 0
2424 }
2525 let newAmount = (currentAmount + pmt.amount)
26- WriteSet([DataEntry(((((id + "_") + num) + "_") + currentKey), newAmount), DataEntry(((((id + "_") + num) + "_compeStart_") + currentKey), compeStart)])
26+ WriteSet([DataEntry(((id + "_") + currentKey), newAmount), DataEntry((((id + "_") + "_compeStart_") + currentKey), compeStart)])
2727 }
2828
2929
3030
3131 @Callable(i)
32-func withdraw (amount,id,num) = {
32+func withdraw (amount,id) = {
3333 let currentKey = toBase58String(i.caller.bytes)
34- let compeStart = match getInteger(this, ((((id + "_") + num) + "_compeStart_") + currentKey)) {
34+ let compeStart = match getInteger(this, (((id + "_") + "_compeStart_") + currentKey)) {
3535 case a: Int =>
3636 a
3737 case _ =>
3838 0
3939 }
40- let currentAmount = match getInteger(this, ((((id + "_") + num) + "_") + currentKey)) {
40+ let currentAmount = match getInteger(this, ((id + "_") + currentKey)) {
4141 case a: Int =>
4242 a
4343 case _ =>
4444 0
4545 }
4646 let newAmount = (currentAmount - amount)
4747 if ((lastBlock.timestamp > compeStart))
4848 then throw("Can't withdraw compe start")
4949 else if ((0 > amount))
5050 then throw("Can't withdraw negative amount")
5151 else if ((0 > newAmount))
5252 then throw("Not enough balance")
5353 else if ((id == "EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm"))
54- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
54+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
5555 else if ((id == "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"))
56- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
56+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, usdnId)]))
5757 else if ((id == "DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn"))
58- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
58+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
5959 else if ((id == "AsuWyM9MUUsMmWkK7jS48L3ky6gA1pxx7QtEYPbfLjAJ"))
60- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
60+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, euroId)]))
6161 else if ((id == "WAVES"))
62- then ScriptResult(WriteSet([DataEntry((id + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
62+ then ScriptResult(WriteSet([DataEntry(((id + "_") + currentKey), newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
6363 else throw("Can't withdraw")
6464 }
6565
6666
6767 @Verifier(tx)
6868 func verify () = match tx {
6969 case ttx: TransferTransaction =>
7070 sigVerify(ttx.bodyBytes, ttx.proofs[0], ttx.senderPublicKey)
7171 case stx: SetScriptTransaction =>
7272 sigVerify(stx.bodyBytes, stx.proofs[0], stx.senderPublicKey)
7373 case _ =>
7474 true
7575 }
7676

github/deemru/w8io/873ac7e 
45.52 ms