tx · C9YvzQBgCuVq6XzToahZt99da1FRTSjgNLuKHdDgk8D7

3MwtgysqzRmXErf8jREcrZME8KV8Ryihe6p:  -0.03400000 Waves

2023.05.15 13:00 [2578924] smart account 3MwtgysqzRmXErf8jREcrZME8KV8Ryihe6p > SELF 0.00000000 Waves

{ "type": 13, "id": "C9YvzQBgCuVq6XzToahZt99da1FRTSjgNLuKHdDgk8D7", "fee": 3400000, "feeAssetId": null, "timestamp": 1684144846133, "version": 2, "chainId": 84, "sender": "3MwtgysqzRmXErf8jREcrZME8KV8Ryihe6p", "senderPublicKey": "H5ZH4BkyVtNBc32qbTGZxG4iQPcMF7Sfy65QkYQGzNMQ", "proofs": [ "2erAQ2YUvnDHWozqmQqR1ZQ2es3Jn25AwchGjLzPw17q2kyu7CMANXAs4QKzAE6oMWBba9Xu5hjN3utnAXZDxnq3" ], "script": "base64:BgJsCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIDCgEIGwATa19pbnN1cmFuY2VfYWRkcmVzcwITa19pbnN1cmFuY2VfYWRkcmVzcwAPa192YXVsdF9hZGRyZXNzAg9rX3ZhdWx0X2FkZHJlc3MAD2tfYWRtaW5fYWRkcmVzcwIPa19hZG1pbl9hZGRyZXNzAA1rX3F1b3RlX2Fzc2V0Ag1rX3F1b3RlX2Fzc2V0AA5rX3Jld2FyZF9hc3NldAIOa19yZXdhcmRfYXNzZXQADmtfc3dhcF9hZGRyZXNzAg5rX3N3YXBfYWRkcmVzcwARa19zdGFraW5nX2FkZHJlc3MCEWtfc3Rha2luZ19hZGRyZXNzABFrX2Zhcm1pbmdfYWRkcmVzcwIRa19mYXJtaW5nX2FkZHJlc3MAEGtfcHJpemVzX2FkZHJlc3MCEGtfcHJpemVzX2FkZHJlc3MAFWtfaG91c2VrZWVwZXJfYWRkcmVzcwIVa19ob3VzZWtlZXBlcl9hZGRyZXNzAAVrX2FtbQIFa19hbW0ACmtfYW1tX2RhdGECCmtfYW1tX2RhdGEAEmtfZ292ZXJuYW5jZV9hc3NldAILa19nb3ZfYXNzZXQAD2tfbWluZXJfYWRkcmVzcwIPa19taW5lcl9hZGRyZXNzABBrX29yZGVyc19hZGRyZXNzAhBrX29yZGVyc19hZGRyZXNzABJrX3JlZmVycmFsX2FkZHJlc3MCEmtfcmVmZXJyYWxfYWRkcmVzcwARa19tYW5hZ2VyX2FkZHJlc3MCEWtfbWFuYWdlcl9hZGRyZXNzABVrX25mdF9tYW5hZ2VyX2FkZHJlc3MCFWtfbmZ0X21hbmFnZXJfYWRkcmVzcwAHa19jaGlsZAIHa19jaGlsZAAIa19vcmFjbGUCCGtfb3JhY2xlAA5rX3Nwb3RfYWRkcmVzcwIOa19zcG90X2FkZHJlc3MBDnRvQ29tcG9zaXRlS2V5AgRfa2V5CF9hZGRyZXNzCQCsAgIJAKwCAgUEX2tleQIBXwUIX2FkZHJlc3MBEWdldEFkZHJlc3NJZlZhbGlkAQdhZGRyZXNzCQClCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBBQdhZGRyZXNzCQCsAgIJAKwCAgINQ2FuJ3QgcGFyc2UgIgUHYWRkcmVzcwIMIiBhcyBhZGRyZXNzAQlpc05vQWRtaW4ACQAAAgkAnQgCBQR0aGlzBQ9rX2FkbWluX2FkZHJlc3MFBHVuaXQBBWFkbWluAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFD2tfYWRtaW5fYWRkcmVzcwIRQWRtaW4gbm90IGRlZmluZWQBEGlzTm9BZG1pbk9yQWRtaW4BAWkDAwMJAQlpc05vQWRtaW4ACQAAAggFAWkGY2FsbGVyBQR0aGlzBwYJAAACCAUBaQZjYWxsZXIJAQVhZG1pbgAFBHVuaXQJAAIBAi5Pbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAQdpc0FkbWluAQFpAwkAAAIIBQFpBmNhbGxlcgkBBWFkbWluAAUEdW5pdAkAAgECLk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24VAWkBCHNldEFkbWluAQ1fYWRtaW5BZGRyZXNzCQELdmFsdWVPckVsc2UCCQEQaXNOb0FkbWluT3JBZG1pbgEFAWkEB2FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDV9hZG1pbkFkZHJlc3MDCQAAAgUHYWRkcmVzcwUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBQ9rX2FkbWluX2FkZHJlc3MJAKUIAQUHYWRkcmVzcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEHNldEluc3VyYW5jZUZ1bmQBDl9pbnN1cmFuY2VGdW5kCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFDl9pbnN1cmFuY2VGdW5kAwkAAAIFB2FkZHJlc3MFB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUTa19pbnN1cmFuY2VfYWRkcmVzcwUHYWRkcmVzcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEXNldExpcXVpZGl0eU1pbmVyAQ9fbGlxdWlkaXR5TWluZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUPX2xpcXVpZGl0eU1pbmVyAwkAAAIFB2FkZHJlc3MFB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19taW5lcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEJc2V0T3JkZXJzAQdfb3JkZXJzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFB19vcmRlcnMDCQAAAgUHYWRkcmVzcwUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRBrX29yZGVyc19hZGRyZXNzBQdhZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0UmVmZXJyYWwBCV9yZWZlcnJhbAkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQlfcmVmZXJyYWwDCQAAAgUHYWRkcmVzcwUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRJrX3JlZmVycmFsX2FkZHJlc3MFB2FkZHJlc3MFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQpzZXRGYXJtaW5nAQhfZmFybWluZwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQhfZmFybWluZwMJAAACBQdhZGRyZXNzBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWtfZmFybWluZ19hZGRyZXNzBQdhZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKc2V0TWFuYWdlcgEIX21hbmFnZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUIX21hbmFnZXIDCQAAAgUHYWRkcmVzcwUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRFrX21hbmFnZXJfYWRkcmVzcwUHYWRkcmVzcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDnNldEhvdXNla2VlcGVyAQxfaG91c2VrZWVwZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUMX2hvdXNla2VlcGVyAwkAAAIFB2FkZHJlc3MFB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUVa19ob3VzZWtlZXBlcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEJc2V0UHJpemVzAQdfcHJpemVzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFB19wcml6ZXMDCQAAAgUHYWRkcmVzcwUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRBrX3ByaXplc19hZGRyZXNzBQdhZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENc2V0TmZ0TWFuYWdlcgELX25mdE1hbmFnZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQULX25mdE1hbmFnZXIDCQAAAgUHYWRkcmVzcwUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRVrX25mdF9tYW5hZ2VyX2FkZHJlc3MFB2FkZHJlc3MFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQdzZXRTd2FwAQVfc3dhcAkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQVfc3dhcAMJAAACBQdhZGRyZXNzBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFDmtfc3dhcF9hZGRyZXNzBQdhZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENc2V0UXVvdGVBc3NldAEIX2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQkAzAgCCQELU3RyaW5nRW50cnkCBQ1rX3F1b3RlX2Fzc2V0BQhfYXNzZXRJZAUDbmlsAWkBDnNldFJld2FyZEFzc2V0AQhfYXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpCQDMCAIJAQtTdHJpbmdFbnRyeQIFDmtfcmV3YXJkX2Fzc2V0BQhfYXNzZXRJZAUDbmlsAWkBEXNldFN0YWtpbmdBZGRyZXNzAQ9fc3Rha2luZ0FkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQOc3Rha2luZ0FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFD19zdGFraW5nQWRkcmVzcwMJAAACBQ5zdGFraW5nQWRkcmVzcwUOc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgURa19zdGFraW5nX2FkZHJlc3MFD19zdGFraW5nQWRkcmVzcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDnNldFNwb3RBZGRyZXNzAQxfc3BvdEFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQOc3Rha2luZ0FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFDF9zcG90QWRkcmVzcwMJAAACBQ5zdGFraW5nQWRkcmVzcwUOc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUOa19zcG90X2FkZHJlc3MFDF9zcG90QWRkcmVzcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD3NldFZhdWx0QWRkcmVzcwENX3ZhdWx0QWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBA9leGNoYW5nZUFkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFDV92YXVsdEFkZHJlc3MDCQAAAgUPZXhjaGFuZ2VBZGRyZXNzBQ9leGNoYW5nZUFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa192YXVsdF9hZGRyZXNzBQ1fdmF1bHRBZGRyZXNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQc2V0T3JhY2xlQWRkcmVzcwEOX29yYWNsZUFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQNb3JhY2xlQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUOX29yYWNsZUFkZHJlc3MDCQAAAgUNb3JhY2xlQWRkcmVzcwUNb3JhY2xlQWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRBrX29yZGVyc19hZGRyZXNzBQ5fb3JhY2xlQWRkcmVzcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGFkZENoaWxkAQ1fY2hpbGRBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEDGNoaWxkQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUNX2NoaWxkQWRkcmVzcwkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgUHa19jaGlsZAUNX2NoaWxkQWRkcmVzcwYFA25pbAFpAQZhZGRBbW0CC19hbW1BZGRyZXNzBV9kYXRhCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkECmFtbUFkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFC19hbW1BZGRyZXNzCQDMCAIJAQxCb29sZWFuRW50cnkCCQEOdG9Db21wb3NpdGVLZXkCBQVrX2FtbQULX2FtbUFkZHJlc3MGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ50b0NvbXBvc2l0ZUtleQIFCmtfYW1tX2RhdGEFC19hbW1BZGRyZXNzBQVfZGF0YQUDbmlsAWkBCXJlbW92ZUFtbQELX2FtbUFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQkAzAgCCQELRGVsZXRlRW50cnkBCQEOdG9Db21wb3NpdGVLZXkCBQVrX2FtbQULX2FtbUFkZHJlc3MFA25pbAFpARJzZXRHb3Zlcm5hbmNlQXNzZXQBCF9hc3NldElkCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkECmFzc2V0Qnl0ZXMJANkEAQUIX2Fzc2V0SWQEByRtYXRjaDAJAOwHAQUKYXNzZXRCeXRlcwMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDADCQECIT0CCAUFYXNzZXQIZGVjaW1hbHMACAkAAgECI0ludmFsaWQgYXNzZXQgZGVjaW1hbHMsIHNob3VsZCBiZSA4CQDMCAIJAQtTdHJpbmdFbnRyeQIFEmtfZ292ZXJuYW5jZV9hc3NldAUIX2Fzc2V0SWQFA25pbAkAAgECEENhbid0IGZpbmQgYXNzZXQBAnR4AQZ2ZXJpZnkABAckbWF0Y2gwCQCdCAIFBHRoaXMFD2tfYWRtaW5fYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcECHZlcmlmaWVyBQckbWF0Y2gwCQELdmFsdWVPckVsc2UCCQCbCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCHZlcmlmaWVyCQCsAgIJAKwCAgkArAICAgdzdGF0dXNfCQClCAEFBHRoaXMCAV8JANgEAQgFAnR4AmlkBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQprEc4=", "height": 2578924, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AoDZsjaRaGh2uFUBtES1Jj12vgpS9SqokRcXPhw898hN Next: aDE9WbBU4Uacst5HTkxDpzt1SYyxMKn57fUiFAcUYde Diff:
OldNewDifferences
3939
4040 let s = "k_child"
4141
42-func t (u,v) = ((u + "_") + v)
42+let t = "k_oracle"
43+
44+let u = "k_spot_address"
45+
46+func v (w,x) = ((w + "_") + x)
4347
4448
45-func w (x) = toString(valueOrErrorMessage(addressFromString(x), (("Can't parse \"" + x) + "\" as address")))
49+func y (z) = toString(valueOrErrorMessage(addressFromString(z), (("Can't parse \"" + z) + "\" as address")))
4650
4751
48-func y () = (getString(this, c) == unit)
52+func A () = (getString(this, c) == unit)
4953
5054
51-func z () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
55+func B () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
5256
5357
54-func A (B) = if (if (if (y())
55- then (B.caller == this)
58+func C (D) = if (if (if (A())
59+ then (D.caller == this)
5660 else false)
5761 then true
58- else (B.caller == z()))
62+ else (D.caller == B()))
5963 then unit
6064 else throw("Only the Admin itself can invoke this function")
6165
6266
63-func C (B) = if ((B.caller == z()))
67+func E (D) = if ((D.caller == B()))
6468 then unit
6569 else throw("Only the Admin itself can invoke this function")
6670
6771
68-@Callable(B)
69-func setAdmin (D) = valueOrElse(A(B), {
70- let x = addressFromStringValue(D)
71-[StringEntry(c, toString(x))]
72+@Callable(D)
73+func setAdmin (F) = valueOrElse(C(D), {
74+ let z = addressFromStringValue(F)
75+ if ((z == z))
76+ then [StringEntry(c, toString(z))]
77+ else throw("Strict value is not equal to itself.")
7278 })
7379
7480
7581
76-@Callable(B)
77-func setInsuranceFund (E) = valueOrElse(C(B), {
78- let x = w(E)
79-[StringEntry(a, x)]
82+@Callable(D)
83+func setInsuranceFund (G) = valueOrElse(E(D), {
84+ let z = y(G)
85+ if ((z == z))
86+ then [StringEntry(a, z)]
87+ else throw("Strict value is not equal to itself.")
8088 })
8189
8290
8391
84-@Callable(B)
85-func setLiquidityMiner (F) = valueOrElse(C(B), {
86- let x = w(F)
87-[StringEntry(n, x)]
92+@Callable(D)
93+func setLiquidityMiner (H) = valueOrElse(E(D), {
94+ let z = y(H)
95+ if ((z == z))
96+ then [StringEntry(n, z)]
97+ else throw("Strict value is not equal to itself.")
8898 })
8999
90100
91101
92-@Callable(B)
93-func setOrders (G) = valueOrElse(C(B), {
94- let x = w(G)
95-[StringEntry(o, x)]
102+@Callable(D)
103+func setOrders (I) = valueOrElse(E(D), {
104+ let z = y(I)
105+ if ((z == z))
106+ then [StringEntry(o, z)]
107+ else throw("Strict value is not equal to itself.")
96108 })
97109
98110
99111
100-@Callable(B)
101-func setReferral (H) = valueOrElse(C(B), {
102- let x = w(H)
103-[StringEntry(p, x)]
112+@Callable(D)
113+func setReferral (J) = valueOrElse(E(D), {
114+ let z = y(J)
115+ if ((z == z))
116+ then [StringEntry(p, z)]
117+ else throw("Strict value is not equal to itself.")
104118 })
105119
106120
107121
108-@Callable(B)
109-func setFarming (I) = valueOrElse(C(B), {
110- let x = w(I)
111-[StringEntry(h, x)]
122+@Callable(D)
123+func setFarming (K) = valueOrElse(E(D), {
124+ let z = y(K)
125+ if ((z == z))
126+ then [StringEntry(h, z)]
127+ else throw("Strict value is not equal to itself.")
112128 })
113129
114130
115131
116-@Callable(B)
117-func setManager (J) = valueOrElse(C(B), {
118- let x = w(J)
119-[StringEntry(q, x)]
132+@Callable(D)
133+func setManager (L) = valueOrElse(E(D), {
134+ let z = y(L)
135+ if ((z == z))
136+ then [StringEntry(q, z)]
137+ else throw("Strict value is not equal to itself.")
120138 })
121139
122140
123141
124-@Callable(B)
125-func setHousekeeper (K) = valueOrElse(C(B), {
126- let x = w(K)
127-[StringEntry(j, x)]
142+@Callable(D)
143+func setHousekeeper (M) = valueOrElse(E(D), {
144+ let z = y(M)
145+ if ((z == z))
146+ then [StringEntry(j, z)]
147+ else throw("Strict value is not equal to itself.")
128148 })
129149
130150
131151
132-@Callable(B)
133-func setPrizes (L) = valueOrElse(C(B), {
134- let x = w(L)
135-[StringEntry(i, x)]
152+@Callable(D)
153+func setPrizes (N) = valueOrElse(E(D), {
154+ let z = y(N)
155+ if ((z == z))
156+ then [StringEntry(i, z)]
157+ else throw("Strict value is not equal to itself.")
136158 })
137159
138160
139161
140-@Callable(B)
141-func setNftManager (M) = valueOrElse(C(B), {
142- let x = w(M)
143-[StringEntry(r, x)]
162+@Callable(D)
163+func setNftManager (O) = valueOrElse(E(D), {
164+ let z = y(O)
165+ if ((z == z))
166+ then [StringEntry(r, z)]
167+ else throw("Strict value is not equal to itself.")
144168 })
145169
146170
147171
148-@Callable(B)
149-func setSwap (N) = valueOrElse(C(B), {
150- let x = w(N)
151-[StringEntry(f, x)]
172+@Callable(D)
173+func setSwap (P) = valueOrElse(E(D), {
174+ let z = y(P)
175+ if ((z == z))
176+ then [StringEntry(f, z)]
177+ else throw("Strict value is not equal to itself.")
152178 })
153179
154180
155181
156-@Callable(B)
157-func setQuoteAsset (O) = valueOrElse(C(B), [StringEntry(d, O)])
182+@Callable(D)
183+func setQuoteAsset (Q) = valueOrElse(E(D), [StringEntry(d, Q)])
158184
159185
160186
161-@Callable(B)
162-func setRewardAsset (O) = valueOrElse(C(B), [StringEntry(e, O)])
187+@Callable(D)
188+func setRewardAsset (Q) = valueOrElse(E(D), [StringEntry(e, Q)])
163189
164190
165191
166-@Callable(B)
167-func setStakingAddress (P) = valueOrElse(C(B), {
168- let Q = w(P)
169-[StringEntry(g, P)]
192+@Callable(D)
193+func setStakingAddress (R) = valueOrElse(E(D), {
194+ let S = y(R)
195+ if ((S == S))
196+ then [StringEntry(g, R)]
197+ else throw("Strict value is not equal to itself.")
170198 })
171199
172200
173201
174-@Callable(B)
175-func setVaultAddress (R) = valueOrElse(C(B), {
176- let S = w(R)
177-[StringEntry(b, R)]
202+@Callable(D)
203+func setSpotAddress (T) = valueOrElse(E(D), {
204+ let S = y(T)
205+ if ((S == S))
206+ then [StringEntry(u, T)]
207+ else throw("Strict value is not equal to itself.")
178208 })
179209
180210
181211
182-@Callable(B)
183-func addChild (T) = valueOrElse(C(B), {
184- let U = w(T)
185-[BooleanEntry(t(s, T), true)]
212+@Callable(D)
213+func setVaultAddress (U) = valueOrElse(E(D), {
214+ let V = y(U)
215+ if ((V == V))
216+ then [StringEntry(b, U)]
217+ else throw("Strict value is not equal to itself.")
186218 })
187219
188220
189221
190-@Callable(B)
191-func addAmm (V,W) = valueOrElse(C(B), {
192- let X = w(V)
193-[BooleanEntry(t(k, V), true), StringEntry(t(l, V), W)]
222+@Callable(D)
223+func setOracleAddress (W) = valueOrElse(E(D), {
224+ let X = y(W)
225+ if ((X == X))
226+ then [StringEntry(o, W)]
227+ else throw("Strict value is not equal to itself.")
194228 })
195229
196230
197231
198-@Callable(B)
199-func removeAmm (V) = valueOrElse(C(B), [DeleteEntry(t(k, V))])
232+@Callable(D)
233+func addChild (Y) = valueOrElse(E(D), {
234+ let Z = y(Y)
235+[BooleanEntry(v(s, Y), true)]
236+ })
200237
201238
202239
203-@Callable(B)
204-func setGovernanceAsset (O) = valueOrElse(C(B), {
205- let Y = fromBase58String(O)
206- let Z = assetInfo(Y)
207- if ($isInstanceOf(Z, "Asset"))
240+@Callable(D)
241+func addAmm (aa,ab) = valueOrElse(E(D), {
242+ let ac = y(aa)
243+[BooleanEntry(v(k, aa), true), StringEntry(v(l, aa), ab)]
244+ })
245+
246+
247+
248+@Callable(D)
249+func removeAmm (aa) = valueOrElse(E(D), [DeleteEntry(v(k, aa))])
250+
251+
252+
253+@Callable(D)
254+func setGovernanceAsset (Q) = valueOrElse(E(D), {
255+ let ad = fromBase58String(Q)
256+ let ae = assetInfo(ad)
257+ if ($isInstanceOf(ae, "Asset"))
208258 then {
209- let aa = Z
210- if ((aa.decimals != 8))
259+ let af = ae
260+ if ((af.decimals != 8))
211261 then throw("Invalid asset decimals, should be 8")
212- else [StringEntry(m, O)]
262+ else [StringEntry(m, Q)]
213263 }
214264 else throw("Can't find asset")
215265 })
216266
217267
218-@Verifier(ab)
219-func ac () = {
220- let Z = getString(this, c)
221- if ($isInstanceOf(Z, "String"))
268+@Verifier(ag)
269+func ah () = {
270+ let ae = getString(this, c)
271+ if ($isInstanceOf(ae, "String"))
222272 then {
223- let ad = Z
224- valueOrElse(getBoolean(addressFromStringValue(ad), ((("status_" + toString(this)) + "_") + toBase58String(ab.id))), false)
273+ let ai = ae
274+ valueOrElse(getBoolean(addressFromStringValue(ai), ((("status_" + toString(this)) + "_") + toBase58String(ag.id))), false)
225275 }
226- else sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
276+ else sigVerify(ag.bodyBytes, ag.proofs[0], ag.senderPublicKey)
227277 }
228278
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "k_insurance_address"
55
66 let b = "k_vault_address"
77
88 let c = "k_admin_address"
99
1010 let d = "k_quote_asset"
1111
1212 let e = "k_reward_asset"
1313
1414 let f = "k_swap_address"
1515
1616 let g = "k_staking_address"
1717
1818 let h = "k_farming_address"
1919
2020 let i = "k_prizes_address"
2121
2222 let j = "k_housekeeper_address"
2323
2424 let k = "k_amm"
2525
2626 let l = "k_amm_data"
2727
2828 let m = "k_gov_asset"
2929
3030 let n = "k_miner_address"
3131
3232 let o = "k_orders_address"
3333
3434 let p = "k_referral_address"
3535
3636 let q = "k_manager_address"
3737
3838 let r = "k_nft_manager_address"
3939
4040 let s = "k_child"
4141
42-func t (u,v) = ((u + "_") + v)
42+let t = "k_oracle"
43+
44+let u = "k_spot_address"
45+
46+func v (w,x) = ((w + "_") + x)
4347
4448
45-func w (x) = toString(valueOrErrorMessage(addressFromString(x), (("Can't parse \"" + x) + "\" as address")))
49+func y (z) = toString(valueOrErrorMessage(addressFromString(z), (("Can't parse \"" + z) + "\" as address")))
4650
4751
48-func y () = (getString(this, c) == unit)
52+func A () = (getString(this, c) == unit)
4953
5054
51-func z () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
55+func B () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
5256
5357
54-func A (B) = if (if (if (y())
55- then (B.caller == this)
58+func C (D) = if (if (if (A())
59+ then (D.caller == this)
5660 else false)
5761 then true
58- else (B.caller == z()))
62+ else (D.caller == B()))
5963 then unit
6064 else throw("Only the Admin itself can invoke this function")
6165
6266
63-func C (B) = if ((B.caller == z()))
67+func E (D) = if ((D.caller == B()))
6468 then unit
6569 else throw("Only the Admin itself can invoke this function")
6670
6771
68-@Callable(B)
69-func setAdmin (D) = valueOrElse(A(B), {
70- let x = addressFromStringValue(D)
71-[StringEntry(c, toString(x))]
72+@Callable(D)
73+func setAdmin (F) = valueOrElse(C(D), {
74+ let z = addressFromStringValue(F)
75+ if ((z == z))
76+ then [StringEntry(c, toString(z))]
77+ else throw("Strict value is not equal to itself.")
7278 })
7379
7480
7581
76-@Callable(B)
77-func setInsuranceFund (E) = valueOrElse(C(B), {
78- let x = w(E)
79-[StringEntry(a, x)]
82+@Callable(D)
83+func setInsuranceFund (G) = valueOrElse(E(D), {
84+ let z = y(G)
85+ if ((z == z))
86+ then [StringEntry(a, z)]
87+ else throw("Strict value is not equal to itself.")
8088 })
8189
8290
8391
84-@Callable(B)
85-func setLiquidityMiner (F) = valueOrElse(C(B), {
86- let x = w(F)
87-[StringEntry(n, x)]
92+@Callable(D)
93+func setLiquidityMiner (H) = valueOrElse(E(D), {
94+ let z = y(H)
95+ if ((z == z))
96+ then [StringEntry(n, z)]
97+ else throw("Strict value is not equal to itself.")
8898 })
8999
90100
91101
92-@Callable(B)
93-func setOrders (G) = valueOrElse(C(B), {
94- let x = w(G)
95-[StringEntry(o, x)]
102+@Callable(D)
103+func setOrders (I) = valueOrElse(E(D), {
104+ let z = y(I)
105+ if ((z == z))
106+ then [StringEntry(o, z)]
107+ else throw("Strict value is not equal to itself.")
96108 })
97109
98110
99111
100-@Callable(B)
101-func setReferral (H) = valueOrElse(C(B), {
102- let x = w(H)
103-[StringEntry(p, x)]
112+@Callable(D)
113+func setReferral (J) = valueOrElse(E(D), {
114+ let z = y(J)
115+ if ((z == z))
116+ then [StringEntry(p, z)]
117+ else throw("Strict value is not equal to itself.")
104118 })
105119
106120
107121
108-@Callable(B)
109-func setFarming (I) = valueOrElse(C(B), {
110- let x = w(I)
111-[StringEntry(h, x)]
122+@Callable(D)
123+func setFarming (K) = valueOrElse(E(D), {
124+ let z = y(K)
125+ if ((z == z))
126+ then [StringEntry(h, z)]
127+ else throw("Strict value is not equal to itself.")
112128 })
113129
114130
115131
116-@Callable(B)
117-func setManager (J) = valueOrElse(C(B), {
118- let x = w(J)
119-[StringEntry(q, x)]
132+@Callable(D)
133+func setManager (L) = valueOrElse(E(D), {
134+ let z = y(L)
135+ if ((z == z))
136+ then [StringEntry(q, z)]
137+ else throw("Strict value is not equal to itself.")
120138 })
121139
122140
123141
124-@Callable(B)
125-func setHousekeeper (K) = valueOrElse(C(B), {
126- let x = w(K)
127-[StringEntry(j, x)]
142+@Callable(D)
143+func setHousekeeper (M) = valueOrElse(E(D), {
144+ let z = y(M)
145+ if ((z == z))
146+ then [StringEntry(j, z)]
147+ else throw("Strict value is not equal to itself.")
128148 })
129149
130150
131151
132-@Callable(B)
133-func setPrizes (L) = valueOrElse(C(B), {
134- let x = w(L)
135-[StringEntry(i, x)]
152+@Callable(D)
153+func setPrizes (N) = valueOrElse(E(D), {
154+ let z = y(N)
155+ if ((z == z))
156+ then [StringEntry(i, z)]
157+ else throw("Strict value is not equal to itself.")
136158 })
137159
138160
139161
140-@Callable(B)
141-func setNftManager (M) = valueOrElse(C(B), {
142- let x = w(M)
143-[StringEntry(r, x)]
162+@Callable(D)
163+func setNftManager (O) = valueOrElse(E(D), {
164+ let z = y(O)
165+ if ((z == z))
166+ then [StringEntry(r, z)]
167+ else throw("Strict value is not equal to itself.")
144168 })
145169
146170
147171
148-@Callable(B)
149-func setSwap (N) = valueOrElse(C(B), {
150- let x = w(N)
151-[StringEntry(f, x)]
172+@Callable(D)
173+func setSwap (P) = valueOrElse(E(D), {
174+ let z = y(P)
175+ if ((z == z))
176+ then [StringEntry(f, z)]
177+ else throw("Strict value is not equal to itself.")
152178 })
153179
154180
155181
156-@Callable(B)
157-func setQuoteAsset (O) = valueOrElse(C(B), [StringEntry(d, O)])
182+@Callable(D)
183+func setQuoteAsset (Q) = valueOrElse(E(D), [StringEntry(d, Q)])
158184
159185
160186
161-@Callable(B)
162-func setRewardAsset (O) = valueOrElse(C(B), [StringEntry(e, O)])
187+@Callable(D)
188+func setRewardAsset (Q) = valueOrElse(E(D), [StringEntry(e, Q)])
163189
164190
165191
166-@Callable(B)
167-func setStakingAddress (P) = valueOrElse(C(B), {
168- let Q = w(P)
169-[StringEntry(g, P)]
192+@Callable(D)
193+func setStakingAddress (R) = valueOrElse(E(D), {
194+ let S = y(R)
195+ if ((S == S))
196+ then [StringEntry(g, R)]
197+ else throw("Strict value is not equal to itself.")
170198 })
171199
172200
173201
174-@Callable(B)
175-func setVaultAddress (R) = valueOrElse(C(B), {
176- let S = w(R)
177-[StringEntry(b, R)]
202+@Callable(D)
203+func setSpotAddress (T) = valueOrElse(E(D), {
204+ let S = y(T)
205+ if ((S == S))
206+ then [StringEntry(u, T)]
207+ else throw("Strict value is not equal to itself.")
178208 })
179209
180210
181211
182-@Callable(B)
183-func addChild (T) = valueOrElse(C(B), {
184- let U = w(T)
185-[BooleanEntry(t(s, T), true)]
212+@Callable(D)
213+func setVaultAddress (U) = valueOrElse(E(D), {
214+ let V = y(U)
215+ if ((V == V))
216+ then [StringEntry(b, U)]
217+ else throw("Strict value is not equal to itself.")
186218 })
187219
188220
189221
190-@Callable(B)
191-func addAmm (V,W) = valueOrElse(C(B), {
192- let X = w(V)
193-[BooleanEntry(t(k, V), true), StringEntry(t(l, V), W)]
222+@Callable(D)
223+func setOracleAddress (W) = valueOrElse(E(D), {
224+ let X = y(W)
225+ if ((X == X))
226+ then [StringEntry(o, W)]
227+ else throw("Strict value is not equal to itself.")
194228 })
195229
196230
197231
198-@Callable(B)
199-func removeAmm (V) = valueOrElse(C(B), [DeleteEntry(t(k, V))])
232+@Callable(D)
233+func addChild (Y) = valueOrElse(E(D), {
234+ let Z = y(Y)
235+[BooleanEntry(v(s, Y), true)]
236+ })
200237
201238
202239
203-@Callable(B)
204-func setGovernanceAsset (O) = valueOrElse(C(B), {
205- let Y = fromBase58String(O)
206- let Z = assetInfo(Y)
207- if ($isInstanceOf(Z, "Asset"))
240+@Callable(D)
241+func addAmm (aa,ab) = valueOrElse(E(D), {
242+ let ac = y(aa)
243+[BooleanEntry(v(k, aa), true), StringEntry(v(l, aa), ab)]
244+ })
245+
246+
247+
248+@Callable(D)
249+func removeAmm (aa) = valueOrElse(E(D), [DeleteEntry(v(k, aa))])
250+
251+
252+
253+@Callable(D)
254+func setGovernanceAsset (Q) = valueOrElse(E(D), {
255+ let ad = fromBase58String(Q)
256+ let ae = assetInfo(ad)
257+ if ($isInstanceOf(ae, "Asset"))
208258 then {
209- let aa = Z
210- if ((aa.decimals != 8))
259+ let af = ae
260+ if ((af.decimals != 8))
211261 then throw("Invalid asset decimals, should be 8")
212- else [StringEntry(m, O)]
262+ else [StringEntry(m, Q)]
213263 }
214264 else throw("Can't find asset")
215265 })
216266
217267
218-@Verifier(ab)
219-func ac () = {
220- let Z = getString(this, c)
221- if ($isInstanceOf(Z, "String"))
268+@Verifier(ag)
269+func ah () = {
270+ let ae = getString(this, c)
271+ if ($isInstanceOf(ae, "String"))
222272 then {
223- let ad = Z
224- valueOrElse(getBoolean(addressFromStringValue(ad), ((("status_" + toString(this)) + "_") + toBase58String(ab.id))), false)
273+ let ai = ae
274+ valueOrElse(getBoolean(addressFromStringValue(ai), ((("status_" + toString(this)) + "_") + toBase58String(ag.id))), false)
225275 }
226- else sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
276+ else sigVerify(ag.bodyBytes, ag.proofs[0], ag.senderPublicKey)
227277 }
228278

github/deemru/w8io/169f3d6 
62.32 ms