tx · FZP72VRUQTDTFsMEcka1Gqjh57mTSnjxkADJpjSFGyvC

3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW:  -0.01400000 Waves

2019.12.22 08:28 [819754] smart account 3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW > SELF 0.00000000 Waves

{ "type": 13, "id": "FZP72VRUQTDTFsMEcka1Gqjh57mTSnjxkADJpjSFGyvC", "fee": 1400000, "feeAssetId": null, "timestamp": 1576992453691, "version": 1, "sender": "3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW", "senderPublicKey": "8zVjiVAuhkkAyQsSHHvjkNNoN8WDKJAEBV5nSpiyyYWr", "proofs": [ "5w5h29SuRsLNo1kJH27SPLaLwSsihNwBGeaz49i7FQnCPRPu6mgohwAbMsh2EFWXaffWyQEEEir5kV3BWdxrkMTe" ], "script": "base64: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", "chainId": 84, "height": 819754, "spentComplexity": 0 } View: original | compacted Prev: Nd8Uof2JkmGtcqYcmaYeQU8xi4DbWYQSTfa1sbhLnuL Next: EprzdgqwojEiyWHBfK7PRkZz8pzkeurExq8jAmuN8NLm Diff:
OldNewDifferences
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let par7Id = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
5-
6-let wavesId = base58'WAVES'
75
86 let btcId = base58'DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn'
97
4947 @Callable(i)
5048 func wavesdeposit () = {
5149 let pmt = extract(i.payment)
52- if ((pmt.assetId != wavesId))
53- then throw("Waves only at the moment")
50+ if (isDefined(pmt.assetId))
51+ then throw("WAVES only at the moment")
5452 else {
5553 let currentKey = toBase58String(i.caller.bytes)
5654 let currentAmount = match getInteger(this, currentKey) {
8078 then throw("Can't withdraw negative amount")
8179 else if ((0 > newAmount))
8280 then throw("Not enough balance")
83- else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, wavesId)]))
81+ else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
8482 }
8583
8684
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let par7Id = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
5-
6-let wavesId = base58'WAVES'
75
86 let btcId = base58'DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn'
97
108 @Callable(i)
119 func par7deposit () = {
1210 let pmt = extract(i.payment)
1311 if ((pmt.assetId != par7Id))
1412 then throw("PAR7 only at the moment")
1513 else {
1614 let currentKey = toBase58String(i.caller.bytes)
1715 let currentAmount = match getInteger(this, currentKey) {
1816 case a: Int =>
1917 a
2018 case _ =>
2119 0
2220 }
2321 let newAmount = (currentAmount + pmt.amount)
2422 WriteSet([DataEntry(currentKey, newAmount)])
2523 }
2624 }
2725
2826
2927
3028 @Callable(i)
3129 func par7withdraw (amount) = {
3230 let currentKey = toBase58String(i.caller.bytes)
3331 let currentAmount = match getInteger(this, currentKey) {
3432 case a: Int =>
3533 a
3634 case _ =>
3735 0
3836 }
3937 let newAmount = (currentAmount - amount)
4038 if ((0 > amount))
4139 then throw("Can't withdraw negative amount")
4240 else if ((0 > newAmount))
4341 then throw("Not enough balance")
4442 else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, par7Id)]))
4543 }
4644
4745
4846
4947 @Callable(i)
5048 func wavesdeposit () = {
5149 let pmt = extract(i.payment)
52- if ((pmt.assetId != wavesId))
53- then throw("Waves only at the moment")
50+ if (isDefined(pmt.assetId))
51+ then throw("WAVES only at the moment")
5452 else {
5553 let currentKey = toBase58String(i.caller.bytes)
5654 let currentAmount = match getInteger(this, currentKey) {
5755 case a: Int =>
5856 a
5957 case _ =>
6058 0
6159 }
6260 let newAmount = (currentAmount + pmt.amount)
6361 WriteSet([DataEntry(currentKey, newAmount)])
6462 }
6563 }
6664
6765
6866
6967 @Callable(i)
7068 func waveswithdraw (amount) = {
7169 let currentKey = toBase58String(i.caller.bytes)
7270 let currentAmount = match getInteger(this, currentKey) {
7371 case a: Int =>
7472 a
7573 case _ =>
7674 0
7775 }
7876 let newAmount = (currentAmount - amount)
7977 if ((0 > amount))
8078 then throw("Can't withdraw negative amount")
8179 else if ((0 > newAmount))
8280 then throw("Not enough balance")
83- else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, wavesId)]))
81+ else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
8482 }
8583
8684
8785
8886 @Callable(i)
8987 func btcdeposit () = {
9088 let pmt = extract(i.payment)
9189 if ((pmt.assetId != btcId))
9290 then throw("btc only at the moment")
9391 else {
9492 let currentKey = toBase58String(i.caller.bytes)
9593 let currentAmount = match getInteger(this, currentKey) {
9694 case a: Int =>
9795 a
9896 case _ =>
9997 0
10098 }
10199 let newAmount = (currentAmount + pmt.amount)
102100 WriteSet([DataEntry(currentKey, newAmount)])
103101 }
104102 }
105103
106104
107105
108106 @Callable(i)
109107 func btcwithdraw (amount) = {
110108 let currentKey = toBase58String(i.caller.bytes)
111109 let currentAmount = match getInteger(this, currentKey) {
112110 case a: Int =>
113111 a
114112 case _ =>
115113 0
116114 }
117115 let newAmount = (currentAmount - amount)
118116 if ((0 > amount))
119117 then throw("Can't withdraw negative amount")
120118 else if ((0 > newAmount))
121119 then throw("Not enough balance")
122120 else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, btcId)]))
123121 }
124122
125123
126124 @Verifier(tx)
127125 func verify () = match tx {
128126 case d: InvokeScriptTransaction =>
129127 true
130128 case _ =>
131129 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
132130 }
133131

github/deemru/w8io/873ac7e 
38.07 ms