tx · AUmqRctzf2hwkjM4a7kPc1XPmiYEe2ux4giLGZ6JFWmi

3N9b7vExDf2qqZt2xG9FUsca7iwLVuih1Ta:  -0.01000000 Waves

2023.12.02 18:23 [2869192] smart account 3N9b7vExDf2qqZt2xG9FUsca7iwLVuih1Ta > SELF 0.00000000 Waves

{ "type": 13, "id": "AUmqRctzf2hwkjM4a7kPc1XPmiYEe2ux4giLGZ6JFWmi", "fee": 1000000, "feeAssetId": null, "timestamp": 1701530672422, "version": 2, "chainId": 84, "sender": "3N9b7vExDf2qqZt2xG9FUsca7iwLVuih1Ta", "senderPublicKey": "4rSYGN3SSXzknh6jLyLqqGdGor584DXdjdP2BAbz7kgt", "proofs": [ "3p9A1GUqKFrAAj5CmSkpxZdyDRgUWw1h7FLivnGccgRzTfVcko6TqAoqNnR99y13tZes3uYTgpk5TMYhgW1dAsAE" ], "script": "base64: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", "height": 2869192, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: B3kNCXBdMjnmy3769mVHjJgKoaGSeijuyKnm3bHCZtqu Next: CwpC4uTmj7UyjFGSvjo4QcPS2dWhpD5KkwHcwGCqdgnf Diff:
OldNewDifferences
4949
5050 @Callable(t)
5151 func escrow (g,m,o,u) = if (isDefined(getString(this, i(g, toString(t.caller)))))
52- then throw(("You already have an order with this id: " + g))
52+ then throw("Order with this id already exists.")
5353 else if ((0 >= m))
5454 then throw("Non-positive order amount")
5555 else {
5656 let v = (m - u)
57-[IntegerEntry(k(g), u), IntegerEntry(h(g), v), StringEntry(i(g, toString(t.caller)), g), StringEntry(f(g), o)]
57+[StringEntry(i(g, toString(t.caller)), g), IntegerEntry(k(g), u), IntegerEntry(h(g), v), StringEntry(f(g), o)]
5858 }
5959
6060
6161
6262 @Callable(t)
63-func deal (g,c,m,w) = if (!(isDefined(getString(this, i(g, toString(t.caller))))))
64- then throw(("You don't have an order with this id: " + g))
63+func deal (g,c,m,w) = if (isDefined(getString(this, i(g, toString(t.caller)))))
64+ then throw("Order not found.")
6565 else if ((m > getIntegerValue(h(g))))
6666 then throw("The transaction cannot be executed because the seller does not have enough funds")
6767 else {
7777
7878
7979 @Callable(t)
80-func cancel (g) = if (!(isDefined(getString(this, i(g, toString(t.caller))))))
81- then throw(("You don't have an order with this id: " + g))
80+func cancel (g) = if (isDefined(getString(this, i(g, toString(t.caller)))))
81+ then throw(("You don't have an active order with this id: " + g))
8282 else {
8383 let x = getIntegerValue(h(g))
8484 let y = f(g)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromStringValue("3Mp6TThvbb8z9npqz4AK3ByqAbvs7dYS8uR")
55
66 func b (c) = ("%s%s__partner__" + c)
77
88
99 func d (c) = ("%s%s__wantedAssetId__" + c)
1010
1111
1212 func e (c) = ("%s%s__wantedAmount__" + c)
1313
1414
1515 func f (g) = ("%s%s__assetId__" + g)
1616
1717
1818 func h (g) = ("%s%s__amount__" + g)
1919
2020
2121 func i (g,j) = ((("%s%s__orderId__" + g) + "__") + j)
2222
2323
2424 func k (g) = ("%s%s__serviceFee__" + g)
2525
2626
2727 func l (m) = m
2828
2929
3030 func n (o) = if ((o == unit))
3131 then "WAVES"
3232 else toBase58String(value(o))
3333
3434
3535 func p (q) = if ((q == "WAVES"))
3636 then unit
3737 else fromBase58String(q)
3838
3939
4040 func r (o) = {
4141 let s = p(o)
4242 if (if ((s != unit))
4343 then (assetInfo(value(s)) == unit)
4444 else false)
4545 then throw("Invalid assetId: assetInfo missing")
4646 else n(s)
4747 }
4848
4949
5050 @Callable(t)
5151 func escrow (g,m,o,u) = if (isDefined(getString(this, i(g, toString(t.caller)))))
52- then throw(("You already have an order with this id: " + g))
52+ then throw("Order with this id already exists.")
5353 else if ((0 >= m))
5454 then throw("Non-positive order amount")
5555 else {
5656 let v = (m - u)
57-[IntegerEntry(k(g), u), IntegerEntry(h(g), v), StringEntry(i(g, toString(t.caller)), g), StringEntry(f(g), o)]
57+[StringEntry(i(g, toString(t.caller)), g), IntegerEntry(k(g), u), IntegerEntry(h(g), v), StringEntry(f(g), o)]
5858 }
5959
6060
6161
6262 @Callable(t)
63-func deal (g,c,m,w) = if (!(isDefined(getString(this, i(g, toString(t.caller))))))
64- then throw(("You don't have an order with this id: " + g))
63+func deal (g,c,m,w) = if (isDefined(getString(this, i(g, toString(t.caller)))))
64+ then throw("Order not found.")
6565 else if ((m > getIntegerValue(h(g))))
6666 then throw("The transaction cannot be executed because the seller does not have enough funds")
6767 else {
6868 let x = (getIntegerValue(h(g)) - m)
6969 let y = f(g)
7070 let z = getString(this, y)
7171 let q = value(z)
7272 if ((w > x))
7373 then [ScriptTransfer(addressFromStringValue(c), m, p(q)), ScriptTransfer(t.caller, x, p(q)), ScriptTransfer(a, getIntegerValue(k(g)), p(q)), DeleteEntry(k(g)), DeleteEntry(h(g)), DeleteEntry(i(g, toString(t.caller))), DeleteEntry(f(g))]
7474 else [ScriptTransfer(addressFromStringValue(c), m, p(q)), DeleteEntry(h(g)), IntegerEntry(h(g), x)]
7575 }
7676
7777
7878
7979 @Callable(t)
80-func cancel (g) = if (!(isDefined(getString(this, i(g, toString(t.caller))))))
81- then throw(("You don't have an order with this id: " + g))
80+func cancel (g) = if (isDefined(getString(this, i(g, toString(t.caller)))))
81+ then throw(("You don't have an active order with this id: " + g))
8282 else {
8383 let x = getIntegerValue(h(g))
8484 let y = f(g)
8585 let z = getString(this, y)
8686 let q = value(z)
8787 [ScriptTransfer(t.caller, x, p(q)), ScriptTransfer(a, getIntegerValue(k(g)), p(q)), DeleteEntry(k(g)), DeleteEntry(h(g)), DeleteEntry(i(g, toString(t.caller))), DeleteEntry(f(g))]
8888 }
8989
9090

github/deemru/w8io/169f3d6 
32.78 ms