tx · 3t1Bv3SgAPk3KKwVReh9VoPV5JMae6xuSUrCYFr4NDX2

3MqRnEd83AoPWjTCHP2PVpFpWg6KbBPCJyo:  -0.01400000 Waves

2019.09.08 12:18 [666907] smart account 3MqRnEd83AoPWjTCHP2PVpFpWg6KbBPCJyo > SELF 0.00000000 Waves

{ "type": 13, "id": "3t1Bv3SgAPk3KKwVReh9VoPV5JMae6xuSUrCYFr4NDX2", "fee": 1400000, "feeAssetId": null, "timestamp": 1567934265076, "version": 1, "sender": "3MqRnEd83AoPWjTCHP2PVpFpWg6KbBPCJyo", "senderPublicKey": "C1VF5w6S6GzcSydWsAbL2czedDrjFAPUeyZ5HknvisxJ", "proofs": [ "u1PzpRQtNXSdeG9SBnKt3Wu1BXDH7LARCXWnqMUUmmKuGVF7KAEuTd8CsVnBNfE2srea9dNNFtwjxTJd7x2dYGo" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAgAAAAFpAQAAAAdkZXBvc2l0AAAAAAQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAIWNhbiBob2RsIHdhdmVzIG9ubHkgYXQgdGhlIG1vbWVudAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAACmN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAFbXlhZHIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM05BY29lV2RVVFduOGNzWEpQRzQ3djFGanRqY2ZxeGI1dHUEAAAADGNvcnJlY3RQcmljZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAVteWFkcgIAAAALd2F2ZXNfYnRjXzgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAJbmV3QW1vdW50CQAAZAAAAAIFAAAADWN1cnJlbnRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApjdXJyZW50S2V5BQAAAAluZXdBbW91bnQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAEAAAAGYW1vdW50BAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAUAAAAGYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAZhbW91bnQJAAACAAAAAQIAAAAeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAluZXdBbW91bnQJAAACAAAAAQIAAAASTm90IGVub3VnaCBiYWxhbmNlCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAKY3VycmVudEtleQUAAAAJbmV3QW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAABTXu68", "chainId": 84, "height": 666907, "spentComplexity": 0 } View: original | compacted Prev: GVovjFkysZtDKgmhB13UePQL5LQ3nxn7xzr96EV29BFD Next: 2yQnbe3fbfAQbtphApncNjqY7cJWy9efZEQ5CULosYa4 Diff:
OldNewDifferences
1717 0
1818 }
1919 let myadr = addressFromStringValue("3NAcoeWdUTWn8csXJPG47v1Fjtjcfqxb5tu")
20- let correctPrice = getInteger(myadr, "waves_btc_8")
20+ let correctPrice = match getInteger(myadr, "waves_btc_8") {
21+ case a: Int =>
22+ a
23+ case _ =>
24+ 0
25+ }
2126 let newAmount = (currentAmount + pmt.amount)
2227 WriteSet([DataEntry(currentKey, newAmount)])
2328 }
29+ }
30+
31+
32+
33+@Callable(i)
34+func withdraw (amount) = {
35+ let currentKey = toBase58String(i.caller.bytes)
36+ let currentAmount = match getInteger(this, currentKey) {
37+ case a: Int =>
38+ a
39+ case _ =>
40+ 0
41+ }
42+ let newAmount = (currentAmount - amount)
43+ if ((0 > amount))
44+ then throw("Can't withdraw negative amount")
45+ else if ((0 > newAmount))
46+ then throw("Not enough balance")
47+ else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
2448 }
2549
2650
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func deposit () = {
88 let pmt = extract(i.payment)
99 if (isDefined(pmt.assetId))
1010 then throw("can hodl waves only at the moment")
1111 else {
1212 let currentKey = toBase58String(i.caller.bytes)
1313 let currentAmount = match getInteger(this, currentKey) {
1414 case a: Int =>
1515 a
1616 case _ =>
1717 0
1818 }
1919 let myadr = addressFromStringValue("3NAcoeWdUTWn8csXJPG47v1Fjtjcfqxb5tu")
20- let correctPrice = getInteger(myadr, "waves_btc_8")
20+ let correctPrice = match getInteger(myadr, "waves_btc_8") {
21+ case a: Int =>
22+ a
23+ case _ =>
24+ 0
25+ }
2126 let newAmount = (currentAmount + pmt.amount)
2227 WriteSet([DataEntry(currentKey, newAmount)])
2328 }
29+ }
30+
31+
32+
33+@Callable(i)
34+func withdraw (amount) = {
35+ let currentKey = toBase58String(i.caller.bytes)
36+ let currentAmount = match getInteger(this, currentKey) {
37+ case a: Int =>
38+ a
39+ case _ =>
40+ 0
41+ }
42+ let newAmount = (currentAmount - amount)
43+ if ((0 > amount))
44+ then throw("Can't withdraw negative amount")
45+ else if ((0 > newAmount))
46+ then throw("Not enough balance")
47+ else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
2448 }
2549
2650

github/deemru/w8io/3ef1775 
36.16 ms