tx · 22nZWUvTNviqAg9qHtfgwQo3CwvQDsgtsarFSAU5kac7

3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c:  -0.01000000 Waves

2023.12.06 17:24 [2874905] smart account 3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c > SELF 0.00000000 Waves

{ "type": 13, "id": "22nZWUvTNviqAg9qHtfgwQo3CwvQDsgtsarFSAU5kac7", "fee": 1000000, "feeAssetId": null, "timestamp": 1701872675680, "version": 2, "chainId": 84, "sender": "3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c", "senderPublicKey": "5FyjUYCR5Q8jvG6ri6Ysz574HerUK6r1LJzzQ7DvSkLk", "proofs": [ "RZDbrJw1dVKN6xsi3HAXsfYE8rB6pTQPfGjy59nmgrBCzkDmMUyRgdj6j2oJ3TgTJH2C3QJyt3bzfBo7rGXXjgY" ], "script": "base64:BgIVCAISBgoEAgICARIECgIICBIDCgECIQAJc2VwYXJhdG9yAgJfXwAHY2hhaW5JZAkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQAIY2hhaW5JZFQBAVQACGNoYWluSWRXAQFXAQttdXN0QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAEIbXVzdFRoaXMBAWkJAQttdXN0QWRkcmVzcwIFAWkFBHRoaXMAC3dhdmVzU3RyaW5nAgVXQVZFUwANcXVldWVJdGVtU2l6ZQAgAQxwYXJzZUFzc2V0SWQBBWlucHV0AwkAAAIFBWlucHV0BQt3YXZlc1N0cmluZwUEdW5pdAkA2QQBBQVpbnB1dAEPYXNzZXRJZFRvU3RyaW5nAQVpbnB1dAMJAAACBQVpbnB1dAUEdW5pdAULd2F2ZXNTdHJpbmcJANgEAQkBBXZhbHVlAQUFaW5wdXQAEWtTZXJ2aWNlUHVibGljS2V5AhQlc19fc2VydmljZVB1YmxpY0tleQANa0JvdFB1YmxpY0tleQIQJXNfX2JvdFB1YmxpY0tleQAOa0FjY291bnRTY3JpcHQCESVzX19hY2NvdW50U2NyaXB0AQ1hY2NvdW50U2NyaXB0AAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFBHRoaXMFDmtBY2NvdW50U2NyaXB0AhlhY2NvdW50IHNjcmlwdCBpcyBub3Qgc2V0AA1rUmV3YXJkQW1vdW50AhAlc19fcmV3YXJkQW1vdW50AQxyZXdhcmRBbW91bnQACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwUNa1Jld2FyZEFtb3VudAIYcmV3YXJkIGFtb3VudCBpcyBub3Qgc2V0ABRSRVFVRVNUX1NUQVRVU19FTVBUWQAAABRSRVFVRVNUX1NUQVRVU19SRUFEWQABAQ5rUmVxdWVzdFN0YXR1cwEJcmVxdWVzdElkCQC5CQIJAMwIAgIEJXMlcwkAzAgCCQDYBAEFCXJlcXVlc3RJZAkAzAgCAgZzdGF0dXMFA25pbAUJc2VwYXJhdG9yARhrQWNjb3VudENyZWF0b3JQdWJsaWNLZXkBDmFjY291bnRBZGRyZXNzCQC5CQIJAMwIAgIEJXMlcwkAzAgCCQClCAEFDmFjY291bnRBZGRyZXNzCQDMCAICEGNyZWF0b3JQdWJsaWNLZXkFA25pbAUJc2VwYXJhdG9yARZrUmVxdWVzdE93bmVyUHVibGljS2V5AQlyZXF1ZXN0SWQJALkJAgkAzAgCAgQlcyVzCQDMCAIJANgEAQUJcmVxdWVzdElkCQDMCAICDm93bmVyUHVibGljS2V5BQNuaWwFCXNlcGFyYXRvcgEVa1JlcXVlc3RBbW91bnRBc3NldElkAQlyZXF1ZXN0SWQJALkJAgkAzAgCAgQlcyVzCQDMCAIJANgEAQUJcmVxdWVzdElkCQDMCAICDWFtb3VudEFzc2V0SWQFA25pbAUJc2VwYXJhdG9yARRrUmVxdWVzdFByaWNlQXNzZXRJZAEJcmVxdWVzdElkCQC5CQIJAMwIAgIEJXMlcwkAzAgCCQDYBAEFCXJlcXVlc3RJZAkAzAgCAgxwcmljZUFzc2V0SWQFA25pbAUJc2VwYXJhdG9yARxrUmVxdWVzdElkVG9BY2NvdW50UHVibGljS2V5AQlyZXF1ZXN0SWQJALkJAgkAzAgCAgQlcyVzCQDMCAIJANgEAQUJcmVxdWVzdElkCQDMCAICG3JlcXVlc3RJZFRvQWNjb3VudFB1YmxpY0tleQUDbmlsBQlzZXBhcmF0b3IBGmtBY2NvdW50QWRkcmVzc1RvUmVxdWVzdElkAQ5hY2NvdW50QWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgkApQgBBQ5hY2NvdW50QWRkcmVzcwkAzAgCAhlhY2NvdW50QWRkcmVzc1RvUmVxdWVzdElkBQNuaWwFCXNlcGFyYXRvcgEOa1JlcXVlc3RzUXVldWUACQC5CQIJAMwIAgICJXMJAMwIAgINcmVxdWVzdHNRdWV1ZQUDbmlsBQlzZXBhcmF0b3IBDXJlcXVlc3RzUXVldWUACQELdmFsdWVPckVsc2UCCQCcCAIFBHRoaXMJAQ5rUmVxdWVzdHNRdWV1ZQABAAEOa0FjY291bnRzUXVldWUACQC5CQIJAMwIAgICJXMJAMwIAgINYWNjb3VudHNRdWV1ZQUDbmlsBQlzZXBhcmF0b3IBDWFjY291bnRzUXVldWUACQELdmFsdWVPckVsc2UCCQCcCAIFBHRoaXMJAQ5rQWNjb3VudHNRdWV1ZQABAAEMa1BhaXJBbGxvd2VkAg1hbW91bnRBc3NldElkDHByaWNlQXNzZXRJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCCQEPYXNzZXRJZFRvU3RyaW5nAQUNYW1vdW50QXNzZXRJZAkAzAgCCQEPYXNzZXRJZFRvU3RyaW5nAQUMcHJpY2VBc3NldElkCQDMCAICC3BhaXJBbGxvd2VkBQNuaWwFCXNlcGFyYXRvcgELcGFpckFsbG93ZWQCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMJAQxrUGFpckFsbG93ZWQCBQ1hbW91bnRBc3NldElkBQxwcmljZUFzc2V0SWQHAA5zZXJ2aWNlQWRkcmVzcwkApwgBCQERQGV4dHJOYXRpdmUoMTA1MikCBQR0aGlzBRFrU2VydmljZVB1YmxpY0tleQAMYm90UHVibGljS2V5CQERQGV4dHJOYXRpdmUoMTA1MikCBQR0aGlzBQ1rQm90UHVibGljS2V5AwFpAQRpbml0BBBzZXJ2aWNlUHVibGljS2V5DGJvdFB1YmxpY0tleQ1hY2NvdW50U2NyaXB0DHJld2FyZEFtb3VudAQLY2hlY2tDYWxsZXIJAQhtdXN0VGhpcwEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyCQCUCgIJAMwIAgkBC0JpbmFyeUVudHJ5AgURa1NlcnZpY2VQdWJsaWNLZXkFEHNlcnZpY2VQdWJsaWNLZXkJAMwIAgkBC0JpbmFyeUVudHJ5AgUNa0JvdFB1YmxpY0tleQUMYm90UHVibGljS2V5CQDMCAIJAQtCaW5hcnlFbnRyeQIFDmtBY2NvdW50U2NyaXB0BQ1hY2NvdW50U2NyaXB0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rUmV3YXJkQW1vdW50BQxyZXdhcmRBbW91bnQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5yZXF1ZXN0QWNjb3VudAIQYW1vdW50QXNzZXRJZFN0cg9wcmljZUFzc2V0SWRTdHIECXJlcXVlc3RJZAkA9wMBCQDLAQIJAMsBAggIBQFpBmNhbGxlcgVieXRlcwkA2QQBBRBhbW91bnRBc3NldElkU3RyCQDZBAEFD3ByaWNlQXNzZXRJZFN0cgQNYW1vdW50QXNzZXRJZAkBDHBhcnNlQXNzZXRJZAEFEGFtb3VudEFzc2V0SWRTdHIEDHByaWNlQXNzZXRJZAkBDHBhcnNlQXNzZXRJZAEFD3ByaWNlQXNzZXRJZFN0cgQGY2hlY2tzCQDMCAIDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABBgkAAgECFTEgcGF5bWVudCBpcyByZXF1aXJlZAkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAYJAAIBAg1pbnZhbGlkIGFzc2V0CQDMCAIDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJAQxyZXdhcmRBbW91bnQABgkAAgECDmludmFsaWQgYW1vdW50CQDMCAIDCQELcGFpckFsbG93ZWQCBQ1hbW91bnRBc3NldElkBQxwcmljZUFzc2V0SWQGCQACAQITcGFpciBpcyBub3QgYWxsb3dlZAkAzAgCAwkAAAIJAJoIAgUEdGhpcwkBDmtSZXF1ZXN0U3RhdHVzAQUJcmVxdWVzdElkBQR1bml0BgkAAgECGWFjY291bnQgaXMgYWxyZWFkeSBleGlzdHMFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQHYWN0aW9ucwMJAAACCQDIAQEJAQ1hY2NvdW50c1F1ZXVlAAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOa1JlcXVlc3RTdGF0dXMBBQlyZXF1ZXN0SWQFFFJFUVVFU1RfU1RBVFVTX0VNUFRZCQDMCAIJAQtCaW5hcnlFbnRyeQIJAQ5rUmVxdWVzdHNRdWV1ZQAJAMsBAgkBDXJlcXVlc3RzUXVldWUABQlyZXF1ZXN0SWQFA25pbAQQYWNjb3VudFB1YmxpY0tleQkAyQECCQENYWNjb3VudHNRdWV1ZQAFDXF1ZXVlSXRlbVNpemUEDmFjY291bnRBZGRyZXNzCQCnCAEFEGFjY291bnRQdWJsaWNLZXkEDmNyZWF0b3JBZGRyZXNzCQCnCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQR0aGlzCQEYa0FjY291bnRDcmVhdG9yUHVibGljS2V5AQUOYWNjb3VudEFkZHJlc3MCGmludmFsaWQgY3JlYXRvciBwdWJsaWMga2V5CQDMCAIJAQtCaW5hcnlFbnRyeQIJAQ5rQWNjb3VudHNRdWV1ZQAJAMoBAgkBDWFjY291bnRzUXVldWUABQ1xdWV1ZUl0ZW1TaXplCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOa1JlcXVlc3RTdGF0dXMBBQlyZXF1ZXN0SWQFFFJFUVVFU1RfU1RBVFVTX1JFQURZCQDMCAIJAQtCaW5hcnlFbnRyeQIJARxrUmVxdWVzdElkVG9BY2NvdW50UHVibGljS2V5AQUJcmVxdWVzdElkBRBhY2NvdW50UHVibGljS2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIJARprQWNjb3VudEFkZHJlc3NUb1JlcXVlc3RJZAEFDmFjY291bnRBZGRyZXNzCQDYBAEFCXJlcXVlc3RJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ5jcmVhdG9yQWRkcmVzcwkBDHJld2FyZEFtb3VudAAFBHVuaXQFA25pbAkAlAoCCQDOCAIFB2FjdGlvbnMJAMwIAgkBC0JpbmFyeUVudHJ5AgkBFmtSZXF1ZXN0T3duZXJQdWJsaWNLZXkBBQlyZXF1ZXN0SWQIBQFpD2NhbGxlclB1YmxpY0tleQkAzAgCCQELU3RyaW5nRW50cnkCCQEVa1JlcXVlc3RBbW91bnRBc3NldElkAQUJcmVxdWVzdElkBRBhbW91bnRBc3NldElkU3RyCQDMCAIJAQtTdHJpbmdFbnRyeQIJARRrUmVxdWVzdFByaWNlQXNzZXRJZAEFCXJlcXVlc3RJZAUPcHJpY2VBc3NldElkU3RyBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKYWRkQWNjb3VudAEQY3JlYXRvclB1YmxpY0tleQQQYWNjb3VudFB1YmxpY0tleQgFAWkPY2FsbGVyUHVibGljS2V5BA5hY2NvdW50QWRkcmVzcwgFAWkGY2FsbGVyBA5jcmVhdG9yQWRkcmVzcwkApwgBBRBjcmVhdG9yUHVibGljS2V5BAZjaGVja3MJAMwIAgMJAAACCQCcCAIFBHRoaXMJARhrQWNjb3VudENyZWF0b3JQdWJsaWNLZXkBBQ5hY2NvdW50QWRkcmVzcwUEdW5pdAYJAAIBAhlhY2NvdW50IGlzIGFscmVhZHkgZXhpc3RzCQDMCAIDBAckbWF0Y2gwCQDxBwEFDmFjY291bnRBZGRyZXNzAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJAAACBQFiCQDxFQEJAQ1hY2NvdW50U2NyaXB0AAcGCQACAQIOaW52YWxpZCBzY3JpcHQFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQHYWN0aW9ucwMJAAACCQDIAQEJAQ1yZXF1ZXN0c1F1ZXVlAAAACQDMCAIJAQtCaW5hcnlFbnRyeQIJAQ5rQWNjb3VudHNRdWV1ZQAJAMsBAgkBDWFjY291bnRzUXVldWUABRBhY2NvdW50UHVibGljS2V5BQNuaWwECXJlcXVlc3RJZAkAyQECCQENcmVxdWVzdHNRdWV1ZQAFDXF1ZXVlSXRlbVNpemUJAMwIAgkBC0JpbmFyeUVudHJ5AgkBDmtSZXF1ZXN0c1F1ZXVlAAkAygECCQENcmVxdWVzdHNRdWV1ZQAFDXF1ZXVlSXRlbVNpemUJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5rUmVxdWVzdFN0YXR1cwEFCXJlcXVlc3RJZAUUUkVRVUVTVF9TVEFUVVNfUkVBRFkJAMwIAgkBC0JpbmFyeUVudHJ5AgkBHGtSZXF1ZXN0SWRUb0FjY291bnRQdWJsaWNLZXkBBQlyZXF1ZXN0SWQFEGFjY291bnRQdWJsaWNLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGmtBY2NvdW50QWRkcmVzc1RvUmVxdWVzdElkAQUOYWNjb3VudEFkZHJlc3MJANgEAQUJcmVxdWVzdElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDmNyZWF0b3JBZGRyZXNzCQEMcmV3YXJkQW1vdW50AAUEdW5pdAUDbmlsCQCUCgIJAM4IAgUHYWN0aW9ucwkAzAgCCQELQmluYXJ5RW50cnkCCQEYa0FjY291bnRDcmVhdG9yUHVibGljS2V5AQUOYWNjb3VudEFkZHJlc3MFEGNyZWF0b3JQdWJsaWNLZXkFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgDkfR+U", "height": 2874905, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: QFhNiP737T9LXtvMvx5PafysZCMXSGqbvMYjNT8SBeD Next: 3DW1tQC1Q5jNQwiyGxnst8gAcEYicg7TDGH6J2Q8D49N Diff:
OldNewDifferences
140140 let U = f.callerPublicKey
141141 let y = f.caller
142142 let V = addressFromPublicKey(W)
143- let S = [throw("test"), if ((getBinary(this, x(y)) == unit))
143+ let S = [if ((getBinary(this, x(y)) == unit))
144144 then true
145145 else throw("account is already exists"), if ({
146146 let X = scriptHash(y)
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
2020 let i = "WAVES"
2121
2222 let j = 32
2323
2424 func k (l) = if ((l == i))
2525 then unit
2626 else fromBase58String(l)
2727
2828
2929 func m (l) = if ((l == unit))
3030 then i
3131 else toBase58String(value(l))
3232
3333
3434 let n = "%s__servicePublicKey"
3535
3636 let o = "%s__botPublicKey"
3737
3838 let p = "%s__accountScript"
3939
4040 func q () = valueOrErrorMessage(getBinary(this, p), "account script is not set")
4141
4242
4343 let r = "%s__rewardAmount"
4444
4545 func s () = valueOrErrorMessage(getInteger(this, r), "reward amount is not set")
4646
4747
4848 let t = 0
4949
5050 let u = 1
5151
5252 func v (w) = makeString(["%s%s", toBase58String(w), "status"], a)
5353
5454
5555 func x (y) = makeString(["%s%s", toString(y), "creatorPublicKey"], a)
5656
5757
5858 func z (w) = makeString(["%s%s", toBase58String(w), "ownerPublicKey"], a)
5959
6060
6161 func A (w) = makeString(["%s%s", toBase58String(w), "amountAssetId"], a)
6262
6363
6464 func B (w) = makeString(["%s%s", toBase58String(w), "priceAssetId"], a)
6565
6666
6767 func C (w) = makeString(["%s%s", toBase58String(w), "requestIdToAccountPublicKey"], a)
6868
6969
7070 func D (y) = makeString(["%s%s", toString(y), "accountAddressToRequestId"], a)
7171
7272
7373 func E () = makeString(["%s", "requestsQueue"], a)
7474
7575
7676 func F () = valueOrElse(getBinary(this, E()), base58'')
7777
7878
7979 func G () = makeString(["%s", "accountsQueue"], a)
8080
8181
8282 func H () = valueOrElse(getBinary(this, G()), base58'')
8383
8484
8585 func I (J,K) = makeString(["%s%s%s", m(J), m(K), "pairAllowed"], a)
8686
8787
8888 func L (J,K) = valueOrElse(getBoolean(this, I(J, K)), false)
8989
9090
9191 let M = addressFromPublicKey(getBinaryValue(this, n))
9292
9393 let N = getBinaryValue(this, o)
9494
9595 @Callable(f)
9696 func init (O,N,q,s) = {
9797 let P = h(f)
9898 if ((P == P))
9999 then $Tuple2([BinaryEntry(n, O), BinaryEntry(o, N), BinaryEntry(p, q), IntegerEntry(r, s)], unit)
100100 else throw("Strict value is not equal to itself.")
101101 }
102102
103103
104104
105105 @Callable(f)
106106 func requestAccount (Q,R) = {
107107 let w = sha256(((f.caller.bytes + fromBase58String(Q)) + fromBase58String(R)))
108108 let J = k(Q)
109109 let K = k(R)
110110 let S = [if ((size(f.payments) == 1))
111111 then true
112112 else throw("1 payment is required"), if ((f.payments[0].assetId == unit))
113113 then true
114114 else throw("invalid asset"), if ((f.payments[0].amount == s()))
115115 then true
116116 else throw("invalid amount"), if (L(J, K))
117117 then true
118118 else throw("pair is not allowed"), if ((getInteger(this, v(w)) == unit))
119119 then true
120120 else throw("account is already exists")]
121121 if ((S == S))
122122 then {
123123 let T = if ((size(H()) == 0))
124124 then [IntegerEntry(v(w), t), BinaryEntry(E(), (F() + w))]
125125 else {
126126 let U = take(H(), j)
127127 let y = addressFromPublicKey(U)
128128 let V = addressFromPublicKey(valueOrErrorMessage(getBinary(this, x(y)), "invalid creator public key"))
129129 [BinaryEntry(G(), drop(H(), j)), IntegerEntry(v(w), u), BinaryEntry(C(w), U), StringEntry(D(y), toBase58String(w)), ScriptTransfer(V, s(), unit)]
130130 }
131131 $Tuple2((T ++ [BinaryEntry(z(w), f.callerPublicKey), StringEntry(A(w), Q), StringEntry(B(w), R)]), unit)
132132 }
133133 else throw("Strict value is not equal to itself.")
134134 }
135135
136136
137137
138138 @Callable(f)
139139 func addAccount (W) = {
140140 let U = f.callerPublicKey
141141 let y = f.caller
142142 let V = addressFromPublicKey(W)
143- let S = [throw("test"), if ((getBinary(this, x(y)) == unit))
143+ let S = [if ((getBinary(this, x(y)) == unit))
144144 then true
145145 else throw("account is already exists"), if ({
146146 let X = scriptHash(y)
147147 if ($isInstanceOf(X, "ByteVector"))
148148 then {
149149 let Y = X
150150 (Y == blake2b256_32Kb(q()))
151151 }
152152 else false
153153 })
154154 then true
155155 else throw("invalid script")]
156156 if ((S == S))
157157 then {
158158 let T = if ((size(F()) == 0))
159159 then [BinaryEntry(G(), (H() + U))]
160160 else {
161161 let w = take(F(), j)
162162 [BinaryEntry(E(), drop(F(), j)), IntegerEntry(v(w), u), BinaryEntry(C(w), U), StringEntry(D(y), toBase58String(w)), ScriptTransfer(V, s(), unit)]
163163 }
164164 $Tuple2((T ++ [BinaryEntry(x(y), W)]), unit)
165165 }
166166 else throw("Strict value is not equal to itself.")
167167 }
168168
169169

github/deemru/w8io/873ac7e 
29.79 ms