tx · DUd4d7LEHHd6gUQchThYoW7fCawH1YLwroy7tDCW1yW2

3N3r2srkFiS6xvSDY9xVPgF2Yjz8djnd3cN:  -0.01400000 Waves

2022.09.07 07:13 [2218195] smart account 3N3r2srkFiS6xvSDY9xVPgF2Yjz8djnd3cN > SELF 0.00000000 Waves

{ "type": 13, "id": "DUd4d7LEHHd6gUQchThYoW7fCawH1YLwroy7tDCW1yW2", "fee": 1400000, "feeAssetId": null, "timestamp": 1662524053693, "version": 2, "chainId": 84, "sender": "3N3r2srkFiS6xvSDY9xVPgF2Yjz8djnd3cN", "senderPublicKey": "Ea9xszKCieHW2X9h4i9PEKXbMC4GDCkHwLoK3FY5T6nC", "proofs": [ "3iZwsFnYkumZvKCMsJ9d6HPK7UH1tXjQN4uWRwNXxfuo3qEkjs553tmrzruPgiePf7NcvZX3ZbpMPbGPAXkX1Aj1" ], "script": "base64:BgIqCAISBAoCCAgSBAoCBAgSBgoECAgICBIGCgQICAgIEgUKAwgICBIDCgEIHQAHVkVSU0lPTgIDMC4xAQ5nZXRTdHJpbmdCeUtleQEDa2V5CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFA2tleQIAAQ9nZXRCb29sZWFuQnlLZXkBA2tleQkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQNrZXkHAQ9nZXRJbnRlZ2VyQnlLZXkBA2tleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAAFY2hyaXMJAQ5nZXRTdHJpbmdCeUtleQECDGNvbmZfYWRtaW5fMQAOZGFwcFJ1bm5pbmdLZXkCFGNvbmZfZGFwcF9pc19ydW5uaW5nABFtYWludGVuYW5jZU1TR0tleQIUY29uZl9tYWludGVuYW5jZV9tc2cAEndoaXRlbGlzdGVkb25seUtleQIVY29uZl93aGl0ZWxpc3RlZF9vbmx5AAtkYXBwUnVubmluZwkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQ5kYXBwUnVubmluZ0tleQYADm1haW50ZW5hbmNlTVNHCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFEW1haW50ZW5hbmNlTVNHS2V5AgAADXVzZXJTdXNwZW5kZWQCCVNVU1BFTkRFRAAOdXNlclJlZ2lzdGVyZWQCClJFR0lTVEVSRUQBC2tleVVzZXJBZGRyAQZjYWxsZXIJAKwCAgIFdXNlcl8FBmNhbGxlcgELa2V5VXNlck5hbWUBBmNhbGxlcgkArAICAgp1c2VyX25hbWVfBQZjYWxsZXIBC2tleVVzZXJEZXNjAQZjYWxsZXIJAKwCAgIKdXNlcl9kZXNjXwUGY2FsbGVyAQ1rZXlVc2VyU29jaWFsAQZjYWxsZXIJAKwCAgIMdXNlcl9zb2NpYWxfBQZjYWxsZXIBDGtleVVzZXJUaHVtYgEGY2FsbGVyCQCsAgICC3VzZXJfdGh1bWJfBQZjYWxsZXIBDWtleVVzZXJTdGF0dXMBBmNhbGxlcgkArAICAgx1c2VyX3N0YXR1c18FBmNhbGxlcgELa2V5VXNlckRhdGUBBmNhbGxlcgkArAICAgp1c2VyX2RhdGVfBQZjYWxsZXIAC3NpZ25Bc3NldElkCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQECGGNvbmZfYWNjZXB0ZWRfYXNzZXRfU0lHTgAQb3JhY2xlRmVlQWRkcmVzcwkBBXZhbHVlAQkApggBCQEOZ2V0U3RyaW5nQnlLZXkBAhdjb25mX29yYWNsZV9mZWVfYWRkcmVzcwEZZ2V0SW50ZWdlckJ5S2V5RnJvbU9yYWNsZQEDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUQb3JhY2xlRmVlQWRkcmVzcwUDa2V5Ah9JbnRlZ2VyIHVuZGVmaW5lIG9yIDAgaW4gb3JhY2xlABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlCQBoAgkBGWdldEludGVnZXJCeUtleUZyb21PcmFjbGUBCQCsAgICEmNlcnRpZmljYXRpb25fZmVlXwkA2AQBBQtzaWduQXNzZXRJZAACAQt2YWxpZGF0ZUNJRAEDY2lkAwkBCGNvbnRhaW5zAgUDY2lkAgEvAwMJAGYCAEwJALECAQUDY2lkCQAAAgkAsQIBCQCRAwIJALUJAgUDY2lkAgEvAAAAOwcJAGYCABAJALECAQkAkQMCCQC1CQIFA2NpZAIBLwABBwcBDXZhbGlkVXNlckRhdGEFBmNhbGxlcgRuYW1lC2Rlc2NyaXB0aW9uBXRodW1iCmlzQW5VcGRhdGUECHZhbGlkQ0lEAwkBAiE9AgkAsQIBBQV0aHVtYgAACQELdmFsaWRhdGVDSUQBBQV0aHVtYgYDCQEBIQEFCHZhbGlkQ0lECQACAQIcQ0lEIGRvbid0IG1hdGNoIHJlcXVpcmVtZW50IQMDCQAAAgUEbmFtZQIABgkAAAIFC2Rlc2NyaXB0aW9uAgAJAAIBAiROYW1lIGFuZCBkZXNjcmlwdGlvbiBjYW5ub3QgYmUgZW1wdHkDCQBmAgkAsQIBBQtkZXNjcmlwdGlvbgDYBAkAAgECGTYwMCBDaGFyLiBtYXggZGVzY3JpcHRpb24DCQBmAgkAsQIBBQRuYW1lAC0JAAIBAhE0NSBDaGFyLiBtYXggbmFtZQQGc3RhdHVzCQEOZ2V0U3RyaW5nQnlLZXkBCQENa2V5VXNlclN0YXR1cwEFBmNhbGxlcgMJAAACBQZzdGF0dXMFDXVzZXJTdXNwZW5kZWQJAAIBAhJBY2NvdW50IHN1c3BlbmRlZC4DAwkBASEBBQppc0FuVXBkYXRlCQAAAgUGc3RhdHVzBQ51c2VyUmVnaXN0ZXJlZAcJAAIBAhJBbHJlYWR5IHJlZ2lzdGVyZWQDAwUKaXNBblVwZGF0ZQkAAAIFBnN0YXR1cwIABwkAAgECDlJlZ2lzdGVyIGZpcnN0BgERdmFsaWRhdGVOZXdTdGF0dXMDBnN0YXR1cwdhZGRyZXNzDWN1cnJlbnRTdGF0dXMECWFsbFN0YXR1cwkAzAgCBQ51c2VyUmVnaXN0ZXJlZAkAzAgCBQ11c2VyU3VzcGVuZGVkBQNuaWwEC3N0YXR1c1RvU2V0AwkBD2NvbnRhaW5zRWxlbWVudAIFCWFsbFN0YXR1cwUGc3RhdHVzBQZzdGF0dXMJAAIBAg5Vbmtub3duIHN0YXR1cwQQdXNlcklzUmVnaXN0ZXJlZAkBD2dldEludGVnZXJCeUtleQEJAQtrZXlVc2VyRGF0ZQEFB2FkZHJlc3MDCQAAAgUQdXNlcklzUmVnaXN0ZXJlZAAACQACAQIxWW91IGNhbnQgc2V0IHRoaXMgc3RhdHVzLCB1c2VyIGlzIG5vdCByZWdpc3RlcmVkLgMDCQAAAgUNY3VycmVudFN0YXR1cwUOdXNlclJlZ2lzdGVyZWQJAAACBQtzdGF0dXNUb1NldAUOdXNlclJlZ2lzdGVyZWQHCQACAQIXVXNlciBhbHJlYWR5IHJlZ2lzdGVyZWQDAwkAAAIFDWN1cnJlbnRTdGF0dXMFDXVzZXJTdXNwZW5kZWQJAAACBQtzdGF0dXNUb1NldAUNdXNlclN1c3BlbmRlZAcJAAIBAhZVc2VyIGFscmVhZHkgc3VzcGVuZGVkBQtzdGF0dXNUb1NldAEIbWFrZUpTT04DBG5hbWUFdGh1bWIEZGF0ZQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPeyJ1c2VyX25hbWUiOiAiBQRuYW1lAhEiLCAidXNlcl90aHVtYiI6IgUFdGh1bWICDyIsInVzZXJfZGF0ZSI6IgUEZGF0ZQICIn0BCWlzUGF5bWVudAEBaQMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhNObyBwYXltZW50IGF0dGFjaGVkBAdwYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEBmFtb3VudAkBBXZhbHVlAQgFB3BheW1lbnQGYW1vdW50CQCUCgIFB3BheW1lbnQFBmFtb3VudAEPdmFsaWRhdGVQYXltZW50AQFpBAskdDAzOTIyMzk1OAkBCWlzUGF5bWVudAEFAWkEB3BheW1lbnQIBQskdDAzOTIyMzk1OAJfMQQGYW1vdW50CAULJHQwMzkyMjM5NTgCXzIEB2Fzc2V0SWQDAwkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJAAACCAUHcGF5bWVudAdhc3NldElkBQtzaWduQXNzZXRJZAcIBQdwYXltZW50B2Fzc2V0SWQJAAIBAitPbmx5IFNJR04gdG9rZW4gYWNjZXB0ZWQgYXMgdHJhbnNhY3Rpb24gZmVlAwkBAiE9AgUGYW1vdW50BRljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlCQACAQkArAICAhlQYXltZW50IGFtb3VudCBzaG91bGQgYmUgCQCkAwEFGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UJAJQKAgUGYW1vdW50BQdhc3NldElkBgZpbnZva2UBB3NldENvbmYCA2tleQN2YWwEBmNhbGxlcgkApQgBCAUGaW52b2tlBmNhbGxlcgMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgUDa2V5BQN2YWwFA25pbAkAAgECIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMGaW52b2tlAQphcHBSdW5uaW5nAgZpc0xpdmUHbWVzc2FnZQQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgkApQgBBQR0aGlzBQNuaWwFBmNhbGxlcgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUOZGFwcFJ1bm5pbmdLZXkFBmlzTGl2ZQkAzAgCCQELU3RyaW5nRW50cnkCBRFtYWludGVuYW5jZU1TR0tleQUHbWVzc2FnZQUDbmlsCQACAQIiWW91IGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcwZpbnZva2UBDHJlZ2lzdGVyVXNlcgQEbmFtZQtkZXNjcmlwdGlvbgV0aHVtYgZzb2NpYWwDCQEBIQEFC2RhcHBSdW5uaW5nCQACAQUObWFpbnRlbmFuY2VNU0cEBmNhbGxlcgkApQgBCAUGaW52b2tlBmNhbGxlcgQCaWQJANgEAQgFBmludm9rZQ10cmFuc2FjdGlvbklkBAl0aW1lc3RhbXAIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAskdDA1NDUzNTUwMAkBD3ZhbGlkYXRlUGF5bWVudAEFBmludm9rZQQGYW1vdW50CAULJHQwNTQ1MzU1MDACXzEEB2Fzc2V0SWQIBQskdDA1NDUzNTUwMAJfMgMJAQEhAQkBCWlzRGVmaW5lZAEFBmFtb3VudAkAAgECFFNvbWV0aGluZyB3ZW50IHdyb25nAwkBASEBCQENdmFsaWRVc2VyRGF0YQUFBmNhbGxlcgUEbmFtZQULZGVzY3JpcHRpb24FBXRodW1iBwkAAgECFFNvbWV0aGluZyB3ZW50IHdyb25nBARqc29uCQEIbWFrZUpTT04DCQDaBAEJAJsDAQUEbmFtZQkA2gQBCQCbAwEFBXRodW1iCQCkAwEFCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBC2tleVVzZXJEYXRlAQUGY2FsbGVyBQl0aW1lc3RhbXAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBC2tleVVzZXJBZGRyAQUGY2FsbGVyCQCsAgIJAKwCAgUCaWQCAV8JAKQDAQUJdGltZXN0YW1wCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQtrZXlVc2VyTmFtZQEFBmNhbGxlcgUEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQELa2V5VXNlckRlc2MBBQZjYWxsZXIFC2Rlc2NyaXB0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1rZXlVc2VyU29jaWFsAQUGY2FsbGVyBQZzb2NpYWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleVVzZXJUaHVtYgEFBmNhbGxlcgUFdGh1bWIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVVzZXJTdGF0dXMBBQZjYWxsZXIFDnVzZXJSZWdpc3RlcmVkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQ51c2VyUmVnaXN0ZXJlZAIBXwUGY2FsbGVyBQRqc29uBQNuaWwGaW52b2tlAQp1cGRhdGVVc2VyBARuYW1lC2Rlc2NyaXB0aW9uBXRodW1iBnNvY2lhbAMJAQEhAQULZGFwcFJ1bm5pbmcJAAIBBQ5tYWludGVuYW5jZU1TRwQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyBAZzdGF0dXMJAQ5nZXRTdHJpbmdCeUtleQEJAQ1rZXlVc2VyU3RhdHVzAQUGY2FsbGVyAwkBASEBCQENdmFsaWRVc2VyRGF0YQUFBmNhbGxlcgUEbmFtZQULZGVzY3JpcHRpb24FBXRodW1iBgkAAgECFFNvbWV0aGluZyB3ZW50IHdyb25nBARkYXRlCQEPZ2V0SW50ZWdlckJ5S2V5AQkBC2tleVVzZXJEYXRlAQUGY2FsbGVyBARqc29uCQEIbWFrZUpTT04DCQDaBAEJAJsDAQUEbmFtZQkA2gQBCQCbAwEFBXRodW1iCQCkAwEFBGRhdGUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBC2tleVVzZXJOYW1lAQUGY2FsbGVyBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQtrZXlVc2VyRGVzYwEFBmNhbGxlcgULZGVzY3JpcHRpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVVzZXJTb2NpYWwBBQZjYWxsZXIFBnNvY2lhbAkAzAgCCQELU3RyaW5nRW50cnkCCQEMa2V5VXNlclRodW1iAQUGY2FsbGVyBQV0aHVtYgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGc3RhdHVzAgFfBQZjYWxsZXIFBGpzb24FA25pbAZpbnZva2UBEGNoYW5nZVVzZXJTdGF0dXMDB2FkZHJlc3MGc3RhdHVzBG5vdGUEBmNhbGxlcgkApQgBCAUGaW52b2tlBmNhbGxlcgQNY3VycmVudFN0YXR1cwkBDmdldFN0cmluZ0J5S2V5AQkBDWtleVVzZXJTdGF0dXMBBQdhZGRyZXNzBAtzdGF0dXNUb1NldAkBEXZhbGlkYXRlTmV3U3RhdHVzAwUGc3RhdHVzBQdhZGRyZXNzBQ1jdXJyZW50U3RhdHVzBARuYW1lCQDaBAEJAJsDAQkBDmdldFN0cmluZ0J5S2V5AQkBC2tleVVzZXJOYW1lAQUHYWRkcmVzcwQFdGh1bWIJANoEAQkAmwMBCQEOZ2V0U3RyaW5nQnlLZXkBCQEMa2V5VXNlclRodW1iAQUHYWRkcmVzcwQEZGF0ZQkBD2dldEludGVnZXJCeUtleQEJAQtrZXlVc2VyRGF0ZQEFB2FkZHJlc3MEBGpzb24JAQhtYWtlSlNPTgMFBG5hbWUFBXRodW1iCQCkAwEFBGRhdGUDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1rZXlVc2VyU3RhdHVzAQUHYWRkcmVzcwULc3RhdHVzVG9TZXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgIFDWN1cnJlbnRTdGF0dXMCAV8FB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFC3N0YXR1c1RvU2V0AgFfBQdhZGRyZXNzBQRqc29uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgIKdXNlcl9ub3RlXwUHYWRkcmVzcwUEbm90ZQUDbmlsCQACAQIhTm90IGFsbG93ZWQgdG8gY2hhbmdlIHVzZXIgc3RhdHVzAWkBC2RlbGV0ZUVudHJ5AQVlbnRyeQQGY2FsbGVyCQClCAEIBQFpBmNhbGxlcgMJAAACBQZjYWxsZXIFBWNocmlzCQDMCAIJAQtEZWxldGVFbnRyeQEFBWVudHJ5BQNuaWwJAAIBAgJubwDNeYdk", "height": 2218195, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FLxbmh4XtEgB527ksy6J1cxQMjJXad3o3zHjKWVdG3kz Next: 4H3AaSGtRRNRjWLJV3kqndyiy7NyFSdYHH39WvPCQits Diff:
OldNewDifferences
5151
5252 let signAssetId = fromBase58String(getStringByKey("conf_accepted_asset_SIGN"))
5353
54-let oracleFee = value(addressFromString(getStringByKey("conf_oracle_fee")))
54+let oracleFeeAddress = value(addressFromString(getStringByKey("conf_oracle_fee_address")))
5555
56-func getIntegerByKeyFromOracle (key) = valueOrErrorMessage(getInteger(oracleFee, key), "Integer undefine or 0 in oracle")
56+func getIntegerByKeyFromOracle (key) = valueOrErrorMessage(getInteger(oracleFeeAddress, key), "Integer undefine or 0 in oracle")
5757
5858
5959 let currentCertificationPrice = (getIntegerByKeyFromOracle(("certification_fee_" + toBase58String(signAssetId))) * 2)
131131
132132
133133 func validatePayment (i) = {
134- let $t039003936 = isPayment(i)
135- let payment = $t039003936._1
136- let amount = $t039003936._2
134+ let $t039223958 = isPayment(i)
135+ let payment = $t039223958._1
136+ let amount = $t039223958._2
137137 let assetId = if (if (isDefined(payment.assetId))
138138 then (payment.assetId == signAssetId)
139139 else false)
172172 let caller = toString(invoke.caller)
173173 let id = toBase58String(invoke.transactionId)
174174 let timestamp = lastBlock.timestamp
175- let $t053575404 = validatePayment(invoke)
176- let amount = $t053575404._1
177- let assetId = $t053575404._2
175+ let $t054535500 = validatePayment(invoke)
176+ let amount = $t054535500._1
177+ let assetId = $t054535500._2
178178 if (!(isDefined(amount)))
179179 then throw("Something went wrong")
180180 else if (!(validUserData(caller, name, description, thumb, false)))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let VERSION = "0.1"
55
66 func getStringByKey (key) = valueOrElse(getString(this, key), "")
77
88
99 func getBooleanByKey (key) = valueOrElse(getBoolean(this, key), false)
1010
1111
1212 func getIntegerByKey (key) = valueOrElse(getInteger(this, key), 0)
1313
1414
1515 let chris = getStringByKey("conf_admin_1")
1616
1717 let dappRunningKey = "conf_dapp_is_running"
1818
1919 let maintenanceMSGKey = "conf_maintenance_msg"
2020
2121 let whitelistedonlyKey = "conf_whitelisted_only"
2222
2323 let dappRunning = valueOrElse(getBoolean(this, dappRunningKey), true)
2424
2525 let maintenanceMSG = valueOrElse(getString(this, maintenanceMSGKey), "")
2626
2727 let userSuspended = "SUSPENDED"
2828
2929 let userRegistered = "REGISTERED"
3030
3131 func keyUserAddr (caller) = ("user_" + caller)
3232
3333
3434 func keyUserName (caller) = ("user_name_" + caller)
3535
3636
3737 func keyUserDesc (caller) = ("user_desc_" + caller)
3838
3939
4040 func keyUserSocial (caller) = ("user_social_" + caller)
4141
4242
4343 func keyUserThumb (caller) = ("user_thumb_" + caller)
4444
4545
4646 func keyUserStatus (caller) = ("user_status_" + caller)
4747
4848
4949 func keyUserDate (caller) = ("user_date_" + caller)
5050
5151
5252 let signAssetId = fromBase58String(getStringByKey("conf_accepted_asset_SIGN"))
5353
54-let oracleFee = value(addressFromString(getStringByKey("conf_oracle_fee")))
54+let oracleFeeAddress = value(addressFromString(getStringByKey("conf_oracle_fee_address")))
5555
56-func getIntegerByKeyFromOracle (key) = valueOrErrorMessage(getInteger(oracleFee, key), "Integer undefine or 0 in oracle")
56+func getIntegerByKeyFromOracle (key) = valueOrErrorMessage(getInteger(oracleFeeAddress, key), "Integer undefine or 0 in oracle")
5757
5858
5959 let currentCertificationPrice = (getIntegerByKeyFromOracle(("certification_fee_" + toBase58String(signAssetId))) * 2)
6060
6161 func validateCID (cid) = if (contains(cid, "/"))
6262 then if (if ((76 > size(cid)))
6363 then (size(split(cid, "/")[0]) == 59)
6464 else false)
6565 then (16 > size(split(cid, "/")[1]))
6666 else false
6767 else false
6868
6969
7070 func validUserData (caller,name,description,thumb,isAnUpdate) = {
7171 let validCID = if ((size(thumb) != 0))
7272 then validateCID(thumb)
7373 else true
7474 if (!(validCID))
7575 then throw("CID don't match requirement!")
7676 else if (if ((name == ""))
7777 then true
7878 else (description == ""))
7979 then throw("Name and description cannot be empty")
8080 else if ((size(description) > 600))
8181 then throw("600 Char. max description")
8282 else if ((size(name) > 45))
8383 then throw("45 Char. max name")
8484 else {
8585 let status = getStringByKey(keyUserStatus(caller))
8686 if ((status == userSuspended))
8787 then throw("Account suspended.")
8888 else if (if (!(isAnUpdate))
8989 then (status == userRegistered)
9090 else false)
9191 then throw("Already registered")
9292 else if (if (isAnUpdate)
9393 then (status == "")
9494 else false)
9595 then throw("Register first")
9696 else true
9797 }
9898 }
9999
100100
101101 func validateNewStatus (status,address,currentStatus) = {
102102 let allStatus = [userRegistered, userSuspended]
103103 let statusToSet = if (containsElement(allStatus, status))
104104 then status
105105 else throw("Unknown status")
106106 let userIsRegistered = getIntegerByKey(keyUserDate(address))
107107 if ((userIsRegistered == 0))
108108 then throw("You cant set this status, user is not registered.")
109109 else if (if ((currentStatus == userRegistered))
110110 then (statusToSet == userRegistered)
111111 else false)
112112 then throw("User already registered")
113113 else if (if ((currentStatus == userSuspended))
114114 then (statusToSet == userSuspended)
115115 else false)
116116 then throw("User already suspended")
117117 else statusToSet
118118 }
119119
120120
121121 func makeJSON (name,thumb,date) = (((((("{\"user_name\": \"" + name) + "\", \"user_thumb\":\"") + thumb) + "\",\"user_date\":\"") + date) + "\"}")
122122
123123
124124 func isPayment (i) = if ((size(i.payments) == 0))
125125 then throw("No payment attached")
126126 else {
127127 let payment = value(i.payments[0])
128128 let amount = value(payment.amount)
129129 $Tuple2(payment, amount)
130130 }
131131
132132
133133 func validatePayment (i) = {
134- let $t039003936 = isPayment(i)
135- let payment = $t039003936._1
136- let amount = $t039003936._2
134+ let $t039223958 = isPayment(i)
135+ let payment = $t039223958._1
136+ let amount = $t039223958._2
137137 let assetId = if (if (isDefined(payment.assetId))
138138 then (payment.assetId == signAssetId)
139139 else false)
140140 then payment.assetId
141141 else throw("Only SIGN token accepted as transaction fee")
142142 if ((amount != currentCertificationPrice))
143143 then throw(("Payment amount should be " + toString(currentCertificationPrice)))
144144 else $Tuple2(amount, assetId)
145145 }
146146
147147
148148 @Callable(invoke)
149149 func setConf (key,val) = {
150150 let caller = toString(invoke.caller)
151151 if (containsElement([chris, toString(this)], caller))
152152 then [StringEntry(key, val)]
153153 else throw("You are not allowed to change this")
154154 }
155155
156156
157157
158158 @Callable(invoke)
159159 func appRunning (isLive,message) = {
160160 let caller = toString(invoke.caller)
161161 if (containsElement([chris, toString(this)], caller))
162162 then [BooleanEntry(dappRunningKey, isLive), StringEntry(maintenanceMSGKey, message)]
163163 else throw("You are not allowed to change this")
164164 }
165165
166166
167167
168168 @Callable(invoke)
169169 func registerUser (name,description,thumb,social) = if (!(dappRunning))
170170 then throw(maintenanceMSG)
171171 else {
172172 let caller = toString(invoke.caller)
173173 let id = toBase58String(invoke.transactionId)
174174 let timestamp = lastBlock.timestamp
175- let $t053575404 = validatePayment(invoke)
176- let amount = $t053575404._1
177- let assetId = $t053575404._2
175+ let $t054535500 = validatePayment(invoke)
176+ let amount = $t054535500._1
177+ let assetId = $t054535500._2
178178 if (!(isDefined(amount)))
179179 then throw("Something went wrong")
180180 else if (!(validUserData(caller, name, description, thumb, false)))
181181 then throw("Something went wrong")
182182 else {
183183 let json = makeJSON(toBase64String(toBytes(name)), toBase64String(toBytes(thumb)), toString(timestamp))
184184 [IntegerEntry(keyUserDate(caller), timestamp), StringEntry(keyUserAddr(caller), ((id + "_") + toString(timestamp))), StringEntry(keyUserName(caller), name), StringEntry(keyUserDesc(caller), description), StringEntry(keyUserSocial(caller), social), StringEntry(keyUserThumb(caller), thumb), StringEntry(keyUserStatus(caller), userRegistered), StringEntry(((userRegistered + "_") + caller), json)]
185185 }
186186 }
187187
188188
189189
190190 @Callable(invoke)
191191 func updateUser (name,description,thumb,social) = if (!(dappRunning))
192192 then throw(maintenanceMSG)
193193 else {
194194 let caller = toString(invoke.caller)
195195 let status = getStringByKey(keyUserStatus(caller))
196196 if (!(validUserData(caller, name, description, thumb, true)))
197197 then throw("Something went wrong")
198198 else {
199199 let date = getIntegerByKey(keyUserDate(caller))
200200 let json = makeJSON(toBase64String(toBytes(name)), toBase64String(toBytes(thumb)), toString(date))
201201 [StringEntry(keyUserName(caller), name), StringEntry(keyUserDesc(caller), description), StringEntry(keyUserSocial(caller), social), StringEntry(keyUserThumb(caller), thumb), StringEntry(((status + "_") + caller), json)]
202202 }
203203 }
204204
205205
206206
207207 @Callable(invoke)
208208 func changeUserStatus (address,status,note) = {
209209 let caller = toString(invoke.caller)
210210 let currentStatus = getStringByKey(keyUserStatus(address))
211211 let statusToSet = validateNewStatus(status, address, currentStatus)
212212 let name = toBase64String(toBytes(getStringByKey(keyUserName(address))))
213213 let thumb = toBase64String(toBytes(getStringByKey(keyUserThumb(address))))
214214 let date = getIntegerByKey(keyUserDate(address))
215215 let json = makeJSON(name, thumb, toString(date))
216216 if (containsElement([chris, toString(this)], caller))
217217 then [StringEntry(keyUserStatus(address), statusToSet), DeleteEntry(((currentStatus + "_") + address)), StringEntry(((statusToSet + "_") + address), json), StringEntry(("user_note_" + address), note)]
218218 else throw("Not allowed to change user status")
219219 }
220220
221221
222222
223223 @Callable(i)
224224 func deleteEntry (entry) = {
225225 let caller = toString(i.caller)
226226 if ((caller == chris))
227227 then [DeleteEntry(entry)]
228228 else throw("no")
229229 }
230230
231231

github/deemru/w8io/169f3d6 
60.82 ms