tx · 5qmPbwkaikKYMcSCMBCFeFGmFpeMWrrhnWteeD7WLz8u

3NAg879tKUJh949h21umkwiaRQhwZftz1BE:  -0.05000000 Waves

2019.09.03 15:50 [659823] smart account 3NAg879tKUJh949h21umkwiaRQhwZftz1BE > SELF 0.00000000 Waves

{ "type": 13, "id": "5qmPbwkaikKYMcSCMBCFeFGmFpeMWrrhnWteeD7WLz8u", "fee": 5000000, "feeAssetId": null, "timestamp": 1567514996419, "version": 1, "sender": "3NAg879tKUJh949h21umkwiaRQhwZftz1BE", "senderPublicKey": "BqY2jhkQCcbidtQdQZu6f9RV3AkFAS8VPToHxwYu1KdJ", "proofs": [ "Nh5gYuvNM48BeyFunpTX5kKRoQnwbQbTDQbxkeiyn9UmpVbZw81z8YRJHh6zNy2QEXJNZ2kxsFESas8k2FqPQpy" ], "script": "base64:AAIDAAAAAAAAAAAAAAASAAAAAAN3dnMAAAAAAAX14QAAAAAAFHRpY2tlckFsbG93ZWRMZXR0ZXJzAgAAABpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWgAAAAANdGlja2VyRXhhbXBsZQIAAAADQlRDAAAAAA90aWNrZXJNaW5MZW5ndGgAAAAAAAAAAAEAAAAAD3RpY2tlck1heExlbmd0aAAAAAAAAAAABgAAAAAWZGVzY3JpcHRpb25VcGRhdGVQcmljZQkAAGgAAAACAAAAAAAAAAABBQAAAAN3dnMAAAAAD2xpbmtVcGRhdGVQcmljZQkAAGgAAAACAAAAAAAAAAABBQAAAAN3dnMAAAAAEXRpY2tlclVwZGF0ZVByaWNlCQAAaAAAAAIAAAAAAAAAAAIFAAAAA3d2cwAAAAAcdGlja2VyQ2F0YWxvZ3VlT3JhY2xlQWRkcmVzcwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABAgAAACMzTXhIeFc1VldxNEtyV2NiaEZmeEtyYWZYbTRtTDZyWkhmagAAAAAYdG9rZW5SYXRpbmdPcmFjbGVBZGRyZXNzCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAECAAAAIzNOQURxSG9MTWJNVGZYZFAyVGVCQlN4NW1RWGVQVmozS1ptAQAAABRnZXRTdHJpbmdGcm9tQWNjb3VudAAAAAIAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAADmFjY291bnRBZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwUAAAAEdW5pdAEAAAAVZ2V0SW50ZWdlckZyb21BY2NvdW50AAAAAgAAAA5hY2NvdW50QWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAOYWNjb3VudEFkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFpBQAAAAckbWF0Y2gwBQAAAAFpAAAAAAAAAAAAAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgAAAANzdHIAAAAGc3Vic3RyBAAAAAckbWF0Y2gwCQAEswAAAAIFAAAAA3N0cgUAAAAGc3Vic3RyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABWluZGV4BQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAFaW5kZXgFAAAAByRtYXRjaDAHCQEAAAAFdGhyb3cAAAAAAQAAAA1pc1ZhbGlkVGlja2VyAAAAAQAAAAZ0aWNrZXIEAAAADXRpY2tlckxldHRlcnMJAAS1AAAAAgUAAAAGdGlja2VyAgAAAAAEAAAADHRpY2tlckxlbmd0aAkAAZAAAAABBQAAAA10aWNrZXJMZXR0ZXJzBAAAAA5pc0xldHRlcjFWYWxpZAkBAAAADWlzU3Vic3RyRXhpc3QAAAACBQAAABR0aWNrZXJBbGxvd2VkTGV0dGVycwkAAZEAAAACBQAAAA10aWNrZXJMZXR0ZXJzAAAAAAAAAAAABAAAAA5pc0xldHRlcjJWYWxpZAkBAAAADWlzU3Vic3RyRXhpc3QAAAACBQAAABR0aWNrZXJBbGxvd2VkTGV0dGVycwkAAZEAAAACBQAAAA10aWNrZXJMZXR0ZXJzAAAAAAAAAAABBAAAAA5pc0xldHRlcjNWYWxpZAkBAAAADWlzU3Vic3RyRXhpc3QAAAACBQAAABR0aWNrZXJBbGxvd2VkTGV0dGVycwkAAZEAAAACBQAAAA10aWNrZXJMZXR0ZXJzAAAAAAAAAAACBAAAAA5pc0xldHRlcjRWYWxpZAkBAAAADWlzU3Vic3RyRXhpc3QAAAACBQAAABR0aWNrZXJBbGxvd2VkTGV0dGVycwkAAZEAAAACBQAAAA10aWNrZXJMZXR0ZXJzAAAAAAAAAAADBAAAAA5pc0xldHRlcjVWYWxpZAkBAAAADWlzU3Vic3RyRXhpc3QAAAACBQAAABR0aWNrZXJBbGxvd2VkTGV0dGVycwkAAZEAAAACBQAAAA10aWNrZXJMZXR0ZXJzAAAAAAAAAAAEBAAAAA5pc0xldHRlcjZWYWxpZAkBAAAADWlzU3Vic3RyRXhpc3QAAAACBQAAABR0aWNrZXJBbGxvd2VkTGV0dGVycwkAAZEAAAACBQAAAA10aWNrZXJMZXR0ZXJzAAAAAAAAAAAFAwkBAAAAAiE9AAAAAgUAAAAGdGlja2VyAgAAAAADAwkAAGcAAAACBQAAAAx0aWNrZXJMZW5ndGgFAAAAD3RpY2tlck1pbkxlbmd0aAkAAGcAAAACBQAAAA90aWNrZXJNYXhMZW5ndGgFAAAADHRpY2tlckxlbmd0aAcDCQAAAAAAAAIAAAAAAAAAAAEFAAAADHRpY2tlckxlbmd0aAUAAAAOaXNMZXR0ZXIxVmFsaWQDCQAAAAAAAAIAAAAAAAAAAAIFAAAADHRpY2tlckxlbmd0aAMFAAAADmlzTGV0dGVyMVZhbGlkBQAAAA5pc0xldHRlcjJWYWxpZAcDCQAAAAAAAAIAAAAAAAAAAAMFAAAADHRpY2tlckxlbmd0aAMDBQAAAA5pc0xldHRlcjFWYWxpZAUAAAAOaXNMZXR0ZXIyVmFsaWQHBQAAAA5pc0xldHRlcjNWYWxpZAcDCQAAAAAAAAIAAAAAAAAAAAQFAAAADHRpY2tlckxlbmd0aAMDAwUAAAAOaXNMZXR0ZXIxVmFsaWQFAAAADmlzTGV0dGVyMlZhbGlkBwUAAAAOaXNMZXR0ZXIzVmFsaWQHBQAAAA5pc0xldHRlcjRWYWxpZAcDCQAAAAAAAAIAAAAAAAAAAAUFAAAADHRpY2tlckxlbmd0aAMDAwMFAAAADmlzTGV0dGVyMVZhbGlkBQAAAA5pc0xldHRlcjJWYWxpZAcFAAAADmlzTGV0dGVyM1ZhbGlkBwUAAAAOaXNMZXR0ZXI0VmFsaWQHBQAAAA5pc0xldHRlcjVWYWxpZAcDCQAAAAAAAAIAAAAAAAAAAAYFAAAADHRpY2tlckxlbmd0aAMDAwMDBQAAAA5pc0xldHRlcjFWYWxpZAUAAAAOaXNMZXR0ZXIyVmFsaWQHBQAAAA5pc0xldHRlcjNWYWxpZAcFAAAADmlzTGV0dGVyNFZhbGlkBwUAAAAOaXNMZXR0ZXI1VmFsaWQHBQAAAA5pc0xldHRlcjZWYWxpZAcHBwcBAAAAHGlzQXNzZXRVcGRhdGVBbGxvd2VkQnlSYXRpbmcAAAABAAAAB2Fzc2V0SWQEAAAADmFzc2V0UmF0aW5nS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAMYXNzZXRSYXRpbmdfBQAAAAdhc3NldElkAgAAAAJfMQQAAAAQYXNzZXRSYXRpbmdWYWx1ZQkBAAAAFWdldEludGVnZXJGcm9tQWNjb3VudAAAAAIFAAAAGHRva2VuUmF0aW5nT3JhY2xlQWRkcmVzcwUAAAAOYXNzZXRSYXRpbmdLZXkEAAAAE2Fzc2V0UmF0aW5nVHJlc2hvbGQJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MCAAAADWFzc2V0UmF0aW5nXzEJAABnAAAAAgUAAAAQYXNzZXRSYXRpbmdWYWx1ZQUAAAATYXNzZXRSYXRpbmdUcmVzaG9sZAEAAAAcaXNBc3NldFVwZGF0ZUFsbG93ZWRCeVdlaWdodAAAAAEAAAAHYXNzZXRJZAQAAAAOYXNzZXRXZWlnaHRLZXkCAAAAC2Fzc2V0V2VpZ2h0BAAAABBhc3NldFdlaWdodFZhbHVlCQEAAAAVZ2V0SW50ZWdlckZyb21BY2NvdW50AAAAAgUAAAAYdG9rZW5SYXRpbmdPcmFjbGVBZGRyZXNzBQAAAA5hc3NldFdlaWdodEtleQQAAAATYXNzZXRXZWlnaHRUcmVzaG9sZAkBAAAAFWdldEludGVnZXJGcm9tQWNjb3VudAAAAAIFAAAAGHRva2VuUmF0aW5nT3JhY2xlQWRkcmVzcwIAAAALYXNzZXRXZWlnaHQJAABnAAAAAgUAAAAQYXNzZXRXZWlnaHRWYWx1ZQUAAAATYXNzZXRXZWlnaHRUcmVzaG9sZAEAAAAbaXNBc3NldFVwZGF0ZUFsbG93ZWRCeVZvdGVzAAAAAQAAAAdhc3NldElkBAAAAA1hc3NldFZvdGVzS2V5AgAAAAphc3NldFZvdGVzBAAAAA9hc3NldFZvdGVzVmFsdWUJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MFAAAADWFzc2V0Vm90ZXNLZXkEAAAAEmFzc2V0Vm90ZXNUcmVzaG9sZAkBAAAAFWdldEludGVnZXJGcm9tQWNjb3VudAAAAAIFAAAAGHRva2VuUmF0aW5nT3JhY2xlQWRkcmVzcwIAAAAKYXNzZXRWb3RlcwkAAGcAAAACBQAAAA9hc3NldFZvdGVzVmFsdWUFAAAAEmFzc2V0Vm90ZXNUcmVzaG9sZAEAAAAXaXNVcGRhdGVBbGxvd2VkQnlSYXRpbmcAAAABAAAAB2Fzc2V0SWQDAwkBAAAAHGlzQXNzZXRVcGRhdGVBbGxvd2VkQnlSYXRpbmcAAAABBQAAAAdhc3NldElkCQEAAAAcaXNBc3NldFVwZGF0ZUFsbG93ZWRCeVdlaWdodAAAAAEFAAAAB2Fzc2V0SWQHCQEAAAAbaXNBc3NldFVwZGF0ZUFsbG93ZWRCeVZvdGVzAAAAAQUAAAAHYXNzZXRJZAcAAAABAAAAAWkBAAAADHVwZGF0ZVRpY2tlcgAAAAMAAAAHYXNzZXRJZAAAAA1pc3N1ZXJBZGRyZXNzAAAABnRpY2tlcgQAAAAHcGF5bWVudAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAD2lzc3VlclRpY2tlcktleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANaXNzdWVyVGlja2VyXwIAAAABPAUAAAAHYXNzZXRJZAIAAAABPgQAAAAQdGlja2VyRnJvbU9yYWNsZQkBAAAAFGdldFN0cmluZ0Zyb21BY2NvdW50AAAAAgUAAAAcdGlja2VyQ2F0YWxvZ3VlT3JhY2xlQWRkcmVzcwUAAAAGdGlja2VyAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAuZXJyb3IjMS4gVGhlIHNlcnZpY2UgY2FuIG9ubHkgYmUgcGFpZCBpbiB3YXZlcwMJAABnAAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAABF0aWNrZXJVcGRhdGVQcmljZQMJAAAAAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAANaXNzdWVyQWRkcmVzcwMJAQAAABdpc1VwZGF0ZUFsbG93ZWRCeVJhdGluZwAAAAEFAAAAB2Fzc2V0SWQDCQEAAAACIT0AAAACBQAAABB0aWNrZXJGcm9tT3JhY2xlBQAAAAR1bml0CQAAAgAAAAECAAAAMGVycm9yIzQuIEFzc2V0IHdpdGggc3VjaCB0aWNrZXIgaXMgYWxyZWFkeSBleGlzdAMJAQAAAA1pc1ZhbGlkVGlja2VyAAAAAQUAAAAGdGlja2VyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA9pc3N1ZXJUaWNrZXJLZXkFAAAABnRpY2tlcgUAAAADbmlsCQAAAgAAAAECAAAAP2Vycm9yIzUuIFRpY2tlciBzaG91bGQgY29uc2lzdCBvZiAxLTYgY2FwaXRhbCBMYXRpbiBjaGFyYWN0ZXJzLgkAAAIAAAABAgAAABplcnJvciMzLiBUb28gbGl0dGxlIHJhdGluZwkAAAIAAAABAgAAADJlcnJvciMyLiBPbmx5IGFzc2V0IGlzc3VlciBjYW4gdXBkYXRlIGFzc2V0IHRpY2tlcgkAAAIAAAABAgAAAD5lcnJvciMyLiBJbnN1ZmZpY2llbnQgcGF5bWVudCBmb3IgYXNzZXQgdGlja2VyIHVwZGF0ZSBzZXJ2aWNlLgAAAACuzQzy", "chainId": 84, "height": 659823, "spentComplexity": 0 } View: original | compacted Prev: HvLtM1kddqFVgSvBYijnatrLZWuZ4f4xLWRnLaqKfdUL Next: H62QpgvHt1zZWvrDPPhVGRenYP4o4ehkCLZvmTxmkXbd Diff:
OldNewDifferences
108108 }
109109
110110
111-func isAssetUpdateAllowedByIndicator (assetId,indicator) = {
112- let indicatorKey = ((indicator + "_") + assetId)
113- let indicatorValue = getIntegerFromAccount(tokenRatingOracleAddress, indicatorKey)
114- let indicatorTreshold = getIntegerFromAccount(tokenRatingOracleAddress, indicator)
115- (indicatorValue >= indicatorTreshold)
111+func isAssetUpdateAllowedByRating (assetId) = {
112+ let assetRatingKey = (("assetRating_" + assetId) + "_1")
113+ let assetRatingValue = getIntegerFromAccount(tokenRatingOracleAddress, assetRatingKey)
114+ let assetRatingTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "assetRating_1")
115+ (assetRatingValue >= assetRatingTreshold)
116116 }
117117
118118
119-func isUpdateAllowedByRating (assetId) = if (if (isAssetUpdateAllowedByIndicator(assetId, "assetRating"))
120- then isAssetUpdateAllowedByIndicator(assetId, "assetWeight")
119+func isAssetUpdateAllowedByWeight (assetId) = {
120+ let assetWeightKey = "assetWeight"
121+ let assetWeightValue = getIntegerFromAccount(tokenRatingOracleAddress, assetWeightKey)
122+ let assetWeightTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "assetWeight")
123+ (assetWeightValue >= assetWeightTreshold)
124+ }
125+
126+
127+func isAssetUpdateAllowedByVotes (assetId) = {
128+ let assetVotesKey = "assetVotes"
129+ let assetVotesValue = getIntegerFromAccount(tokenRatingOracleAddress, assetVotesKey)
130+ let assetVotesTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "assetVotes")
131+ (assetVotesValue >= assetVotesTreshold)
132+ }
133+
134+
135+func isUpdateAllowedByRating (assetId) = if (if (isAssetUpdateAllowedByRating(assetId))
136+ then isAssetUpdateAllowedByWeight(assetId)
121137 else false)
122- then isAssetUpdateAllowedByIndicator(assetId, "assetVotes")
138+ then isAssetUpdateAllowedByVotes(assetId)
123139 else false
124140
125141
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let wvs = 100000000
55
66 let tickerAllowedLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
77
88 let tickerExample = "BTC"
99
1010 let tickerMinLength = 1
1111
1212 let tickerMaxLength = 6
1313
1414 let descriptionUpdatePrice = (1 * wvs)
1515
1616 let linkUpdatePrice = (1 * wvs)
1717
1818 let tickerUpdatePrice = (2 * wvs)
1919
2020 let tickerCatalogueOracleAddress = addressFromStringValue("3MxHxW5VWq4KrWcbhFfxKrafXm4mL6rZHfj")
2121
2222 let tokenRatingOracleAddress = addressFromStringValue("3NADqHoLMbMTfXdP2TeBBSx5mQXePVj3KZm")
2323
2424 func getStringFromAccount (accountAddress,key) = match getString(accountAddress, key) {
2525 case s: String =>
2626 s
2727 case _ =>
2828 unit
2929 }
3030
3131
3232 func getIntegerFromAccount (accountAddress,key) = match getInteger(accountAddress, key) {
3333 case i: Int =>
3434 i
3535 case _ =>
3636 0
3737 }
3838
3939
4040 func isSubstrExist (str,substr) = match indexOf(str, substr) {
4141 case index: Int =>
4242 true
4343 case index: Unit =>
4444 false
4545 case _ =>
4646 throw()
4747 }
4848
4949
5050 func isValidTicker (ticker) = {
5151 let tickerLetters = split(ticker, "")
5252 let tickerLength = size(tickerLetters)
5353 let isLetter1Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[0])
5454 let isLetter2Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[1])
5555 let isLetter3Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[2])
5656 let isLetter4Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[3])
5757 let isLetter5Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[4])
5858 let isLetter6Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[5])
5959 if ((ticker != ""))
6060 then if (if ((tickerLength >= tickerMinLength))
6161 then (tickerMaxLength >= tickerLength)
6262 else false)
6363 then if ((1 == tickerLength))
6464 then isLetter1Valid
6565 else if ((2 == tickerLength))
6666 then if (isLetter1Valid)
6767 then isLetter2Valid
6868 else false
6969 else if ((3 == tickerLength))
7070 then if (if (isLetter1Valid)
7171 then isLetter2Valid
7272 else false)
7373 then isLetter3Valid
7474 else false
7575 else if ((4 == tickerLength))
7676 then if (if (if (isLetter1Valid)
7777 then isLetter2Valid
7878 else false)
7979 then isLetter3Valid
8080 else false)
8181 then isLetter4Valid
8282 else false
8383 else if ((5 == tickerLength))
8484 then if (if (if (if (isLetter1Valid)
8585 then isLetter2Valid
8686 else false)
8787 then isLetter3Valid
8888 else false)
8989 then isLetter4Valid
9090 else false)
9191 then isLetter5Valid
9292 else false
9393 else if ((6 == tickerLength))
9494 then if (if (if (if (if (isLetter1Valid)
9595 then isLetter2Valid
9696 else false)
9797 then isLetter3Valid
9898 else false)
9999 then isLetter4Valid
100100 else false)
101101 then isLetter5Valid
102102 else false)
103103 then isLetter6Valid
104104 else false
105105 else false
106106 else false
107107 else false
108108 }
109109
110110
111-func isAssetUpdateAllowedByIndicator (assetId,indicator) = {
112- let indicatorKey = ((indicator + "_") + assetId)
113- let indicatorValue = getIntegerFromAccount(tokenRatingOracleAddress, indicatorKey)
114- let indicatorTreshold = getIntegerFromAccount(tokenRatingOracleAddress, indicator)
115- (indicatorValue >= indicatorTreshold)
111+func isAssetUpdateAllowedByRating (assetId) = {
112+ let assetRatingKey = (("assetRating_" + assetId) + "_1")
113+ let assetRatingValue = getIntegerFromAccount(tokenRatingOracleAddress, assetRatingKey)
114+ let assetRatingTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "assetRating_1")
115+ (assetRatingValue >= assetRatingTreshold)
116116 }
117117
118118
119-func isUpdateAllowedByRating (assetId) = if (if (isAssetUpdateAllowedByIndicator(assetId, "assetRating"))
120- then isAssetUpdateAllowedByIndicator(assetId, "assetWeight")
119+func isAssetUpdateAllowedByWeight (assetId) = {
120+ let assetWeightKey = "assetWeight"
121+ let assetWeightValue = getIntegerFromAccount(tokenRatingOracleAddress, assetWeightKey)
122+ let assetWeightTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "assetWeight")
123+ (assetWeightValue >= assetWeightTreshold)
124+ }
125+
126+
127+func isAssetUpdateAllowedByVotes (assetId) = {
128+ let assetVotesKey = "assetVotes"
129+ let assetVotesValue = getIntegerFromAccount(tokenRatingOracleAddress, assetVotesKey)
130+ let assetVotesTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "assetVotes")
131+ (assetVotesValue >= assetVotesTreshold)
132+ }
133+
134+
135+func isUpdateAllowedByRating (assetId) = if (if (isAssetUpdateAllowedByRating(assetId))
136+ then isAssetUpdateAllowedByWeight(assetId)
121137 else false)
122- then isAssetUpdateAllowedByIndicator(assetId, "assetVotes")
138+ then isAssetUpdateAllowedByVotes(assetId)
123139 else false
124140
125141
126142 @Callable(i)
127143 func updateTicker (assetId,issuerAddress,ticker) = {
128144 let payment = extract(i.payment)
129145 let callerAddress = toBase58String(i.caller.bytes)
130146 let issuerTickerKey = ((("issuerTicker_" + "<") + assetId) + ">")
131147 let tickerFromOracle = getStringFromAccount(tickerCatalogueOracleAddress, ticker)
132148 if (isDefined(payment.assetId))
133149 then throw("error#1. The service can only be paid in waves")
134150 else if ((payment.amount >= tickerUpdatePrice))
135151 then if ((callerAddress == issuerAddress))
136152 then if (isUpdateAllowedByRating(assetId))
137153 then if ((tickerFromOracle != unit))
138154 then throw("error#4. Asset with such ticker is already exist")
139155 else if (isValidTicker(ticker))
140156 then WriteSet([DataEntry(issuerTickerKey, ticker)])
141157 else throw("error#5. Ticker should consist of 1-6 capital Latin characters.")
142158 else throw("error#3. Too little rating")
143159 else throw("error#2. Only asset issuer can update asset ticker")
144160 else throw("error#2. Insufficient payment for asset ticker update service.")
145161 }
146162
147163

github/deemru/w8io/873ac7e 
36.97 ms