tx · 7t3hKbDaEDscitJVr4p2E8VYHPpHPdBu2XdTzHaHbpfw

3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c:  -0.01000000 Waves

2023.10.23 15:48 [2811272] smart account 3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c > SELF 0.00000000 Waves

{ "type": 13, "id": "7t3hKbDaEDscitJVr4p2E8VYHPpHPdBu2XdTzHaHbpfw", "fee": 1000000, "feeAssetId": null, "timestamp": 1698065312393, "version": 2, "chainId": 84, "sender": "3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c", "senderPublicKey": "5FyjUYCR5Q8jvG6ri6Ysz574HerUK6r1LJzzQ7DvSkLk", "proofs": [ "3PoE7kRYzWX16BYuFvokKMWEbC2rTeXpVmYhf4xdz8F7p9NRMv4VoC7CJEddpntMo43DEMjY7VcqDXZfc4dpAsNm" ], "script": "base64:BgIWCAISBgoEAgICARIECgIICBIECgIIAh0ACXNlcGFyYXRvcgICX18AB2NoYWluSWQJAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEACGNoYWluSWRUAQFUAAhjaGFpbklkVwEBVwELbXVzdEFkZHJlc3MCAWkHYWRkcmVzcwMJAAACCAUBaQZjYWxsZXIFB2FkZHJlc3MGCQACAQIRcGVybWlzc2lvbiBkZW5pZWQBCG11c3RUaGlzAQFpCQELbXVzdEFkZHJlc3MCBQFpBQR0aGlzAAt3YXZlc1N0cmluZwIFV0FWRVMBDHBhcnNlQXNzZXRJZAEFaW5wdXQDCQAAAgUFaW5wdXQFC3dhdmVzU3RyaW5nBQR1bml0CQDZBAEFBWlucHV0AQ9hc3NldElkVG9TdHJpbmcBBWlucHV0AwkAAAIFBWlucHV0BQR1bml0BQt3YXZlc1N0cmluZwkA2AQBCQEFdmFsdWUBBQVpbnB1dAARa1NlcnZpY2VQdWJsaWNLZXkCFCVzX19zZXJ2aWNlUHVibGljS2V5AA1rQm90UHVibGljS2V5AhAlc19fYm90UHVibGljS2V5AA5rQWNjb3VudFNjcmlwdAIRJXNfX2FjY291bnRTY3JpcHQBDWFjY291bnRTY3JpcHQACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUEdGhpcwUOa0FjY291bnRTY3JpcHQCGWFjY291bnQgc2NyaXB0IGlzIG5vdCBzZXQADWtSZXdhcmRBbW91bnQCECVzX19yZXdhcmRBbW91bnQBDHJld2FyZEFtb3VudAAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzBQ1rUmV3YXJkQW1vdW50AhhyZXdhcmQgYW1vdW50IGlzIG5vdCBzZXQAFEFDQ09VTlRfU1RBVFVTX0VNUFRZAAAAFEFDQ09VTlRfU1RBVFVTX1JFQURZAAEBDmtBY2NvdW50U3RhdHVzAQlhY2NvdW50SWQJALkJAgkAzAgCAgQlcyVzCQDMCAIFCWFjY291bnRJZAkAzAgCAgZzdGF0dXMFA25pbAUJc2VwYXJhdG9yAQ1hY2NvdW50U3RhdHVzAQlhY2NvdW50SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzCQEOa0FjY291bnRTdGF0dXMBBQlhY2NvdW50SWQCFGFjY291bnQgaXMgbm90IGZvdW5kARhrQWNjb3VudENyZWF0b3JQdWJsaWNLZXkBCWFjY291bnRJZAkAuQkCCQDMCAICBCVzJXMJAMwIAgUJYWNjb3VudElkCQDMCAICEGNyZWF0b3JQdWJsaWNLZXkFA25pbAUJc2VwYXJhdG9yARZrQWNjb3VudE93bmVyUHVibGljS2V5AQlhY2NvdW50SWQJALkJAgkAzAgCAgQlcyVzCQDMCAIFCWFjY291bnRJZAkAzAgCAg5vd25lclB1YmxpY0tleQUDbmlsBQlzZXBhcmF0b3IBFWtBY2NvdW50QW1vdW50QXNzZXRJZAEJYWNjb3VudElkCQC5CQIJAMwIAgIEJXMlcwkAzAgCBQlhY2NvdW50SWQJAMwIAgINYW1vdW50QXNzZXRJZAUDbmlsBQlzZXBhcmF0b3IBFGtBY2NvdW50UHJpY2VBc3NldElkAQlhY2NvdW50SWQJALkJAgkAzAgCAgQlcyVzCQDMCAIFCWFjY291bnRJZAkAzAgCAgxwcmljZUFzc2V0SWQFA25pbAUJc2VwYXJhdG9yARxrQWNjb3VudElkVG9BY2NvdW50UHVibGljS2V5AQlhY2NvdW50SWQJALkJAgkAzAgCAgQlcyVzCQDMCAIFCWFjY291bnRJZAkAzAgCAhthY2NvdW50SWRUb0FjY291bnRQdWJsaWNLZXkFA25pbAUJc2VwYXJhdG9yARprQWNjb3VudEFkZHJlc3NUb0FjY291bnRJZAEOYWNjb3VudEFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAIJAKUIAQUOYWNjb3VudEFkZHJlc3MJAMwIAgIZYWNjb3VudEFkZHJlc3NUb0FjY291bnRJZAUDbmlsBQlzZXBhcmF0b3IBDGtQYWlyQWxsb3dlZAINYW1vdW50QXNzZXRJZAxwcmljZUFzc2V0SWQJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgkBD2Fzc2V0SWRUb1N0cmluZwEFDWFtb3VudEFzc2V0SWQJAMwIAgkBD2Fzc2V0SWRUb1N0cmluZwEFDHByaWNlQXNzZXRJZAkAzAgCAgtwYWlyQWxsb3dlZAUDbmlsBQlzZXBhcmF0b3IBC3BhaXJBbGxvd2VkAg1hbW91bnRBc3NldElkDHByaWNlQXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzCQEMa1BhaXJBbGxvd2VkAgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBwAOc2VydmljZUFkZHJlc3MJAKcIAQkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwURa1NlcnZpY2VQdWJsaWNLZXkADGJvdFB1YmxpY0tleQkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwUNa0JvdFB1YmxpY0tleQMBaQEEaW5pdAQQc2VydmljZVB1YmxpY0tleQxib3RQdWJsaWNLZXkNYWNjb3VudFNjcmlwdAxyZXdhcmRBbW91bnQEC2NoZWNrQ2FsbGVyCQEIbXVzdFRoaXMBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgkAlAoCCQDMCAIJAQtCaW5hcnlFbnRyeQIFEWtTZXJ2aWNlUHVibGljS2V5BRBzZXJ2aWNlUHVibGljS2V5CQDMCAIJAQtCaW5hcnlFbnRyeQIFDWtCb3RQdWJsaWNLZXkFDGJvdFB1YmxpY0tleQkAzAgCCQELQmluYXJ5RW50cnkCBQ5rQWNjb3VudFNjcmlwdAUNYWNjb3VudFNjcmlwdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa1Jld2FyZEFtb3VudAUMcmV3YXJkQW1vdW50BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHcmVxdWVzdAIQYW1vdW50QXNzZXRJZFN0cg9wcmljZUFzc2V0SWRTdHIECWFjY291bnRJZAkAuQkCCQDMCAIJAKUIAQgFAWkGY2FsbGVyCQDMCAIFEGFtb3VudEFzc2V0SWRTdHIJAMwIAgUPcHJpY2VBc3NldElkU3RyBQNuaWwCAToEDWFtb3VudEFzc2V0SWQJAQxwYXJzZUFzc2V0SWQBBRBhbW91bnRBc3NldElkU3RyBAxwcmljZUFzc2V0SWQJAQxwYXJzZUFzc2V0SWQBBQ9wcmljZUFzc2V0SWRTdHIEBmNoZWNrcwkAzAgCAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAIBAhUxIHBheW1lbnQgaXMgcmVxdWlyZWQJAMwIAgMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQGCQACAQINaW52YWxpZCBhc3NldAkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQEMcmV3YXJkQW1vdW50AAYJAAIBAg5pbnZhbGlkIGFtb3VudAkAzAgCAwkBC3BhaXJBbGxvd2VkAgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBgkAAgECE3BhaXIgaXMgbm90IGFsbG93ZWQJAMwIAgMJAAACCQCaCAIFBHRoaXMJAQ5rQWNjb3VudFN0YXR1cwEFCWFjY291bnRJZAUEdW5pdAYJAAIBAhZhY2NvdW50IGFscmVhZHkgZXhpc3RzBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDmtBY2NvdW50U3RhdHVzAQUJYWNjb3VudElkAAAJAMwIAgkBC0JpbmFyeUVudHJ5AgkBFmtBY2NvdW50T3duZXJQdWJsaWNLZXkBBQlhY2NvdW50SWQIBQFpD2NhbGxlclB1YmxpY0tleQkAzAgCCQELU3RyaW5nRW50cnkCCQEVa0FjY291bnRBbW91bnRBc3NldElkAQUJYWNjb3VudElkBRBhbW91bnRBc3NldElkU3RyCQDMCAIJAQtTdHJpbmdFbnRyeQIJARRrQWNjb3VudFByaWNlQXNzZXRJZAEFCWFjY291bnRJZAUPcHJpY2VBc3NldElkU3RyBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIY29tcGxldGUCCWFjY291bnRJZBBjcmVhdG9yUHVibGljS2V5BBBhY2NvdW50UHVibGljS2V5CAUBaQ9jYWxsZXJQdWJsaWNLZXkEDmFjY291bnRBZGRyZXNzCAUBaQZjYWxsZXIEBmNoZWNrcwkAzAgCAwkAAAIJAQ1hY2NvdW50U3RhdHVzAQUJYWNjb3VudElkBRRBQ0NPVU5UX1NUQVRVU19FTVBUWQYJAAIBAhlhY2NvdW50IGlzIGFscmVhZHkgZXhpc3RzCQDMCAIDBAckbWF0Y2gwCQDxBwEFDmFjY291bnRBZGRyZXNzAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJAAACBQFiCQDxFQEJAQ1hY2NvdW50U2NyaXB0AAcGCQACAQIOaW52YWxpZCBzY3JpcHQFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQOY3JlYXRvckFkZHJlc3MJAKcIAQUQY3JlYXRvclB1YmxpY0tleQkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOa0FjY291bnRTdGF0dXMBBQlhY2NvdW50SWQFFEFDQ09VTlRfU1RBVFVTX1JFQURZCQDMCAIJAQtCaW5hcnlFbnRyeQIJARhrQWNjb3VudENyZWF0b3JQdWJsaWNLZXkBBQlhY2NvdW50SWQFEGNyZWF0b3JQdWJsaWNLZXkJAMwIAgkBC0JpbmFyeUVudHJ5AgkBHGtBY2NvdW50SWRUb0FjY291bnRQdWJsaWNLZXkBBQlhY2NvdW50SWQFEGFjY291bnRQdWJsaWNLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGmtBY2NvdW50QWRkcmVzc1RvQWNjb3VudElkAQUOYWNjb3VudEFkZHJlc3MFCWFjY291bnRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ5jcmVhdG9yQWRkcmVzcwkBDHJld2FyZEFtb3VudAAFBHVuaXQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgB31fZ8", "height": 2811272, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ekrk3RoaYGx5v5Sm47tvYU1fNAuUmsg9N85pwhynBd3 Next: FfCyS8xwSAAYPb9DTjHEHZhzGvJ2EfbVxbom5qMCQUts Diff:
OldNewDifferences
1717 func h (f) = e(f, this)
1818
1919
20-let i = "%s__servicePublicKey"
20+let i = "WAVES"
2121
22-let j = "%s__botPublicKey"
23-
24-let k = "%s__accountScript"
25-
26-func l () = valueOrErrorMessage(getBinary(this, k), "account script is not set")
22+func j (k) = if ((k == i))
23+ then unit
24+ else fromBase58String(k)
2725
2826
29-let m = "%s__rewardAmount"
30-
31-func n () = valueOrErrorMessage(getInteger(this, m), "reward amount is not set")
27+func l (k) = if ((k == unit))
28+ then i
29+ else toBase58String(value(k))
3230
3331
34-let o = 0
32+let m = "%s__servicePublicKey"
3533
36-let p = 1
34+let n = "%s__botPublicKey"
3735
38-func q (r) = makeString(["%s%s", r, "status"], a)
36+let o = "%s__accountScript"
37+
38+func p () = valueOrErrorMessage(getBinary(this, o), "account script is not set")
3939
4040
41-func s (r) = valueOrErrorMessage(getInteger(this, q(r)), "account is not found")
41+let q = "%s__rewardAmount"
42+
43+func r () = valueOrErrorMessage(getInteger(this, q), "reward amount is not set")
4244
4345
44-func t (r) = makeString(["%s%s", r, "creatorPublicKey"], a)
46+let s = 0
47+
48+let t = 1
49+
50+func u (v) = makeString(["%s%s", v, "status"], a)
4551
4652
47-func u (r) = makeString(["%s%s", r, "ownerPublicKey"], a)
53+func w (v) = valueOrErrorMessage(getInteger(this, u(v)), "account is not found")
4854
4955
50-func v (r) = makeString(["%s%s", r, "amountAssetId"], a)
56+func x (v) = makeString(["%s%s", v, "creatorPublicKey"], a)
5157
5258
53-func w (r) = makeString(["%s%s", r, "priceAssetId"], a)
59+func y (v) = makeString(["%s%s", v, "ownerPublicKey"], a)
5460
5561
56-func x (r) = makeString(["%s%s", r, "accountIdToAccountPublicKey"], a)
62+func z (v) = makeString(["%s%s", v, "amountAssetId"], a)
5763
5864
59-func y (z) = makeString(["%s%s", toString(z), "accountAddressToAccountId"], a)
65+func A (v) = makeString(["%s%s", v, "priceAssetId"], a)
6066
6167
62-func A (B,C) = makeString(["%s%s%s", toBase58String(B), toBase58String(C), "pairAllowed"], a)
68+func B (v) = makeString(["%s%s", v, "accountIdToAccountPublicKey"], a)
6369
6470
65-func D (B,C) = valueOrElse(getBoolean(this, A(B, C)), false)
71+func C (D) = makeString(["%s%s", toString(D), "accountAddressToAccountId"], a)
6672
6773
68-let E = addressFromPublicKey(getBinaryValue(this, i))
74+func E (F,G) = makeString(["%s%s%s", l(F), l(G), "pairAllowed"], a)
6975
70-let F = getBinaryValue(this, j)
76+
77+func H (F,G) = valueOrElse(getBoolean(this, E(F, G)), false)
78+
79+
80+let I = addressFromPublicKey(getBinaryValue(this, m))
81+
82+let J = getBinaryValue(this, n)
7183
7284 @Callable(f)
73-func init (G,F,l,n) = {
74- let H = h(f)
75- if ((H == H))
76- then $Tuple2([BinaryEntry(i, G), BinaryEntry(j, F), BinaryEntry(k, l), IntegerEntry(m, n)], unit)
85+func init (K,J,p,r) = {
86+ let L = h(f)
87+ if ((L == L))
88+ then $Tuple2([BinaryEntry(m, K), BinaryEntry(n, J), BinaryEntry(o, p), IntegerEntry(q, r)], unit)
7789 else throw("Strict value is not equal to itself.")
7890 }
7991
8092
8193
8294 @Callable(f)
83-func request (B,C) = {
84- let r = toBase58String(sha256(((f.caller.bytes + B) + C)))
85- let I = [if ((size(f.payments) == 1))
95+func request (M,N) = {
96+ let v = makeString([toString(f.caller), M, N], ":")
97+ let F = j(M)
98+ let G = j(N)
99+ let O = [if ((size(f.payments) == 1))
86100 then true
87101 else throw("1 payment is required"), if ((f.payments[0].assetId == unit))
88102 then true
89- else throw("invalid asset"), if ((f.payments[0].amount == n()))
103+ else throw("invalid asset"), if ((f.payments[0].amount == r()))
90104 then true
91- else throw("invalid amount"), if (D(B, C))
105+ else throw("invalid amount"), if (H(F, G))
92106 then true
93- else throw("pair is not allowed"), if ((getInteger(this, q(r)) == unit))
107+ else throw("pair is not allowed"), if ((getInteger(this, u(v)) == unit))
94108 then true
95109 else throw("account already exists")]
96- if ((I == I))
97- then $Tuple2([IntegerEntry(q(r), 0), BinaryEntry(u(r), f.callerPublicKey), BinaryEntry(v(r), B), BinaryEntry(w(r), C)], unit)
110+ if ((O == O))
111+ then $Tuple2([IntegerEntry(u(v), 0), BinaryEntry(y(v), f.callerPublicKey), StringEntry(z(v), M), StringEntry(A(v), N)], unit)
98112 else throw("Strict value is not equal to itself.")
99113 }
100114
101115
102116
103117 @Callable(f)
104-func complete (r,J) = {
105- let K = f.callerPublicKey
106- let z = f.caller
107- let I = [if ((s(r) == o))
118+func complete (v,P) = {
119+ let Q = f.callerPublicKey
120+ let D = f.caller
121+ let O = [if ((w(v) == s))
108122 then true
109123 else throw("account is already exists"), if ({
110- let L = scriptHash(z)
111- if ($isInstanceOf(L, "ByteVector"))
124+ let R = scriptHash(D)
125+ if ($isInstanceOf(R, "ByteVector"))
112126 then {
113- let M = L
114- (M == blake2b256_32Kb(l()))
127+ let S = R
128+ (S == blake2b256_32Kb(p()))
115129 }
116130 else false
117131 })
118132 then true
119133 else throw("invalid script")]
120- if ((I == I))
134+ if ((O == O))
121135 then {
122- let N = addressFromPublicKey(J)
123- $Tuple2([IntegerEntry(q(r), p), BinaryEntry(t(r), J), BinaryEntry(x(r), K), StringEntry(y(z), r), ScriptTransfer(N, n(), unit)], unit)
136+ let T = addressFromPublicKey(P)
137+ $Tuple2([IntegerEntry(u(v), t), BinaryEntry(x(v), P), BinaryEntry(B(v), Q), StringEntry(C(D), v), ScriptTransfer(T, r(), unit)], unit)
124138 }
125139 else throw("Strict value is not equal to itself.")
126140 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = take(drop(this.bytes, 1), 1)
77
88 let c = base58'2T'
99
1010 let d = base58'2W'
1111
1212 func e (f,g) = if ((f.caller == g))
1313 then true
1414 else throw("permission denied")
1515
1616
1717 func h (f) = e(f, this)
1818
1919
20-let i = "%s__servicePublicKey"
20+let i = "WAVES"
2121
22-let j = "%s__botPublicKey"
23-
24-let k = "%s__accountScript"
25-
26-func l () = valueOrErrorMessage(getBinary(this, k), "account script is not set")
22+func j (k) = if ((k == i))
23+ then unit
24+ else fromBase58String(k)
2725
2826
29-let m = "%s__rewardAmount"
30-
31-func n () = valueOrErrorMessage(getInteger(this, m), "reward amount is not set")
27+func l (k) = if ((k == unit))
28+ then i
29+ else toBase58String(value(k))
3230
3331
34-let o = 0
32+let m = "%s__servicePublicKey"
3533
36-let p = 1
34+let n = "%s__botPublicKey"
3735
38-func q (r) = makeString(["%s%s", r, "status"], a)
36+let o = "%s__accountScript"
37+
38+func p () = valueOrErrorMessage(getBinary(this, o), "account script is not set")
3939
4040
41-func s (r) = valueOrErrorMessage(getInteger(this, q(r)), "account is not found")
41+let q = "%s__rewardAmount"
42+
43+func r () = valueOrErrorMessage(getInteger(this, q), "reward amount is not set")
4244
4345
44-func t (r) = makeString(["%s%s", r, "creatorPublicKey"], a)
46+let s = 0
47+
48+let t = 1
49+
50+func u (v) = makeString(["%s%s", v, "status"], a)
4551
4652
47-func u (r) = makeString(["%s%s", r, "ownerPublicKey"], a)
53+func w (v) = valueOrErrorMessage(getInteger(this, u(v)), "account is not found")
4854
4955
50-func v (r) = makeString(["%s%s", r, "amountAssetId"], a)
56+func x (v) = makeString(["%s%s", v, "creatorPublicKey"], a)
5157
5258
53-func w (r) = makeString(["%s%s", r, "priceAssetId"], a)
59+func y (v) = makeString(["%s%s", v, "ownerPublicKey"], a)
5460
5561
56-func x (r) = makeString(["%s%s", r, "accountIdToAccountPublicKey"], a)
62+func z (v) = makeString(["%s%s", v, "amountAssetId"], a)
5763
5864
59-func y (z) = makeString(["%s%s", toString(z), "accountAddressToAccountId"], a)
65+func A (v) = makeString(["%s%s", v, "priceAssetId"], a)
6066
6167
62-func A (B,C) = makeString(["%s%s%s", toBase58String(B), toBase58String(C), "pairAllowed"], a)
68+func B (v) = makeString(["%s%s", v, "accountIdToAccountPublicKey"], a)
6369
6470
65-func D (B,C) = valueOrElse(getBoolean(this, A(B, C)), false)
71+func C (D) = makeString(["%s%s", toString(D), "accountAddressToAccountId"], a)
6672
6773
68-let E = addressFromPublicKey(getBinaryValue(this, i))
74+func E (F,G) = makeString(["%s%s%s", l(F), l(G), "pairAllowed"], a)
6975
70-let F = getBinaryValue(this, j)
76+
77+func H (F,G) = valueOrElse(getBoolean(this, E(F, G)), false)
78+
79+
80+let I = addressFromPublicKey(getBinaryValue(this, m))
81+
82+let J = getBinaryValue(this, n)
7183
7284 @Callable(f)
73-func init (G,F,l,n) = {
74- let H = h(f)
75- if ((H == H))
76- then $Tuple2([BinaryEntry(i, G), BinaryEntry(j, F), BinaryEntry(k, l), IntegerEntry(m, n)], unit)
85+func init (K,J,p,r) = {
86+ let L = h(f)
87+ if ((L == L))
88+ then $Tuple2([BinaryEntry(m, K), BinaryEntry(n, J), BinaryEntry(o, p), IntegerEntry(q, r)], unit)
7789 else throw("Strict value is not equal to itself.")
7890 }
7991
8092
8193
8294 @Callable(f)
83-func request (B,C) = {
84- let r = toBase58String(sha256(((f.caller.bytes + B) + C)))
85- let I = [if ((size(f.payments) == 1))
95+func request (M,N) = {
96+ let v = makeString([toString(f.caller), M, N], ":")
97+ let F = j(M)
98+ let G = j(N)
99+ let O = [if ((size(f.payments) == 1))
86100 then true
87101 else throw("1 payment is required"), if ((f.payments[0].assetId == unit))
88102 then true
89- else throw("invalid asset"), if ((f.payments[0].amount == n()))
103+ else throw("invalid asset"), if ((f.payments[0].amount == r()))
90104 then true
91- else throw("invalid amount"), if (D(B, C))
105+ else throw("invalid amount"), if (H(F, G))
92106 then true
93- else throw("pair is not allowed"), if ((getInteger(this, q(r)) == unit))
107+ else throw("pair is not allowed"), if ((getInteger(this, u(v)) == unit))
94108 then true
95109 else throw("account already exists")]
96- if ((I == I))
97- then $Tuple2([IntegerEntry(q(r), 0), BinaryEntry(u(r), f.callerPublicKey), BinaryEntry(v(r), B), BinaryEntry(w(r), C)], unit)
110+ if ((O == O))
111+ then $Tuple2([IntegerEntry(u(v), 0), BinaryEntry(y(v), f.callerPublicKey), StringEntry(z(v), M), StringEntry(A(v), N)], unit)
98112 else throw("Strict value is not equal to itself.")
99113 }
100114
101115
102116
103117 @Callable(f)
104-func complete (r,J) = {
105- let K = f.callerPublicKey
106- let z = f.caller
107- let I = [if ((s(r) == o))
118+func complete (v,P) = {
119+ let Q = f.callerPublicKey
120+ let D = f.caller
121+ let O = [if ((w(v) == s))
108122 then true
109123 else throw("account is already exists"), if ({
110- let L = scriptHash(z)
111- if ($isInstanceOf(L, "ByteVector"))
124+ let R = scriptHash(D)
125+ if ($isInstanceOf(R, "ByteVector"))
112126 then {
113- let M = L
114- (M == blake2b256_32Kb(l()))
127+ let S = R
128+ (S == blake2b256_32Kb(p()))
115129 }
116130 else false
117131 })
118132 then true
119133 else throw("invalid script")]
120- if ((I == I))
134+ if ((O == O))
121135 then {
122- let N = addressFromPublicKey(J)
123- $Tuple2([IntegerEntry(q(r), p), BinaryEntry(t(r), J), BinaryEntry(x(r), K), StringEntry(y(z), r), ScriptTransfer(N, n(), unit)], unit)
136+ let T = addressFromPublicKey(P)
137+ $Tuple2([IntegerEntry(u(v), t), BinaryEntry(x(v), P), BinaryEntry(B(v), Q), StringEntry(C(D), v), ScriptTransfer(T, r(), unit)], unit)
124138 }
125139 else throw("Strict value is not equal to itself.")
126140 }
127141
128142

github/deemru/w8io/169f3d6 
49.16 ms