tx · 52UDy65RNS29aikC2CuuPbHQjnq13HFAUit4vngCNody

3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c:  -0.01000000 Waves

2023.09.27 14:50 [2773775] smart account 3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c > SELF 0.00000000 Waves

{ "type": 13, "id": "52UDy65RNS29aikC2CuuPbHQjnq13HFAUit4vngCNody", "fee": 1000000, "feeAssetId": null, "timestamp": 1695815422992, "version": 2, "chainId": 84, "sender": "3N91zFrRoofbPpkoDbWKrQsQSdLu2EgLL8c", "senderPublicKey": "5FyjUYCR5Q8jvG6ri6Ysz574HerUK6r1LJzzQ7DvSkLk", "proofs": [ "FxvNzVz3QYcBjTR6CzvMnuVgBABkFzg3cEHQbfceHZbGd1Muo8iDuzbEbA3XQrFzVxtKFRtbpcUHaeFwb5WFfjk" ], "script": "base64:BgISCAISBgoEAgICARIAEgQKAggCFAAJc2VwYXJhdG9yAgJfXwELbXVzdEFkZHJlc3MCAWkHYWRkcmVzcwMJAAACCAUBaQZjYWxsZXIFB2FkZHJlc3MGCQEFdGhyb3cAAQhtdXN0VGhpcwEBaQkBC211c3RBZGRyZXNzAgUBaQUEdGhpcwARa1NlcnZpY2VQdWJsaWNLZXkCFCVzX19zZXJ2aWNlUHVibGljS2V5AA1rQm90UHVibGljS2V5AhAlc19fYm90UHVibGljS2V5ABFrRmFjdG9yeVB1YmxpY0tleQIUJXNfX2ZhY3RvcnlQdWJsaWNLZXkAD2tPd25lclB1YmxpY0tleQISJXNfX293bmVyUHVibGljS2V5ABFrQ3JlYXRvclB1YmxpY0tleQIUJXNfX2NyZWF0b3JQdWJsaWNLZXkAEmtBY2NvdW50U2NyaXB0SGFzaAIVJXNfX2FjY291bnRTY3JpcHRIYXNoARFhY2NvdW50U2NyaXB0SGFzaAAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQR0aGlzBRJrQWNjb3VudFNjcmlwdEhhc2gCHmFjY291bnQgc2NyaXB0IGhhc2ggaXMgbm90IHNldAAIa0NvdW50ZXICCyVzX19jb3VudGVyAQdjb3VudGVyAAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQhrQ291bnRlcgAAAA1rUmV3YXJkQW1vdW50AhAlc19fcmV3YXJkQW1vdW50AQxyZXdhcmRBbW91bnQACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwUNa1Jld2FyZEFtb3VudAIYcmV3YXJkIGFtb3VudCBpcyBub3Qgc2V0ARFrUmVxdWVzdENvbXBsZXRlZAEJcmVxdWVzdElkCQC5CQIJAMwIAgIEJXMlcwkAzAgCBQlyZXF1ZXN0SWQJAMwIAgIJY29tcGxldGVkBQNuaWwFCXNlcGFyYXRvcgEQcmVxdWVzdENvbXBsZXRlZAEJcmVxdWVzdElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJsIAgUEdGhpcwkBEWtSZXF1ZXN0Q29tcGxldGVkAQUJcmVxdWVzdElkAhRyZXF1ZXN0IGlzIG5vdCBmb3VuZAENa1JlcXVlc3RPd25lcgEJcmVxdWVzdElkCQC5CQIJAMwIAgIEJXMlcwkAzAgCBQlyZXF1ZXN0SWQJAMwIAgIFb3duZXIFA25pbAUJc2VwYXJhdG9yAQxyZXF1ZXN0T3duZXIBCXJlcXVlc3RJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFBHRoaXMJAQ1rUmVxdWVzdE93bmVyAQUJcmVxdWVzdElkAhRyZXF1ZXN0IGlzIG5vdCBmb3VuZAAOc2VydmljZUFkZHJlc3MJAKcIAQkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwURa1NlcnZpY2VQdWJsaWNLZXkADGJvdFB1YmxpY0tleQkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwUNa0JvdFB1YmxpY0tleQMBaQEEaW5pdAQQc2VydmljZVB1YmxpY0tleQxib3RQdWJsaWNLZXkRYWNjb3VudFNjcmlwdEhhc2gMcmV3YXJkQW1vdW50BAtjaGVja0NhbGxlcgkBCG11c3RUaGlzAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIJAJQKAgkAzAgCCQELQmluYXJ5RW50cnkCBRFrU2VydmljZVB1YmxpY0tleQUQc2VydmljZVB1YmxpY0tleQkAzAgCCQELQmluYXJ5RW50cnkCBQ1rQm90UHVibGljS2V5BQxib3RQdWJsaWNLZXkJAMwIAgkBC0JpbmFyeUVudHJ5AgUSa0FjY291bnRTY3JpcHRIYXNoBRFhY2NvdW50U2NyaXB0SGFzaAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa1Jld2FyZEFtb3VudAUMcmV3YXJkQW1vdW50BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHcmVxdWVzdAAEBmNoZWNrcwkAzAgCAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAIBAhUxIHBheW1lbnQgaXMgcmVxdWlyZWQJAMwIAgMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQGCQACAQINaW52YWxpZCBhc3NldAkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQEMcmV3YXJkQW1vdW50AAYJAAIBAg5pbnZhbGlkIGFtb3VudAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAlyZXF1ZXN0SWQJANgEAQkA9wMBCQDLAQIICAUBaQZjYWxsZXIFYnl0ZXMJAJoDAQkBB2NvdW50ZXIACQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJARFrUmVxdWVzdENvbXBsZXRlZAEFCXJlcXVlc3RJZAcJAMwIAgkBC0JpbmFyeUVudHJ5AgkBDWtSZXF1ZXN0T3duZXIBBQlyZXF1ZXN0SWQIBQFpD2NhbGxlclB1YmxpY0tleQkAzAgCCQEMSW50ZWdlckVudHJ5AgUIa0NvdW50ZXIJAGQCCQEHY291bnRlcgAAAQUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGNvbXBsZXRlAglyZXF1ZXN0SWQQYWNjb3VudFB1YmxpY0tleQQOYWNjb3VudEFkZHJlc3MJAKcIAQUQYWNjb3VudFB1YmxpY0tleQQGY2hlY2tzCQDMCAIDCQEBIQEJARByZXF1ZXN0Q29tcGxldGVkAQUJcmVxdWVzdElkBgkAAgECHHJlcXVlc3QgaXMgYWxyZWFkeSBjb21wbGV0ZWQJAMwIAgMJAAACCQDxBwEFDmFjY291bnRBZGRyZXNzCQERYWNjb3VudFNjcmlwdEhhc2gABgkAAgECDmludmFsaWQgc2NyaXB0CQDMCAIDBAckbWF0Y2gwCQCcCAIFDmFjY291bnRBZGRyZXNzBRFrRmFjdG9yeVB1YmxpY0tleQMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQAAAgkApwgBBQFiBQR0aGlzBwYJAAIBAhppbnZhbGlkIGZhY3RvcnkgcHVibGljIGtleQkAzAgCAwQHJG1hdGNoMAkAnAgCBQ5hY2NvdW50QWRkcmVzcwUPa093bmVyUHVibGljS2V5AwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJAAACBQFiCQEMcmVxdWVzdE93bmVyAQUJcmVxdWVzdElkBwYJAAIBAhhpbnZhbGlkIG93bmVyIHB1YmxpYyBrZXkFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQQY3JlYXRvclB1YmxpY0tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFDmFjY291bnRBZGRyZXNzBRFrQ3JlYXRvclB1YmxpY0tleQIdY3JlYXRvciBwdWJsaWMga2V5IGlzIG5vdCBzZXQEDmNyZWF0b3JBZGRyZXNzCQCnCAEFEGNyZWF0b3JQdWJsaWNLZXkEBnJlc3VsdAkA/AcEBQ5hY2NvdW50QWRkcmVzcwIHYXBwcm92ZQUDbmlsBQNuaWwJAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBEWtSZXF1ZXN0Q29tcGxldGVkAQUJcmVxdWVzdElkBgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ5jcmVhdG9yQWRkcmVzcwkBDHJld2FyZEFtb3VudAAFBHVuaXQFA25pbAUGcmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAGCbYJo=", "height": 2773775, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FVzZgwHLVW79Tz8ymrpPrZEWTi3PNoEiLXGj43m5aiGD Next: 4veqf1rKZj98VkW5eHW4Xpq45bP1axVAgNLFxRCMHqDy Diff:
OldNewDifferences
8383
8484 @Callable(c)
8585 func complete (r,A) = {
86+ let B = addressFromPublicKey(A)
8687 let z = [if (!(s(r)))
8788 then true
88- else throw("request is already completed"), if ((scriptHash(c.caller) == l()))
89+ else throw("request is already completed"), if ((scriptHash(B) == l()))
8990 then true
9091 else throw("invalid script"), if ({
91- let B = getBinary(c.caller, h)
92- if ($isInstanceOf(B, "ByteVector"))
92+ let C = getBinary(B, h)
93+ if ($isInstanceOf(C, "ByteVector"))
9394 then {
94- let C = B
95- (addressFromPublicKey(C) == this)
95+ let D = C
96+ (addressFromPublicKey(D) == this)
9697 }
9798 else false
9899 })
99100 then true
100101 else throw("invalid factory public key"), if ({
101- let B = getBinary(c.caller, i)
102- if ($isInstanceOf(B, "ByteVector"))
102+ let C = getBinary(B, i)
103+ if ($isInstanceOf(C, "ByteVector"))
103104 then {
104- let C = B
105- (C == u(r))
105+ let D = C
106+ (D == u(r))
106107 }
107108 else false
108109 })
110111 else throw("invalid owner public key")]
111112 if ((z == z))
112113 then {
113- let D = addressFromPublicKey(A)
114- let E = valueOrErrorMessage(getBinary(D, j), "creator public key is not set")
114+ let E = valueOrErrorMessage(getBinary(B, j), "creator public key is not set")
115115 let F = addressFromPublicKey(E)
116- let G = invoke(D, "approve", nil, nil)
116+ let G = invoke(B, "approve", nil, nil)
117117 $Tuple2([BooleanEntry(q(r), true), ScriptTransfer(F, p(), unit)], G)
118118 }
119119 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b (c,d) = if ((c.caller == d))
77 then true
88 else throw()
99
1010
1111 func e (c) = b(c, this)
1212
1313
1414 let f = "%s__servicePublicKey"
1515
1616 let g = "%s__botPublicKey"
1717
1818 let h = "%s__factoryPublicKey"
1919
2020 let i = "%s__ownerPublicKey"
2121
2222 let j = "%s__creatorPublicKey"
2323
2424 let k = "%s__accountScriptHash"
2525
2626 func l () = valueOrErrorMessage(getBinary(this, k), "account script hash is not set")
2727
2828
2929 let m = "%s__counter"
3030
3131 func n () = valueOrElse(getInteger(this, m), 0)
3232
3333
3434 let o = "%s__rewardAmount"
3535
3636 func p () = valueOrErrorMessage(getInteger(this, o), "reward amount is not set")
3737
3838
3939 func q (r) = makeString(["%s%s", r, "completed"], a)
4040
4141
4242 func s (r) = valueOrErrorMessage(getBoolean(this, q(r)), "request is not found")
4343
4444
4545 func t (r) = makeString(["%s%s", r, "owner"], a)
4646
4747
4848 func u (r) = valueOrErrorMessage(getBinary(this, t(r)), "request is not found")
4949
5050
5151 let v = addressFromPublicKey(getBinaryValue(this, f))
5252
5353 let w = getBinaryValue(this, g)
5454
5555 @Callable(c)
5656 func init (x,w,l,p) = {
5757 let y = e(c)
5858 if ((y == y))
5959 then $Tuple2([BinaryEntry(f, x), BinaryEntry(g, w), BinaryEntry(k, l), IntegerEntry(o, p)], unit)
6060 else throw("Strict value is not equal to itself.")
6161 }
6262
6363
6464
6565 @Callable(c)
6666 func request () = {
6767 let z = [if ((size(c.payments) == 1))
6868 then true
6969 else throw("1 payment is required"), if ((c.payments[0].assetId == unit))
7070 then true
7171 else throw("invalid asset"), if ((c.payments[0].amount == p()))
7272 then true
7373 else throw("invalid amount")]
7474 if ((z == z))
7575 then {
7676 let r = toBase58String(sha256((c.caller.bytes + toBytes(n()))))
7777 $Tuple2([BooleanEntry(q(r), false), BinaryEntry(t(r), c.callerPublicKey), IntegerEntry(m, (n() + 1))], unit)
7878 }
7979 else throw("Strict value is not equal to itself.")
8080 }
8181
8282
8383
8484 @Callable(c)
8585 func complete (r,A) = {
86+ let B = addressFromPublicKey(A)
8687 let z = [if (!(s(r)))
8788 then true
88- else throw("request is already completed"), if ((scriptHash(c.caller) == l()))
89+ else throw("request is already completed"), if ((scriptHash(B) == l()))
8990 then true
9091 else throw("invalid script"), if ({
91- let B = getBinary(c.caller, h)
92- if ($isInstanceOf(B, "ByteVector"))
92+ let C = getBinary(B, h)
93+ if ($isInstanceOf(C, "ByteVector"))
9394 then {
94- let C = B
95- (addressFromPublicKey(C) == this)
95+ let D = C
96+ (addressFromPublicKey(D) == this)
9697 }
9798 else false
9899 })
99100 then true
100101 else throw("invalid factory public key"), if ({
101- let B = getBinary(c.caller, i)
102- if ($isInstanceOf(B, "ByteVector"))
102+ let C = getBinary(B, i)
103+ if ($isInstanceOf(C, "ByteVector"))
103104 then {
104- let C = B
105- (C == u(r))
105+ let D = C
106+ (D == u(r))
106107 }
107108 else false
108109 })
109110 then true
110111 else throw("invalid owner public key")]
111112 if ((z == z))
112113 then {
113- let D = addressFromPublicKey(A)
114- let E = valueOrErrorMessage(getBinary(D, j), "creator public key is not set")
114+ let E = valueOrErrorMessage(getBinary(B, j), "creator public key is not set")
115115 let F = addressFromPublicKey(E)
116- let G = invoke(D, "approve", nil, nil)
116+ let G = invoke(B, "approve", nil, nil)
117117 $Tuple2([BooleanEntry(q(r), true), ScriptTransfer(F, p(), unit)], G)
118118 }
119119 else throw("Strict value is not equal to itself.")
120120 }
121121
122122

github/deemru/w8io/169f3d6 
28.71 ms