tx · BgbxUebSwZ9JdDcbqT4tk6jSkyPQmNgfhcJYk9F5FnDL

3PQYENg7XVfcNUdD3iLmaQrRZovotzkd3DD:  -0.03700000 Waves

2022.11.17 00:55 [3385630] smart account 3PQYENg7XVfcNUdD3iLmaQrRZovotzkd3DD > SELF 0.00000000 Waves

{ "type": 13, "id": "BgbxUebSwZ9JdDcbqT4tk6jSkyPQmNgfhcJYk9F5FnDL", "fee": 3700000, "feeAssetId": null, "timestamp": 1668635735369, "version": 2, "chainId": 87, "sender": "3PQYENg7XVfcNUdD3iLmaQrRZovotzkd3DD", "senderPublicKey": "p3Jb42DMqmmPmo4hoTJHfR6vQPLcXU8FgNDNS6GiGvV", "proofs": [ "2DLpkGWggEHXCEVtg1dqv7WYhbGJj9fQC6SeZAUhaXU2BYT3LV1xmraWDZSbNJS15UqpANAdy2pVxzZsP2uxs5Nq" ], "script": "base64:BgIQCAISAwoBCBIDCgEBEgASABYAC2tfaW5zdXJhbmNlAgtrX2luc3VyYW5jZQAUa19jb29yZGluYXRvckFkZHJlc3MCFGtfY29vcmRpbmF0b3JBZGRyZXNzAAVrX2FtbQIFa19hbW0AD2tfYWRtaW5fYWRkcmVzcwIPa19hZG1pbl9hZGRyZXNzABJrX2FkbWluX3B1YmxpY19rZXkCEmtfYWRtaW5fcHVibGljX2tleQANa19xdW90ZV9hc3NldAINa19xdW90ZV9hc3NldAAPa19xdW90ZV9zdGFraW5nAg9rX3F1b3RlX3N0YWtpbmcAEWtfbWFuYWdlcl9hZGRyZXNzAhFrX21hbmFnZXJfYWRkcmVzcwAUa19jb2xsYXRlcmFsX2FkZHJlc3MCFGtfY29sbGF0ZXJhbF9hZGRyZXNzAA1rX2luaXRpYWxpemVkAg1rX2luaXRpYWxpemVkAQ50b0NvbXBvc2l0ZUtleQIEX2tleQhfYWRkcmVzcwkArAICCQCsAgIFBF9rZXkCAV8FCF9hZGRyZXNzAQlpbnN1cmFuY2UACQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFC2tfaW5zdXJhbmNlAAABC2Nvb3JkaW5hdG9yAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBRRrX2Nvb3JkaW5hdG9yQWRkcmVzcwITQ29vcmRpbmF0b3Igbm90IHNldAITQ29vcmRpbmF0b3Igbm90IHNldAELaXNXaGl0ZWxpc3QBCF9hZGRyZXNzCQELdmFsdWVPckVsc2UCCQCbCAIJAQtjb29yZGluYXRvcgAJAQ50b0NvbXBvc2l0ZUtleQIFBWtfYW1tBQhfYWRkcmVzcwcBC2luaXRpYWxpemVkAAkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQ1rX2luaXRpYWxpemVkBwEMYWRtaW5BZGRyZXNzAAkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgkBC2Nvb3JkaW5hdG9yAAUPa19hZG1pbl9hZGRyZXNzAhVBZG1pbiBhZGRyZXNzIG5vdCBzZXQBDmFkbWluUHVibGljS2V5AAkA2QQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgkBC2Nvb3JkaW5hdG9yAAUSa19hZG1pbl9wdWJsaWNfa2V5AhhBZG1pbiBwdWJsaWMga2V5IG5vdCBzZXQBCnF1b3RlQXNzZXQACQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCCQELY29vcmRpbmF0b3IABQ1rX3F1b3RlX2Fzc2V0AhNRdW90ZSBhc3NldCBub3Qgc2V0ARFxdW90ZUFzc2V0U3Rha2luZwAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgkBC2Nvb3JkaW5hdG9yAAUPa19xdW90ZV9zdGFraW5nAhtRdW90ZSBhc3NldCBzdGFraW5nIG5vdCBzZXQCG1F1b3RlIGFzc2V0IHN0YWtpbmcgbm90IHNldAEObWFuYWdlckFkZHJlc3MACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIJAQtjb29yZGluYXRvcgAFEWtfbWFuYWdlcl9hZGRyZXNzAg9NYW5hZ2VyIG5vdCBzZXQCD01hbmFnZXIgbm90IHNldAERY29sbGF0ZXJhbEFkZHJlc3MACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIJAQtjb29yZGluYXRvcgAFFGtfY29sbGF0ZXJhbF9hZGRyZXNzAhJDb2xsYXRlcmFsIG5vdCBzZXQCEkNvbGxhdGVyYWwgbm90IHNldAEPdXBkYXRlSW5zdXJhbmNlAQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQtrX2luc3VyYW5jZQUBaQUDbmlsBAFpAQppbml0aWFsaXplAQxfY29vcmRpbmF0b3IDCQELaW5pdGlhbGl6ZWQACQACAQITQWxyZWFkeSBpbml0aWFsaXplZAkAzAgCCQELU3RyaW5nRW50cnkCBRRrX2Nvb3JkaW5hdG9yQWRkcmVzcwUMX2Nvb3JkaW5hdG9yCQDMCAIJAQxCb29sZWFuRW50cnkCBQ1rX2luaXRpYWxpemVkBgUDbmlsAWkBCHdpdGhkcmF3AQdfYW1vdW50AwMDCQEBIQEDCQELaXNXaGl0ZWxpc3QBCQClCAEIBQFpBmNhbGxlcgYJAAACCAUBaQZjYWxsZXIJARFjb2xsYXRlcmFsQWRkcmVzcwAGCQEBIQEJAQtpbml0aWFsaXplZAAGCQBmAgUHX2Ftb3VudAkBCWluc3VyYW5jZQAJAAIBCQCsAgIJAKwCAgkArAICAiRJbnZhbGlkIHdpdGhkcmF3IHBhcmFtcyAoaW5zdXJhbmNlKSAJAKQDAQUHX2Ftb3VudAIDID4gCQCkAwEJAQlpbnN1cmFuY2UABAd1bnN0YWtlCQD8BwQJAQ5tYW5hZ2VyQWRkcmVzcwACCHdpdGhkcmF3CQDMCAIJANgEAQkBCnF1b3RlQXNzZXQACQDMCAIFB19hbW91bnQFA25pbAUDbmlsAwkAAAIFB3Vuc3Rha2UFB3Vuc3Rha2UJAM4IAgkBD3VwZGF0ZUluc3VyYW5jZQEJAGUCCQEJaW5zdXJhbmNlAAUHX2Ftb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFB19hbW91bnQJAQpxdW90ZUFzc2V0AAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2RlcG9zaXQABAdfYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAMDAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkCQEKcXVvdGVBc3NldAAGCQEBIQEJAQtpbml0aWFsaXplZAAGCQEBIQEDAwkBC2lzV2hpdGVsaXN0AQkApQgBCAUBaQZjYWxsZXIGCQAAAggFAWkGY2FsbGVyCQERY29sbGF0ZXJhbEFkZHJlc3MABgkAAAIIBQFpBmNhbGxlcgkBDGFkbWluQWRkcmVzcwAJAAIBAhZJbnZhbGlkIGRlcG9zaXQgcGFyYW1zBAVzdGFrZQkA/AcECQEObWFuYWdlckFkZHJlc3MAAgdkZXBvc2l0BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQpxdW90ZUFzc2V0AAUHX2Ftb3VudAUDbmlsAwkAAAIFBXN0YWtlBQVzdGFrZQkBD3VwZGF0ZUluc3VyYW5jZQEJAGQCCQEJaW5zdXJhbmNlAAUHX2Ftb3VudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARBtaWdyYXRlTGlxdWlkaXR5AAQGYW1vdW50CQEJaW5zdXJhbmNlAAQHdW5zdGFrZQkA/AcECQERcXVvdGVBc3NldFN0YWtpbmcAAg51bmxvY2tOZXV0cmlubwkAzAgCBQZhbW91bnQJAMwIAgkA2AQBCQEKcXVvdGVBc3NldAAFA25pbAUDbmlsAwkAAAIFB3Vuc3Rha2UFB3Vuc3Rha2UEBXN0YWtlCQD8BwQJAQ5tYW5hZ2VyQWRkcmVzcwACB2RlcG9zaXQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBCnF1b3RlQXNzZXQABQZhbW91bnQFA25pbAMJAAACBQVzdGFrZQUFc3Rha2UFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAJAQ5hZG1pblB1YmxpY0tleQAZ/N6k", "height": 3385630, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E4dX1DjFmJyQnXsVYtFiGfTeTbWC4rPDwGAmoL1pjapa Next: none Diff:
OldNewDifferences
1717
1818 let h = "k_manager_address"
1919
20-let i = "k_initialized"
20+let i = "k_collateral_address"
2121
22-func j (k,l) = ((k + "_") + l)
22+let j = "k_initialized"
23+
24+func k (l,m) = ((l + "_") + m)
2325
2426
25-func m () = valueOrElse(getInteger(this, a), 0)
27+func n () = valueOrElse(getInteger(this, a), 0)
2628
2729
28-func n () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, b), "Coordinator not set")), "Coordinator not set")
30+func o () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, b), "Coordinator not set")), "Coordinator not set")
2931
3032
31-func o (l) = valueOrElse(getBoolean(n(), j(c, l)), false)
33+func p (m) = valueOrElse(getBoolean(o(), k(c, m)), false)
3234
3335
34-func p () = valueOrElse(getBoolean(this, i), false)
36+func q () = valueOrElse(getBoolean(this, j), false)
3537
3638
37-func q () = addressFromString(valueOrErrorMessage(getString(n(), d), "Admin address not set"))
39+func r () = addressFromString(valueOrErrorMessage(getString(o(), d), "Admin address not set"))
3840
3941
40-func r () = fromBase58String(valueOrErrorMessage(getString(n(), e), "Admin public key not set"))
42+func s () = fromBase58String(valueOrErrorMessage(getString(o(), e), "Admin public key not set"))
4143
4244
43-func s () = fromBase58String(valueOrErrorMessage(getString(n(), f), "Quote asset not set"))
45+func t () = fromBase58String(valueOrErrorMessage(getString(o(), f), "Quote asset not set"))
4446
4547
46-func t () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n(), g), "Quote asset staking not set")), "Quote asset staking not set")
48+func u () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(o(), g), "Quote asset staking not set")), "Quote asset staking not set")
4749
4850
49-func u () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n(), h), "Manager not set")), "Manager not set")
51+func v () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(o(), h), "Manager not set")), "Manager not set")
5052
5153
52-func v (w) = [IntegerEntry(a, w)]
54+func w () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(o(), i), "Collateral not set")), "Collateral not set")
5355
5456
55-@Callable(w)
56-func initialize (x) = if (p())
57+func x (y) = [IntegerEntry(a, y)]
58+
59+
60+@Callable(y)
61+func initialize (z) = if (q())
5762 then throw("Already initialized")
58- else [StringEntry(b, x), BooleanEntry(i, true)]
63+ else [StringEntry(b, z), BooleanEntry(j, true)]
5964
6065
6166
62-@Callable(w)
63-func withdraw (y) = if (if (if (!(o(toString(w.caller))))
67+@Callable(y)
68+func withdraw (A) = if (if (if (!(if (p(toString(y.caller)))
6469 then true
65- else !(p()))
70+ else (y.caller == w())))
6671 then true
67- else (y > m()))
68- then throw(((("Invalid withdraw params " + toString(y)) + " > ") + toString(m())))
72+ else !(q()))
73+ then true
74+ else (A > n()))
75+ then throw(((("Invalid withdraw params (insurance) " + toString(A)) + " > ") + toString(n())))
6976 else {
70- let z = invoke(u(), "withdraw", [toBase58String(s()), y], nil)
71- if ((z == z))
72- then (v((m() - y)) ++ [ScriptTransfer(w.caller, y, s())])
77+ let B = invoke(v(), "withdraw", [toBase58String(t()), A], nil)
78+ if ((B == B))
79+ then (x((n() - A)) ++ [ScriptTransfer(y.caller, A, t())])
7380 else throw("Strict value is not equal to itself.")
7481 }
7582
7683
7784
78-@Callable(w)
85+@Callable(y)
7986 func deposit () = {
80- let y = w.payments[0].amount
81- if (if (if ((w.payments[0].assetId != s()))
87+ let A = y.payments[0].amount
88+ if (if (if ((y.payments[0].assetId != t()))
8289 then true
83- else !(p()))
90+ else !(q()))
8491 then true
85- else if (!(o(toString(w.caller))))
86- then (w.caller != q())
87- else false)
92+ else !(if (if (p(toString(y.caller)))
93+ then true
94+ else (y.caller == w()))
95+ then true
96+ else (y.caller == r())))
8897 then throw("Invalid deposit params")
8998 else {
90- let A = invoke(u(), "deposit", nil, [AttachedPayment(s(), y)])
91- if ((A == A))
92- then v((m() + y))
99+ let C = invoke(v(), "deposit", nil, [AttachedPayment(t(), A)])
100+ if ((C == C))
101+ then x((n() + A))
93102 else throw("Strict value is not equal to itself.")
94103 }
95104 }
96105
97106
98107
99-@Callable(w)
108+@Callable(y)
100109 func migrateLiquidity () = {
101- let B = m()
102- let z = invoke(t(), "unlockNeutrino", [B, toBase58String(s())], nil)
103- if ((z == z))
110+ let D = n()
111+ let B = invoke(u(), "unlockNeutrino", [D, toBase58String(t())], nil)
112+ if ((B == B))
104113 then {
105- let A = invoke(u(), "deposit", nil, [AttachedPayment(s(), B)])
106- if ((A == A))
114+ let C = invoke(v(), "deposit", nil, [AttachedPayment(t(), D)])
115+ if ((C == C))
107116 then nil
108117 else throw("Strict value is not equal to itself.")
109118 }
111120 }
112121
113122
114-@Verifier(C)
115-func D () = sigVerify(C.bodyBytes, C.proofs[0], r())
123+@Verifier(E)
124+func F () = sigVerify(E.bodyBytes, E.proofs[0], s())
116125
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "k_insurance"
55
66 let b = "k_coordinatorAddress"
77
88 let c = "k_amm"
99
1010 let d = "k_admin_address"
1111
1212 let e = "k_admin_public_key"
1313
1414 let f = "k_quote_asset"
1515
1616 let g = "k_quote_staking"
1717
1818 let h = "k_manager_address"
1919
20-let i = "k_initialized"
20+let i = "k_collateral_address"
2121
22-func j (k,l) = ((k + "_") + l)
22+let j = "k_initialized"
23+
24+func k (l,m) = ((l + "_") + m)
2325
2426
25-func m () = valueOrElse(getInteger(this, a), 0)
27+func n () = valueOrElse(getInteger(this, a), 0)
2628
2729
28-func n () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, b), "Coordinator not set")), "Coordinator not set")
30+func o () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, b), "Coordinator not set")), "Coordinator not set")
2931
3032
31-func o (l) = valueOrElse(getBoolean(n(), j(c, l)), false)
33+func p (m) = valueOrElse(getBoolean(o(), k(c, m)), false)
3234
3335
34-func p () = valueOrElse(getBoolean(this, i), false)
36+func q () = valueOrElse(getBoolean(this, j), false)
3537
3638
37-func q () = addressFromString(valueOrErrorMessage(getString(n(), d), "Admin address not set"))
39+func r () = addressFromString(valueOrErrorMessage(getString(o(), d), "Admin address not set"))
3840
3941
40-func r () = fromBase58String(valueOrErrorMessage(getString(n(), e), "Admin public key not set"))
42+func s () = fromBase58String(valueOrErrorMessage(getString(o(), e), "Admin public key not set"))
4143
4244
43-func s () = fromBase58String(valueOrErrorMessage(getString(n(), f), "Quote asset not set"))
45+func t () = fromBase58String(valueOrErrorMessage(getString(o(), f), "Quote asset not set"))
4446
4547
46-func t () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n(), g), "Quote asset staking not set")), "Quote asset staking not set")
48+func u () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(o(), g), "Quote asset staking not set")), "Quote asset staking not set")
4749
4850
49-func u () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(n(), h), "Manager not set")), "Manager not set")
51+func v () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(o(), h), "Manager not set")), "Manager not set")
5052
5153
52-func v (w) = [IntegerEntry(a, w)]
54+func w () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(o(), i), "Collateral not set")), "Collateral not set")
5355
5456
55-@Callable(w)
56-func initialize (x) = if (p())
57+func x (y) = [IntegerEntry(a, y)]
58+
59+
60+@Callable(y)
61+func initialize (z) = if (q())
5762 then throw("Already initialized")
58- else [StringEntry(b, x), BooleanEntry(i, true)]
63+ else [StringEntry(b, z), BooleanEntry(j, true)]
5964
6065
6166
62-@Callable(w)
63-func withdraw (y) = if (if (if (!(o(toString(w.caller))))
67+@Callable(y)
68+func withdraw (A) = if (if (if (!(if (p(toString(y.caller)))
6469 then true
65- else !(p()))
70+ else (y.caller == w())))
6671 then true
67- else (y > m()))
68- then throw(((("Invalid withdraw params " + toString(y)) + " > ") + toString(m())))
72+ else !(q()))
73+ then true
74+ else (A > n()))
75+ then throw(((("Invalid withdraw params (insurance) " + toString(A)) + " > ") + toString(n())))
6976 else {
70- let z = invoke(u(), "withdraw", [toBase58String(s()), y], nil)
71- if ((z == z))
72- then (v((m() - y)) ++ [ScriptTransfer(w.caller, y, s())])
77+ let B = invoke(v(), "withdraw", [toBase58String(t()), A], nil)
78+ if ((B == B))
79+ then (x((n() - A)) ++ [ScriptTransfer(y.caller, A, t())])
7380 else throw("Strict value is not equal to itself.")
7481 }
7582
7683
7784
78-@Callable(w)
85+@Callable(y)
7986 func deposit () = {
80- let y = w.payments[0].amount
81- if (if (if ((w.payments[0].assetId != s()))
87+ let A = y.payments[0].amount
88+ if (if (if ((y.payments[0].assetId != t()))
8289 then true
83- else !(p()))
90+ else !(q()))
8491 then true
85- else if (!(o(toString(w.caller))))
86- then (w.caller != q())
87- else false)
92+ else !(if (if (p(toString(y.caller)))
93+ then true
94+ else (y.caller == w()))
95+ then true
96+ else (y.caller == r())))
8897 then throw("Invalid deposit params")
8998 else {
90- let A = invoke(u(), "deposit", nil, [AttachedPayment(s(), y)])
91- if ((A == A))
92- then v((m() + y))
99+ let C = invoke(v(), "deposit", nil, [AttachedPayment(t(), A)])
100+ if ((C == C))
101+ then x((n() + A))
93102 else throw("Strict value is not equal to itself.")
94103 }
95104 }
96105
97106
98107
99-@Callable(w)
108+@Callable(y)
100109 func migrateLiquidity () = {
101- let B = m()
102- let z = invoke(t(), "unlockNeutrino", [B, toBase58String(s())], nil)
103- if ((z == z))
110+ let D = n()
111+ let B = invoke(u(), "unlockNeutrino", [D, toBase58String(t())], nil)
112+ if ((B == B))
104113 then {
105- let A = invoke(u(), "deposit", nil, [AttachedPayment(s(), B)])
106- if ((A == A))
114+ let C = invoke(v(), "deposit", nil, [AttachedPayment(t(), D)])
115+ if ((C == C))
107116 then nil
108117 else throw("Strict value is not equal to itself.")
109118 }
110119 else throw("Strict value is not equal to itself.")
111120 }
112121
113122
114-@Verifier(C)
115-func D () = sigVerify(C.bodyBytes, C.proofs[0], r())
123+@Verifier(E)
124+func F () = sigVerify(E.bodyBytes, E.proofs[0], s())
116125

github/deemru/w8io/6500d08 
44.78 ms