tx · 42gY3RtuQJvDHNQwaPDAQkqS5MWd9yBnxHFZMNXSNGy9

3N1ytAUyhtig9X6F2hHHs1jbzYxr47Yp8Fr:  -0.00500000 Waves

2024.09.24 20:51 [3298003] smart account 3N1ytAUyhtig9X6F2hHHs1jbzYxr47Yp8Fr > SELF 0.00000000 Waves

{ "type": 13, "id": "42gY3RtuQJvDHNQwaPDAQkqS5MWd9yBnxHFZMNXSNGy9", "fee": 500000, "feeAssetId": null, "timestamp": 1727200287768, "version": 2, "chainId": 84, "sender": "3N1ytAUyhtig9X6F2hHHs1jbzYxr47Yp8Fr", "senderPublicKey": "jXCTQV8PjX2uC9UHBFveupYy9cjhY7stHbzE9cptymw", "proofs": [ "5xLQ46dNEuyVCk1VsEoTkGHbbGhhrtuJnXVSuBoAa6U5r5MZmQkSGoxoXWDzpwb7LzekPWNJju16aqtGvGfxAHNi" ], "script": "base64:BwITCAISAwoBCBIECgICGBIECgICGCAACXNlcGFyYXRvcgICX18AC3dhdmVzU3RyaW5nAgVXQVZFUwAQY29udHJhY3RGaWxlbmFtZQIXbWVtZV9pbV9jYWxjdWxhdG9yLnJpZGUABW11bHQ4AIDC1y8BB3dyYXBFcnIBAXMJAKwCAgkArAICBRBjb250cmFjdEZpbGVuYW1lAgI6IAUBcwEIdGhyb3dFcnIBAXMJAAIBCQEHd3JhcEVycgEFAXMBD3ZhbGlkYXRlQWRkcmVzcwEHYWRkcmVzcwkBCWlzRGVmaW5lZAEJAKYIAQUHYWRkcmVzcwAMU1RBVFVTX0VNUFRZAAAADFNUQVRVU19SRUFEWQABAAlrU2h1dGRvd24CDCVzX19zaHV0ZG93bgALa1ByaWNlQXNzZXQCDHByaWNlX19hc3NldAAOa0xpc3RpbmdWb2x1bWUCDmxpc3Rpbmdfdm9sdW1lABFrUG9vbENvbnRyYWN0SGFzaAIScG9vbF9jb250cmFjdF9oYXNoABNrTGFzdEVtcHR5UG9vbEluZGV4AhdsYXN0X19lbXB0eV9wb29sX19pbmRleAAUa0ZpcnN0RW1wdHlQb29sSW5kZXgCGWZpcnN0X19lbXB0eV9fcG9vbF9faW5kZXgBFWtQb29sQWRkcmVzc0Zyb21JbmRleAEFaW5kZXgJALkJAgkAzAgCAgRwb29sCQDMCAIJAKQDAQUFaW5kZXgFA25pbAUJc2VwYXJhdG9yARVrUG9vbEluZGV4RnJvbUFkZHJlc3MBB2FkZHJlc3MJALkJAgkAzAgCAgRwb29sCQDMCAIJAKUIAQUHYWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBCmtQb29sQXNzZXQBB2FkZHJlc3MJALkJAgkAzAgCAgVhc3NldAkAzAgCCQClCAEFB2FkZHJlc3MFA25pbAUJc2VwYXJhdG9yAQtrUG9vbFN0YXR1cwEFaW5kZXgJALkJAgkAzAgCAgRwb29sCQDMCAICBnN0YXR1cwkAzAgCCQCkAwEFBWluZGV4BQNuaWwFCXNlcGFyYXRvcgAPa0ZhY3RvcnlBZGRyZXNzAhIlc19fZmFjdG9yeUFkZHJlc3MAFGZhY3RvcnlBZGRyZXNzT3B0aW9uBAckbWF0Y2gwCQCdCAIFBHRoaXMFD2tGYWN0b3J5QWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IADmZhY3RvcnlBZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIFFGZhY3RvcnlBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECF2ludmFsaWQgZmFjdG9yeSBhZGRyZXNzAAhzaHV0ZG93bgkBC3ZhbHVlT3JFbHNlAgkAmwgCBQ5mYWN0b3J5QWRkcmVzcwUJa1NodXRkb3duBwAObGFzdEVtcHR5SW5kZXgJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOZmFjdG9yeUFkZHJlc3MFE2tMYXN0RW1wdHlQb29sSW5kZXgAAAAPZmlyc3RFbXB0eUluZGV4CQELdmFsdWVPckVsc2UCCQCaCAIFDmZhY3RvcnlBZGRyZXNzBRRrRmlyc3RFbXB0eVBvb2xJbmRleAAAAA1saXN0aW5nVm9sdW1lCQELdmFsdWVPckVsc2UCCQCaCAIFDmZhY3RvcnlBZGRyZXNzBQ5rTGlzdGluZ1ZvbHVtZQAAAQxwYXJzZUFzc2V0SWQBBWlucHV0AwkAAAIFBWlucHV0BQt3YXZlc1N0cmluZwUEdW5pdAkA2QQBBQVpbnB1dAEPYXNzZXRJZFRvU3RyaW5nAQVpbnB1dAMJAAACBQVpbnB1dAUEdW5pdAULd2F2ZXNTdHJpbmcJANgEAQkBBXZhbHVlAQUFaW5wdXQBC211c3RBZGRyZXNzAgZjYWxsZXIHYWRkcmVzcwMJAAACBQZjYWxsZXIFB2FkZHJlc3MGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAEIbXVzdFRoaXMBBmNhbGxlcgkBC211c3RBZGRyZXNzAgUGY2FsbGVyBQR0aGlzAQttdXN0RmFjdG9yeQEGY2FsbGVyCQELbXVzdEFkZHJlc3MCBQZjYWxsZXIFDmZhY3RvcnlBZGRyZXNzARBwb29sQ29udHJhY3RIYXNoAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFDmZhY3RvcnlBZGRyZXNzBRFrUG9vbENvbnRyYWN0SGFzaAkBB3dyYXBFcnIBAiRwb29sIGNvbnRyYWN0IHNjcmlwdCBoYXNoIGlzIG5vdCBzZXQDAWkBBGluaXQBDmZhY3RvcnlBZGRyZXNzBAtjaGVja0NhbGxlcgkBCG11c3RUaGlzAQgFAWkGY2FsbGVyAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCBQ9rRmFjdG9yeUFkZHJlc3MFDmZhY3RvcnlBZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMYWRkRW1wdHlQb29sAg9jYWxsZXJQdWJsaWNLZXkEYXJncwQObmV3UG9vbEFkZHJlc3MJAKcIAQUPY2FsbGVyUHVibGljS2V5BAxuZXdQb29sSW5kZXgJAGQCBQ5sYXN0RW1wdHlJbmRleAABBA5mYWN0b3J5QWN0aW9ucwkAzAgCCQD8BwQFDmZhY3RvcnlBZGRyZXNzAgxpbnRlZ2VyRW50cnkJAMwIAgUTa0xhc3RFbXB0eVBvb2xJbmRleAkAzAgCBQxuZXdQb29sSW5kZXgFA25pbAUDbmlsCQDMCAIJAPwHBAUOZmFjdG9yeUFkZHJlc3MCC3N0cmluZ0VudHJ5CQDMCAIJARVrUG9vbEFkZHJlc3NGcm9tSW5kZXgBBQxuZXdQb29sSW5kZXgJAMwIAgkApQgBBQ5uZXdQb29sQWRkcmVzcwUDbmlsBQNuaWwJAMwIAgkA/AcEBQ5mYWN0b3J5QWRkcmVzcwIMaW50ZWdlckVudHJ5CQDMCAIJARVrUG9vbEluZGV4RnJvbUFkZHJlc3MBBQ5uZXdQb29sQWRkcmVzcwkAzAgCBQxuZXdQb29sSW5kZXgFA25pbAUDbmlsCQDMCAIJAPwHBAUOZmFjdG9yeUFkZHJlc3MCDGludGVnZXJFbnRyeQkAzAgCCQELa1Bvb2xTdGF0dXMBBQxuZXdQb29sSW5kZXgJAMwIAgUMU1RBVFVTX0VNUFRZBQNuaWwFA25pbAUDbmlsCQCUCgIFA25pbAUOZmFjdG9yeUFjdGlvbnMBaQEKY3JlYXRlUG9vbAIPY2FsbGVyUHVibGljS2V5BGFyZ3MEBmNoZWNrcwkAzAgCAwkBASEBBQhzaHV0ZG93bgYJAQh0aHJvd0VycgECFm5vdCBhbGxvd2VkIChzaHV0ZG93bikJAMwIAgkBC211c3RGYWN0b3J5AQgFAWkGY2FsbGVyCQDMCAIDCQBmAgkAZQIFDmxhc3RFbXB0eUluZGV4BQ9maXJzdEVtcHR5SW5kZXgAAAYJAQh0aHJvd0VycgECGG5vIGVtcHR5IHBvb2xzIGF2YWlsYWJsZQkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAEHYXNzZXRJZAUEdW5pdAYJAQh0aHJvd0VycgECG3ByaWNlIGFzc2V0IHNob3VsZCBiZSBXQVZFUwkAzAgCAwkAZgIICQCRAwIIBQFpCHBheW1lbnRzAAEGYW1vdW50BQ1saXN0aW5nVm9sdW1lBgkBCHRocm93RXJyAQI3cGF5bWVudFsxXSBhbW91bnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBsaXN0aW5nIHZvbHVtZQkAzAgCAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQR1bml0BgkBCHRocm93RXJyAQIcYW1vdW50IGFzc2V0IGNhbm5vdCBiZSBXQVZFUwkAzAgCAwkAZgIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAGCQEIdGhyb3dFcnIBAipwYXltZW50WzBdIGFtb3VudCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQNYW1vdW50QXNzZXRJZAgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBBNhbW91bnRBc3NldElkU3RyaW5nCQEPYXNzZXRJZFRvU3RyaW5nAQUNYW1vdW50QXNzZXRJZAQJcG9vbEluZGV4CQBkAgUPZmlyc3RFbXB0eUluZGV4AAEEEXBvb2xBZGRyZXNzU3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1MykCBQ5mYWN0b3J5QWRkcmVzcwkBFWtQb29sQWRkcmVzc0Zyb21JbmRleAEFCXBvb2xJbmRleAQLcG9vbEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEXBvb2xBZGRyZXNzU3RyaW5nBAdhY3Rpb25zCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFC3Bvb2xBZGRyZXNzCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFC3Bvb2xBZGRyZXNzCAkAkQMCCAUBaQhwYXltZW50cwABBmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAQdhc3NldElkBQNuaWwEDmZhY3RvcnlBY3Rpb25zCQDMCAIJAPwHBAUOZmFjdG9yeUFkZHJlc3MCC3N0cmluZ0VudHJ5CQDMCAIJAQprUG9vbEFzc2V0AQULcG9vbEFkZHJlc3MJAMwIAgUTYW1vdW50QXNzZXRJZFN0cmluZwUDbmlsBQNuaWwJAMwIAgkA/AcEBQ5mYWN0b3J5QWRkcmVzcwIMaW50ZWdlckVudHJ5CQDMCAIFFGtGaXJzdEVtcHR5UG9vbEluZGV4CQDMCAIFCXBvb2xJbmRleAUDbmlsBQNuaWwJAMwIAgkA/AcEBQ5mYWN0b3J5QWRkcmVzcwIMaW50ZWdlckVudHJ5CQDMCAIJAQtrUG9vbFN0YXR1cwEFCXBvb2xJbmRleAkAzAgCBQxTVEFUVVNfUkVBRFkFA25pbAUDbmlsBQNuaWwJAJQKAgUHYWN0aW9ucwUOZmFjdG9yeUFjdGlvbnMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AZyUPRA==", "height": 3298003, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: sTiEhi8Rsjez3i71cow48R9VLVG5112NopvMH38XLeh Next: AMgCQBh6n5pc6hT6CyhVmnPm2C3N9QuB4382oqYwt365 Diff:
OldNewDifferences
9595
9696
9797 @Callable(M)
98-func addEmptyPool (N,O) = {
99- let P = addressFromPublicKey(N)
100- let Q = (B + 1)
101- let R = [invoke(z, "integerEntry", [p, Q], nil), invoke(z, "stringEntry", [r(Q), toString(P)], nil), invoke(z, "integerEntry", [t(P), Q], nil), invoke(z, "integerEntry", [v(Q), j], nil)]
102- $Tuple2(nil, R)
98+func init (z) = {
99+ let N = J(M.caller)
100+ if ((N == N))
101+ then [StringEntry(w, z)]
102+ else throw("Strict value is not equal to itself.")
103103 }
104104
105105
106106
107107 @Callable(M)
108-func createPool (N,O) = {
109- let S = [if (!(A))
108+func addEmptyPool (O,P) = {
109+ let Q = addressFromPublicKey(O)
110+ let R = (B + 1)
111+ let S = [invoke(z, "integerEntry", [p, R], nil), invoke(z, "stringEntry", [r(R), toString(Q)], nil), invoke(z, "integerEntry", [t(Q), R], nil), invoke(z, "integerEntry", [v(R), j], nil)]
112+ $Tuple2(nil, S)
113+ }
114+
115+
116+
117+@Callable(M)
118+func createPool (O,P) = {
119+ let T = [if (!(A))
110120 then true
111121 else g("not allowed (shutdown)"), K(M.caller), if (((B - C) > 0))
112122 then true
119129 else g("amount asset cannot be WAVES"), if ((M.payments[0].amount > 0))
120130 then true
121131 else g("payment[0] amount should be greater than 0")]
122- if ((S == S))
132+ if ((T == T))
123133 then {
124- let T = M.payments[0].assetId
125- let U = G(T)
126- let V = (C + 1)
127- let W = getStringValue(z, r(V))
128- let X = addressFromStringValue(W)
129- let Y = [ScriptTransfer(X, M.payments[0].amount, M.payments[0].assetId), ScriptTransfer(X, M.payments[1].amount, M.payments[1].assetId)]
130- let R = [invoke(z, "stringEntry", [u(X), U], nil), invoke(z, "integerEntry", [q, V], nil), invoke(z, "integerEntry", [v(V), k], nil)]
131- $Tuple2(Y, R)
134+ let U = M.payments[0].assetId
135+ let V = G(U)
136+ let W = (C + 1)
137+ let X = getStringValue(z, r(W))
138+ let Y = addressFromStringValue(X)
139+ let Z = [ScriptTransfer(Y, M.payments[0].amount, M.payments[0].assetId), ScriptTransfer(Y, M.payments[1].amount, M.payments[1].assetId)]
140+ let S = [invoke(z, "stringEntry", [u(Y), V], nil), invoke(z, "integerEntry", [q, W], nil), invoke(z, "integerEntry", [v(W), k], nil)]
141+ $Tuple2(Z, S)
132142 }
133143 else throw("Strict value is not equal to itself.")
134144 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "WAVES"
77
88 let c = "meme_im_calculator.ride"
99
1010 let d = 100000000
1111
1212 func e (f) = ((c + ": ") + f)
1313
1414
1515 func g (f) = throw(e(f))
1616
1717
1818 func h (i) = isDefined(addressFromString(i))
1919
2020
2121 let j = 0
2222
2323 let k = 1
2424
2525 let l = "%s__shutdown"
2626
2727 let m = "price__asset"
2828
2929 let n = "listing_volume"
3030
3131 let o = "pool_contract_hash"
3232
3333 let p = "last__empty_pool__index"
3434
3535 let q = "first__empty__pool__index"
3636
3737 func r (s) = makeString(["pool", toString(s)], a)
3838
3939
4040 func t (i) = makeString(["pool", toString(i)], a)
4141
4242
4343 func u (i) = makeString(["asset", toString(i)], a)
4444
4545
4646 func v (s) = makeString(["pool", "status", toString(s)], a)
4747
4848
4949 let w = "%s__factoryAddress"
5050
5151 let x = {
5252 let y = getString(this, w)
5353 if ($isInstanceOf(y, "String"))
5454 then {
5555 let f = y
5656 addressFromString(f)
5757 }
5858 else if ($isInstanceOf(y, "Unit"))
5959 then unit
6060 else throw("Match error")
6161 }
6262
6363 let z = valueOrErrorMessage(x, e("invalid factory address"))
6464
6565 let A = valueOrElse(getBoolean(z, l), false)
6666
6767 let B = valueOrElse(getInteger(z, p), 0)
6868
6969 let C = valueOrElse(getInteger(z, q), 0)
7070
7171 let D = valueOrElse(getInteger(z, n), 0)
7272
7373 func E (F) = if ((F == b))
7474 then unit
7575 else fromBase58String(F)
7676
7777
7878 func G (F) = if ((F == unit))
7979 then b
8080 else toBase58String(value(F))
8181
8282
8383 func H (I,i) = if ((I == i))
8484 then true
8585 else g("permission denied")
8686
8787
8888 func J (I) = H(I, this)
8989
9090
9191 func K (I) = H(I, z)
9292
9393
9494 func L () = valueOrErrorMessage(getBinary(z, o), e("pool contract script hash is not set"))
9595
9696
9797 @Callable(M)
98-func addEmptyPool (N,O) = {
99- let P = addressFromPublicKey(N)
100- let Q = (B + 1)
101- let R = [invoke(z, "integerEntry", [p, Q], nil), invoke(z, "stringEntry", [r(Q), toString(P)], nil), invoke(z, "integerEntry", [t(P), Q], nil), invoke(z, "integerEntry", [v(Q), j], nil)]
102- $Tuple2(nil, R)
98+func init (z) = {
99+ let N = J(M.caller)
100+ if ((N == N))
101+ then [StringEntry(w, z)]
102+ else throw("Strict value is not equal to itself.")
103103 }
104104
105105
106106
107107 @Callable(M)
108-func createPool (N,O) = {
109- let S = [if (!(A))
108+func addEmptyPool (O,P) = {
109+ let Q = addressFromPublicKey(O)
110+ let R = (B + 1)
111+ let S = [invoke(z, "integerEntry", [p, R], nil), invoke(z, "stringEntry", [r(R), toString(Q)], nil), invoke(z, "integerEntry", [t(Q), R], nil), invoke(z, "integerEntry", [v(R), j], nil)]
112+ $Tuple2(nil, S)
113+ }
114+
115+
116+
117+@Callable(M)
118+func createPool (O,P) = {
119+ let T = [if (!(A))
110120 then true
111121 else g("not allowed (shutdown)"), K(M.caller), if (((B - C) > 0))
112122 then true
113123 else g("no empty pools available"), if ((M.payments[1].assetId == unit))
114124 then true
115125 else g("price asset should be WAVES"), if ((M.payments[1].amount > D))
116126 then true
117127 else g("payment[1] amount should be greater than listing volume"), if ((M.payments[0].assetId != unit))
118128 then true
119129 else g("amount asset cannot be WAVES"), if ((M.payments[0].amount > 0))
120130 then true
121131 else g("payment[0] amount should be greater than 0")]
122- if ((S == S))
132+ if ((T == T))
123133 then {
124- let T = M.payments[0].assetId
125- let U = G(T)
126- let V = (C + 1)
127- let W = getStringValue(z, r(V))
128- let X = addressFromStringValue(W)
129- let Y = [ScriptTransfer(X, M.payments[0].amount, M.payments[0].assetId), ScriptTransfer(X, M.payments[1].amount, M.payments[1].assetId)]
130- let R = [invoke(z, "stringEntry", [u(X), U], nil), invoke(z, "integerEntry", [q, V], nil), invoke(z, "integerEntry", [v(V), k], nil)]
131- $Tuple2(Y, R)
134+ let U = M.payments[0].assetId
135+ let V = G(U)
136+ let W = (C + 1)
137+ let X = getStringValue(z, r(W))
138+ let Y = addressFromStringValue(X)
139+ let Z = [ScriptTransfer(Y, M.payments[0].amount, M.payments[0].assetId), ScriptTransfer(Y, M.payments[1].amount, M.payments[1].assetId)]
140+ let S = [invoke(z, "stringEntry", [u(Y), V], nil), invoke(z, "integerEntry", [q, W], nil), invoke(z, "integerEntry", [v(W), k], nil)]
141+ $Tuple2(Z, S)
132142 }
133143 else throw("Strict value is not equal to itself.")
134144 }
135145
136146

github/deemru/w8io/c3f4982 
27.66 ms