tx · 3mWcGnJ3aCzp2G2XAFqr6j6oToAnhcrgDb9txwMeX1oR

3PMSUpFkaCwVobF57gkNgQMtpz9hnRMaY3G:  -0.01000000 Waves

2023.03.03 20:50 [3539683] smart account 3PMSUpFkaCwVobF57gkNgQMtpz9hnRMaY3G > SELF 0.00000000 Waves

{ "type": 13, "id": "3mWcGnJ3aCzp2G2XAFqr6j6oToAnhcrgDb9txwMeX1oR", "fee": 1000000, "feeAssetId": null, "timestamp": 1677865381168, "version": 2, "chainId": 87, "sender": "3PMSUpFkaCwVobF57gkNgQMtpz9hnRMaY3G", "senderPublicKey": "24RfWVqC3utDSKA5GoSKJCJo5mFErm1aABFhpavJYbpW", "proofs": [ "2nmyCW8C2Lqd1DEg6cjLMoViyKzswGihZivYueBUd4CuP4wXMXTHmbVwkbHy2mqMw8g4iXrk2Nj9CXfN7dazJzvo", "5XeahJoSf3wHDsfEJxwj7KmkPMbxYLHGwNmqAvrgjtscX8A5m93WKoSdFrbPZ4DDLSoeLNHKfUaTqd2y8fzAquzd" ], "script": "base64:AAIFAAAAAAAAABYIAhIECgIICBIECgIIARIECgIIAhIAAAAACwEAAAAQZ2V0U3RyaW5nT3JUaHJvdwAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADENhbid0IHJlYWQgJwUAAAADa2V5AgAAAA0nIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAB2FkZHJlc3MBAAAAEWdldEludGVnZXJPclRocm93AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMQ2FuJ3QgcmVhZCAnBQAAAANrZXkCAAAADScgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAAHYWRkcmVzcwEAAAATcGFyc2VBZGRyZXNzT3JUaHJvdwAAAAEAAAAMbWF5YmVBZGRyZXNzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAMbWF5YmVBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAaQ2FuJ3QgcGFyc2UgYWRkcmVzcyBmcm9tICcFAAAADG1heWJlQWRkcmVzcwIAAAABJwEAAAAKa2V5X2VudGl0eQAAAAMAAAAEbmFtZQAAAAJwawAAAAhwcm9wZXJ0eQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARuYW1lAgAAAAFfBQAAAAJwawIAAAABXwUAAAAIcHJvcGVydHkBAAAADmtleV9OYW1lX3Rva2VuAAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAABXRva2VuAAAAABFrZXlfbWVlZHVzQWRkcmVzcwIAAAANbWVlZHVzQWRkcmVzcwAAAAAUa2V5X3JlZ2lzdHJhckFkZHJlc3MCAAAAEHJlZ2lzdHJhckFkZHJlc3MAAAAADW1lZWR1c0FkZHJlc3MJAQAAABBnZXRTdHJpbmdPclRocm93AAAAAgUAAAAEdGhpcwUAAAARa2V5X21lZWR1c0FkZHJlc3MAAAAABm1lZWR1cwkBAAAAE3BhcnNlQWRkcmVzc09yVGhyb3cAAAABBQAAAA1tZWVkdXNBZGRyZXNzAAAAABByZWdpc3RyYXJBZGRyZXNzCQEAAAAQZ2V0U3RyaW5nT3JUaHJvdwAAAAIFAAAABHRoaXMFAAAAFGtleV9yZWdpc3RyYXJBZGRyZXNzAAAAAAlyZWdpc3RyYXIJAQAAABNwYXJzZUFkZHJlc3NPclRocm93AAAAAQUAAAAQcmVnaXN0cmFyQWRkcmVzcwAAAAQAAAADaW52AQAAAARpbml0AAAAAgAAAA1tZWVkdXNBZGRyZXNzAAAAEHJlZ2lzdHJhckFkZHJlc3MDCQEAAAACIT0AAAACCAUAAAADaW52AAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAABtPbmx5IHNlbGYgY2FsbHMgYXJlIGFsbG93ZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAARa2V5X21lZWR1c0FkZHJlc3MFAAAADW1lZWR1c0FkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAUa2V5X3JlZ2lzdHJhckFkZHJlc3MFAAAAEHJlZ2lzdHJhckFkZHJlc3MFAAAAA25pbAAAAANpbnYBAAAAB3Jlc2VydmUAAAACAAAABG5hbWUAAAANaW5pdFRpbWVzdGFtcAQAAAAGY2FsbGVyCAUAAAADaW52AAAABmNhbGxlcgQAAAAJY2FsbGVyU3RyCQAEJQAAAAEFAAAABmNhbGxlcgMJAQAAAAIhPQAAAAIFAAAABHRoaXMFAAAABmNhbGxlcgkAAAIAAAABAgAAABtPbmx5IHNlbGYgY2FsbHMgYXJlIGFsbG93ZWQEAAAAC3Jlc2VydmF0aW9uCQAD/AAAAAQFAAAACXJlZ2lzdHJhcgIAAAAIcmVnaXN0ZXIJAARMAAAAAgUAAAAEbmFtZQkABEwAAAACBQAAAAljYWxsZXJTdHIJAARMAAAAAgUAAAANaW5pdFRpbWVzdGFtcAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAC3Jlc2VydmF0aW9uBQAAAAtyZXNlcnZhdGlvbgUAAAADbmls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", "height": 3539683, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AqcfcjinWSqSNbvVxE1a3QMdi27d8KV53gEk88JwBBgC Next: G2gVFJYeg3RqNJYpFVcU5JnUKAigQ3bgxRMtaV8V9cyY Diff:
OldNewDifferences
5050 }
5151
5252
53-@Verifier(w)
54-func x () = {
55- let y = addressFromString(valueOrElse(getString(this, "Oracle"), ""))
56- let z = if (isDefined(y))
57- then getString(value(y), "AdminKeys")
53+
54+@Callable(r)
55+func transfer (w,x) = if ((r.caller != this))
56+ then throw("Only self calls are allowed")
57+ else {
58+ let b = e(w)
59+[ScriptTransfer(b, 1, x)]
60+ }
61+
62+
63+
64+@Callable(r)
65+func exchange () = {
66+ let t = r.originCaller
67+ let u = toString(t)
68+ let y = r.payments[0]
69+ let z = valueOrErrorMessage(y.assetId, "Asset cannot be WAVES")
70+ let x = valueOrErrorMessage(assetInfo(z), "Invalid asset")
71+ let A = if (if (if ((x.issuer == o))
72+ then (x.quantity == 1)
73+ else false)
74+ then (x.decimals == 0)
75+ else false)
76+ then (x.reissuable == false)
77+ else false
78+ if (if ((y.amount != 1))
79+ then true
80+ else !(A))
81+ then throw("Payment should contain Meedus NFT")
82+ else if ((5 > size(x.name)))
83+ then throw("You cannot exchange names that are less than 5 chars long")
84+ else {
85+ let B = a(q, k(x.name))
86+ let C = fromBase58String(B)
87+ let D = invoke(this, "transfer", [u, C], nil)
88+ if ((D == D))
89+ then {
90+ let E = invoke(q, "reclaim", [x.name], nil)
91+ if ((E == E))
92+ then nil
93+ else throw("Strict value is not equal to itself.")
94+ }
95+ else throw("Strict value is not equal to itself.")
96+ }
97+ }
98+
99+
100+@Verifier(F)
101+func G () = {
102+ let H = addressFromString(valueOrElse(getString(this, "Oracle"), ""))
103+ let I = if (isDefined(H))
104+ then getString(value(H), "AdminKeys")
58105 else unit
59- let A = z
60- if ($isInstanceOf(A, "String"))
106+ let J = I
107+ if ($isInstanceOf(J, "String"))
61108 then {
62- let B = A
63- let C = {
64- let D = split(B, ",")
65-[fromBase58String(D[0]), fromBase58String(D[1]), fromBase58String(D[2])]
109+ let K = J
110+ let L = {
111+ let M = split(K, ",")
112+[fromBase58String(M[0]), fromBase58String(M[1]), fromBase58String(M[2])]
66113 }
67- func E (F) = if (sigVerify(w.bodyBytes, F, C[0]))
114+ func N (O) = if (sigVerify(F.bodyBytes, O, L[0]))
68115 then 1
69- else if (sigVerify(w.bodyBytes, F, C[1]))
116+ else if (sigVerify(F.bodyBytes, O, L[1]))
70117 then 10
71- else if (sigVerify(w.bodyBytes, F, C[2]))
118+ else if (sigVerify(F.bodyBytes, O, L[2]))
72119 then 100
73120 else 0
74121
75- containsElement([110, 101, 11], (E(w.proofs[0]) + E(w.proofs[1])))
122+ containsElement([110, 101, 11], (N(F.proofs[0]) + N(F.proofs[1])))
76123 }
77- else sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey)
124+ else sigVerify(F.bodyBytes, F.proofs[0], F.senderPublicKey)
78125 }
79126
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = valueOrErrorMessage(getString(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
55
66
77 func d (b,c) = valueOrErrorMessage(getInteger(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
88
99
1010 func e (f) = valueOrErrorMessage(addressFromString(f), (("Can't parse address from '" + f) + "'"))
1111
1212
1313 func g (h,i,j) = ((((h + "_") + i) + "_") + j)
1414
1515
1616 func k (h) = g("Name", h, "token")
1717
1818
1919 let l = "meedusAddress"
2020
2121 let m = "registrarAddress"
2222
2323 let n = a(this, l)
2424
2525 let o = e(n)
2626
2727 let p = a(this, m)
2828
2929 let q = e(p)
3030
3131 @Callable(r)
3232 func init (n,p) = if ((r.caller != this))
3333 then throw("Only self calls are allowed")
3434 else [StringEntry(l, n), StringEntry(m, p)]
3535
3636
3737
3838 @Callable(r)
3939 func reserve (h,s) = {
4040 let t = r.caller
4141 let u = toString(t)
4242 if ((this != t))
4343 then throw("Only self calls are allowed")
4444 else {
4545 let v = invoke(q, "register", [h, u, s], nil)
4646 if ((v == v))
4747 then nil
4848 else throw("Strict value is not equal to itself.")
4949 }
5050 }
5151
5252
53-@Verifier(w)
54-func x () = {
55- let y = addressFromString(valueOrElse(getString(this, "Oracle"), ""))
56- let z = if (isDefined(y))
57- then getString(value(y), "AdminKeys")
53+
54+@Callable(r)
55+func transfer (w,x) = if ((r.caller != this))
56+ then throw("Only self calls are allowed")
57+ else {
58+ let b = e(w)
59+[ScriptTransfer(b, 1, x)]
60+ }
61+
62+
63+
64+@Callable(r)
65+func exchange () = {
66+ let t = r.originCaller
67+ let u = toString(t)
68+ let y = r.payments[0]
69+ let z = valueOrErrorMessage(y.assetId, "Asset cannot be WAVES")
70+ let x = valueOrErrorMessage(assetInfo(z), "Invalid asset")
71+ let A = if (if (if ((x.issuer == o))
72+ then (x.quantity == 1)
73+ else false)
74+ then (x.decimals == 0)
75+ else false)
76+ then (x.reissuable == false)
77+ else false
78+ if (if ((y.amount != 1))
79+ then true
80+ else !(A))
81+ then throw("Payment should contain Meedus NFT")
82+ else if ((5 > size(x.name)))
83+ then throw("You cannot exchange names that are less than 5 chars long")
84+ else {
85+ let B = a(q, k(x.name))
86+ let C = fromBase58String(B)
87+ let D = invoke(this, "transfer", [u, C], nil)
88+ if ((D == D))
89+ then {
90+ let E = invoke(q, "reclaim", [x.name], nil)
91+ if ((E == E))
92+ then nil
93+ else throw("Strict value is not equal to itself.")
94+ }
95+ else throw("Strict value is not equal to itself.")
96+ }
97+ }
98+
99+
100+@Verifier(F)
101+func G () = {
102+ let H = addressFromString(valueOrElse(getString(this, "Oracle"), ""))
103+ let I = if (isDefined(H))
104+ then getString(value(H), "AdminKeys")
58105 else unit
59- let A = z
60- if ($isInstanceOf(A, "String"))
106+ let J = I
107+ if ($isInstanceOf(J, "String"))
61108 then {
62- let B = A
63- let C = {
64- let D = split(B, ",")
65-[fromBase58String(D[0]), fromBase58String(D[1]), fromBase58String(D[2])]
109+ let K = J
110+ let L = {
111+ let M = split(K, ",")
112+[fromBase58String(M[0]), fromBase58String(M[1]), fromBase58String(M[2])]
66113 }
67- func E (F) = if (sigVerify(w.bodyBytes, F, C[0]))
114+ func N (O) = if (sigVerify(F.bodyBytes, O, L[0]))
68115 then 1
69- else if (sigVerify(w.bodyBytes, F, C[1]))
116+ else if (sigVerify(F.bodyBytes, O, L[1]))
70117 then 10
71- else if (sigVerify(w.bodyBytes, F, C[2]))
118+ else if (sigVerify(F.bodyBytes, O, L[2]))
72119 then 100
73120 else 0
74121
75- containsElement([110, 101, 11], (E(w.proofs[0]) + E(w.proofs[1])))
122+ containsElement([110, 101, 11], (N(F.proofs[0]) + N(F.proofs[1])))
76123 }
77- else sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey)
124+ else sigVerify(F.bodyBytes, F.proofs[0], F.senderPublicKey)
78125 }
79126

github/deemru/w8io/3ef1775 
41.13 ms