tx · 1Mh8dJKr6Hedyb3EnSz3RA5LaLFGZjK8NcsfJyA4Pb2

3Mu7bwtYrymjrXt1ttcqaQbFc1PqGhZndhv:  -0.01400000 Waves

2019.09.11 00:42 [670576] smart account 3Mu7bwtYrymjrXt1ttcqaQbFc1PqGhZndhv > SELF 0.00000000 Waves

{ "type": 13, "id": "1Mh8dJKr6Hedyb3EnSz3RA5LaLFGZjK8NcsfJyA4Pb2", "fee": 1400000, "feeAssetId": null, "timestamp": 1568151763987, "version": 1, "sender": "3Mu7bwtYrymjrXt1ttcqaQbFc1PqGhZndhv", "senderPublicKey": "BxHnTcjvN9ZtnKfdKYp6aKRdkMB4ZHxHnTDr5dWx5Vz2", "proofs": [ "5xNUR7Fdzvcx8iLQRoho13AG6NYVrGAU67pJ62vgpSRMHCL61TZo5w7t1tbXQHUgPuZxWTmMqnTX1YQvWro1odk8" ], "script": "base64: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", "chainId": 84, "height": 670576, "spentComplexity": 0 } View: original | compacted Prev: cgaJd6ZDpxK2rVq1ugUFMwwfz5ypyQ1k7q8MQ47KAu5 Next: FfyAK5oJ4T7L8KFXMAK4MrU3gJ6NykijhpygHAE7dmiW Diff:
OldNewDifferences
44
55
66 @Callable(a)
7-func makeSell (b,c,d) = if (if ((b != "WAVES"))
7+func makeSell (b,c) = if (if ((b != "WAVES"))
88 then !(isDefined(assetInfo(fromBase58String(b))))
99 else false)
1010 then throw("There is no asset with specified id")
1111 else if ((0 >= c))
1212 then throw("price must be positive")
1313 else {
14- let e = valueOrErrorMessage(a.payment, "where is payment?")
15- if ((0 >= e.amount))
14+ let d = valueOrErrorMessage(a.payment, "where is payment?")
15+ if ((0 >= d.amount))
1616 then throw("amount must be positive")
1717 else {
18- let f = ("sell_" + toBase58String(a.transactionId))
19- let g = {
20- let h = e.assetId
21- if ($isInstanceOf(h, "ByteVector"))
18+ let e = ("sell_" + toBase58String(a.transactionId))
19+ let f = {
20+ let g = d.assetId
21+ if ($isInstanceOf(g, "ByteVector"))
2222 then {
23- let i = h
24- toBase58String(i)
23+ let h = g
24+ toBase58String(h)
2525 }
2626 else "WAVES"
2727 }
28- WriteSet([DataEntry((f + "_amount"), e.amount), DataEntry((f + "_amount_asset"), g), DataEntry((f + "_price"), c), DataEntry((f + "_price_asset"), b), DataEntry((f + "_owner"), toBase58String(a.caller.bytes)), DataEntry((f + "_spent"), 0)])
28+ WriteSet([DataEntry((e + "_amount"), d.amount), DataEntry((e + "_amount_asset"), f), DataEntry((e + "_price"), c), DataEntry((e + "_price_asset"), b), DataEntry((e + "_owner"), toBase58String(a.caller.bytes)), DataEntry((e + "_spent"), 0)])
2929 }
3030 }
3131
3232
3333
3434 @Callable(a)
35-func makeBuy (g,c,d) = if (if ((g != "WAVES"))
36- then !(isDefined(assetInfo(fromBase58String(g))))
35+func makeBuy (f,c) = if (if ((f != "WAVES"))
36+ then !(isDefined(assetInfo(fromBase58String(f))))
3737 else false)
3838 then throw("There is no asset with specified id")
3939 else if ((0 >= c))
4040 then throw("price must be positive")
4141 else {
42- let e = valueOrErrorMessage(a.payment, "where is payment?")
43- if ((0 >= e.amount))
42+ let d = valueOrErrorMessage(a.payment, "where is payment?")
43+ if ((0 >= d.amount))
4444 then throw("amount must be positive")
4545 else {
46- let f = ("buy_" + toBase58String(a.transactionId))
46+ let e = ("buy_" + toBase58String(a.transactionId))
4747 let b = {
48- let h = e.assetId
49- if ($isInstanceOf(h, "ByteVector"))
48+ let g = d.assetId
49+ if ($isInstanceOf(g, "ByteVector"))
5050 then {
51- let i = h
52- toBase58String(i)
51+ let h = g
52+ toBase58String(h)
5353 }
5454 else "WAVES"
5555 }
56- WriteSet([DataEntry((f + "_amount"), (e.amount / c)), DataEntry((f + "_amount_asset"), g), DataEntry((f + "_price"), c), DataEntry((f + "_price_asset"), b), DataEntry((f + "_owner"), toBase58String(a.caller.bytes)), DataEntry((f + "_spent"), 0)])
56+ WriteSet([DataEntry((e + "_amount"), (d.amount / c)), DataEntry((e + "_amount_asset"), f), DataEntry((e + "_price"), c), DataEntry((e + "_price_asset"), b), DataEntry((e + "_owner"), toBase58String(a.caller.bytes)), DataEntry((e + "_spent"), 0)])
5757 }
5858 }
5959
6060
6161
6262 @Callable(a)
63-func takeSell (j) = {
64- let e = valueOrErrorMessage(a.payment, "where is payment?")
65- if ((0 >= e.amount))
63+func takeSell (i) = {
64+ let d = valueOrErrorMessage(a.payment, "where is payment?")
65+ if ((0 >= d.amount))
6666 then throw("amount must be positive")
6767 else {
68- let f = ("sell_" + j)
69- let k = {
70- let h = e.assetId
71- if ($isInstanceOf(h, "ByteVector"))
68+ let e = ("sell_" + i)
69+ let j = {
70+ let g = d.assetId
71+ if ($isInstanceOf(g, "ByteVector"))
7272 then {
73- let i = h
74- toBase58String(i)
73+ let h = g
74+ toBase58String(h)
7575 }
7676 else "WAVES"
7777 }
78- let b = valueOrErrorMessage(getString(this, (f + "_price_asset")), "there is no order with specified id")
79- if ((b != k))
78+ let b = valueOrErrorMessage(getString(this, (e + "_price_asset")), "there is no order with specified id")
79+ if ((b != j))
8080 then throw(("payment asset must be " + b))
8181 else {
82- let c = getIntegerValue(this, (f + "_price"))
83- let l = getIntegerValue(this, (f + "_amount"))
84- let m = (e.amount / c)
85- let n = value(addressFromString(getStringValue(this, (f + "_owner"))))
86- let g = getStringValue(this, (f + "_amount_asset"))
87- let o = getIntegerValue(this, (f + "_spent"))
88- if ((m > (l - o)))
82+ let c = getIntegerValue(this, (e + "_price"))
83+ let k = getIntegerValue(this, (e + "_amount"))
84+ let l = (d.amount / c)
85+ let m = value(addressFromString(getStringValue(this, (e + "_owner"))))
86+ let f = getStringValue(this, (e + "_amount_asset"))
87+ let n = getIntegerValue(this, (e + "_spent"))
88+ if ((l > (k - n)))
8989 then throw("not enougth asset in order")
90- else ScriptResult(WriteSet([DataEntry((f + "_spent"), (o + m))]), TransferSet([ScriptTransfer(a.caller, m, if ((g == "WAVES"))
90+ else ScriptResult(WriteSet([DataEntry((e + "_spent"), (n + l))]), TransferSet([ScriptTransfer(a.caller, l, if ((f == "WAVES"))
9191 then unit
92- else fromBase58String(g)), ScriptTransfer(n, e.amount, if ((b == "WAVES"))
92+ else fromBase58String(f)), ScriptTransfer(m, d.amount, if ((b == "WAVES"))
9393 then unit
9494 else fromBase58String(b))]))
9595 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
7-func makeSell (b,c,d) = if (if ((b != "WAVES"))
7+func makeSell (b,c) = if (if ((b != "WAVES"))
88 then !(isDefined(assetInfo(fromBase58String(b))))
99 else false)
1010 then throw("There is no asset with specified id")
1111 else if ((0 >= c))
1212 then throw("price must be positive")
1313 else {
14- let e = valueOrErrorMessage(a.payment, "where is payment?")
15- if ((0 >= e.amount))
14+ let d = valueOrErrorMessage(a.payment, "where is payment?")
15+ if ((0 >= d.amount))
1616 then throw("amount must be positive")
1717 else {
18- let f = ("sell_" + toBase58String(a.transactionId))
19- let g = {
20- let h = e.assetId
21- if ($isInstanceOf(h, "ByteVector"))
18+ let e = ("sell_" + toBase58String(a.transactionId))
19+ let f = {
20+ let g = d.assetId
21+ if ($isInstanceOf(g, "ByteVector"))
2222 then {
23- let i = h
24- toBase58String(i)
23+ let h = g
24+ toBase58String(h)
2525 }
2626 else "WAVES"
2727 }
28- WriteSet([DataEntry((f + "_amount"), e.amount), DataEntry((f + "_amount_asset"), g), DataEntry((f + "_price"), c), DataEntry((f + "_price_asset"), b), DataEntry((f + "_owner"), toBase58String(a.caller.bytes)), DataEntry((f + "_spent"), 0)])
28+ WriteSet([DataEntry((e + "_amount"), d.amount), DataEntry((e + "_amount_asset"), f), DataEntry((e + "_price"), c), DataEntry((e + "_price_asset"), b), DataEntry((e + "_owner"), toBase58String(a.caller.bytes)), DataEntry((e + "_spent"), 0)])
2929 }
3030 }
3131
3232
3333
3434 @Callable(a)
35-func makeBuy (g,c,d) = if (if ((g != "WAVES"))
36- then !(isDefined(assetInfo(fromBase58String(g))))
35+func makeBuy (f,c) = if (if ((f != "WAVES"))
36+ then !(isDefined(assetInfo(fromBase58String(f))))
3737 else false)
3838 then throw("There is no asset with specified id")
3939 else if ((0 >= c))
4040 then throw("price must be positive")
4141 else {
42- let e = valueOrErrorMessage(a.payment, "where is payment?")
43- if ((0 >= e.amount))
42+ let d = valueOrErrorMessage(a.payment, "where is payment?")
43+ if ((0 >= d.amount))
4444 then throw("amount must be positive")
4545 else {
46- let f = ("buy_" + toBase58String(a.transactionId))
46+ let e = ("buy_" + toBase58String(a.transactionId))
4747 let b = {
48- let h = e.assetId
49- if ($isInstanceOf(h, "ByteVector"))
48+ let g = d.assetId
49+ if ($isInstanceOf(g, "ByteVector"))
5050 then {
51- let i = h
52- toBase58String(i)
51+ let h = g
52+ toBase58String(h)
5353 }
5454 else "WAVES"
5555 }
56- WriteSet([DataEntry((f + "_amount"), (e.amount / c)), DataEntry((f + "_amount_asset"), g), DataEntry((f + "_price"), c), DataEntry((f + "_price_asset"), b), DataEntry((f + "_owner"), toBase58String(a.caller.bytes)), DataEntry((f + "_spent"), 0)])
56+ WriteSet([DataEntry((e + "_amount"), (d.amount / c)), DataEntry((e + "_amount_asset"), f), DataEntry((e + "_price"), c), DataEntry((e + "_price_asset"), b), DataEntry((e + "_owner"), toBase58String(a.caller.bytes)), DataEntry((e + "_spent"), 0)])
5757 }
5858 }
5959
6060
6161
6262 @Callable(a)
63-func takeSell (j) = {
64- let e = valueOrErrorMessage(a.payment, "where is payment?")
65- if ((0 >= e.amount))
63+func takeSell (i) = {
64+ let d = valueOrErrorMessage(a.payment, "where is payment?")
65+ if ((0 >= d.amount))
6666 then throw("amount must be positive")
6767 else {
68- let f = ("sell_" + j)
69- let k = {
70- let h = e.assetId
71- if ($isInstanceOf(h, "ByteVector"))
68+ let e = ("sell_" + i)
69+ let j = {
70+ let g = d.assetId
71+ if ($isInstanceOf(g, "ByteVector"))
7272 then {
73- let i = h
74- toBase58String(i)
73+ let h = g
74+ toBase58String(h)
7575 }
7676 else "WAVES"
7777 }
78- let b = valueOrErrorMessage(getString(this, (f + "_price_asset")), "there is no order with specified id")
79- if ((b != k))
78+ let b = valueOrErrorMessage(getString(this, (e + "_price_asset")), "there is no order with specified id")
79+ if ((b != j))
8080 then throw(("payment asset must be " + b))
8181 else {
82- let c = getIntegerValue(this, (f + "_price"))
83- let l = getIntegerValue(this, (f + "_amount"))
84- let m = (e.amount / c)
85- let n = value(addressFromString(getStringValue(this, (f + "_owner"))))
86- let g = getStringValue(this, (f + "_amount_asset"))
87- let o = getIntegerValue(this, (f + "_spent"))
88- if ((m > (l - o)))
82+ let c = getIntegerValue(this, (e + "_price"))
83+ let k = getIntegerValue(this, (e + "_amount"))
84+ let l = (d.amount / c)
85+ let m = value(addressFromString(getStringValue(this, (e + "_owner"))))
86+ let f = getStringValue(this, (e + "_amount_asset"))
87+ let n = getIntegerValue(this, (e + "_spent"))
88+ if ((l > (k - n)))
8989 then throw("not enougth asset in order")
90- else ScriptResult(WriteSet([DataEntry((f + "_spent"), (o + m))]), TransferSet([ScriptTransfer(a.caller, m, if ((g == "WAVES"))
90+ else ScriptResult(WriteSet([DataEntry((e + "_spent"), (n + l))]), TransferSet([ScriptTransfer(a.caller, l, if ((f == "WAVES"))
9191 then unit
92- else fromBase58String(g)), ScriptTransfer(n, e.amount, if ((b == "WAVES"))
92+ else fromBase58String(f)), ScriptTransfer(m, d.amount, if ((b == "WAVES"))
9393 then unit
9494 else fromBase58String(b))]))
9595 }
9696 }
9797 }
9898
9999

github/deemru/w8io/03bedc9 
53.34 ms