tx · CCULoPK3Xs1fpTp9cw5aZN7QXJPXse3HxBJxyH2uxBsc

3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz:  -0.05000000 Waves

2022.11.29 18:34 [2338578] smart account 3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz > SELF 0.00000000 Waves

{ "type": 13, "id": "CCULoPK3Xs1fpTp9cw5aZN7QXJPXse3HxBJxyH2uxBsc", "fee": 5000000, "feeAssetId": null, "timestamp": 1669736055220, "version": 2, "chainId": 84, "sender": "3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz", "senderPublicKey": "C3v9sfZTmGuW7YXwjUKypU41QpFcHCoJxLpvdR4d3iSv", "proofs": [ "55im5NapoAuBymrxNppLWQjtquFwFyX1LmQjjbn9n8jHeGkAMAERQHQf6yVg5fnKXAF9pVcGcw9q9uuwRgCAFpaR", "5xRBHhazi6LXDMJVK1SdTvdDTZdJhmMqguXB4DiuGBR3fS5wddFwgquFbsoypJkDcMLub1AVCqYkic28KVWedbAi" ], "script": "base64:BgIhCAISBAoCAQgSBAoCCAgSAwoBBBIDCgEIEgMKAQgSABIAFAAPa1ByZWZpeFBvb2xOYW1lAgVwb29sXwAFa1BhaXICBXBhaXJfAAlrQXNzZXRJZEECCkFfYXNzZXRfaWQACWtBc3NldElkQgIKQl9hc3NldF9pZAAfa0xhdW5jaHBhZERhdGFUcmFuc2FjdGlvblN0YXR1cwIhbGF1bmNocGFkX2RhdGFfdHJhbnNhY3Rpb25fc3RhdHVzABNrQWN0aXZlQWxsQ29udHJhY3RzAhRhY3RpdmVfYWxsX2NvbnRyYWN0cwAMa0FkbWluUHViS2V5AgphZG1pbl9wdWJfAA1rQWRtaW5QdWJLZXkxAgthZG1pbl9wdWJfMQANa0FkbWluUHViS2V5MgILYWRtaW5fcHViXzIADWtBZG1pblB1YktleTMCC2FkbWluX3B1Yl8zABJrQWRtaW5JbnZva2VQdWJLZXkCEGFkbWluX2ludm9rZV9wdWIAFGtBY2hpZXZlbWVudHNXcml0ZXJzAhRhY2hpZXZlbWVudHNfd3JpdGVycwAMYWRtaW5QdWJLZXkxCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMFDWtBZG1pblB1YktleTEADGFkbWluUHViS2V5MgkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBQ1rQWRtaW5QdWJLZXkyAAxhZG1pblB1YktleTMJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUNa0FkbWluUHViS2V5MwASYWN0aXZlQWxsQ29udHJhY3RzCQERQGV4dHJOYXRpdmUoMTA1MSkCBQR0aGlzBRNrQWN0aXZlQWxsQ29udHJhY3RzAQppc1NlbGZDYWxsAQFpAwkAAAIIBQFpBmNhbGxlcgUEdGhpcwUEdW5pdAkAAgECL09ubHkgdGhlIE9yYWNsZSBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAQtnZXRQb29sVHlwZQELcG9vbEFkZHJlc3MEB3ZlcnNpb24JARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQtwb29sQWRkcmVzcwIHdmVyc2lvbgIXUG9vbCBpcyBub3QgaW5pdGlhbGl6ZWQDCQAAAgUHdmVyc2lvbgIFMS4wLjACBGNwbW0DCQAAAgUHdmVyc2lvbgIFMi4wLjACBGZsYXQDCQAAAgUHdmVyc2lvbgIFMy4wLjACCm11bHR5Y3VydmUJAAIBAhdVbmtub3duIHZlcnNpb24gb2YgcG9vbAERZ2V0QWRkcmVzc0lmVmFsaWQBB2FkZHJlc3MJAKUIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEFB2FkZHJlc3MJAKwCAgkArAICAg1DYW4ndCBwYXJzZSAiBQdhZGRyZXNzAgwiIGFzIGFkZHJlc3MBC2lzQWRtaW5DYWxsAQFpAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUMYWRtaW5QdWJLZXkxCQDMCAIFDGFkbWluUHViS2V5MgkAzAgCBQxhZG1pblB1YktleTMFA25pbAgFAWkPY2FsbGVyUHVibGljS2V5BQR1bml0CQACAQIhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uBwFpAQhzZXRBZG1pbgIHYWRtaW5JZAthZG1pblB1YktleQkBC3ZhbHVlT3JFbHNlAgkBCmlzU2VsZkNhbGwBBQFpAwMJAGYCAAAFB2FkbWluSWQJAGYCBQdhZG1pbklkAAMHCQACAQIOV3JvbmcgYWRtaW4gaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQxrQWRtaW5QdWJLZXkJAKQDAQUHYWRtaW5JZAULYWRtaW5QdWJLZXkFA25pbAFpAQdhZGRQb29sAgtwb29sQWRkcmVzcwhwb29sTmFtZQkBC3ZhbHVlT3JFbHNlAgkBC2lzQWRtaW5DYWxsAQUBaQQQdmFsaWRhdGVkQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQULcG9vbEFkZHJlc3MEB2tleU5hbWUJAKwCAgUPa1ByZWZpeFBvb2xOYW1lBRB2YWxpZGF0ZWRBZGRyZXNzBBhwb3NzaWJseUFscmVhZHlBZGRlZFBvb2wJAJ0IAgUEdGhpcwUHa2V5TmFtZQMJAQlpc0RlZmluZWQBBRhwb3NzaWJseUFscmVhZHlBZGRlZFBvb2wJAAIBCQCsAgIJAKwCAgkArAICCQCsAgICE1Bvb2wgd2l0aCBhZGRyZXNzICIFEHZhbGlkYXRlZEFkZHJlc3MCICIgaXMgYWxyZWFkeSBkZWZpbmVkIHdpdGggbmFtZSAiCQEFdmFsdWUBBRhwb3NzaWJseUFscmVhZHlBZGRlZFBvb2wCASIJAM4IAgkAzAgCCQELU3RyaW5nRW50cnkCBQdrZXlOYW1lBQhwb29sTmFtZQUDbmlsAwkAAAIJAQtnZXRQb29sVHlwZQEJAQV2YWx1ZQEJAKYIAQULcG9vbEFkZHJlc3MCCm11bHR5Y3VydmUFA25pbAQIYXNzZXRJZEEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCCQEFdmFsdWUBCQCmCAEFC3Bvb2xBZGRyZXNzBQlrQXNzZXRJZEECF0Fzc2V0IGlkIEEgaXMgaW5jb3JyZWN0BAhhc3NldElkQgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIJAQV2YWx1ZQEJAKYIAQULcG9vbEFkZHJlc3MFCWtBc3NldElkQgIXQXNzZXQgaWQgQiBpcyBpbmNvcnJlY3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUFa1BhaXIFCGFzc2V0SWRBAgFfBQhhc3NldElkQgULcG9vbEFkZHJlc3MFA25pbAFpAR5sYXVuY2hwYWREYXRhVHJhbnNhY3Rpb25TdGF0dXMBBnN0YXR1cwkBC3ZhbHVlT3JFbHNlAgkBC2lzQWRtaW5DYWxsAQUBaQkAzAgCCQEMQm9vbGVhbkVudHJ5AgUfa0xhdW5jaHBhZERhdGFUcmFuc2FjdGlvblN0YXR1cwUGc3RhdHVzBQNuaWwBaQEVYWRkQWNoaWV2ZW1lbnRzV3JpdGVyAQdhZGRyZXNzCQELdmFsdWVPckVsc2UCCQELaXNBZG1pbkNhbGwBBQFpBAd3cml0ZXJzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFFGtBY2hpZXZlbWVudHNXcml0ZXJzAgAEBGRhdGEDCQAAAgUHd3JpdGVycwIABQNuaWwJALUJAgUHd3JpdGVycwIBLAkAzAgCCQELU3RyaW5nRW50cnkCBRRrQWNoaWV2ZW1lbnRzV3JpdGVycwkAuQkCCQDNCAIFBGRhdGEFB2FkZHJlc3MCASwFA25pbAFpARhyZW1vdmVBY2hpZXZlbWVudHNXcml0ZXIBB2FkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAQtpc0FkbWluQ2FsbAEFAWkEB3dyaXRlcnMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBRRrQWNoaWV2ZW1lbnRzV3JpdGVycwIAAgEsBAVpbmRleAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDPCAIFB3dyaXRlcnMFB2FkZHJlc3MCHkNhbid0IGZpbmQgYWRkcmVzcyBpbiB0aGUgbGlzdAkAzAgCCQELU3RyaW5nRW50cnkCBRRrQWNoaWV2ZW1lbnRzV3JpdGVycwkAuQkCCQDRCAIFB3dyaXRlcnMFBWluZGV4AgEsBQNuaWwBaQEUc2h1dGRvd25BbGxDb250cmFjdHMACQELdmFsdWVPckVsc2UCCQELaXNBZG1pbkNhbGwBBQFpAwkBASEBBRJhY3RpdmVBbGxDb250cmFjdHMJAAIBAh5BbGwgY29udHJhY3RzIGFscmVhZHkgc2h1dGRvd24JAMwIAgkBDEJvb2xlYW5FbnRyeQIFE2tBY3RpdmVBbGxDb250cmFjdHMHBQNuaWwBaQEUYWN0aXZhdGVBbGxDb250cmFjdHMACQELdmFsdWVPckVsc2UCCQELaXNBZG1pbkNhbGwBBQFpAwUSYWN0aXZlQWxsQ29udHJhY3RzCQACAQIcQWxsIGNvbnRyYWN0cyBhbHJlYWR5IGFjdGl2ZQkAzAgCCQEMQm9vbGVhbkVudHJ5AgUTa0FjdGl2ZUFsbENvbnRyYWN0cwYFA25pbAECdHgBBnZlcmlmeQAEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MQABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFDGFkbWluUHViS2V5MgABAAAEEmFkbWluUHViS2V5M1NpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFDGFkbWluUHViS2V5MwABAAAJAGcCCQBkAgkAZAIFEmFkbWluUHViS2V5MVNpZ25lZAUSYWRtaW5QdWJLZXkyU2lnbmVkBRJhZG1pblB1YktleTNTaWduZWQAAi91dRA=", "height": 2338578, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7WuhyMQV8CMDevX7Jjz7Ku465fvef12LV2ykRC85YXcf Next: 2KzffYLLdDPu6L12mnejYehEXPNSe4gvi4PFcQUEVP8t Diff:
OldNewDifferences
1313
1414 let f = "active_all_contracts"
1515
16-let g = "admin_pub"
16+let g = "admin_pub_"
1717
1818 let h = "admin_pub_1"
1919
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "pool_"
55
66 let b = "pair_"
77
88 let c = "A_asset_id"
99
1010 let d = "B_asset_id"
1111
1212 let e = "launchpad_data_transaction_status"
1313
1414 let f = "active_all_contracts"
1515
16-let g = "admin_pub"
16+let g = "admin_pub_"
1717
1818 let h = "admin_pub_1"
1919
2020 let i = "admin_pub_2"
2121
2222 let j = "admin_pub_3"
2323
2424 let k = "admin_invoke_pub"
2525
2626 let l = "achievements_writers"
2727
2828 let m = fromBase58String(getStringValue(this, h))
2929
3030 let n = fromBase58String(getStringValue(this, i))
3131
3232 let o = fromBase58String(getStringValue(this, j))
3333
3434 let p = getBooleanValue(this, f)
3535
3636 func q (r) = if ((r.caller == this))
3737 then unit
3838 else throw("Only the Oracle itself can invoke this function")
3939
4040
4141 func s (t) = {
4242 let u = valueOrErrorMessage(getString(t, "version"), "Pool is not initialized")
4343 if ((u == "1.0.0"))
4444 then "cpmm"
4545 else if ((u == "2.0.0"))
4646 then "flat"
4747 else if ((u == "3.0.0"))
4848 then "multycurve"
4949 else throw("Unknown version of pool")
5050 }
5151
5252
5353 func v (w) = toString(valueOrErrorMessage(addressFromString(w), (("Can't parse \"" + w) + "\" as address")))
5454
5555
5656 func x (r) = if (containsElement([m, n, o], r.callerPublicKey))
5757 then unit
5858 else throw("Only admin can call this function")
5959
6060
6161 @Callable(r)
6262 func setAdmin (y,z) = valueOrElse(q(r), if (if ((0 > y))
6363 then (y > 3)
6464 else false)
6565 then throw("Wrong admin id")
6666 else [StringEntry((g + toString(y)), z)])
6767
6868
6969
7070 @Callable(r)
7171 func addPool (t,A) = valueOrElse(x(r), {
7272 let B = v(t)
7373 let C = (a + B)
7474 let D = getString(this, C)
7575 if (isDefined(D))
7676 then throw((((("Pool with address \"" + B) + "\" is already defined with name \"") + value(D)) + "\""))
7777 else ([StringEntry(C, A)] ++ (if ((s(value(addressFromString(t))) == "multycurve"))
7878 then nil
7979 else {
8080 let E = valueOrErrorMessage(getString(value(addressFromString(t)), c), "Asset id A is incorrect")
8181 let F = valueOrErrorMessage(getString(value(addressFromString(t)), d), "Asset id B is incorrect")
8282 [StringEntry((((b + E) + "_") + F), t)]
8383 }))
8484 })
8585
8686
8787
8888 @Callable(r)
8989 func launchpadDataTransactionStatus (G) = valueOrElse(x(r), [BooleanEntry(e, G)])
9090
9191
9292
9393 @Callable(r)
9494 func addAchievementsWriter (w) = valueOrElse(x(r), {
9595 let H = valueOrElse(getString(this, l), "")
9696 let I = if ((H == ""))
9797 then nil
9898 else split(H, ",")
9999 [StringEntry(l, makeString((I :+ w), ","))]
100100 })
101101
102102
103103
104104 @Callable(r)
105105 func removeAchievementsWriter (w) = valueOrElse(x(r), {
106106 let H = split(valueOrElse(getString(this, l), ""), ",")
107107 let J = valueOrErrorMessage(indexOf(H, w), "Can't find address in the list")
108108 [StringEntry(l, makeString(removeByIndex(H, J), ","))]
109109 })
110110
111111
112112
113113 @Callable(r)
114114 func shutdownAllContracts () = valueOrElse(x(r), if (!(p))
115115 then throw("All contracts already shutdown")
116116 else [BooleanEntry(f, false)])
117117
118118
119119
120120 @Callable(r)
121121 func activateAllContracts () = valueOrElse(x(r), if (p)
122122 then throw("All contracts already active")
123123 else [BooleanEntry(f, true)])
124124
125125
126126 @Verifier(K)
127127 func L () = {
128128 let M = if (sigVerify(K.bodyBytes, K.proofs[0], m))
129129 then 1
130130 else 0
131131 let N = if (sigVerify(K.bodyBytes, K.proofs[1], n))
132132 then 1
133133 else 0
134134 let O = if (sigVerify(K.bodyBytes, K.proofs[2], o))
135135 then 1
136136 else 0
137137 (((M + N) + O) >= 2)
138138 }
139139

github/deemru/w8io/873ac7e 
22.56 ms