2023.03.31 14:17 [3579633] smart account 3P6bdKDQK3LQ1892EThnmbnzySGLuaBLhuU > SELF 0.00000000 Waves

{ "type": 13, "id": "BQwwEjb3vyi4B16neSbEXmzBGwBFXJwC2JuNY5bFSyeu", "fee": 1000000, "feeAssetId": null, "timestamp": 1680261445892, "version": 2, "chainId": 87, "sender": "3P6bdKDQK3LQ1892EThnmbnzySGLuaBLhuU", "senderPublicKey": "Bjybv58sNrX1PivGe3LbDB5PfAMupkGEFJMHBXZsiqB7", "proofs": [ "363LpuiA9rrr3KuLpFyJd8MKayyULb8bPUVCJgfubX3LF46Y3cgd3Q3oYf9E5BbhiwAeKzroAzsrtvWxuGBLaxgS" ], "script": "base64:BgIgCAISABIFCgMBBAESBQoDCAgIEgYKBAgIBAQSBAoCCAgJAAVhZG1pbgkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BQaXJOTVI4WmRwOFZQQWhKYWlXWnZraTUxMlZUcktNaDMAA0xaRAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BLcEVlQXY4eG50bTZMeWl1WUM5d0pZZ0p0N1EzZ3JMemQABVBPV0VSASAcGoOgxPcuHoJHc9dFQ8EohtOqzK3OgjMfsSGomp68SgACTFABIIpwn1FfoUjWMbo3T9w8WM9cmam+b/MW+UvuGdd2dRZ+AARVU0ROCQDZBAECLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwAARtYWluCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEFadjl0Z0sxUFg3ZEtSN2I0a2NocTVxZHBVUzNHNXNZVAAMYXNzZXRTdHJpbmdzCQDMCAICLDZYdEhqcFhiczlSUkpQMlNyOUdVeVZxekFDY2J5OVRrVGhIWG5qVkM1Q0RKCQDMCAICLDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKCQDMCAICLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwBQNuaWwACHJlc2VydmVzCQDMCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQR0NrckhCeEZNaTd0ejF4cW54Z0JwZU52bjVFNE00ZzhTCQDMCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQRWlEMXpKV1RNWk5XU0N5emh2Qnc5cHh4QVdlRXdhZ2hSCQDMCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQQ3dGWFNxOHZqOGlLaXRBNXpyckxSYnVxZWhmbWltcGNlBQNuaWwBBWFzSW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECGXdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQFAWkBBGR1bXAAAwkBAiE9AggFAWkGY2FsbGVyBQVhZG1pbgkAAgECASEEAndiCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQJ3YgUCd2IEBWNsYWltCQD8BwQJAQdBZGRyZXNzAQEaAVdDr9Ua5bTjiqwyH2jHqmPxjl4BUuwlbPUCB3Vuc3Rha2UJAMwIAgD///////////8BBQNuaWwFA25pbAMJAAACBQVjbGFpbQUFY2xhaW0EBnB1dE9uZQkA/AcECQEHQWRkcmVzcwEBGgFXgTawT2doacAQvhDQ6s91Zb0F3opvubAPAglwdXRPbmVUa24JAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBVBPV0VSCQDwBwIFBHRoaXMFBVBPV0VSBQNuaWwDCQAAAgUGcHV0T25lBQZwdXRPbmUEBmdldE9uZQkA/AcECQEHQWRkcmVzcwEBGgFXgTawT2doacAQvhDQ6s91Zb0F3opvubAPAglnZXRPbmVUa24JAMwIAgIFV0FWRVMJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAkxQCQDwBwIFBHRoaXMFAkxQBQNuaWwDCQAAAgUGZ2V0T25lBQZnZXRPbmUEAndhCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQJ3YQUCd2EJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYWRtaW4JAGsDCQBlAgUCd2EFAndiAJYBAOgHBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFA0xaRAkAawMJAGUCBQJ3YQUCd2IA0gYA6AcFBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQF3AwJiYgFwCG1heExpbWl0AwkBAiE9AggFAWkGY2FsbGVyBQVhZG1pbgkAAgECASEEDWFzc2V0SWRTdHJpbmcJAJEDAgUMYXNzZXRTdHJpbmdzBQJiYgQHYXNzZXRJZAkA2QQBBQ1hc3NldElkU3RyaW5nBAdyZXNlcnZlCQCRAwIFCHJlc2VydmVzBQJiYgQJYXZhaWxhYmxlCQDwBwIFB3Jlc2VydmUFB2Fzc2V0SWQEAXYDCQBmAgUJYXZhaWxhYmxlBQhtYXhMaW1pdAUIbWF4TGltaXQFCWF2YWlsYWJsZQQGYW1vdW50CQEFYXNJbnQBCQD8BwQFBG1haW4CCHdpdGhkcmF3CQDMCAIFDWFzc2V0SWRTdHJpbmcJAMwIAgUBdgUDbmlsBQNuaWwDAwkAZgIFBmFtb3VudADAhD0GBQFwCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWFkbWluCQBrAwUGYW1vdW50ACMA6AcFB2Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUDTFpECQBrAwUGYW1vdW50AMUHAOgHBQdhc3NldElkBQNuaWwJAAIBCQCkAwEFBmFtb3VudAFpAQh3aXRoZHJhdwMBYQFiAWMDCQECIT0CCAUBaQZjYWxsZXIFBWFkbWluCQACAQIBIQQDaW52CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEFAWIJAMwIAgUBYwUDbmlsBQNuaWwDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ53aXRoZHJhd1Zlc3RlZAQBYQFiAWMBZAMJAQIhPQIIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAgEhBAdhbW91bnRhCQDwBwIFBHRoaXMFBFVTRE4DCQAAAgUHYW1vdW50YQUHYW1vdW50YQQDaW52CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEFAWIJAMwIAgUBYwkAzAgCBQFkBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQHYW1vdW50YgkA8AcCBQR0aGlzBQRVU0ROAwkAAAIFB2Ftb3VudGIFB2Ftb3VudGIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYWRtaW4JAGsDCQBlAgUHYW1vdW50YgUHYW1vdW50YQAjAOgHBQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFY2xhaW0CAWEBYgMJAQIhPQIIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAgEhBAdhbW91bnRhCQDwBwIFBHRoaXMFBFVTRE4DCQAAAgUHYW1vdW50YQUHYW1vdW50YQQDaW52CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEFAWIFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BAdhbW91bnRiCQDwBwIFBHRoaXMFBFVTRE4DCQAAAgUHYW1vdW50YgUHYW1vdW50YgQGYW1vdW50CQBlAgUHYW1vdW50YgUHYW1vdW50YQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVhZG1pbgkAawMFBmFtb3VudAAjAOgHBQRVU0ROCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFA0xaRAkAawMFBmFtb3VudADFBwDoBwUEVVNETgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAkAyBMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tlecoJy9I=", "height": 3579633, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6xDT2J8n67LKW3Q4EXg3UHAiuvoA4p4FFjAzERkgLxwG Next: none Diff:
OldNewDifferences
44 let admin = addressFromStringValue("3PPirNMR8Zdp8VPAhJaiWZvki512VTrKMh3")
55
66 let LZD = addressFromStringValue("3PKpEeAv8xntm6LyiuYC9wJYgJt7Q3grLzd")
7+
8+let POWER = base58'2thsACuHmzDMuNezPM32wg9a3BwUzBWDeSKakgz3cw21'
9+
10+let LP = base58'AKQsEQoeinKRFtdx6rhKWcpkAMu6cbDLdtSWnR8tpBCq'
711
812 let USDN = fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p")
913
1923 case _ =>
2024 throw("wrong type, expected: Int")
2125 }
26+
27+
28+@Callable(i)
29+func dump () = if ((i.caller != admin))
30+ then throw("!")
31+ else {
32+ let wb = wavesBalance(this).available
33+ if ((wb == wb))
34+ then {
35+ let claim = invoke(Address(base58'3P86ne9inVG1Cf4smrEGSdcXyBuEApPcMAc'), "unstake", [-1], nil)
36+ if ((claim == claim))
37+ then {
38+ let putOne = invoke(Address(base58'3PDi7Qq8pLQYvtKyTfQuqqPUWyhoYbU957t'), "putOneTkn", [1, false], [AttachedPayment(POWER, assetBalance(this, POWER))])
39+ if ((putOne == putOne))
40+ then {
41+ let getOne = invoke(Address(base58'3PDi7Qq8pLQYvtKyTfQuqqPUWyhoYbU957t'), "getOneTkn", ["WAVES", 1], [AttachedPayment(LP, assetBalance(this, LP))])
42+ if ((getOne == getOne))
43+ then {
44+ let wa = wavesBalance(this).available
45+ if ((wa == wa))
46+ then [ScriptTransfer(admin, fraction((wa - wb), 150, 1000), unit), ScriptTransfer(LZD, fraction((wa - wb), 850, 1000), unit)]
47+ else throw("Strict value is not equal to itself.")
48+ }
49+ else throw("Strict value is not equal to itself.")
50+ }
51+ else throw("Strict value is not equal to itself.")
52+ }
53+ else throw("Strict value is not equal to itself.")
54+ }
55+ else throw("Strict value is not equal to itself.")
56+ }
57+
2258
2359
2460 @Callable(i)
5894 func withdrawVested (a,b,c,d) = if ((i.caller != admin))
5995 then throw("!")
6096 else {
61- let inv = invoke(addressFromStringValue(a), b, [c, d], nil)
62- if ((inv == inv))
97+ let amounta = assetBalance(this, USDN)
98+ if ((amounta == amounta))
6399 then {
64- let amount = assetBalance(this, USDN)
65- if ((amount == amount))
66- then [ScriptTransfer(admin, fraction(amount, 35, 1000), USDN), ScriptTransfer(LZD, fraction(amount, 965, 1000), USDN)]
100+ let inv = invoke(addressFromStringValue(a), b, [c, d], nil)
101+ if ((inv == inv))
102+ then {
103+ let amountb = assetBalance(this, USDN)
104+ if ((amountb == amountb))
105+ then [ScriptTransfer(admin, fraction((amountb - amounta), 35, 1000), USDN)]
106+ else throw("Strict value is not equal to itself.")
107+ }
67108 else throw("Strict value is not equal to itself.")
68109 }
69110 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let admin = addressFromStringValue("3PPirNMR8Zdp8VPAhJaiWZvki512VTrKMh3")
55
66 let LZD = addressFromStringValue("3PKpEeAv8xntm6LyiuYC9wJYgJt7Q3grLzd")
7+
8+let POWER = base58'2thsACuHmzDMuNezPM32wg9a3BwUzBWDeSKakgz3cw21'
9+
10+let LP = base58'AKQsEQoeinKRFtdx6rhKWcpkAMu6cbDLdtSWnR8tpBCq'
711
812 let USDN = fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p")
913
1014 let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
1115
1216 let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
1317
1418 let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
1519
1620 func asInt (value) = match value {
1721 case int: Int =>
1822 int
1923 case _ =>
2024 throw("wrong type, expected: Int")
2125 }
26+
27+
28+@Callable(i)
29+func dump () = if ((i.caller != admin))
30+ then throw("!")
31+ else {
32+ let wb = wavesBalance(this).available
33+ if ((wb == wb))
34+ then {
35+ let claim = invoke(Address(base58'3P86ne9inVG1Cf4smrEGSdcXyBuEApPcMAc'), "unstake", [-1], nil)
36+ if ((claim == claim))
37+ then {
38+ let putOne = invoke(Address(base58'3PDi7Qq8pLQYvtKyTfQuqqPUWyhoYbU957t'), "putOneTkn", [1, false], [AttachedPayment(POWER, assetBalance(this, POWER))])
39+ if ((putOne == putOne))
40+ then {
41+ let getOne = invoke(Address(base58'3PDi7Qq8pLQYvtKyTfQuqqPUWyhoYbU957t'), "getOneTkn", ["WAVES", 1], [AttachedPayment(LP, assetBalance(this, LP))])
42+ if ((getOne == getOne))
43+ then {
44+ let wa = wavesBalance(this).available
45+ if ((wa == wa))
46+ then [ScriptTransfer(admin, fraction((wa - wb), 150, 1000), unit), ScriptTransfer(LZD, fraction((wa - wb), 850, 1000), unit)]
47+ else throw("Strict value is not equal to itself.")
48+ }
49+ else throw("Strict value is not equal to itself.")
50+ }
51+ else throw("Strict value is not equal to itself.")
52+ }
53+ else throw("Strict value is not equal to itself.")
54+ }
55+ else throw("Strict value is not equal to itself.")
56+ }
57+
2258
2359
2460 @Callable(i)
2561 func w (bb,p,maxLimit) = if ((i.caller != admin))
2662 then throw("!")
2763 else {
2864 let assetIdString = assetStrings[bb]
2965 let assetId = fromBase58String(assetIdString)
3066 let reserve = reserves[bb]
3167 let available = assetBalance(reserve, assetId)
3268 let v = if ((available > maxLimit))
3369 then maxLimit
3470 else available
3571 let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil))
3672 if (if ((amount > 1000000))
3773 then true
3874 else p)
3975 then [ScriptTransfer(admin, fraction(amount, 35, 1000), assetId), ScriptTransfer(LZD, fraction(amount, 965, 1000), assetId)]
4076 else throw(toString(amount))
4177 }
4278
4379
4480
4581 @Callable(i)
4682 func withdraw (a,b,c) = if ((i.caller != admin))
4783 then throw("!")
4884 else {
4985 let inv = invoke(addressFromStringValue(a), b, [c], nil)
5086 if ((inv == inv))
5187 then nil
5288 else throw("Strict value is not equal to itself.")
5389 }
5490
5591
5692
5793 @Callable(i)
5894 func withdrawVested (a,b,c,d) = if ((i.caller != admin))
5995 then throw("!")
6096 else {
61- let inv = invoke(addressFromStringValue(a), b, [c, d], nil)
62- if ((inv == inv))
97+ let amounta = assetBalance(this, USDN)
98+ if ((amounta == amounta))
6399 then {
64- let amount = assetBalance(this, USDN)
65- if ((amount == amount))
66- then [ScriptTransfer(admin, fraction(amount, 35, 1000), USDN), ScriptTransfer(LZD, fraction(amount, 965, 1000), USDN)]
100+ let inv = invoke(addressFromStringValue(a), b, [c, d], nil)
101+ if ((inv == inv))
102+ then {
103+ let amountb = assetBalance(this, USDN)
104+ if ((amountb == amountb))
105+ then [ScriptTransfer(admin, fraction((amountb - amounta), 35, 1000), USDN)]
106+ else throw("Strict value is not equal to itself.")
107+ }
67108 else throw("Strict value is not equal to itself.")
68109 }
69110 else throw("Strict value is not equal to itself.")
70111 }
71112
72113
73114
74115 @Callable(i)
75116 func claim (a,b) = if ((i.caller != admin))
76117 then throw("!")
77118 else {
78119 let amounta = assetBalance(this, USDN)
79120 if ((amounta == amounta))
80121 then {
81122 let inv = invoke(addressFromStringValue(a), b, nil, nil)
82123 if ((inv == inv))
83124 then {
84125 let amountb = assetBalance(this, USDN)
85126 if ((amountb == amountb))
86127 then {
87128 let amount = (amountb - amounta)
88129 [ScriptTransfer(admin, fraction(amount, 35, 1000), USDN), ScriptTransfer(LZD, fraction(amount, 965, 1000), USDN)]
89130 }
90131 else throw("Strict value is not equal to itself.")
91132 }
92133 else throw("Strict value is not equal to itself.")
93134 }
94135 else throw("Strict value is not equal to itself.")
95136 }
96137
97138
98139 @Verifier(tx)
99140 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
100141

github/deemru/w8io/786bc32 
35.01 ms