tx · Bg1vFVJi5E3nVBU2SWfywwZQQGd2Pfzahi3Ew8Tn5Z8d

3P52TtidVCVeSQiC38weUFGZWcP1r5VRw1B:  -0.00300000 Waves

2023.11.30 17:27 [3932123] smart account 3P52TtidVCVeSQiC38weUFGZWcP1r5VRw1B > SELF 0.00000000 Waves

{ "type": 13, "id": "Bg1vFVJi5E3nVBU2SWfywwZQQGd2Pfzahi3Ew8Tn5Z8d", "fee": 300000, "feeAssetId": null, "timestamp": 1701354480076, "version": 2, "chainId": 87, "sender": "3P52TtidVCVeSQiC38weUFGZWcP1r5VRw1B", "senderPublicKey": "87q18YNQT35ZcKk6Q3aSFCAv4dvkkBf4iuzic7qHbikw", "proofs": [ "fvNY4qT75QrUGHZ7dgoT5cPaJjaoeQoQKCcJvWkXmHKne6BAHJxePudYxAH9xhAz63ZPYBrEpvqyxuJ6iTBdGPx" ], "script": "base64:BgIHCAISAwoBCAYABWFkbWluCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUE1ibnFpZmZyeDVOUkFzZ3VuNmJHZEU0VDRNOWd4V0xnZwABUgkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1A2OHpOaXVmc3UxdmlacHUxYVkzY2RhaFJSS2N2VjVOOTMBDWdldEFzc2V0Qnl0ZXMBCmFzc2V0SWRTdHIDCQAAAgUKYXNzZXRJZFN0cgIFV0FWRVMFBHVuaXQJANkEAQUKYXNzZXRJZFN0cgEKZ2V0QmFsYW5jZQEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgRVbml0BAF4BQckbWF0Y2gwCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQkA8AcCBQR0aGlzCQEFdmFsdWUBBQdhc3NldElkAQ5nZXRBc3NldFN0cmluZwEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWICBVdBVkVTAQFiAgFjAWQEBHR5cGUJALwJAgUBZAIBOgQBdAkAkQMCBQR0eXBlAAAEA2FkZAkAvAkCCQCRAwIFBHR5cGUAAQIBLAQGYW1vdW50CAUBYwJfMQMJAAACBQZhbW91bnQFBmFtb3VudAQHYXNzZXRJZAgFAWMCXzIDCQAAAgUHYXNzZXRJZAUHYXNzZXRJZAQDYmFsCQEKZ2V0QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQkAkQMCBQNhZGQAAQMJAAACBQNiYWwFA2JhbAQFc3dhcDEDCQAAAgUBdAIBMAkA/AcECQEHQWRkcmVzcwEJANkEAQkAkQMCBQNhZGQAAAIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRBc3NldEJ5dGVzAQUHYXNzZXRJZAUGYW1vdW50BQNuaWwDCQAAAgUBdAIBMQkA/AcEBQFSAgRzd2FwCQDMCAIAAQkAzAgCCQCRAwIFA2FkZAABCQDMCAIFBHRoaXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBDWdldEFzc2V0Qnl0ZXMBBQdhc3NldElkBQZhbW91bnQFA25pbAMJAAACBQF0AgEyCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUDYWRkAAACBHN3YXAJAMwIAgkAkQMCBQNhZGQAAQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBDWdldEFzc2V0Qnl0ZXMBBQdhc3NldElkBQZhbW91bnQFA25pbAUDbmlsAwkAAAIFBXN3YXAxBQVzd2FwMQQEbmJhbAkAZQIJAQpnZXRCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBCQCRAwIFA2FkZAABBQNiYWwDCQAAAgUEbmJhbAUEbmJhbAkAlAoCBQRuYmFsCQCRAwIFA2FkZAABCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQFpAQRzd2FwAQVpbnB1dAMJAQIhPQIIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAgEhBAFhCQC8CQIFBWlucHV0AgE7BAFzCQCUCgIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQEOZ2V0QXNzZXRTdHJpbmcBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQEAXAICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BANiYWwJAQpnZXRCYWxhbmNlAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkAwkAAAIFA2JhbAUDYmFsBAF6CgACJGwFAWEKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQFzCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQFiAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBARuYmFsCQBlAgkBCmdldEJhbGFuY2UBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFA2JhbAMJAAACBQRuYmFsBQRuYmFsAwkAZgIFBG5iYWwAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGQCBQFwBQRuYmFsCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFA25pbAkAAgEJAKQDAQUEbmJhbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAMUTAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXk2teXE", "height": 3932123, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: DLycDuC2b2XYBNNH5PuXra29Ftafe4kdUeYewp8ihteM Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let admin = addressFromStringValue("3PMbnqiffrx5NRAsgun6bGdE4T4M9gxWLgg")
5+
6+let R = addressFromStringValue("3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93")
7+
8+func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
9+ then unit
10+ else fromBase58String(assetIdStr)
11+
12+
13+func getBalance (assetId) = match assetId {
14+ case x: Unit =>
15+ wavesBalance(this).available
16+ case _ =>
17+ assetBalance(this, value(assetId))
18+}
19+
20+
21+func getAssetString (assetId) = match assetId {
22+ case b: ByteVector =>
23+ toBase58String(b)
24+ case _ =>
25+ "WAVES"
26+}
27+
28+
29+func b (c,d) = {
30+ let type = split_4C(d, ":")
31+ let t = type[0]
32+ let add = split_4C(type[1], ",")
33+ let amount = c._1
34+ if ((amount == amount))
35+ then {
36+ let assetId = c._2
37+ if ((assetId == assetId))
38+ then {
39+ let bal = getBalance(getAssetBytes(add[1]))
40+ if ((bal == bal))
41+ then {
42+ let swap1 = if ((t == "0"))
43+ then invoke(Address(fromBase58String(add[0])), "exchange", [1], [AttachedPayment(getAssetBytes(assetId), amount)])
44+ else if ((t == "1"))
45+ then invoke(R, "swap", [1, add[1], this], [AttachedPayment(getAssetBytes(assetId), amount)])
46+ else if ((t == "2"))
47+ then invoke(addressFromStringValue(add[0]), "swap", [add[1], 1], [AttachedPayment(getAssetBytes(assetId), amount)])
48+ else nil
49+ if ((swap1 == swap1))
50+ then {
51+ let nbal = (getBalance(getAssetBytes(add[1])) - bal)
52+ if ((nbal == nbal))
53+ then $Tuple2(nbal, add[1])
54+ else throw("Strict value is not equal to itself.")
55+ }
56+ else throw("Strict value is not equal to itself.")
57+ }
58+ else throw("Strict value is not equal to itself.")
59+ }
60+ else throw("Strict value is not equal to itself.")
61+ }
62+ else throw("Strict value is not equal to itself.")
63+ }
64+
65+
66+@Callable(i)
67+func swap (input) = if ((i.caller != admin))
68+ then throw("!")
69+ else {
70+ let a = split_4C(input, ";")
71+ let s = $Tuple2(i.payments[0].amount, getAssetString(i.payments[0].assetId))
72+ let p = i.payments[0].amount
73+ let bal = getBalance(i.payments[0].assetId)
74+ if ((bal == bal))
75+ then {
76+ let z = {
77+ let $l = a
78+ let $s = size($l)
79+ let $acc0 = s
80+ func $f0_1 ($a,$i) = if (($i >= $s))
81+ then $a
82+ else b($a, $l[$i])
83+
84+ func $f0_2 ($a,$i) = if (($i >= $s))
85+ then $a
86+ else throw("List size exceeds 10")
87+
88+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
89+ }
90+ let nbal = (getBalance(i.payments[0].assetId) - bal)
91+ if ((nbal == nbal))
92+ then if ((nbal > 0))
93+ then [ScriptTransfer(i.caller, (p + nbal), i.payments[0].assetId)]
94+ else throw(toString(nbal))
95+ else throw("Strict value is not equal to itself.")
96+ }
97+ else throw("Strict value is not equal to itself.")
98+ }
99+
100+
101+@Verifier(tx)
102+func verify () = sigVerify_16Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
103+

github/deemru/w8io/3ef1775 
65.35 ms