tx · Gq3EjRnmETyUCvUVkuhe91aMDGXT5kiWKNPJAhoi2qXK

3Mzj8MyE3E3G55SLVE6Dgd6ew2uERLxiE4U:  -0.01300000 Waves

2022.10.27 10:23 [2290524] smart account 3Mzj8MyE3E3G55SLVE6Dgd6ew2uERLxiE4U > SELF 0.00000000 Waves

{ "type": 13, "id": "Gq3EjRnmETyUCvUVkuhe91aMDGXT5kiWKNPJAhoi2qXK", "fee": 1300000, "feeAssetId": null, "timestamp": 1666855364441, "version": 1, "sender": "3Mzj8MyE3E3G55SLVE6Dgd6ew2uERLxiE4U", "senderPublicKey": "8E1ZoUTJyyA7ybXtP2NxUZKdAwvR1ruiQUxZD2bYJJMF", "proofs": [ "3hz8RA6GteRjgH87y9XaqA2DxkGx9gh1obP5bCCPkVURPgJgDQmoswqmwcbtDbj9iJjq9BhUwnMWf4DRa6XR4UyF" ], "script": "base64:BgKBCQgCEgMKAQESAwoBARIDCgEBEgMKAQESAwoBARIECgIICBIAEgASBAoCAQESAwoBCBIAIg9kZWNpbWFsUGFydFVTRE4iD2RlY2ltYWxQYXJ0VVNEVCIQa2V5V2l0aGRyYXdEZWxheSINd2l0aGRyYXdEZWxheSIaa2V5TWluaW1hbEFtb3VudFRvU3dhcFVzZHQiGmtleU1pbmltYWxBbW91bnRUb1N3YXBVc2RuIgdtaW5Vc2R0IgdtaW5Vc2RuIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIOa2V5VXNkdEFzc2V0SWQiDmtleVVzZG5Bc3NldElkIg1rZXlEZXBvc2l0RmVlIg5rZXlXaXRoZHJhd0ZlZSIEdXNkdCIEdXNkbiIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIHJG1hdGNoMCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiCmNvbGxlY3RLZXkiB2FkZHJlc3MiEWFtb3VudFRvU3dhcEluS2V5IhVhbGxvd1RvV2l0aGRyYXdIZWlnaHQiEWNvbGxlY3RCYWxhbmNlS2V5Ihhjb2xsZWN0QmFsYW5jZUtleVdpdGhGZWUiFHVzZHRUb1VzZG5Bc3NldEVycm9yIhR1c2RuVG9Vc2R0QXNzZXRFcnJvciIXdXNkdFRvVXNkbkxvd0xpbWl0RXJyb3IiA2FicyIBbiIVZ2V0V2l0aG91dEZlZVdpdGhkcmF3IgZhbW91bnQiEWJhbGFuY2VXaXRob3V0RmVlIhdnZXRMaXN0RWxlbWVudE9yRGVmYXVsdCIEbGlzdCIFaW5kZXgiB2RlZmF1bHQiEmN1cnJlbnRXaXRoZHJhd2FscyIKYmFsYW5jZUtleSIRYmFsYW5jZVdpdGhGZWVLZXkiFGN1cnJlbnRDbGllbnRCYWxhbmNlIhtjdXJyZW50Q2xpZW50QmFsYW5jZVdpdGhGZWUiC3VzZXJCYWxhbmNlIhR0b1dpdGhkcmF3V2l0aG91dEZlZSIRdG9XaXRoZHJhd1dpdGhGZWUiA2ZlZSILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIQbmV3V2l0aGRyYXdEZWxheSILY2hlY2tDYWxsZXIiEG5ld01pbmltYWxBbW91bnQiBm5ld0ZlZSILdXNkdEFzc2V0SWQiC3VzZG5Bc3NldElkIgZpbnZva2UiB3BheW1lbnQiGGN1cnJlbnRDbGllbnRCYWxhbmNlVVNEVCIEZGF0YSIFdG90YWwiFWFsbG93VG9XaXRoRHJhd0hlaWdodCILaGVpZ2h0SW5LZXkiA2tleSINd2l0aGRyYXduSW5mbyIKdG9XaXRoZHJhdyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXkdAAFhAMCEPQABYgDAhD0BAWMAAhElc19fd2l0aGRyYXdEZWxheQEBZAAJAQV2YWx1ZQEJAJ8IAQkBAWMAAQFlAAIbJXNfX21pbmltYWxBbW91bnRUb1N3YXBVc2R0AQFmAAIbJXNfX21pbmltYWxBbW91bnRUb1N3YXBVc2RuAQFnAAkBBXZhbHVlAQkAnwgBCQEBZQABAWgACQEFdmFsdWUBCQCfCAEJAQFmAAEBaQACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFqAAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AQFrAAIPJXNfX3VzZHRBc3NldElkAQFsAAIPJXNfX3VzZG5Bc3NldElkAQFtAAIOJXNfX2RlcG9zaXRGZWUBAW4AAg8lc19fd2l0aGRyYXdGZWUBAW8ACQDZBAEJAQV2YWx1ZQEJAKIIAQkBAWsAAQFwAAkA2QQBCQEFdmFsdWUBCQCiCAEJAQFsAAEBcQAEAXIJAKIIAQkBAWkAAwkAAQIFAXICBlN0cmluZwQBcwUBcgkA2QQBBQFzAwkAAQIFAXICBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEBdAAEAXIJAKIIAQkBAWoAAwkAAQIFAXICBlN0cmluZwQBcwUBcgkA2QQBBQFzAwkAAQIFAXICBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEBdQMBdgF3AXgJALkJAgkAzAgCBQF2CQDMCAICCFdJVEhEUkFXCQDMCAIJAKQDAQUBdwkAzAgCAgZIRUlHSFQJAMwIAgkApAMBBQF4BQNuaWwCAV8BAXkBAXYJALkJAgkAzAgCBQF2CQDMCAICB2JhbGFuY2UFA25pbAIBXwEBegEBdgkAuQkCCQDMCAIFAXYJAMwIAgIQYmFsYW5jZV93aXRoX2ZlZQUDbmlsAgFfAQFBAAkAAgECNFRvIHN3YXAgVVNEVCB0byBVU0ROIHlvdSBuZWVkIGF0dGFjaCBwYXltZW50IGluIFVTRFQBAUIACQACAQI0VG8gc3dhcCBVU0ROIHRvIFVTRFQgeW91IG5lZWQgYXR0YWNoIHBheW1lbnQgaW4gVVNETgEBQwAJAAIBCQCsAgIJAKwCAgIWeW91IGNhbiBzd2FwIGF0IGxlYXN0IAkApAMBCQBpAgkBAWcABQFiAgcgdG9rZW5zAQFEAQFFAwkAZgIAAAUBRQkAaAIFAUUA////////////AQUBRQEBRgIBRwFICQCXAwEJAMwIAgUBRwkAzAgCBQFIBQNuaWwBAUkDAUoBSwFMAwkAZgIJAJADAQUBSgUBSwkAkQMCBQFKBQFLBQFMAQFNAgF2AUcEAU4JAQF5AQUBdgQBTwkBAXoBBQF2BAFQCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAU4AAAQBUQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFPAAAEAVIJAGQCBQFQBQFRAwMJAGYCBQFHBQFSBgkAZgIJAQFoAAUBRwkAAgECL1N3YXAgYW1vdW50IGZhaWwsIGFtb3VudCBpcyB0byBzbWFsbCBvciB0byBiaWcuBAFTCQEBRgIFAUcFAVAEAVQJAGUCBQFHBQFTBAFVCQBoAgkAaQIFAVQAZAkBBXZhbHVlAQkAnwgBCQEBbgAJAMwIAgUBUwkAzAgCBQFUCQDMCAIFAVUFA25pbAEBVgEBVwQBWAkAAgECEVBlcm1pc3Npb24gZGVuaWVkBAFyCQEBcQADCQABAgUBcgIKQnl0ZVZlY3RvcgQBWQUBcgMJAAACCAUBVw9jYWxsZXJQdWJsaWNLZXkFAVkGBQFYAwkAAQIFAXICBFVuaXQDCQAAAggFAVcGY2FsbGVyBQR0aGlzBgUBWAkAAgECC01hdGNoIGVycm9yCwFXARBzZXRXaXRoZHJhd0RlbGF5AQFaBAJhYQkBAVYBBQFXAwkAAAIFAmFhBQJhYQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAWMABQFaBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BVwEac2V0TWluaW1hbEFtb3VudFRvU3dhcFVzZHQBAmFiBAJhYQkBAVYBBQFXAwkAAAIFAmFhBQJhYQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAWUABQJhYgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAVcBGnNldE1pbmltYWxBbW91bnRUb1N3YXBVc2RuAQJhYgQCYWEJAQFWAQUBVwMJAAACBQJhYQUCYWEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFmAAUCYWIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFXAQ5zZXRXaXRoZHJhd0ZlZQECYWMEAmFhCQEBVgEFAVcDCQAAAgUCYWEFAmFhCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBbgAFAmFjBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BVwENc2V0RGVwb3NpdEZlZQECYWMEAmFhCQEBVgEFAVcDCQAAAgUCYWEFAmFhCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBbQAFAmFjBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BVwELY29uc3RydWN0b3ICAmFkAmFlBAJhYQkBAVYBBQFXAwkAAAIFAmFhBQJhYQkAzAgCCQELU3RyaW5nRW50cnkCCQEBawAFAmFkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFsAAUCYWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhZgEOc3dhcFVTRFR0b1VTRE4ABAFOCQEBegEJAKUIAQgFAmFmBmNhbGxlcgQCYWcJAQV2YWx1ZQEJAJEDAggFAmFmCHBheW1lbnRzAAADCQECIT0CCAUCYWcHYXNzZXRJZAkBAW8ACQEBQQAEAUcIBQJhZwZhbW91bnQEAVUJAGgCCQBpAgUBRwBkCQEFdmFsdWUBCQCfCAEJAQFtAAQCYWgJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBTgAAAwkAZgIJAQFnAAUBRwkBAUMACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFOCQBkAgUCYWgFAUcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAmFmBmNhbGxlcgkAZQIFAUcFAVUJAQFwAAUDbmlsAmFmARxpbml0aWFsaXphdGlvblVTRE50b1VTRFRzd2FwAAQCYWcJAQV2YWx1ZQEJAJEDAggFAmFmCHBheW1lbnRzAAAEAXYJAKUIAQgFAmFmBmNhbGxlcgMJAQIhPQIIBQJhZwdhc3NldElkCQEBcAAJAQFCAAQBRwgFAmFnBmFtb3VudAQBTgkBAXkBBQF2BAFPCQEBegEFAXYEAVAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBTgAABAFRCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAU8AAAQBUgkAZAIFAVAFAVEEAmFpCQEBTQIJAKUIAQgFAmFmBmNhbGxlcgUBRwQBUwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCRAwIFAmFpAAACIldyb25nICdjdXJyZW50V2l0aGRyYXdhbHMnIG1ldGhvZCEEAVQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAkQMCBQJhaQABAiJXcm9uZyAnY3VycmVudFdpdGhkcmF3YWxzJyBtZXRob2QhBAFVCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJEDAgUCYWkAAgIiV3JvbmcgJ2N1cnJlbnRXaXRoZHJhd2FscycgbWV0aG9kIQQCYWoJAGUCCQBkAgUBVAUBUwUBVQQCYWsJAGQCBQZoZWlnaHQJAQFkAAMJAQlpc0RlZmluZWQBCQCdCAIFBHRoaXMJAQF1AwkApQgBCAUCYWYGY2FsbGVyBQFHBQJhawkAAgECPVlvdSBoYXZlIGFscmVhZHkgc3RhcnRlZCB3aXRoZHJhd2FsIHByb2Nlc3MsIHdhaXQgbmV4dCBibG9jay4JAMwIAgkBDEludGVnZXJFbnRyeQIFAU4JAGUCBQFQBQFTCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFPCQBlAgUBUQUBVAkAzAgCCQELU3RyaW5nRW50cnkCCQEBdQMJAKUIAQgFAmFmBmNhbGxlcgUBRwUCYWsJALkJAgkAzAgCAg1ub3Rfd2l0aGRyYXduCQDMCAIJAKQDAQkAZQIFAUcFAVUFA25pbAIBXwUDbmlsAmFmAQ5zd2FwVVNETnRvVVNEVAIBRwJhbAQCYW0JAQF1AwkApQgBCAUCYWYGY2FsbGVyBQFHBQJhbAQCYW4JARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBQJhbQkArAICCQCsAgIJAKwCAgIYVGhpcyBrZXkgZG9lc24ndCBleGlzdHMgBQJhbQINIGF0IGFkZHJlc3MgIAkApQgBBQR0aGlzBAJhbwkBAUkDCQC1CQIFAmFuAgFfAAIJAKQDAQUBRwMDCQBnAgUGaGVpZ2h0BQJhbAkBCGNvbnRhaW5zAgUCYW4CDW5vdF93aXRoZHJhd24HCQDMCAIJAQtEZWxldGVFbnRyeQEFAmFtCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQJhZgZjYWxsZXIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBBQJhbwIUV3Jvbmcgd2l0aGRyYXcgZGF0YSEJAQFvAAUDbmlsCQACAQkArAICCQCsAgICHVdpdGhkcmF3YWwgaXMgcG9zc2libGUgYWZ0ZXIgCQCkAwEFAmFsAisgaGVpZ2h0IG9yIHlvdSBoYXZlIGFscmVhZHkgd2l0aGRyYXduIFVTRFQuAVcBCnNldE1hbmFnZXIBAmFwBAJhYQkBAVYBBQFXAwkAAAIFAmFhBQJhYQQCYXEJANkEAQUCYXADCQAAAgUCYXEFAmFxCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFqAAUCYXAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFXAQ5jb25maXJtTWFuYWdlcgAEAmFyCQEBdAAEAmFzAwkBCWlzRGVmaW5lZAEFAmFyBgkAAgECEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAACBQJhcwUCYXMEAmF0AwkAAAIIBQFXD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCYXIGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmF0BQJhdAkAzAgCCQELU3RyaW5nRW50cnkCCQEBaQAJANgEAQkBBXZhbHVlAQUCYXIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAWoABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmF1AQJhdgAEAmF3BAFyCQEBcQADCQABAgUBcgIKQnl0ZVZlY3RvcgQBWQUBcgUBWQMJAAECBQFyAgRVbml0CAUCYXUPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmF1CWJvZHlCeXRlcwkAkQMCCAUCYXUGcHJvb2ZzAAAFAmF3TaG9jA==", "chainId": 84, "height": 2290524, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5CbWP6npU5HkvemdY48ChsjY3PB9cyKFv7LyREAF6Xz3 Next: 9pMYz7CQRLwS2gJzuWaDjREjmhPkzEZBdY14jSGWnA9M Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a () = "%s__managerPublicKey"
4+let a = 1000000
5+
6+let b = 1000000
7+
8+func c () = "%s__withdrawDelay"
59
610
7-func b () = "%s__pendingManagerPublicKey"
11+func d () = value(getInteger(c()))
812
913
10-func c () = {
11- let d = getString(a())
12- if ($isInstanceOf(d, "String"))
14+func e () = "%s__minimalAmountToSwapUsdt"
15+
16+
17+func f () = "%s__minimalAmountToSwapUsdn"
18+
19+
20+func g () = value(getInteger(e()))
21+
22+
23+func h () = value(getInteger(f()))
24+
25+
26+func i () = "%s__managerPublicKey"
27+
28+
29+func j () = "%s__pendingManagerPublicKey"
30+
31+
32+func k () = "%s__usdtAssetId"
33+
34+
35+func l () = "%s__usdnAssetId"
36+
37+
38+func m () = "%s__depositFee"
39+
40+
41+func n () = "%s__withdrawFee"
42+
43+
44+func o () = fromBase58String(value(getString(k())))
45+
46+
47+func p () = fromBase58String(value(getString(l())))
48+
49+
50+func q () = {
51+ let r = getString(i())
52+ if ($isInstanceOf(r, "String"))
1353 then {
14- let e = d
15- fromBase58String(e)
54+ let s = r
55+ fromBase58String(s)
1656 }
17- else if ($isInstanceOf(d, "Unit"))
57+ else if ($isInstanceOf(r, "Unit"))
1858 then unit
1959 else throw("Match error")
2060 }
2161
2262
23-func f () = {
24- let d = getString(b())
25- if ($isInstanceOf(d, "String"))
63+func t () = {
64+ let r = getString(j())
65+ if ($isInstanceOf(r, "String"))
2666 then {
27- let e = d
28- fromBase58String(e)
67+ let s = r
68+ fromBase58String(s)
2969 }
30- else if ($isInstanceOf(d, "Unit"))
70+ else if ($isInstanceOf(r, "Unit"))
3171 then unit
3272 else throw("Match error")
3373 }
3474
3575
36-func g (h) = {
37- let i = throw("Permission denied")
38- let d = c()
39- if ($isInstanceOf(d, "ByteVector"))
76+func u (v,w,x) = makeString([v, "WITHDRAW", toString(w), "HEIGHT", toString(x)], "_")
77+
78+
79+func y (v) = makeString([v, "balance"], "_")
80+
81+
82+func z (v) = makeString([v, "balance_with_fee"], "_")
83+
84+
85+func A () = throw("To swap USDT to USDN you need attach payment in USDT")
86+
87+
88+func B () = throw("To swap USDN to USDT you need attach payment in USDN")
89+
90+
91+func C () = throw((("you can swap at least " + toString((g() / b))) + " tokens"))
92+
93+
94+func D (E) = if ((0 > E))
95+ then (E * -1)
96+ else E
97+
98+
99+func F (G,H) = min([G, H])
100+
101+
102+func I (J,K,L) = if ((size(J) > K))
103+ then J[K]
104+ else L
105+
106+
107+func M (v,G) = {
108+ let N = y(v)
109+ let O = z(v)
110+ let P = valueOrElse(getInteger(this, N), 0)
111+ let Q = valueOrElse(getInteger(this, O), 0)
112+ let R = (P + Q)
113+ if (if ((G > R))
114+ then true
115+ else (h() > G))
116+ then throw("Swap amount fail, amount is to small or to big.")
117+ else {
118+ let S = F(G, P)
119+ let T = (G - S)
120+ let U = ((T / 100) * value(getInteger(n())))
121+[S, T, U]
122+ }
123+ }
124+
125+
126+func V (W) = {
127+ let X = throw("Permission denied")
128+ let r = q()
129+ if ($isInstanceOf(r, "ByteVector"))
40130 then {
41- let j = d
42- if ((h.callerPublicKey == j))
131+ let Y = r
132+ if ((W.callerPublicKey == Y))
43133 then true
44- else i
134+ else X
45135 }
46- else if ($isInstanceOf(d, "Unit"))
47- then if ((h.caller == this))
136+ else if ($isInstanceOf(r, "Unit"))
137+ then if ((W.caller == this))
48138 then true
49- else i
139+ else X
50140 else throw("Match error")
51141 }
52142
53143
54-@Callable(h)
55-func setManager (k) = {
56- let l = g(h)
57- if ((l == l))
144+@Callable(W)
145+func setWithdrawDelay (Z) = {
146+ let aa = V(W)
147+ if ((aa == aa))
148+ then [IntegerEntry(c(), Z)]
149+ else throw("Strict value is not equal to itself.")
150+ }
151+
152+
153+
154+@Callable(W)
155+func setMinimalAmountToSwapUsdt (ab) = {
156+ let aa = V(W)
157+ if ((aa == aa))
158+ then [IntegerEntry(e(), ab)]
159+ else throw("Strict value is not equal to itself.")
160+ }
161+
162+
163+
164+@Callable(W)
165+func setMinimalAmountToSwapUsdn (ab) = {
166+ let aa = V(W)
167+ if ((aa == aa))
168+ then [IntegerEntry(f(), ab)]
169+ else throw("Strict value is not equal to itself.")
170+ }
171+
172+
173+
174+@Callable(W)
175+func setWithdrawFee (ac) = {
176+ let aa = V(W)
177+ if ((aa == aa))
178+ then [IntegerEntry(n(), ac)]
179+ else throw("Strict value is not equal to itself.")
180+ }
181+
182+
183+
184+@Callable(W)
185+func setDepositFee (ac) = {
186+ let aa = V(W)
187+ if ((aa == aa))
188+ then [IntegerEntry(m(), ac)]
189+ else throw("Strict value is not equal to itself.")
190+ }
191+
192+
193+
194+@Callable(W)
195+func constructor (ad,ae) = {
196+ let aa = V(W)
197+ if ((aa == aa))
198+ then [StringEntry(k(), ad), StringEntry(l(), ae)]
199+ else throw("Strict value is not equal to itself.")
200+ }
201+
202+
203+
204+@Callable(af)
205+func swapUSDTtoUSDN () = {
206+ let N = z(toString(af.caller))
207+ let ag = value(af.payments[0])
208+ if ((ag.assetId != o()))
209+ then A()
210+ else {
211+ let G = ag.amount
212+ let U = ((G / 100) * value(getInteger(m())))
213+ let ah = valueOrElse(getInteger(this, N), 0)
214+ if ((g() > G))
215+ then C()
216+ else [IntegerEntry(N, (ah + G)), ScriptTransfer(af.caller, (G - U), p())]
217+ }
218+ }
219+
220+
221+
222+@Callable(af)
223+func initializationUSDNtoUSDTswap () = {
224+ let ag = value(af.payments[0])
225+ let v = toString(af.caller)
226+ if ((ag.assetId != p()))
227+ then B()
228+ else {
229+ let G = ag.amount
230+ let N = y(v)
231+ let O = z(v)
232+ let P = valueOrElse(getInteger(this, N), 0)
233+ let Q = valueOrElse(getInteger(this, O), 0)
234+ let R = (P + Q)
235+ let ai = M(toString(af.caller), G)
236+ let S = valueOrErrorMessage(ai[0], "Wrong 'currentWithdrawals' method!")
237+ let T = valueOrErrorMessage(ai[1], "Wrong 'currentWithdrawals' method!")
238+ let U = valueOrErrorMessage(ai[2], "Wrong 'currentWithdrawals' method!")
239+ let aj = ((T + S) - U)
240+ let ak = (height + d())
241+ if (isDefined(getString(this, u(toString(af.caller), G, ak))))
242+ then throw("You have already started withdrawal process, wait next block.")
243+ else [IntegerEntry(N, (P - S)), IntegerEntry(O, (Q - T)), StringEntry(u(toString(af.caller), G, ak), makeString(["not_withdrawn", toString((G - U))], "_"))]
244+ }
245+ }
246+
247+
248+
249+@Callable(af)
250+func swapUSDNtoUSDT (G,al) = {
251+ let am = u(toString(af.caller), G, al)
252+ let an = valueOrErrorMessage(getString(this, am), ((("This key doesn't exists " + am) + " at address ") + toString(this)))
253+ let ao = I(split(an, "_"), 2, toString(G))
254+ if (if ((height >= al))
255+ then contains(an, "not_withdrawn")
256+ else false)
257+ then [DeleteEntry(am), ScriptTransfer(af.caller, valueOrErrorMessage(parseInt(ao), "Wrong withdraw data!"), o())]
258+ else throw((("Withdrawal is possible after " + toString(al)) + " height or you have already withdrawn USDT."))
259+ }
260+
261+
262+
263+@Callable(W)
264+func setManager (ap) = {
265+ let aa = V(W)
266+ if ((aa == aa))
58267 then {
59- let m = fromBase58String(k)
60- if ((m == m))
61- then [StringEntry(b(), k)]
268+ let aq = fromBase58String(ap)
269+ if ((aq == aq))
270+ then [StringEntry(j(), ap)]
62271 else throw("Strict value is not equal to itself.")
63272 }
64273 else throw("Strict value is not equal to itself.")
66275
67276
68277
69-@Callable(h)
278+@Callable(W)
70279 func confirmManager () = {
71- let n = f()
72- let o = if (isDefined(n))
280+ let ar = t()
281+ let as = if (isDefined(ar))
73282 then true
74283 else throw("No pending manager")
75- if ((o == o))
284+ if ((as == as))
76285 then {
77- let p = if ((h.callerPublicKey == value(n)))
286+ let at = if ((W.callerPublicKey == value(ar)))
78287 then true
79288 else throw("You are not pending manager")
80- if ((p == p))
81- then [StringEntry(a(), toBase58String(value(n))), DeleteEntry(b())]
289+ if ((at == at))
290+ then [StringEntry(i(), toBase58String(value(ar))), DeleteEntry(j())]
82291 else throw("Strict value is not equal to itself.")
83292 }
84293 else throw("Strict value is not equal to itself.")
85294 }
86295
87296
88-@Verifier(q)
89-func r () = {
90- let s = {
91- let d = c()
92- if ($isInstanceOf(d, "ByteVector"))
297+@Verifier(au)
298+func av () = {
299+ let aw = {
300+ let r = q()
301+ if ($isInstanceOf(r, "ByteVector"))
93302 then {
94- let j = d
95- j
303+ let Y = r
304+ Y
96305 }
97- else if ($isInstanceOf(d, "Unit"))
98- then q.senderPublicKey
306+ else if ($isInstanceOf(r, "Unit"))
307+ then au.senderPublicKey
99308 else throw("Match error")
100309 }
101- sigVerify(q.bodyBytes, q.proofs[0], s)
310+ sigVerify(au.bodyBytes, au.proofs[0], aw)
102311 }
103312
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a () = "%s__managerPublicKey"
4+let a = 1000000
5+
6+let b = 1000000
7+
8+func c () = "%s__withdrawDelay"
59
610
7-func b () = "%s__pendingManagerPublicKey"
11+func d () = value(getInteger(c()))
812
913
10-func c () = {
11- let d = getString(a())
12- if ($isInstanceOf(d, "String"))
14+func e () = "%s__minimalAmountToSwapUsdt"
15+
16+
17+func f () = "%s__minimalAmountToSwapUsdn"
18+
19+
20+func g () = value(getInteger(e()))
21+
22+
23+func h () = value(getInteger(f()))
24+
25+
26+func i () = "%s__managerPublicKey"
27+
28+
29+func j () = "%s__pendingManagerPublicKey"
30+
31+
32+func k () = "%s__usdtAssetId"
33+
34+
35+func l () = "%s__usdnAssetId"
36+
37+
38+func m () = "%s__depositFee"
39+
40+
41+func n () = "%s__withdrawFee"
42+
43+
44+func o () = fromBase58String(value(getString(k())))
45+
46+
47+func p () = fromBase58String(value(getString(l())))
48+
49+
50+func q () = {
51+ let r = getString(i())
52+ if ($isInstanceOf(r, "String"))
1353 then {
14- let e = d
15- fromBase58String(e)
54+ let s = r
55+ fromBase58String(s)
1656 }
17- else if ($isInstanceOf(d, "Unit"))
57+ else if ($isInstanceOf(r, "Unit"))
1858 then unit
1959 else throw("Match error")
2060 }
2161
2262
23-func f () = {
24- let d = getString(b())
25- if ($isInstanceOf(d, "String"))
63+func t () = {
64+ let r = getString(j())
65+ if ($isInstanceOf(r, "String"))
2666 then {
27- let e = d
28- fromBase58String(e)
67+ let s = r
68+ fromBase58String(s)
2969 }
30- else if ($isInstanceOf(d, "Unit"))
70+ else if ($isInstanceOf(r, "Unit"))
3171 then unit
3272 else throw("Match error")
3373 }
3474
3575
36-func g (h) = {
37- let i = throw("Permission denied")
38- let d = c()
39- if ($isInstanceOf(d, "ByteVector"))
76+func u (v,w,x) = makeString([v, "WITHDRAW", toString(w), "HEIGHT", toString(x)], "_")
77+
78+
79+func y (v) = makeString([v, "balance"], "_")
80+
81+
82+func z (v) = makeString([v, "balance_with_fee"], "_")
83+
84+
85+func A () = throw("To swap USDT to USDN you need attach payment in USDT")
86+
87+
88+func B () = throw("To swap USDN to USDT you need attach payment in USDN")
89+
90+
91+func C () = throw((("you can swap at least " + toString((g() / b))) + " tokens"))
92+
93+
94+func D (E) = if ((0 > E))
95+ then (E * -1)
96+ else E
97+
98+
99+func F (G,H) = min([G, H])
100+
101+
102+func I (J,K,L) = if ((size(J) > K))
103+ then J[K]
104+ else L
105+
106+
107+func M (v,G) = {
108+ let N = y(v)
109+ let O = z(v)
110+ let P = valueOrElse(getInteger(this, N), 0)
111+ let Q = valueOrElse(getInteger(this, O), 0)
112+ let R = (P + Q)
113+ if (if ((G > R))
114+ then true
115+ else (h() > G))
116+ then throw("Swap amount fail, amount is to small or to big.")
117+ else {
118+ let S = F(G, P)
119+ let T = (G - S)
120+ let U = ((T / 100) * value(getInteger(n())))
121+[S, T, U]
122+ }
123+ }
124+
125+
126+func V (W) = {
127+ let X = throw("Permission denied")
128+ let r = q()
129+ if ($isInstanceOf(r, "ByteVector"))
40130 then {
41- let j = d
42- if ((h.callerPublicKey == j))
131+ let Y = r
132+ if ((W.callerPublicKey == Y))
43133 then true
44- else i
134+ else X
45135 }
46- else if ($isInstanceOf(d, "Unit"))
47- then if ((h.caller == this))
136+ else if ($isInstanceOf(r, "Unit"))
137+ then if ((W.caller == this))
48138 then true
49- else i
139+ else X
50140 else throw("Match error")
51141 }
52142
53143
54-@Callable(h)
55-func setManager (k) = {
56- let l = g(h)
57- if ((l == l))
144+@Callable(W)
145+func setWithdrawDelay (Z) = {
146+ let aa = V(W)
147+ if ((aa == aa))
148+ then [IntegerEntry(c(), Z)]
149+ else throw("Strict value is not equal to itself.")
150+ }
151+
152+
153+
154+@Callable(W)
155+func setMinimalAmountToSwapUsdt (ab) = {
156+ let aa = V(W)
157+ if ((aa == aa))
158+ then [IntegerEntry(e(), ab)]
159+ else throw("Strict value is not equal to itself.")
160+ }
161+
162+
163+
164+@Callable(W)
165+func setMinimalAmountToSwapUsdn (ab) = {
166+ let aa = V(W)
167+ if ((aa == aa))
168+ then [IntegerEntry(f(), ab)]
169+ else throw("Strict value is not equal to itself.")
170+ }
171+
172+
173+
174+@Callable(W)
175+func setWithdrawFee (ac) = {
176+ let aa = V(W)
177+ if ((aa == aa))
178+ then [IntegerEntry(n(), ac)]
179+ else throw("Strict value is not equal to itself.")
180+ }
181+
182+
183+
184+@Callable(W)
185+func setDepositFee (ac) = {
186+ let aa = V(W)
187+ if ((aa == aa))
188+ then [IntegerEntry(m(), ac)]
189+ else throw("Strict value is not equal to itself.")
190+ }
191+
192+
193+
194+@Callable(W)
195+func constructor (ad,ae) = {
196+ let aa = V(W)
197+ if ((aa == aa))
198+ then [StringEntry(k(), ad), StringEntry(l(), ae)]
199+ else throw("Strict value is not equal to itself.")
200+ }
201+
202+
203+
204+@Callable(af)
205+func swapUSDTtoUSDN () = {
206+ let N = z(toString(af.caller))
207+ let ag = value(af.payments[0])
208+ if ((ag.assetId != o()))
209+ then A()
210+ else {
211+ let G = ag.amount
212+ let U = ((G / 100) * value(getInteger(m())))
213+ let ah = valueOrElse(getInteger(this, N), 0)
214+ if ((g() > G))
215+ then C()
216+ else [IntegerEntry(N, (ah + G)), ScriptTransfer(af.caller, (G - U), p())]
217+ }
218+ }
219+
220+
221+
222+@Callable(af)
223+func initializationUSDNtoUSDTswap () = {
224+ let ag = value(af.payments[0])
225+ let v = toString(af.caller)
226+ if ((ag.assetId != p()))
227+ then B()
228+ else {
229+ let G = ag.amount
230+ let N = y(v)
231+ let O = z(v)
232+ let P = valueOrElse(getInteger(this, N), 0)
233+ let Q = valueOrElse(getInteger(this, O), 0)
234+ let R = (P + Q)
235+ let ai = M(toString(af.caller), G)
236+ let S = valueOrErrorMessage(ai[0], "Wrong 'currentWithdrawals' method!")
237+ let T = valueOrErrorMessage(ai[1], "Wrong 'currentWithdrawals' method!")
238+ let U = valueOrErrorMessage(ai[2], "Wrong 'currentWithdrawals' method!")
239+ let aj = ((T + S) - U)
240+ let ak = (height + d())
241+ if (isDefined(getString(this, u(toString(af.caller), G, ak))))
242+ then throw("You have already started withdrawal process, wait next block.")
243+ else [IntegerEntry(N, (P - S)), IntegerEntry(O, (Q - T)), StringEntry(u(toString(af.caller), G, ak), makeString(["not_withdrawn", toString((G - U))], "_"))]
244+ }
245+ }
246+
247+
248+
249+@Callable(af)
250+func swapUSDNtoUSDT (G,al) = {
251+ let am = u(toString(af.caller), G, al)
252+ let an = valueOrErrorMessage(getString(this, am), ((("This key doesn't exists " + am) + " at address ") + toString(this)))
253+ let ao = I(split(an, "_"), 2, toString(G))
254+ if (if ((height >= al))
255+ then contains(an, "not_withdrawn")
256+ else false)
257+ then [DeleteEntry(am), ScriptTransfer(af.caller, valueOrErrorMessage(parseInt(ao), "Wrong withdraw data!"), o())]
258+ else throw((("Withdrawal is possible after " + toString(al)) + " height or you have already withdrawn USDT."))
259+ }
260+
261+
262+
263+@Callable(W)
264+func setManager (ap) = {
265+ let aa = V(W)
266+ if ((aa == aa))
58267 then {
59- let m = fromBase58String(k)
60- if ((m == m))
61- then [StringEntry(b(), k)]
268+ let aq = fromBase58String(ap)
269+ if ((aq == aq))
270+ then [StringEntry(j(), ap)]
62271 else throw("Strict value is not equal to itself.")
63272 }
64273 else throw("Strict value is not equal to itself.")
65274 }
66275
67276
68277
69-@Callable(h)
278+@Callable(W)
70279 func confirmManager () = {
71- let n = f()
72- let o = if (isDefined(n))
280+ let ar = t()
281+ let as = if (isDefined(ar))
73282 then true
74283 else throw("No pending manager")
75- if ((o == o))
284+ if ((as == as))
76285 then {
77- let p = if ((h.callerPublicKey == value(n)))
286+ let at = if ((W.callerPublicKey == value(ar)))
78287 then true
79288 else throw("You are not pending manager")
80- if ((p == p))
81- then [StringEntry(a(), toBase58String(value(n))), DeleteEntry(b())]
289+ if ((at == at))
290+ then [StringEntry(i(), toBase58String(value(ar))), DeleteEntry(j())]
82291 else throw("Strict value is not equal to itself.")
83292 }
84293 else throw("Strict value is not equal to itself.")
85294 }
86295
87296
88-@Verifier(q)
89-func r () = {
90- let s = {
91- let d = c()
92- if ($isInstanceOf(d, "ByteVector"))
297+@Verifier(au)
298+func av () = {
299+ let aw = {
300+ let r = q()
301+ if ($isInstanceOf(r, "ByteVector"))
93302 then {
94- let j = d
95- j
303+ let Y = r
304+ Y
96305 }
97- else if ($isInstanceOf(d, "Unit"))
98- then q.senderPublicKey
306+ else if ($isInstanceOf(r, "Unit"))
307+ then au.senderPublicKey
99308 else throw("Match error")
100309 }
101- sigVerify(q.bodyBytes, q.proofs[0], s)
310+ sigVerify(au.bodyBytes, au.proofs[0], aw)
102311 }
103312

github/deemru/w8io/169f3d6 
46.26 ms