tx · AdbXpgxDdZms17Mso3apzCXEvvnXESGmQia3UfQrDnAy

3N3cM4A27rmZrKdUEHS8UFuXFavtEYXY5Xh:  -0.01000000 Waves

2020.10.20 17:18 [1228994] smart account 3N3cM4A27rmZrKdUEHS8UFuXFavtEYXY5Xh > SELF 0.00000000 Waves

{ "type": 13, "id": "AdbXpgxDdZms17Mso3apzCXEvvnXESGmQia3UfQrDnAy", "fee": 1000000, "feeAssetId": null, "timestamp": 1603203581088, "version": 2, "chainId": 84, "sender": "3N3cM4A27rmZrKdUEHS8UFuXFavtEYXY5Xh", "senderPublicKey": "7RS3vdq9ZNEWZHMKzTqjhena4oYdc5GAgXcomo6bupt9", "proofs": [ "odcuSJckHMXNpRjZWGwn16GXu5wjxcQ73ZLg4sb5kZUPpQVaDDT5ZXE8574s9miCDJTLcbB7LhrK8PzTWqVMpdb" ], "script": "base64:AAIEAAAAAAAAAAwIAhIAEgASBAoCAQEAAAANAAAAAARVU0RUAgAAACwzRUptN1pOWlJqV25nalZRNnFqRlVlZjNpUlV5SlpvVDRWWW9DWWFlVmRxWgAAAAAEVVNETgIAAAAsMzdqVkhaSzJjZ2JOVEFrTUNMR2RyYnp2RzFyd01qVHJwRDJUR3praWN0d0wAAAAABmlkVVNETgkAAlkAAAABBQAAAARVU0ROAAAAAAZpZFVTRFQJAAJZAAAAAQUAAAAEVVNEVAAAAAANd2l0aGRyYXdEZWxheQAAAAAAAAAAAQAAAAAPZGVjaW1hbFBhcnRVU0ROAAAAAAAAD0JAAAAAAA9kZWNpbWFsUGFydFVTRFQAAAAAAAAPQkAAAAAAF21pbmltYWxBbW91bnRUb1N3YXBVU0RUCQAAaAAAAAIAAAAAAAAAJxAFAAAAD2RlY2ltYWxQYXJ0VVNETgAAAAAXbWluaW1hbEFtb3VudFRvU3dhcFVTRE4JAABoAAAAAgAAAAAAAAAnEAUAAAAPZGVjaW1hbFBhcnRVU0RUAQAAAApjb2xsZWN0S2V5AAAAAwAAAAdhZGRyZXNzAAAAEWFtb3VudFRvU3dhcEluS2V5AAAAFWFsbG93VG9XaXRoZHJhd0hlaWdodAkABLkAAAACCQAETAAAAAIJAAQlAAAAAQUAAAAHYWRkcmVzcwkABEwAAAACAgAAAAhXSVRIRFJBVwkABEwAAAACCQABpAAAAAEFAAAAEWFtb3VudFRvU3dhcEluS2V5CQAETAAAAAICAAAABkhFSUdIVAkABEwAAAACCQABpAAAAAEFAAAAFWFsbG93VG9XaXRoZHJhd0hlaWdodAUAAAADbmlsAgAAAAFfAQAAABFjb2xsZWN0QmFsYW5jZUtleQAAAAEAAAAHYWRkcmVzcwkABLkAAAACCQAETAAAAAIJAAQlAAAAAQUAAAAHYWRkcmVzcwkABEwAAAACAgAAAAdiYWxhbmNlBQAAAANuaWwCAAAAAV8BAAAAFHVzZHRUb1VzZG5Bc3NldEVycm9yAAAAAAkAAAIAAAABAgAAADRUbyBzd2FwIFVTRFQgdG8gVVNETiB5b3UgbmVlZCBhdHRhY2ggcGF5bWVudCBpbiBVU0RUAQAAABd1c2R0VG9Vc2RuTG93TGltaXRFcnJvcgAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFnlvdSBjYW4gc3dhcCBhdCBsZWFzdCAJAAGkAAAAAQkAAGkAAAACBQAAABdtaW5pbWFsQW1vdW50VG9Td2FwVVNEVAUAAAAPZGVjaW1hbFBhcnRVU0RUAgAAAAcgdG9rZW5zAAAAAwAAAAZpbnZva2UBAAAADnN3YXBVU0RUdG9VU0ROAAAAAAQAAAAKYmFsYW5jZUtleQkBAAAAEWNvbGxlY3RCYWxhbmNlS2V5AAAAAQgFAAAABmludm9rZQAAAAZjYWxsZXIEAAAAB3BheW1lbnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAAZEAAAACCAUAAAAGaW52b2tlAAAACHBheW1lbnRzAAAAAAAAAAAAAgAAABhQYXltZW50IGlzIG5vdCBhdHRhY2hlZCEDCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAAZpZFVTRFQJAQAAABR1c2R0VG9Vc2RuQXNzZXRFcnJvcgAAAAAEAAAABmFtb3VudAgFAAAAB3BheW1lbnQAAAAGYW1vdW50BAAAAAt1c2VyQWRkcmVzcwgFAAAABmludm9rZQAAAAZjYWxsZXIEAAAAGGN1cnJlbnRDbGllbnRCYWxhbmNlVVNEVAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAApiYWxhbmNlS2V5AAAAAAAAAAAAAwkAAGYAAAACBQAAABdtaW5pbWFsQW1vdW50VG9Td2FwVVNEVAUAAAAGYW1vdW50CQEAAAAXdXNkdFRvVXNkbkxvd0xpbWl0RXJyb3IAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAApiYWxhbmNlS2V5CQAAZAAAAAIFAAAAGGN1cnJlbnRDbGllbnRCYWxhbmNlVVNEVAUAAAAGYW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAZpbnZva2UAAAAGY2FsbGVyBQAAAAZhbW91bnQFAAAABmlkVVNETgUAAAADbmlsAAAABmludm9rZQEAAAAcaW5pdGlhbGl6YXRpb25VU0ROdG9VU0RUc3dhcAAAAAAEAAAAB3BheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAABmludm9rZQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAPYXNzZXRJZFJlY2VpdmVkCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAAA1wYXltZW50QW1vdW50CAUAAAAHcGF5bWVudAAAAAZhbW91bnQEAAAAC3VzZXJBZGRyZXNzCAUAAAAGaW52b2tlAAAABmNhbGxlcgQAAAAKYmFsYW5jZUtleQkBAAAAEWNvbGxlY3RCYWxhbmNlS2V5AAAAAQgFAAAABmludm9rZQAAAAZjYWxsZXIEAAAAGGN1cnJlbnRDbGllbnRCYWxhbmNlVVNEVAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAApiYWxhbmNlS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAADmN1cnJlbnRCYWxhbmNlBQAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAApiYWxhbmNlS2V5AAAAAAAAAAAAAwkBAAAAAiE9AAAAAgUAAAAPYXNzZXRJZFJlY2VpdmVkBQAAAAZpZFVTRE4JAAACAAAAAQIAAAA0dG8gc3dhcCBVU0ROIHRvIFVTRFQgeW91IG5lZWQgYXR0YWNoIHBheW1lbnQgaW4gVVNETgMDCQAAZgAAAAIFAAAADXBheW1lbnRBbW91bnQFAAAAGGN1cnJlbnRDbGllbnRCYWxhbmNlVVNEVAYJAABmAAAAAgUAAAAXbWluaW1hbEFtb3VudFRvU3dhcFVTRE4FAAAADXBheW1lbnRBbW91bnQJAAACAAAAAQIAAAAQc3dhcCBhbW91bnQgZmFpbAQAAAAVYWxsb3dUb1dpdGhEcmF3SGVpZ2h0CQAAZAAAAAIFAAAABmhlaWdodAUAAAANd2l0aGRyYXdEZWxheQMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMJAQAAAApjb2xsZWN0S2V5AAAAAwgFAAAABmludm9rZQAAAAZjYWxsZXIFAAAADXBheW1lbnRBbW91bnQFAAAAFWFsbG93VG9XaXRoRHJhd0hlaWdodAkAAAIAAAABAgAAADx5b3UgaGF2ZSBhbHJlYWR5IHN0YXJ0ZWQgd2l0aGRyYXdhbCBwcm9jZXNzLCB3YWl0IG5leHQgYmxvY2sJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAAGaW52b2tlAAAABmNhbGxlcgIAAAAIX2JhbGFuY2UJAABlAAAAAgUAAAAYY3VycmVudENsaWVudEJhbGFuY2VVU0RUBQAAAA1wYXltZW50QW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAApjb2xsZWN0S2V5AAAAAwgFAAAABmludm9rZQAAAAZjYWxsZXIFAAAADXBheW1lbnRBbW91bnQFAAAAFWFsbG93VG9XaXRoRHJhd0hlaWdodAIAAAANbm90X3dpdGhkcmF3bgUAAAADbmlsAAAABmludm9rZQEAAAAOc3dhcFVTRE50b1VTRFQAAAACAAAAEWFtb3VudFRvU3dhcEluS2V5AAAAC2hlaWdodEluS2V5BAAAAANrZXkJAQAAAApjb2xsZWN0S2V5AAAAAwgFAAAABmludm9rZQAAAAZjYWxsZXIFAAAAEWFtb3VudFRvU3dhcEluS2V5BQAAAAtoZWlnaHRJbktleQQAAAANd2l0aGRyYXduSW5mbwQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAANd2l0aGRyYXduSW5mbwUAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAADa2V5CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAGHRoaXMga2V5IGRvZXNuJ3QgZXhpc3RzIAUAAAADa2V5AgAAAA0gYXQgYWRkcmVzcyAgCQAEJQAAAAEFAAAABHRoaXMDAwkAAGcAAAACBQAAAAZoZWlnaHQFAAAAC2hlaWdodEluS2V5CQAAAAAAAAIFAAAADXdpdGhkcmF3bkluZm8CAAAADW5vdF93aXRoZHJhd24HCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAA2tleQIAAAAJd2l0aGRyYXduCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAZpbnZva2UAAAAGY2FsbGVyBQAAABFhbW91bnRUb1N3YXBJbktleQUAAAAGaWRVU0RUBQAAAANuaWwJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAHXdpdGhkcmF3YWwgaXMgcG9zc2libGUgYWZ0ZXIgCQABpAAAAAEFAAAAC2hlaWdodEluS2V5AgAAACogaGVpZ2h0IG9yIHlvdSBoYXZlIGFscmVhZHkgd2l0aGRyYXduIFVTRFQAAAAAnNHtaw==", "height": 1228994, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "3EJm7ZNZRjWngjVQ6qjFUef3iRUyJZoT4VYoCYaeVdqZ"
5+
6+let b = "37jVHZK2cgbNTAkMCLGdrbzvG1rwMjTrpD2TGzkictwL"
7+
8+let c = fromBase58String(b)
9+
10+let d = fromBase58String(a)
11+
12+let e = 1
13+
14+let f = 1000000
15+
16+let g = 1000000
17+
18+let h = (10000 * f)
19+
20+let i = (10000 * g)
21+
22+func j (k,l,m) = makeString([toString(k), "WITHDRAW", toString(l), "HEIGHT", toString(m)], "_")
23+
24+
25+func n (k) = makeString([toString(k), "balance"], "_")
26+
27+
28+func o () = throw("To swap USDT to USDN you need attach payment in USDT")
29+
30+
31+func p () = throw((("you can swap at least " + toString((h / g))) + " tokens"))
32+
33+
34+@Callable(q)
35+func swapUSDTtoUSDN () = {
36+ let r = n(q.caller)
37+ let s = valueOrErrorMessage(q.payments[0], "Payment is not attached!")
38+ if ((s.assetId != d))
39+ then o()
40+ else {
41+ let t = s.amount
42+ let u = q.caller
43+ let v = valueOrElse(getInteger(this, r), 0)
44+ if ((h > t))
45+ then p()
46+ else [IntegerEntry(r, (v + t)), ScriptTransfer(q.caller, t, c)]
47+ }
48+ }
49+
50+
51+
52+@Callable(q)
53+func initializationUSDNtoUSDTswap () = {
54+ let s = value(q.payments[0])
55+ let w = s.assetId
56+ let x = s.amount
57+ let u = q.caller
58+ let r = n(q.caller)
59+ let v = {
60+ let y = getInteger(this, r)
61+ if ($isInstanceOf(y, "Int"))
62+ then {
63+ let z = y
64+ getIntegerValue(this, r)
65+ }
66+ else 0
67+ }
68+ if ((w != c))
69+ then throw("to swap USDN to USDT you need attach payment in USDN")
70+ else if (if ((x > v))
71+ then true
72+ else (i > x))
73+ then throw("swap amount fail")
74+ else {
75+ let A = (height + e)
76+ if (isDefined(getString(this, j(q.caller, x, A))))
77+ then throw("you have already started withdrawal process, wait next block")
78+ else [IntegerEntry((toString(q.caller) + "_balance"), (v - x)), StringEntry(j(q.caller, x, A), "not_withdrawn")]
79+ }
80+ }
81+
82+
83+
84+@Callable(q)
85+func swapUSDNtoUSDT (l,B) = {
86+ let C = j(q.caller, l, B)
87+ let D = {
88+ let y = getString(this, C)
89+ if ($isInstanceOf(y, "String"))
90+ then {
91+ let D = y
92+ getStringValue(this, C)
93+ }
94+ else throw(((("this key doesn't exists " + C) + " at address ") + toString(this)))
95+ }
96+ if (if ((height >= B))
97+ then (D == "not_withdrawn")
98+ else false)
99+ then [StringEntry(C, "withdrawn"), ScriptTransfer(q.caller, l, d)]
100+ else throw((("withdrawal is possible after " + toString(B)) + " height or you have already withdrawn USDT"))
101+ }
102+
103+

github/deemru/w8io/873ac7e 
24.11 ms