tx · FPuVSczWdXLitwVkhQ8eD3V1ryfxATS5fjvRRqZGeic7

3Mza5Ao6wJgpw1JG3jxRY1xigD44zgfhdK6:  -0.05000000 Waves

2021.11.04 12:04 [1776050] smart account 3Mza5Ao6wJgpw1JG3jxRY1xigD44zgfhdK6 > SELF 0.00000000 Waves

{ "type": 13, "id": "FPuVSczWdXLitwVkhQ8eD3V1ryfxATS5fjvRRqZGeic7", "fee": 5000000, "feeAssetId": null, "timestamp": 1636016736112, "version": 2, "chainId": 84, "sender": "3Mza5Ao6wJgpw1JG3jxRY1xigD44zgfhdK6", "senderPublicKey": "Gud7Z17wiZEMZiHRbn48k2D9H13jmLEDZZ8b7NCfjRJL", "proofs": [ "66V7PF2ctMth1QN1RGBysCHGim2Kq9DYncLvjDN6rsfHRebD98tA6o7EJVqJv9Dv9jX9Efie2X1QDHnR4sxVXpRn" ], "script": "base64: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", "height": 1776050, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BwEnHvJonaAjUEmc82HNCWAjNznS2w7ZWThNzUcz9SH3 Next: DrkFi1cdGBfzsmYzCZ5Ua3bzL2ndJZ6uBpi2uxR7z8tX Diff:
OldNewDifferences
5252 }
5353
5454
55+
56+@Callable(i)
57+func transfer () = if (true)
58+ then throw("Can't withdraw negative amount")
59+ else {
60+ let pmt = if ((size(i.payments) == 1))
61+ then i.payments[0]
62+ else throw("Attached payment is required")
63+ if (isDefined(pmt.assetId))
64+ then throw("works with waves only")
65+ else {
66+ let currentKey = toBase58String(i.caller.bytes)
67+ let currentAmount = match getInteger(this, currentKey) {
68+ case a: Int =>
69+ a
70+ case _ =>
71+ 0
72+ }
73+ let newAmount = (currentAmount + pmt.amount)
74+ $Tuple2([IntegerEntry(currentKey, newAmount)], unit)
75+ }
76+ }
77+
78+
5579 @Verifier(tx)
5680 func verify () = {
5781 let smartPK = base58'Gud7Z17wiZEMZiHRbn48k2D9H13jmLEDZZ8b7NCfjRJL'
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func call () = {
88 let asset = Issue("Asset", "", 1, 0, true, unit, 0)
99 let assetId = calculateAssetId(asset)
1010 [BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), asset, Reissue(assetId, 1, false), Burn(assetId, 1), ScriptTransfer(i.caller, 1, assetId)]
1111 }
1212
1313
1414
1515 @Callable(i)
1616 func deposit () = {
1717 let pmt = if ((size(i.payments) == 1))
1818 then i.payments[0]
1919 else throw("Attached payment is required")
2020 if (isDefined(pmt.assetId))
2121 then throw("works with waves only")
2222 else {
2323 let currentKey = toBase58String(i.caller.bytes)
2424 let currentAmount = match getInteger(this, currentKey) {
2525 case a: Int =>
2626 a
2727 case _ =>
2828 0
2929 }
3030 let newAmount = (currentAmount + pmt.amount)
3131 $Tuple2([IntegerEntry(currentKey, newAmount)], unit)
3232 }
3333 }
3434
3535
3636
3737 @Callable(i)
3838 func withdraw (amount) = {
3939 let currentKey = toBase58String(i.caller.bytes)
4040 let currentAmount = match getInteger(this, currentKey) {
4141 case a: Int =>
4242 a
4343 case _ =>
4444 0
4545 }
4646 let newAmount = (currentAmount - amount)
4747 if ((0 > amount))
4848 then throw("Can't withdraw negative amount")
4949 else if ((0 > newAmount))
5050 then throw("Not enough balance")
5151 else $Tuple2([IntegerEntry(currentKey, newAmount), ScriptTransfer(i.caller, amount, unit)], unit)
5252 }
5353
5454
55+
56+@Callable(i)
57+func transfer () = if (true)
58+ then throw("Can't withdraw negative amount")
59+ else {
60+ let pmt = if ((size(i.payments) == 1))
61+ then i.payments[0]
62+ else throw("Attached payment is required")
63+ if (isDefined(pmt.assetId))
64+ then throw("works with waves only")
65+ else {
66+ let currentKey = toBase58String(i.caller.bytes)
67+ let currentAmount = match getInteger(this, currentKey) {
68+ case a: Int =>
69+ a
70+ case _ =>
71+ 0
72+ }
73+ let newAmount = (currentAmount + pmt.amount)
74+ $Tuple2([IntegerEntry(currentKey, newAmount)], unit)
75+ }
76+ }
77+
78+
5579 @Verifier(tx)
5680 func verify () = {
5781 let smartPK = base58'Gud7Z17wiZEMZiHRbn48k2D9H13jmLEDZZ8b7NCfjRJL'
5882 let secondPK = base58'CwvKLDcXt3Wd2MEyEemVKawiD7gaCV68wh2GcnJRHFqB'
5983 let smart = sigVerify(tx.bodyBytes, tx.proofs[0], smartPK)
6084 let second = sigVerify(tx.bodyBytes, tx.proofs[0], secondPK)
6185 match tx {
6286 case t: SetScriptTransaction =>
6387 true
6488 case t: DataTransaction =>
6589 true
6690 case t: TransferTransaction =>
6791 if (smart)
6892 then true
6993 else second
7094 case _ =>
7195 false
7296 }
7397 }
7498

github/deemru/w8io/873ac7e 
28.19 ms