tx · HgjCP7Dp7dH5Wd6a8AVHzMdsVFqPfgUMtoYQjWgAWQPx

3NBwZbvD45CscLGF78qTaDRBZ7mDBHt3Yib:  -0.00800000 Waves

2022.08.04 14:49 [2169707] smart account 3NBwZbvD45CscLGF78qTaDRBZ7mDBHt3Yib > SELF 0.00000000 Waves

{ "type": 13, "id": "HgjCP7Dp7dH5Wd6a8AVHzMdsVFqPfgUMtoYQjWgAWQPx", "fee": 800000, "feeAssetId": null, "timestamp": 1659613764508, "version": 2, "chainId": 84, "sender": "3NBwZbvD45CscLGF78qTaDRBZ7mDBHt3Yib", "senderPublicKey": "3q3N8Kv49DbzNHyTB4A87UYz2DdquXCgP3GNCcD9Zj66", "proofs": [ "3qHnr3c7eNMWA4eadwgfM7aN3BCsLDJyFmQhqAPVRxoypDVF2iddhHePqahiGfeUcK7QDdtevJYemhKBGwNSZdZ5" ], "script": "base64:AAIFAAAAAAAAACgIAhIHCgUICAgICBIECgIICBIECgIICBIECgIICBIECgIECBIDCgEIAAAAJgAAAAALQ09ORl9JTklUX0sCAAAAC2NvbmZpZ19pbml0AAAAAAtDT05GX0FNSU5fSwIAAAAMY29uZmlnX2FkbWluAAAAAA1DT05GX09SQUNMRV9LAgAAAA1jb25maWdfb3JhY2xlAAAAABNDT05GX0FSVFdPUktfREFQUF9LAgAAABNjb25maWdfYXJ0d29ya19kYXBwAAAAABFDT05GX1VTRVJTX0RBUFBfSwIAAAARY29uZmlnX3VzZXJzX2RhcHAAAAAAEENPTkZfRkVFX0FTU0VUX0sCAAAAEGNvbmZpZ19mZWVfYXNzZXQAAAAADmRhcHBSdW5uaW5nS2V5AgAAABRjb25mX2RhcHBfaXNfcnVubmluZwAAAAARbWFpbnRlbmFuY2VNU0dLZXkCAAAAFGNvbmZfbWFpbnRlbmFuY2VfbXNnAAAAAAtkYXBwUnVubmluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAA5kYXBwUnVubmluZ0tleQYAAAAADm1haW50ZW5hbmNlTVNHCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAEW1haW50ZW5hbmNlTVNHS2V5AgAAAAAAAAAADXN0YXR1c19MT0NLRUQCAAAABkxPQ0tFRAAAAAAPc3RhdHVzX1VOTE9DS0VEAgAAAAhVTkxPQ0tFRAAAAAAOc3RhdHVzX1BFTkRJTkcCAAAAB1BFTkRJTkcAAAAADXN0YXR1c19DTE9TRUQCAAAABkNMT1NFRAAAAAAITkVUV09SS1MJAARMAAAAAgIAAAADRVRICQAETAAAAAICAAAAB1BPTFlHT04FAAAAA25pbAEAAAAMa2V5TkZUc3RhdHVzAAAAAQAAAAVuZnRJZAkAASwAAAACCQABLAAAAAICAAAABG5mdF8FAAAABW5mdElkAgAAAAdfc3RhdHVzAQAAAA5rZXlUcmFuc2Zlck5GVAAAAAIAAAAFbmZ0SWQAAAAEdHhpZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJdHJhbnNmZXJfBQAAAAVuZnRJZAIAAAABXwUAAAAEdHhpZAAAAAAPa2V5RmVlTm9uTWludGVkAgAAAA9jb3N0X25vbl9taW50ZWQAAAAADGtleUZlZU1pbnRlZAIAAAALY29zdF9taW50ZWQBAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AgAAAAABAAAAD2dldEludGVnZXJCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQAAAAAAAAAAAAEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5BwAAAAAFYWRtaW4JAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAALQ09ORl9BTUlOX0sAAAAADGFydHdvcmtzRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABNDT05GX0FSVFdPUktfREFQUF9LAAAAAAl1c2Vyc0RhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAARQ09ORl9VU0VSU19EQVBQX0sAAAAACm9yYWNsZUFkZHIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAANQ09ORl9PUkFDTEVfSwAAAAAQZmVlQWNjZXB0ZWRBc3NldAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAQQ09ORl9GRUVfQVNTRVRfSwEAAAAXZ2V0U3RyaW5nRnJvbVVzZXJzQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAl1c2Vyc0RhcHAFAAAAA2tleQIAAAAAAQAAABpnZXRTdHJpbmdGcm9tQXJ0d29ya3NCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAADGFydHdvcmtzRGFwcAUAAAADa2V5AgAAAAABAAAAGWdldEludGVnZXJCeUtleUZyb21PcmFjbGUAAAABAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAACm9yYWNsZUFkZHIFAAAAA2tleQIAAAAfSW50ZWdlciB1bmRlZmluZSBvciAwIGluIG9yYWNsZQEAAAAMYXNzZXRJc1ZhbGlkAAAAAQAAAAxhc3NldERldGFpbHMDAwMJAAAAAAAAAggFAAAADGFzc2V0RGV0YWlscwAAAAhxdWFudGl0eQAAAAAAAAAAAQkAAAAAAAACCAUAAAAMYXNzZXREZXRhaWxzAAAACGRlY2ltYWxzAAAAAAAAAAAABwkAAAAAAAACCAUAAAAMYXNzZXREZXRhaWxzAAAACnJlaXNzdWFibGUHBwkAAAAAAAACCAUAAAAMYXNzZXREZXRhaWxzAAAABmlzc3VlcgUAAAAMYXJ0d29ya3NEYXBwBwEAAAAMaXNTaWduQXJ0TkZUAAAAAQAAAAJpZAQAAAAMYXNzZXREZXRhaWxzCQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAAmlkCQEAAAAMYXNzZXRJc1ZhbGlkAAAAAQUAAAAMYXNzZXREZXRhaWxzAQAAAAlpc1BheW1lbnQAAAABAAAAAWkDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAATTm8gcGF5bWVudCBhdHRhY2hlZAQAAAALbmZ0X3BheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACm5mdF9hbW91bnQJAQAAAAV2YWx1ZQAAAAEIBQAAAAtuZnRfcGF5bWVudAAAAAZhbW91bnQEAAAAD2dhdGV3YXlfcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQQAAAAOZ2F0ZXdheV9hbW91bnQJAQAAAAV2YWx1ZQAAAAEIBQAAAA9nYXRld2F5X3BheW1lbnQAAAAGYW1vdW50CQAFFgAAAAQFAAAAC25mdF9wYXltZW50BQAAAApuZnRfYW1vdW50BQAAAA9nYXRld2F5X3BheW1lbnQFAAAADmdhdGV3YXlfYW1vdW50AAAAAAZpc0luaXQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAA9nZXRCb29sZWFuQnlLZXkAAAABBQAAAAtDT05GX0lOSVRfSwcBAAAACW93bmVyT25seQAAAAEAAAABaQQAAAAGY2FsbGVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAKYWxsb3dlZEFycgMFAAAABmlzSW5pdAkABEwAAAACCQAEJQAAAAEFAAAABWFkbWluCQAETAAAAAIJAAQlAAAAAQUAAAAEdGhpcwUAAAADbmlsCQAETAAAAAIJAAQlAAAAAQUAAAAEdGhpcwUAAAADbmlsAwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAACmFsbG93ZWRBcnIFAAAABmNhbGxlcgYHAQAAAAxpZENhbGxlckRhdGUAAAABAAAAAWkDCQEAAAABIQAAAAEFAAAAC2RhcHBSdW5uaW5nCQAAAgAAAAEFAAAADm1haW50ZW5hbmNlTVNHCQAFFQAAAAMJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAEAAAATZ2V0Q3JlYXRvckZyb21ORlRpZAAAAAEAAAAFbmZ0aWQEAAAAB25mdERhdGEJAQAAABpnZXRTdHJpbmdGcm9tQXJ0d29ya3NCeUtleQAAAAEJAAEsAAAAAgIAAAAEbmZ0XwUAAAAFbmZ0aWQEAAAAB2NyZWF0b3IJAAGRAAAAAgkABLUAAAACBQAAAAduZnREYXRhAgAAAAFfAAAAAAAAAAAGBQAAAAdjcmVhdG9yAQAAABNnZXRDcmVhdG9yRVJDMjBBZGRyAAAAAQAAAARhZGRyBAAAAAllcmMyMEFkZHIJAQAAABdnZXRTdHJpbmdGcm9tVXNlcnNCeUtleQAAAAEJAAEsAAAAAgIAAAALdXNlcl9FUkMyMF8FAAAABGFkZHIFAAAACWVyYzIwQWRkcgAAAAYAAAABaQEAAAAEaW5pdAAAAAUAAAAJYWRtaW5BZGRyAAAACm9yYWNsZUFkZHIAAAAMYXJ0d29ya3NEYXBwAAAACXVzZXJzRGFwcAAAAAhmZWVBc3NldAMJAQAAAAlvd25lck9ubHkAAAABBQAAAAFpCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAC0NPTkZfQU1JTl9LBQAAAAlhZG1pbkFkZHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANQ09ORl9PUkFDTEVfSwUAAAAKb3JhY2xlQWRkcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABNDT05GX0FSVFdPUktfREFQUF9LBQAAAAxhcnR3b3Jrc0RhcHAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAARQ09ORl9VU0VSU19EQVBQX0sFAAAACXVzZXJzRGFwcAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABBDT05GX0ZFRV9BU1NFVF9LBQAAAAhmZWVBc3NldAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAALQ09ORl9JTklUX0sGBQAAAANuaWwJAAACAAAAAQIAAAALTm90IGFsbG93ZWQAAAABaQEAAAAEbG9jawAAAAIAAAAJcmVjaXBpZW50AAAAB25ldHdvcmsDCQEAAAABIQAAAAEFAAAABmlzSW5pdAkAAAIAAAABAgAAAA5kQXBwIG5vdCByZWFkeQMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAACE5FVFdPUktTBQAAAAduZXR3b3JrCQAAAgAAAAECAAAAFU5ldHdvcmsgbm90IHN1cHBvcnRlZAQAAAALJHQwMzk3ODQwMTcJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAACyR0MDM5Nzg0MDE3AAAAAl8xBAAAAAZjYWxsZXIIBQAAAAskdDAzOTc4NDAxNwAAAAJfMgQAAAAEZGF0ZQgFAAAACyR0MDM5Nzg0MDE3AAAAAl8zBAAAAAskdDA0MDIwNDA5NwkBAAAACWlzUGF5bWVudAAAAAEFAAAAAWkEAAAAC25mdF9wYXltZW50CAUAAAALJHQwNDAyMDQwOTcAAAACXzEEAAAACm5mdF9hbW91bnQIBQAAAAskdDA0MDIwNDA5NwAAAAJfMgQAAAAPZ2F0ZXdheV9wYXltZW50CAUAAAALJHQwNDAyMDQwOTcAAAACXzMEAAAADmdhdGV3YXlfYW1vdW50CAUAAAALJHQwNDAyMDQwOTcAAAACXzQDCQEAAAACIT0AAAACBQAAAApuZnRfYW1vdW50AAAAAAAAAAABCQAAAgAAAAECAAAAD05vIE5GVCBhdHRhY2hlZAQAAAAFbmZ0SWQDAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAtuZnRfcGF5bWVudAAAAAdhc3NldElkCQEAAAAMaXNTaWduQXJ0TkZUAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAC25mdF9wYXltZW50AAAAB2Fzc2V0SWQHCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAAtuZnRfcGF5bWVudAAAAAdhc3NldElkCQAAAgAAAAECAAAAG09ubHkgU0lHTiBBcnQgTkZUIGFjY2VwdGVkLgQAAAAQY3JlYXRvckZyb21ORlRJZAkBAAAAE2dldENyZWF0b3JGcm9tTkZUaWQAAAABBQAAAAVuZnRJZAQAAAAJZXJjMjBBZGRyCQEAAAATZ2V0Q3JlYXRvckVSQzIwQWRkcgAAAAEFAAAAEGNyZWF0b3JGcm9tTkZUSWQDCQAAAAAAAAIJAAExAAAAAQUAAAAJZXJjMjBBZGRyAAAAAAAAAAAACQAAAgAAAAECAAAALFRoaXMgYXJ0aXN0IGRpZG4ndCBhbGxvdyBjcm9zc2NoYWluIHRyYW5zZmVyBAAAAAluZnRTdGF0dXMJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAAxrZXlORlRzdGF0dXMAAAABBQAAAAVuZnRJZAMDCQAAAAAAAAIFAAAACW5mdFN0YXR1cwUAAAANc3RhdHVzX0xPQ0tFRAYJAAAAAAAAAgUAAAAJbmZ0U3RhdHVzBQAAAA5zdGF0dXNfUEVORElORwkAAAIAAAABAgAAABJORlQgYWxyZWFkeSBsb2NrZWQEAAAAD2dhc0ZlZU5vbk1pbnRlZAkBAAAAGWdldEludGVnZXJCeUtleUZyb21PcmFjbGUAAAABBQAAAA9rZXlGZWVOb25NaW50ZWQEAAAADGdhc0ZlZU1pbnRlZAkBAAAAGWdldEludGVnZXJC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", "height": 2169707, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AZQHVKJyenZnuxRGZ4FgLYddpod7S1kqqEZV6uZh9Eiy Next: 3GYqYRMKLCo5SY748DcX2z9xzB4MJzqTgfKk3ZNKDGwC Diff:
OldNewDifferences
1111
1212 let e = "config_users_dapp"
1313
14-let f = "conf_dapp_is_running"
14+let f = "config_fee_asset"
1515
16-let g = "conf_maintenance_msg"
16+let g = "conf_dapp_is_running"
1717
18-let h = valueOrElse(getBoolean(this, f), true)
18+let h = "conf_maintenance_msg"
1919
20-let i = valueOrElse(getString(this, g), "")
20+let i = valueOrElse(getBoolean(this, g), true)
2121
22-let j = "LOCKED"
22+let j = valueOrElse(getString(this, h), "")
2323
24-let k = "UNLOCKED"
24+let k = "LOCKED"
2525
26-let l = "PENDING"
26+let l = "UNLOCKED"
2727
28-let m = "CLOSED"
28+let m = "PENDING"
2929
30-let n = ["ETH", "POLYGON"]
30+let n = "CLOSED"
3131
32-func o (p) = (("nft_" + p) + "_status")
32+let o = ["ETH", "POLYGON"]
33+
34+func p (q) = (("nft_" + q) + "_status")
3335
3436
35-func q (p,r) = ((("transfer_" + p) + "_") + r)
37+func r (q,s) = ((("transfer_" + q) + "_") + s)
3638
3739
38-func s (t) = valueOrElse(getString(this, t), "")
40+let t = "cost_non_minted"
41+
42+let u = "cost_minted"
43+
44+func v (w) = valueOrElse(getString(this, w), "")
3945
4046
41-func u (t) = valueOrElse(getInteger(this, t), 0)
47+func x (w) = valueOrElse(getInteger(this, w), 0)
4248
4349
44-func v (t) = valueOrElse(getBoolean(this, t), false)
50+func y (w) = valueOrElse(getBoolean(this, w), false)
4551
4652
47-let w = value(addressFromString(s(b)))
53+let z = value(addressFromString(v(b)))
4854
49-let x = value(addressFromString(s(d)))
55+let A = value(addressFromString(v(d)))
5056
51-let y = value(addressFromString(s(e)))
57+let B = value(addressFromString(v(e)))
5258
53-let z = value(addressFromString(s(c)))
59+let C = value(addressFromString(v(c)))
5460
55-func A (t) = valueOrElse(getString(y, t), "")
61+let D = v(f)
62+
63+func E (w) = valueOrElse(getString(B, w), "")
5664
5765
58-func B (t) = valueOrElse(getString(x, t), "")
66+func F (w) = valueOrElse(getString(A, w), "")
5967
6068
61-func C (t) = valueOrErrorMessage(getInteger(z, t), "Integer undefine or 0 in oracle")
69+func G (w) = valueOrErrorMessage(getInteger(C, w), "Integer undefine or 0 in oracle")
6270
6371
64-func D (E) = if (if (if ((E.quantity == 1))
65- then (E.decimals == 0)
72+func H (I) = if (if (if ((I.quantity == 1))
73+ then (I.decimals == 0)
6674 else false)
67- then (E.reissuable == false)
75+ then (I.reissuable == false)
6876 else false)
69- then (E.issuer == x)
77+ then (I.issuer == A)
7078 else false
7179
7280
73-func F (G) = {
74- let E = value(assetInfo(G))
75- D(E)
81+func J (K) = {
82+ let I = value(assetInfo(K))
83+ H(I)
7684 }
7785
7886
79-func H (I) = if ((size(I.payments) == 0))
87+func L (M) = if ((size(M.payments) == 0))
8088 then throw("No payment attached")
8189 else {
82- let J = value(I.payments[0])
83- let K = value(J.amount)
84- let L = value(I.payments[1])
85- let M = value(L.amount)
86- $Tuple4(J, K, L, M)
90+ let N = value(M.payments[0])
91+ let O = value(N.amount)
92+ let P = value(M.payments[1])
93+ let Q = value(P.amount)
94+ $Tuple4(N, O, P, Q)
8795 }
8896
8997
90-let N = valueOrElse(v(a), false)
98+let R = valueOrElse(y(a), false)
9199
92-func O (I) = {
93- let P = toString(I.caller)
94- let G = toBase58String(I.transactionId)
95- let Q = if (N)
96- then [toString(w), toString(this)]
100+func S (M) = {
101+ let T = toString(M.caller)
102+ let K = toBase58String(M.transactionId)
103+ let U = if (R)
104+ then [toString(z), toString(this)]
97105 else [toString(this)]
98- if (containsElement(Q, P))
106+ if (containsElement(U, T))
99107 then true
100108 else false
101109 }
102110
103111
104-func R (I) = if (!(h))
105- then throw(i)
106- else $Tuple3(toBase58String(I.transactionId), toBase58String(I.caller.bytes), lastBlock.timestamp)
112+func V (M) = if (!(i))
113+ then throw(j)
114+ else $Tuple3(toBase58String(M.transactionId), toBase58String(M.caller.bytes), lastBlock.timestamp)
107115
108116
109-func S (T) = {
110- let U = B(("nft_" + T))
111- let V = split(U, "_")[6]
112- V
117+func W (X) = {
118+ let Y = F(("nft_" + X))
119+ let Z = split(Y, "_")[6]
120+ Z
113121 }
114122
115123
116-func W (X) = {
117- let Y = A(("user_ERC20_" + X))
118- Y
124+func aa (ab) = {
125+ let ac = E(("user_ERC20_" + ab))
126+ ac
119127 }
120128
121129
122-@Callable(I)
123-func init (Z,z,x,y) = if (O(I))
124- then [StringEntry(b, Z), StringEntry(c, z), StringEntry(d, x), StringEntry(e, y), BooleanEntry(a, true)]
130+@Callable(M)
131+func init (ad,C,A,B,ae) = if (S(M))
132+ then [StringEntry(b, ad), StringEntry(c, C), StringEntry(d, A), StringEntry(e, B), StringEntry(f, ae), BooleanEntry(a, true)]
125133 else throw("Not allowed")
126134
127135
128136
129-@Callable(I)
130-func lock (aa,ab) = if (!(N))
137+@Callable(M)
138+func lock (af,ag) = if (!(R))
131139 then throw("dApp not ready")
132- else if (!(containsElement(n, ab)))
140+ else if (!(containsElement(o, ag)))
133141 then throw("Network not supported")
134142 else {
135- let ac = R(I)
136- let G = ac._1
137- let P = ac._2
138- let ad = ac._3
139- let ae = H(I)
140- let J = ae._1
141- let K = ae._2
142- let L = ae._3
143- let M = ae._4
144- if ((K != 1))
143+ let ah = V(M)
144+ let K = ah._1
145+ let T = ah._2
146+ let ai = ah._3
147+ let aj = L(M)
148+ let N = aj._1
149+ let O = aj._2
150+ let P = aj._3
151+ let Q = aj._4
152+ if ((O != 1))
145153 then throw("No NFT attached")
146154 else {
147- let p = if (if (isDefined(J.assetId))
148- then F(value(J.assetId))
155+ let q = if (if (isDefined(N.assetId))
156+ then J(value(N.assetId))
149157 else false)
150- then toBase58String(value(J.assetId))
158+ then toBase58String(value(N.assetId))
151159 else throw("Only SIGN Art NFT accepted.")
152- let af = S(p)
153- let Y = W(af)
154- if ((size(Y) == 0))
160+ let ak = W(q)
161+ let ac = aa(ak)
162+ if ((size(ac) == 0))
155163 then throw("This artist didn't allow crosschain transfer")
156164 else {
157- let ag = s(o(p))
158- if (if ((ag == j))
165+ let al = v(p(q))
166+ if (if ((al == k))
159167 then true
160- else (ag == l))
168+ else (al == m))
161169 then throw("NFT already locked")
162- else [StringEntry(o(p), l), StringEntry(((q(p, G) + "_") + l), ((((((((((((aa + "_") + ab) + "_") + P) + "_") + G) + "_") + value(assetInfo(value(J.assetId))).name) + "_") + toString(ad)) + "_") + toString(height)))]
170+ else {
171+ let am = G(t)
172+ let an = G(u)
173+ let ao = if ((al == l))
174+ then true
175+ else false
176+ if ((toBase58String(value(P.assetId)) != D))
177+ then throw("Wrong payment asset")
178+ else if (if (ao)
179+ then (Q > an)
180+ else false)
181+ then throw("Wrong payment amount to unlock")
182+ else if (if (!(ao))
183+ then (Q > am)
184+ else false)
185+ then throw("Wrong payment amount to mint and unlock")
186+ else [StringEntry(p(q), m), StringEntry(((r(q, K) + "_") + m), ((((((((((((af + "_") + ag) + "_") + T) + "_") + K) + "_") + value(assetInfo(value(N.assetId))).name) + "_") + toString(ai)) + "_") + toString(height)))]
187+ }
163188 }
164189 }
165190 }
166191
167192
168193
169-@Callable(I)
170-func confirmLock (p,ah) = if (!(N))
194+@Callable(M)
195+func confirmLock (q,ap) = if (!(R))
171196 then throw("dApp not ready")
172- else if (O(I))
197+ else if (S(M))
173198 then {
174- let ag = s(o(p))
175- if ((ag != l))
199+ let al = v(p(q))
200+ if ((al != m))
176201 then throw("NFT not pending")
177202 else {
178- let ai = s(((q(p, ah) + "_") + l))
179- let aj = ((q(p, ah) + "_") + m)
180-[DeleteEntry(((q(p, ah) + "_") + l)), StringEntry(aj, ai), StringEntry(o(p), j)]
203+ let aq = v(((r(q, ap) + "_") + m))
204+ let ar = ((r(q, ap) + "_") + n)
205+[DeleteEntry(((r(q, ap) + "_") + m)), StringEntry(ar, aq), StringEntry(p(q), k)]
181206 }
182207 }
183208 else throw("Not allowed")
184209
185210
186211
187-@Callable(I)
188-func unlock (aa,p) = if (!(N))
212+@Callable(M)
213+func unlock (af,q) = if (!(R))
189214 then throw("dApp not ready")
190- else if (O(I))
215+ else if (S(M))
191216 then {
192- let ag = s(o(p))
193- if ((ag != j))
217+ let al = v(p(q))
218+ if ((al != k))
194219 then throw("NFT not locked, finalize first if pending")
195- else [StringEntry(o(p), k), ScriptTransfer(Address(fromBase58String(aa)), 1, fromBase58String(p))]
220+ else [StringEntry(p(q), l), ScriptTransfer(Address(fromBase58String(af)), 1, fromBase58String(q))]
196221 }
197222 else throw("Not allowed")
198223
199224
200225
201-@Callable(I)
202-func appRunning (ak,al) = if (!(N))
226+@Callable(M)
227+func appRunning (as,at) = if (!(R))
203228 then throw("dApp not ready")
204- else if (O(I))
205- then [BooleanEntry(f, ak), StringEntry(g, al)]
229+ else if (S(M))
230+ then [BooleanEntry(g, as), StringEntry(h, at)]
206231 else throw("You are not allowed to change this")
207232
208233
209234
210-@Callable(I)
211-func deleteEntry (am) = if (O(I))
212- then [DeleteEntry(am)]
235+@Callable(M)
236+func deleteEntry (au) = if (S(M))
237+ then [DeleteEntry(au)]
213238 else throw("no")
214239
215240
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "config_init"
55
66 let b = "config_admin"
77
88 let c = "config_oracle"
99
1010 let d = "config_artwork_dapp"
1111
1212 let e = "config_users_dapp"
1313
14-let f = "conf_dapp_is_running"
14+let f = "config_fee_asset"
1515
16-let g = "conf_maintenance_msg"
16+let g = "conf_dapp_is_running"
1717
18-let h = valueOrElse(getBoolean(this, f), true)
18+let h = "conf_maintenance_msg"
1919
20-let i = valueOrElse(getString(this, g), "")
20+let i = valueOrElse(getBoolean(this, g), true)
2121
22-let j = "LOCKED"
22+let j = valueOrElse(getString(this, h), "")
2323
24-let k = "UNLOCKED"
24+let k = "LOCKED"
2525
26-let l = "PENDING"
26+let l = "UNLOCKED"
2727
28-let m = "CLOSED"
28+let m = "PENDING"
2929
30-let n = ["ETH", "POLYGON"]
30+let n = "CLOSED"
3131
32-func o (p) = (("nft_" + p) + "_status")
32+let o = ["ETH", "POLYGON"]
33+
34+func p (q) = (("nft_" + q) + "_status")
3335
3436
35-func q (p,r) = ((("transfer_" + p) + "_") + r)
37+func r (q,s) = ((("transfer_" + q) + "_") + s)
3638
3739
38-func s (t) = valueOrElse(getString(this, t), "")
40+let t = "cost_non_minted"
41+
42+let u = "cost_minted"
43+
44+func v (w) = valueOrElse(getString(this, w), "")
3945
4046
41-func u (t) = valueOrElse(getInteger(this, t), 0)
47+func x (w) = valueOrElse(getInteger(this, w), 0)
4248
4349
44-func v (t) = valueOrElse(getBoolean(this, t), false)
50+func y (w) = valueOrElse(getBoolean(this, w), false)
4551
4652
47-let w = value(addressFromString(s(b)))
53+let z = value(addressFromString(v(b)))
4854
49-let x = value(addressFromString(s(d)))
55+let A = value(addressFromString(v(d)))
5056
51-let y = value(addressFromString(s(e)))
57+let B = value(addressFromString(v(e)))
5258
53-let z = value(addressFromString(s(c)))
59+let C = value(addressFromString(v(c)))
5460
55-func A (t) = valueOrElse(getString(y, t), "")
61+let D = v(f)
62+
63+func E (w) = valueOrElse(getString(B, w), "")
5664
5765
58-func B (t) = valueOrElse(getString(x, t), "")
66+func F (w) = valueOrElse(getString(A, w), "")
5967
6068
61-func C (t) = valueOrErrorMessage(getInteger(z, t), "Integer undefine or 0 in oracle")
69+func G (w) = valueOrErrorMessage(getInteger(C, w), "Integer undefine or 0 in oracle")
6270
6371
64-func D (E) = if (if (if ((E.quantity == 1))
65- then (E.decimals == 0)
72+func H (I) = if (if (if ((I.quantity == 1))
73+ then (I.decimals == 0)
6674 else false)
67- then (E.reissuable == false)
75+ then (I.reissuable == false)
6876 else false)
69- then (E.issuer == x)
77+ then (I.issuer == A)
7078 else false
7179
7280
73-func F (G) = {
74- let E = value(assetInfo(G))
75- D(E)
81+func J (K) = {
82+ let I = value(assetInfo(K))
83+ H(I)
7684 }
7785
7886
79-func H (I) = if ((size(I.payments) == 0))
87+func L (M) = if ((size(M.payments) == 0))
8088 then throw("No payment attached")
8189 else {
82- let J = value(I.payments[0])
83- let K = value(J.amount)
84- let L = value(I.payments[1])
85- let M = value(L.amount)
86- $Tuple4(J, K, L, M)
90+ let N = value(M.payments[0])
91+ let O = value(N.amount)
92+ let P = value(M.payments[1])
93+ let Q = value(P.amount)
94+ $Tuple4(N, O, P, Q)
8795 }
8896
8997
90-let N = valueOrElse(v(a), false)
98+let R = valueOrElse(y(a), false)
9199
92-func O (I) = {
93- let P = toString(I.caller)
94- let G = toBase58String(I.transactionId)
95- let Q = if (N)
96- then [toString(w), toString(this)]
100+func S (M) = {
101+ let T = toString(M.caller)
102+ let K = toBase58String(M.transactionId)
103+ let U = if (R)
104+ then [toString(z), toString(this)]
97105 else [toString(this)]
98- if (containsElement(Q, P))
106+ if (containsElement(U, T))
99107 then true
100108 else false
101109 }
102110
103111
104-func R (I) = if (!(h))
105- then throw(i)
106- else $Tuple3(toBase58String(I.transactionId), toBase58String(I.caller.bytes), lastBlock.timestamp)
112+func V (M) = if (!(i))
113+ then throw(j)
114+ else $Tuple3(toBase58String(M.transactionId), toBase58String(M.caller.bytes), lastBlock.timestamp)
107115
108116
109-func S (T) = {
110- let U = B(("nft_" + T))
111- let V = split(U, "_")[6]
112- V
117+func W (X) = {
118+ let Y = F(("nft_" + X))
119+ let Z = split(Y, "_")[6]
120+ Z
113121 }
114122
115123
116-func W (X) = {
117- let Y = A(("user_ERC20_" + X))
118- Y
124+func aa (ab) = {
125+ let ac = E(("user_ERC20_" + ab))
126+ ac
119127 }
120128
121129
122-@Callable(I)
123-func init (Z,z,x,y) = if (O(I))
124- then [StringEntry(b, Z), StringEntry(c, z), StringEntry(d, x), StringEntry(e, y), BooleanEntry(a, true)]
130+@Callable(M)
131+func init (ad,C,A,B,ae) = if (S(M))
132+ then [StringEntry(b, ad), StringEntry(c, C), StringEntry(d, A), StringEntry(e, B), StringEntry(f, ae), BooleanEntry(a, true)]
125133 else throw("Not allowed")
126134
127135
128136
129-@Callable(I)
130-func lock (aa,ab) = if (!(N))
137+@Callable(M)
138+func lock (af,ag) = if (!(R))
131139 then throw("dApp not ready")
132- else if (!(containsElement(n, ab)))
140+ else if (!(containsElement(o, ag)))
133141 then throw("Network not supported")
134142 else {
135- let ac = R(I)
136- let G = ac._1
137- let P = ac._2
138- let ad = ac._3
139- let ae = H(I)
140- let J = ae._1
141- let K = ae._2
142- let L = ae._3
143- let M = ae._4
144- if ((K != 1))
143+ let ah = V(M)
144+ let K = ah._1
145+ let T = ah._2
146+ let ai = ah._3
147+ let aj = L(M)
148+ let N = aj._1
149+ let O = aj._2
150+ let P = aj._3
151+ let Q = aj._4
152+ if ((O != 1))
145153 then throw("No NFT attached")
146154 else {
147- let p = if (if (isDefined(J.assetId))
148- then F(value(J.assetId))
155+ let q = if (if (isDefined(N.assetId))
156+ then J(value(N.assetId))
149157 else false)
150- then toBase58String(value(J.assetId))
158+ then toBase58String(value(N.assetId))
151159 else throw("Only SIGN Art NFT accepted.")
152- let af = S(p)
153- let Y = W(af)
154- if ((size(Y) == 0))
160+ let ak = W(q)
161+ let ac = aa(ak)
162+ if ((size(ac) == 0))
155163 then throw("This artist didn't allow crosschain transfer")
156164 else {
157- let ag = s(o(p))
158- if (if ((ag == j))
165+ let al = v(p(q))
166+ if (if ((al == k))
159167 then true
160- else (ag == l))
168+ else (al == m))
161169 then throw("NFT already locked")
162- else [StringEntry(o(p), l), StringEntry(((q(p, G) + "_") + l), ((((((((((((aa + "_") + ab) + "_") + P) + "_") + G) + "_") + value(assetInfo(value(J.assetId))).name) + "_") + toString(ad)) + "_") + toString(height)))]
170+ else {
171+ let am = G(t)
172+ let an = G(u)
173+ let ao = if ((al == l))
174+ then true
175+ else false
176+ if ((toBase58String(value(P.assetId)) != D))
177+ then throw("Wrong payment asset")
178+ else if (if (ao)
179+ then (Q > an)
180+ else false)
181+ then throw("Wrong payment amount to unlock")
182+ else if (if (!(ao))
183+ then (Q > am)
184+ else false)
185+ then throw("Wrong payment amount to mint and unlock")
186+ else [StringEntry(p(q), m), StringEntry(((r(q, K) + "_") + m), ((((((((((((af + "_") + ag) + "_") + T) + "_") + K) + "_") + value(assetInfo(value(N.assetId))).name) + "_") + toString(ai)) + "_") + toString(height)))]
187+ }
163188 }
164189 }
165190 }
166191
167192
168193
169-@Callable(I)
170-func confirmLock (p,ah) = if (!(N))
194+@Callable(M)
195+func confirmLock (q,ap) = if (!(R))
171196 then throw("dApp not ready")
172- else if (O(I))
197+ else if (S(M))
173198 then {
174- let ag = s(o(p))
175- if ((ag != l))
199+ let al = v(p(q))
200+ if ((al != m))
176201 then throw("NFT not pending")
177202 else {
178- let ai = s(((q(p, ah) + "_") + l))
179- let aj = ((q(p, ah) + "_") + m)
180-[DeleteEntry(((q(p, ah) + "_") + l)), StringEntry(aj, ai), StringEntry(o(p), j)]
203+ let aq = v(((r(q, ap) + "_") + m))
204+ let ar = ((r(q, ap) + "_") + n)
205+[DeleteEntry(((r(q, ap) + "_") + m)), StringEntry(ar, aq), StringEntry(p(q), k)]
181206 }
182207 }
183208 else throw("Not allowed")
184209
185210
186211
187-@Callable(I)
188-func unlock (aa,p) = if (!(N))
212+@Callable(M)
213+func unlock (af,q) = if (!(R))
189214 then throw("dApp not ready")
190- else if (O(I))
215+ else if (S(M))
191216 then {
192- let ag = s(o(p))
193- if ((ag != j))
217+ let al = v(p(q))
218+ if ((al != k))
194219 then throw("NFT not locked, finalize first if pending")
195- else [StringEntry(o(p), k), ScriptTransfer(Address(fromBase58String(aa)), 1, fromBase58String(p))]
220+ else [StringEntry(p(q), l), ScriptTransfer(Address(fromBase58String(af)), 1, fromBase58String(q))]
196221 }
197222 else throw("Not allowed")
198223
199224
200225
201-@Callable(I)
202-func appRunning (ak,al) = if (!(N))
226+@Callable(M)
227+func appRunning (as,at) = if (!(R))
203228 then throw("dApp not ready")
204- else if (O(I))
205- then [BooleanEntry(f, ak), StringEntry(g, al)]
229+ else if (S(M))
230+ then [BooleanEntry(g, as), StringEntry(h, at)]
206231 else throw("You are not allowed to change this")
207232
208233
209234
210-@Callable(I)
211-func deleteEntry (am) = if (O(I))
212- then [DeleteEntry(am)]
235+@Callable(M)
236+func deleteEntry (au) = if (S(M))
237+ then [DeleteEntry(au)]
213238 else throw("no")
214239
215240

github/deemru/w8io/169f3d6 
85.96 ms