tx · A93abH4KnwxCCo7Xa8KZfQcUD84QCCL1j2WHXj36txEw

3MuQJ2by8GXusfNAEdX1jYW2WMQbjVzwxzX:  -0.01000000 Waves

2023.09.27 13:48 [2773715] smart account 3MuQJ2by8GXusfNAEdX1jYW2WMQbjVzwxzX > SELF 0.00000000 Waves

{ "type": 13, "id": "A93abH4KnwxCCo7Xa8KZfQcUD84QCCL1j2WHXj36txEw", "fee": 1000000, "feeAssetId": null, "timestamp": 1695811748952, "version": 2, "chainId": 84, "sender": "3MuQJ2by8GXusfNAEdX1jYW2WMQbjVzwxzX", "senderPublicKey": "DCZ3si1pk7A23sVSwzZtghP1jZR2YyYEH2WaMxvELct9", "proofs": [ "5wPx9PTBS3qhJruUw9sV3NFfvM8bwni9GkgR2pZZ83iQH2vVvSAgpCEShRubhTGVbkZ1KEbwVCHXQtdKNr9EspxL" ], "script": "base64:BgIvCAISBAoCCAgSBAoCCAESBQoDAgECEgQKAgIBEgQKAgICEgQKAggCEgASBAoCCBgOABFrRmFjdG9yeVB1YmxpY0tleQIUJXNfX2ZhY3RvcnlQdWJsaWNLZXkAEWtTZXJ2aWNlUHVibGljS2V5AhQlc19fc2VydmljZVB1YmxpY0tleQAPa093bmVyUHVibGljS2V5AhIlc19fb3duZXJQdWJsaWNLZXkADWtCb3RQdWJsaWNLZXkCECVzX19ib3RQdWJsaWNLZXkACWtWZXJpZmllZAIMJXNfX3ZlcmlmaWVkAA5mYWN0b3J5QWRkcmVzcwkApwgBCQERQGV4dHJOYXRpdmUoMTA1MikCBQR0aGlzBRFrRmFjdG9yeVB1YmxpY0tleQAOc2VydmljZUFkZHJlc3MJAKcIAQkBEUBleHRyTmF0aXZlKDEwNTIpAgUOZmFjdG9yeUFkZHJlc3MFEWtTZXJ2aWNlUHVibGljS2V5AAxvd25lckFkZHJlc3MJAKcIAQkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwUPa093bmVyUHVibGljS2V5AAdpc1JlYWR5AwMJAQlpc0RlZmluZWQBCQCcCAIFBHRoaXMFEWtGYWN0b3J5UHVibGljS2V5CQEJaXNEZWZpbmVkAQkAnAgCBQR0aGlzBQ9rT3duZXJQdWJsaWNLZXkHCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFCWtWZXJpZmllZAcHAQttdXN0QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAQV0aHJvdwABCG11c3RUaGlzAQFpCQELbXVzdEFkZHJlc3MCBQFpBQR0aGlzAQttdXN0U2VydmljZQEBaQkBC211c3RBZGRyZXNzAgUBaQUOc2VydmljZUFkZHJlc3MBCW11c3RPd25lcgEBaQkBC211c3RBZGRyZXNzAgUBaQUMb3duZXJBZGRyZXNzAQttdXN0RmFjdG9yeQEBaQkBC211c3RBZGRyZXNzAgUBaQUOZmFjdG9yeUFkZHJlc3MIAWkBC3N0cmluZ0VudHJ5AgNrZXkDdmFsAwkBC211c3RTZXJ2aWNlAQUBaQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFA2tleQUDdmFsBQNuaWwFA2tleQkAlAoCBQNuaWwFBHVuaXQBaQEMaW50ZWdlckVudHJ5AgNrZXkDdmFsAwkBC211c3RTZXJ2aWNlAQUBaQkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQNrZXkFA3ZhbAUDbmlsBQNrZXkJAJQKAgUDbmlsBQR1bml0AWkBDXRyYW5zZmVyQXNzZXQDDnJlY2lwaWVudEJ5dGVzBmFtb3VudAdhc3NldElkAwkBC211c3RTZXJ2aWNlAQUBaQkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUOcmVjaXBpZW50Qnl0ZXMFBmFtb3VudAUHYXNzZXRJZAUDbmlsBQZhbW91bnQJAJQKAgUDbmlsBQR1bml0AWkBDXRyYW5zZmVyV2F2ZXMCDnJlY2lwaWVudEJ5dGVzBmFtb3VudAMJAQttdXN0U2VydmljZQEFAWkJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFDnJlY2lwaWVudEJ5dGVzBQZhbW91bnQFBHVuaXQFA25pbAUGYW1vdW50CQCUCgIFA25pbAUEdW5pdAFpAQRpbml0AhBmYWN0b3J5UHVibGljS2V5Dm93bmVyUHVibGljS2V5BAtjaGVja0NhbGxlcgkBCG11c3RUaGlzAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIJAJQKAgkAzAgCCQELQmluYXJ5RW50cnkCBRFrRmFjdG9yeVB1YmxpY0tleQUQZmFjdG9yeVB1YmxpY0tleQkAzAgCCQELQmluYXJ5RW50cnkCBQ9rT3duZXJQdWJsaWNLZXkFDm93bmVyUHVibGljS2V5BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIY29tcGxldGUCCXJlcXVlc3RJZBJyZWNpcGllbnRQdWJsaWNLZXkEC2NoZWNrQ2FsbGVyCQEIbXVzdFRoaXMBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQGcmVzdWx0CQD9BwQFDmZhY3RvcnlBZGRyZXNzAghjb21wbGV0ZQkAzAgCBQlyZXF1ZXN0SWQJAMwIAgUScmVjaXBpZW50UHVibGljS2V5BQNuaWwFA25pbAkAlAoCBQNuaWwFBnJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQdhcHByb3ZlAAQLY2hlY2tDYWxsZXIJAQttdXN0RmFjdG9yeQEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyCQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIFCWtWZXJpZmllZAYFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQRjYWxsAghmdW5jdGlvbgRhcmdzBAtjaGVja0NhbGxlcgkBCW11c3RPd25lcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBAZyZXN1bHQJAP0HBAUOc2VydmljZUFkZHJlc3MFCGZ1bmN0aW9uCQDMCAIFBGFyZ3MFA25pbAgFAWkIcGF5bWVudHMJAJQKAgUDbmlsBQZyZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAd0ZXN0bmV0CQAAAgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQEBVAQMYm90UHVibGljS2V5CQERQGV4dHJOYXRpdmUoMTA1MikCBQ5mYWN0b3J5QWRkcmVzcwUNa0JvdFB1YmxpY0tleQQHJG1hdGNoMAUCdHgDCQABAgUHJG1hdGNoMAIFT3JkZXIJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGJvdFB1YmxpY0tleQMJAAECBQckbWF0Y2gwAhdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgMFB2lzUmVhZHkHCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5AwkBASEBBQd0ZXN0bmV0BwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleSnH0+k=", "height": 2773715, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: fyhFxzHXL9Zx8qT3awm5Dyn3gpYcW5RhbEjRauiLNMq Next: AdfbHKt54m7jJkCh6ENyEiKLWa8SScd7MzWRjYxA5QsR Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = addressFromPublicKey(getBinaryValue(this, "factoryPublicKey"))
4+let a = "%s__factoryPublicKey"
55
6-let b = addressFromPublicKey(getBinaryValue(a, "servicePublicKey"))
6+let b = "%s__servicePublicKey"
77
8-let c = addressFromPublicKey(getBinaryValue(this, "ownerPublicKey"))
8+let c = "%s__ownerPublicKey"
99
10-func d (e,f) = if ((e.caller == f))
10+let d = "%s__botPublicKey"
11+
12+let e = "%s__verified"
13+
14+let f = addressFromPublicKey(getBinaryValue(this, a))
15+
16+let g = addressFromPublicKey(getBinaryValue(f, b))
17+
18+let h = addressFromPublicKey(getBinaryValue(this, c))
19+
20+let i = if (if (isDefined(getBinary(this, a)))
21+ then isDefined(getBinary(this, c))
22+ else false)
23+ then valueOrElse(getBoolean(this, e), false)
24+ else false
25+
26+func j (k,l) = if ((k.caller == l))
1127 then true
1228 else throw()
1329
1430
15-func g (e) = d(e, this)
31+func m (k) = j(k, this)
1632
1733
18-func h (e) = d(e, b)
34+func n (k) = j(k, g)
1935
2036
21-func i (e) = d(e, c)
37+func o (k) = j(k, h)
2238
2339
24-@Callable(e)
25-func stringEntry (j,k) = if (h(e))
26- then $Tuple2([StringEntry(j, k)], j)
40+func p (k) = j(k, f)
41+
42+
43+@Callable(k)
44+func stringEntry (q,r) = if (n(k))
45+ then $Tuple2([StringEntry(q, r)], q)
2746 else $Tuple2(nil, unit)
2847
2948
3049
31-@Callable(e)
32-func integerEntry (j,k) = if (h(e))
33- then $Tuple2([IntegerEntry(j, k)], j)
50+@Callable(k)
51+func integerEntry (q,r) = if (n(k))
52+ then $Tuple2([IntegerEntry(q, r)], q)
3453 else $Tuple2(nil, unit)
3554
3655
3756
38-@Callable(e)
39-func transferAsset (l,m,n) = if (h(e))
40- then $Tuple2([ScriptTransfer(Address(l), m, n)], m)
57+@Callable(k)
58+func transferAsset (s,t,u) = if (n(k))
59+ then $Tuple2([ScriptTransfer(Address(s), t, u)], t)
4160 else $Tuple2(nil, unit)
4261
4362
4463
45-@Callable(e)
46-func transferWaves (l,m) = if (h(e))
47- then $Tuple2([ScriptTransfer(Address(l), m, unit)], m)
64+@Callable(k)
65+func transferWaves (s,t) = if (n(k))
66+ then $Tuple2([ScriptTransfer(Address(s), t, unit)], t)
4867 else $Tuple2(nil, unit)
4968
5069
5170
52-@Callable(e)
53-func call (o,p) = if (i(e))
54- then {
55- let q = reentrantInvoke(b, o, [p], e.payments)
56- $Tuple2(nil, q)
57- }
58- else $Tuple2(nil, unit)
71+@Callable(k)
72+func init (v,w) = {
73+ let x = m(k)
74+ if ((x == x))
75+ then $Tuple2([BinaryEntry(a, v), BinaryEntry(c, w)], unit)
76+ else throw("Strict value is not equal to itself.")
77+ }
5978
6079
61-@Verifier(r)
62-func s () = {
63- let t = getBinaryValue(a, "botPublicKey")
64- let u = r
65- if ($isInstanceOf(u, "Order"))
66- then sigVerify(r.bodyBytes, r.proofs[0], t)
67- else sigVerify(r.bodyBytes, r.proofs[0], r.senderPublicKey)
80+
81+@Callable(k)
82+func complete (y,z) = {
83+ let x = m(k)
84+ if ((x == x))
85+ then {
86+ let A = reentrantInvoke(f, "complete", [y, z], nil)
87+ $Tuple2(nil, A)
88+ }
89+ else throw("Strict value is not equal to itself.")
90+ }
91+
92+
93+
94+@Callable(k)
95+func approve () = {
96+ let x = p(k)
97+ if ((x == x))
98+ then $Tuple2([BooleanEntry(e, true)], unit)
99+ else throw("Strict value is not equal to itself.")
100+ }
101+
102+
103+
104+@Callable(k)
105+func call (B,C) = {
106+ let x = o(k)
107+ if ((x == x))
108+ then {
109+ let A = reentrantInvoke(g, B, [C], k.payments)
110+ $Tuple2(nil, A)
111+ }
112+ else throw("Strict value is not equal to itself.")
113+ }
114+
115+
116+@Verifier(D)
117+func E () = {
118+ let F = (take(drop(this.bytes, 1), 1) == base58'2T')
119+ let G = getBinaryValue(f, d)
120+ let H = D
121+ if ($isInstanceOf(H, "Order"))
122+ then sigVerify(D.bodyBytes, D.proofs[0], G)
123+ else if ($isInstanceOf(H, "InvokeScriptTransaction"))
124+ then if (i)
125+ then false
126+ else sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey)
127+ else if (!(F))
128+ then false
129+ else sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey)
68130 }
69131

github/deemru/w8io/873ac7e 
33.49 ms