tx · 7SLtRq6DWjUvBpCPkKddSz5u1vFwmFezZFTYvrXvJ2o

3MwLcJy3MSb2kq6dUaUR5uBgm8zCKZMjz2S:  -0.01400000 Waves

2021.04.03 09:44 [1465919] smart account 3MwLcJy3MSb2kq6dUaUR5uBgm8zCKZMjz2S > SELF 0.00000000 Waves

{ "type": 13, "id": "7SLtRq6DWjUvBpCPkKddSz5u1vFwmFezZFTYvrXvJ2o", "fee": 1400000, "feeAssetId": null, "timestamp": 1617432323224, "version": 2, "chainId": 84, "sender": "3MwLcJy3MSb2kq6dUaUR5uBgm8zCKZMjz2S", "senderPublicKey": "CgByewRUvLk7UtWSfRMLSYw4Ap2wT5dcdVYKideqDp9M", "proofs": [ "2tgL4bmH8JCy5A5m8jyUpcrpLqX2mVcXV8d4rQ2fA4iUUBuwkYp1Me86VBNTJF3t3vgP7QLjMq76p5oZTugXACuB" ], "script": "base64:AAIEAAAAAAAAAAQIAhIAAAAACgAAAAASdXNkbkR5ekFCYWxhbmNlS2V5AgAAABh1c2RuX2R5el9hX2Fzc2V0X2JhbGFuY2UAAAAAEnVzZG5EeXpCQmFsYW5jZUtleQIAAAAYdXNkbl9keXpfYl9hc3NldF9iYWxhbmNlAAAAABFldGhEeXpBQmFsYW5jZUtleQIAAAAXZXRoX2R5el9hX2Fzc2V0X2JhbGFuY2UAAAAAEWV0aER5ekJCYWxhbmNlS2V5AgAAABdldGhfZHl6X2JfYXNzZXRfYmFsYW5jZQAAAAAWdXNkbkR5elBhaXJJc0FjdGl2ZUtleQIAAAASdXNkbl9keXpfaXNfYWN0aXZlAAAAABVldGhEeXpQYWlySXNBY3RpdmVLZXkCAAAAEWV0aF9keXpfaXNfYWN0aXZlAAAAAA5keXpyYXB0QXNzZXRJZAEAAAAgnxnpc9km71BHiGYaP3+jsvIwnjyNE9APQJ48k4SnBCMAAAAACmV0aEFzc2V0SWQBAAAAICImU7qSm/1VgN3CrHN9jStFD2u0cA4gGz96jcaC4wuhAAAAAAt1c2RuQXNzZXRJZAEAAAAgfGnBa2RwgHQkUhuI1e0jfydVGajNaZehqKCu72Hgd8IAAAAADmFkbWluUHVibGljS2V5AQAAACCtep6G3sDfiE+dbAlhiuShhgh3yCiOnNq+XtMulFtgAAAAAAEAAAABaQEAAAAPaW5pdFVzZG5EeXpQYWlyAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAABHRoaXMFAAAAFnVzZG5EeXpQYWlySXNBY3RpdmVLZXkJAAACAAAAAQIAAAAWUGFpciBpcyBhbHJlYWR5IGFjdGl2ZQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAOYWRtaW5QdWJsaWNLZXkJAAACAAAAAQIAAAAcT25seSBhZG1pbiBjYW4gYWN0aXZhdGUgcGFpcgQAAAAKJHQwOTM4MTAxNQkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACnBtdEFtb3VudEEIBQAAAAokdDA5MzgxMDE1AAAAAl8xBAAAAAtwbXRBc3NldElkQQgFAAAACiR0MDkzODEwMTUAAAACXzIEAAAACyR0MDEwMjQxMTAxCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAHYXNzZXRJZAQAAAAKcG10QW1vdW50QggFAAAACyR0MDEwMjQxMTAxAAAAAl8xBAAAAAtwbXRBc3NldElkQggFAAAACyR0MDEwMjQxMTAxAAAAAl8yAwkBAAAAAiE9AAAAAgUAAAALcG10QXNzZXRJZEEFAAAAC3VzZG5Bc3NldElkCQAAAgAAAAECAAAAFUEgYXNzZXQgaXMgbm90IGEgdXNkbgMJAQAAAAIhPQAAAAIFAAAAC3BtdEFzc2V0SWRCBQAAAA5keXpyYXB0QXNzZXRJZAkAAAIAAAABAgAAABlCICBhc3NldCBpcyBub3QgYSBkeXpydXB0CQAAAgAAAAECAAAABWhlbGxvAAAAAAoORZk=", "height": 1465919, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AXswYCqiUSgcsNMo7V3gYSxWCSwm4ubtQJrvWrL8yYiu Next: DNeFe6dQefHNtjr2TMwcKqeTMJyXSEa8zPRP53tLTsDU Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "total_fee_eth"
4+let a = "usdn_dyz_a_asset_balance"
55
6-let b = "total_fee_usd"
6+let b = "usdn_dyz_b_asset_balance"
77
8-let c = "total_fee_dyzrapt"
8+let c = "eth_dyz_a_asset_balance"
99
10-let d = "dyz"
10+let d = "eth_dyz_b_asset_balance"
1111
12-let e = "eth"
12+let e = "usdn_dyz_is_active"
1313
14-let f = Address(base58'3N7G2kVtBTh94aEnDHQ9dpi4EdsDxAiDXjB')
14+let f = "eth_dyz_is_active"
1515
1616 let g = base58'Bi4jxKEFjjYG2emeyxZfpkVMS88N7uAogHNsi1urkoJA'
1717
1919
2020 let i = base58'9Nf5wpj6jds3VRZKDryp6Dtf3R9d8MdbjNhencLogCr5'
2121
22-func j (k) = {
23- let l = fraction(k, 3, 100)
24- l
25- }
22+let j = base58'CgByewRUvLk7UtWSfRMLSYw4Ap2wT5dcdVYKideqDp9M'
2623
27-
28-func m (n) = {
29- let o = valueOrElse(getInteger(this, n), 0)
30- o
31- }
32-
33-
34-func p () = m(a)
35-
36-
37-func q () = m(b)
38-
39-
40-func r () = m(c)
41-
42-
43-func s (k) = {
44- let t = valueOrErrorMessage(getInteger(f, d), "Unable to load price")
45- fraction(k, 10000, t)
46- }
47-
48-
49-func u (k) = {
50- let t = valueOrErrorMessage(getInteger(f, d), "Unable to load price")
51- fraction(k, t, 10000)
52- }
53-
54-
55-@Callable(v)
56-func test () = {
57- let w = value(v.payments[0])
58- let x = w.assetId
59- let k = w.amount
60- if ((x == g))
61- then throw(("its a dyzrapt. Amount=" + toString(k)))
62- else throw("its not a dyzrapt")
63- }
64-
65-
66-
67-@Callable(v)
68-func swapUsdnToDyzrapt () = {
69- let w = value(v.payments[0])
70- let x = w.assetId
71- let y = w.amount
72- if ((x != i))
73- then throw("Only USDN tokens are allowed for swapping")
24+@Callable(k)
25+func initUsdnDyzPair () = if (isDefined(getBoolean(this, e)))
26+ then throw("Pair is already active")
27+ else if ((k.callerPublicKey != j))
28+ then throw("Only admin can activate pair")
7429 else {
75- let l = j(y)
76- let k = (y - l)
77- let z = s(k)
78- let A = q()
79- let B = (A + l)
80-[IntegerEntry(b, B), ScriptTransfer(v.caller, z, g)]
30+ let l = $Tuple2(k.payments[0].amount, k.payments[0].assetId)
31+ let m = l._1
32+ let n = l._2
33+ let o = $Tuple2(k.payments[1].amount, k.payments[1].assetId)
34+ let p = o._1
35+ let q = o._2
36+ if ((n != i))
37+ then throw("A asset is not a usdn")
38+ else if ((q != g))
39+ then throw("B asset is not a dyzrupt")
40+ else throw("hello")
8141 }
82- }
83-
84-
85-
86-@Callable(v)
87-func swapEthToDyzrapt () = {
88- let w = value(v.payments[0])
89- let x = w.assetId
90- let y = w.amount
91- if ((x != h))
92- then throw("Only WETH tokens are allowed for swapping")
93- else {
94- let l = j(y)
95- let k = (y - l)
96- let C = valueOrErrorMessage(getInteger(f, e), "Unable to load price")
97- let D = fraction(k, C, 10000)
98- let z = s(D)
99- let A = p()
100- let B = (A + l)
101-[IntegerEntry(a, B), ScriptTransfer(v.caller, z, g)]
102- }
103- }
104-
105-
106-
107-@Callable(v)
108-func swapDyzraptToUsdn () = {
109- let w = value(v.payments[0])
110- let x = w.assetId
111- let y = w.amount
112- if ((x != g))
113- then throw("Only DYZRAPT tokens are allowed for swapping")
114- else {
115- let l = j(y)
116- let k = (y - l)
117- let D = u(k)
118- let A = r()
119- let B = (A + l)
120-[IntegerEntry(c, B), ScriptTransfer(v.caller, D, i)]
121- }
122- }
123-
124-
125-
126-@Callable(v)
127-func swapDyzraptToEth () = {
128- let w = value(v.payments[0])
129- let x = w.assetId
130- let y = w.amount
131- if ((x != g))
132- then throw("Only DYZRAPT tokens are allowed for swapping")
133- else {
134- let l = j(y)
135- let k = (y - l)
136- let D = u(k)
137- let C = valueOrErrorMessage(getInteger(f, e), "Unable to load price")
138- let E = fraction(D, 10000, C)
139- let A = r()
140- let B = (A + l)
141-[IntegerEntry(c, B), ScriptTransfer(v.caller, E, h)]
142- }
143- }
14442
14543
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "total_fee_eth"
4+let a = "usdn_dyz_a_asset_balance"
55
6-let b = "total_fee_usd"
6+let b = "usdn_dyz_b_asset_balance"
77
8-let c = "total_fee_dyzrapt"
8+let c = "eth_dyz_a_asset_balance"
99
10-let d = "dyz"
10+let d = "eth_dyz_b_asset_balance"
1111
12-let e = "eth"
12+let e = "usdn_dyz_is_active"
1313
14-let f = Address(base58'3N7G2kVtBTh94aEnDHQ9dpi4EdsDxAiDXjB')
14+let f = "eth_dyz_is_active"
1515
1616 let g = base58'Bi4jxKEFjjYG2emeyxZfpkVMS88N7uAogHNsi1urkoJA'
1717
1818 let h = base58'3JJkzB4pFXcqdJvC9TcV8ys1FLgesr5SxbhmykkpceQp'
1919
2020 let i = base58'9Nf5wpj6jds3VRZKDryp6Dtf3R9d8MdbjNhencLogCr5'
2121
22-func j (k) = {
23- let l = fraction(k, 3, 100)
24- l
25- }
22+let j = base58'CgByewRUvLk7UtWSfRMLSYw4Ap2wT5dcdVYKideqDp9M'
2623
27-
28-func m (n) = {
29- let o = valueOrElse(getInteger(this, n), 0)
30- o
31- }
32-
33-
34-func p () = m(a)
35-
36-
37-func q () = m(b)
38-
39-
40-func r () = m(c)
41-
42-
43-func s (k) = {
44- let t = valueOrErrorMessage(getInteger(f, d), "Unable to load price")
45- fraction(k, 10000, t)
46- }
47-
48-
49-func u (k) = {
50- let t = valueOrErrorMessage(getInteger(f, d), "Unable to load price")
51- fraction(k, t, 10000)
52- }
53-
54-
55-@Callable(v)
56-func test () = {
57- let w = value(v.payments[0])
58- let x = w.assetId
59- let k = w.amount
60- if ((x == g))
61- then throw(("its a dyzrapt. Amount=" + toString(k)))
62- else throw("its not a dyzrapt")
63- }
64-
65-
66-
67-@Callable(v)
68-func swapUsdnToDyzrapt () = {
69- let w = value(v.payments[0])
70- let x = w.assetId
71- let y = w.amount
72- if ((x != i))
73- then throw("Only USDN tokens are allowed for swapping")
24+@Callable(k)
25+func initUsdnDyzPair () = if (isDefined(getBoolean(this, e)))
26+ then throw("Pair is already active")
27+ else if ((k.callerPublicKey != j))
28+ then throw("Only admin can activate pair")
7429 else {
75- let l = j(y)
76- let k = (y - l)
77- let z = s(k)
78- let A = q()
79- let B = (A + l)
80-[IntegerEntry(b, B), ScriptTransfer(v.caller, z, g)]
30+ let l = $Tuple2(k.payments[0].amount, k.payments[0].assetId)
31+ let m = l._1
32+ let n = l._2
33+ let o = $Tuple2(k.payments[1].amount, k.payments[1].assetId)
34+ let p = o._1
35+ let q = o._2
36+ if ((n != i))
37+ then throw("A asset is not a usdn")
38+ else if ((q != g))
39+ then throw("B asset is not a dyzrupt")
40+ else throw("hello")
8141 }
82- }
83-
84-
85-
86-@Callable(v)
87-func swapEthToDyzrapt () = {
88- let w = value(v.payments[0])
89- let x = w.assetId
90- let y = w.amount
91- if ((x != h))
92- then throw("Only WETH tokens are allowed for swapping")
93- else {
94- let l = j(y)
95- let k = (y - l)
96- let C = valueOrErrorMessage(getInteger(f, e), "Unable to load price")
97- let D = fraction(k, C, 10000)
98- let z = s(D)
99- let A = p()
100- let B = (A + l)
101-[IntegerEntry(a, B), ScriptTransfer(v.caller, z, g)]
102- }
103- }
104-
105-
106-
107-@Callable(v)
108-func swapDyzraptToUsdn () = {
109- let w = value(v.payments[0])
110- let x = w.assetId
111- let y = w.amount
112- if ((x != g))
113- then throw("Only DYZRAPT tokens are allowed for swapping")
114- else {
115- let l = j(y)
116- let k = (y - l)
117- let D = u(k)
118- let A = r()
119- let B = (A + l)
120-[IntegerEntry(c, B), ScriptTransfer(v.caller, D, i)]
121- }
122- }
123-
124-
125-
126-@Callable(v)
127-func swapDyzraptToEth () = {
128- let w = value(v.payments[0])
129- let x = w.assetId
130- let y = w.amount
131- if ((x != g))
132- then throw("Only DYZRAPT tokens are allowed for swapping")
133- else {
134- let l = j(y)
135- let k = (y - l)
136- let D = u(k)
137- let C = valueOrErrorMessage(getInteger(f, e), "Unable to load price")
138- let E = fraction(D, 10000, C)
139- let A = r()
140- let B = (A + l)
141-[IntegerEntry(c, B), ScriptTransfer(v.caller, E, h)]
142- }
143- }
14442
14543

github/deemru/w8io/169f3d6 
52.60 ms