tx · 4F3Yy5REKBAEcqLy4ATSwkKqX57g725JquLXTvjiRout

3NAg879tKUJh949h21umkwiaRQhwZftz1BE:  -0.05000000 Waves

2019.09.10 13:28 [669893] smart account 3NAg879tKUJh949h21umkwiaRQhwZftz1BE > SELF 0.00000000 Waves

{ "type": 13, "id": "4F3Yy5REKBAEcqLy4ATSwkKqX57g725JquLXTvjiRout", "fee": 5000000, "feeAssetId": null, "timestamp": 1568111282279, "version": 1, "sender": "3NAg879tKUJh949h21umkwiaRQhwZftz1BE", "senderPublicKey": "BqY2jhkQCcbidtQdQZu6f9RV3AkFAS8VPToHxwYu1KdJ", "proofs": [ "2mDgXvSWmGRSUWA4YcWLwNXSLPRhf22uoHVLh8duUTGUxna3ujmuXipefjfiwSGBKDfUd9VXkY5Tyj17fy9mT3q9" ], "script": "base64:AAIDAAAAAAAAAAAAAAAfAAAAABx0aWNrZXJDYXRhbG9ndWVPcmFjbGVBZGRyZXNzCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAECAAAAIzNNeEh4VzVWV3E0S3JXY2JoRmZ4S3JhZlhtNG1MNnJaSGZqAAAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM05BRHFIb0xNYk1UZlhkUDJUZUJCU3g1bVFYZVBWajNLWm0AAAAAGW5vdFN1cHBvcnRlZEN1cnJlbmN5RXJyb3ICAAAAGzxub3RTdXBwb3J0ZWRDdXJyZW5jeUVycm9yPgAAAAAXaXNzdWVyQWNjZXNzRGVuaWVkRXJyb3ICAAAAGTxpc3N1ZXJBY2Nlc3NEZW5pZWRFcnJvcj4AAAAAFW5vdEVub3VnaFBheW1lbnRFcnJvcgIAAAAXPG5vdEVub3VnaFBheW1lbnRFcnJvcj4AAAAAJHRpY2tlclZhbGlkYXRpb25Ob3RFbm91Z2hSYXRpbmdFcnJvcgIAAAAmPHRpY2tlclZhbGlkYXRpb25Ob3RFbm91Z2hSYXRpbmdFcnJvcj4AAAAAInRpY2tlclZhbGlkYXRpb25UaWNrZXJJc0V4aXN0RXJyb3ICAAAAJDx0aWNrZXJWYWxpZGF0aW9uVGlja2VySXNFeGlzdEVycm9yPgAAAAAgdGlja2VyVmFsaWRhdGlvbldyb25nRm9ybWF0RXJyb3ICAAAAIjx0aWNrZXJWYWxpZGF0aW9uV3JvbmdGb3JtYXRFcnJvcj4AAAAAFW5vbkV4aXN0ZW50QXNzZXRFcnJvcgIAAAAXPG5vbkV4aXN0ZW50QXNzZXRFcnJvcj4AAAAADm5vUGF5bWVudEVycm9yAgAAABA8bm9QYXltZW50RXJyb3I+AAAAABZ0aWNrZXJJc0ltbXV0YWJsZUVycm9yAgAAABg8dGlja2VySXNJbW11dGFibGVFcnJvcj4AAAAAA3d2cwAAAAAABfXhAAAAAAARdGlja2VyVXBkYXRlUHJpY2UJAABoAAAAAgAAAAAAAAAAAgUAAAADd3ZzAAAAAA9saW5rVXBkYXRlUHJpY2UAAAAAAAL68IAAAAAAFmRlc2NyaXB0aW9uVXBkYXRlUHJpY2UAAAAAAAL68IAAAAAAD3RpY2tlck1pbkxlbmd0aAAAAAAAAAAAAQAAAAAPdGlja2VyTWF4TGVuZ3RoAAAAAAAAAAAGAAAAABR0aWNrZXJBbGxvd2VkTGV0dGVycwIAAAAaQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAD3Jlc2VydmVkVGlja2VycwIAAAElQlRDLEVUSCxYUlAsQkNILExUQyxCTkIsVVNEVCxFT1MsQlNWLFhNUixYTE0sTEVPLEFEQSxUUlgsREFTSCxMSU5LLFhUWixORU8sTUlPVEEsRVRDLEFUT00sWEVNLE1LUixDUk8sVVNEQyxPTlQsVlNZUyxaRUMsRE9HRSxWRVQsRENSLEhULEJBVCxCVEcsUVRVTSxIRURHLFRVU0QsUEFYLEVHVCxPTUcsQUxHTyxLQ1MsUlZOLExTSyxOQU5PLEJUVCxCQ0QsTlJHLExBTUIsSE9ULEJDTixER0IsUkVQLEJUUyxaUlgsWElOLEFPQSxJT1NULElDWCxORVQsR05ULFBQVCxSSE9DLFNOVCxBRSxXVEMsVkVSSSxSLFpJTCxCTlQBAAAAFWdldEludGVnZXJGcm9tQWNjb3VudAAAAAIAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAADmFjY291bnRBZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABaQUAAAAHJG1hdGNoMAUAAAABaQAAAAAAAAAAAAEAAAANaXNTdWJzdHJFeGlzdAAAAAIAAAADc3RyAAAABnN1YnN0cgQAAAAHJG1hdGNoMAkABLMAAAACBQAAAANzdHIFAAAABnN1YnN0cgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAVpbmRleAUAAAAHJG1hdGNoMAYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABWluZGV4BQAAAAckbWF0Y2gwBwkBAAAABXRocm93AAAAAAEAAAANaXNWYWxpZFRpY2tlcgAAAAEAAAAGdGlja2VyBAAAAA10aWNrZXJMZXR0ZXJzCQAEtQAAAAIFAAAABnRpY2tlcgIAAAAABAAAAAx0aWNrZXJMZW5ndGgJAAGQAAAAAQUAAAANdGlja2VyTGV0dGVycwQAAAAOaXNMZXR0ZXIxVmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAAQAAAAOaXNMZXR0ZXIyVmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAQQAAAAOaXNMZXR0ZXIzVmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAgQAAAAOaXNMZXR0ZXI0VmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAwQAAAAOaXNMZXR0ZXI1VmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAABAQAAAAOaXNMZXR0ZXI2VmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAABQMJAQAAAAIhPQAAAAIFAAAABnRpY2tlcgIAAAAAAwMJAABnAAAAAgUAAAAMdGlja2VyTGVuZ3RoBQAAAA90aWNrZXJNaW5MZW5ndGgJAABnAAAAAgUAAAAPdGlja2VyTWF4TGVuZ3RoBQAAAAx0aWNrZXJMZW5ndGgHAwkAAAAAAAACAAAAAAAAAAABBQAAAAx0aWNrZXJMZW5ndGgFAAAADmlzTGV0dGVyMVZhbGlkAwkAAAAAAAACAAAAAAAAAAACBQAAAAx0aWNrZXJMZW5ndGgDBQAAAA5pc0xldHRlcjFWYWxpZAUAAAAOaXNMZXR0ZXIyVmFsaWQHAwkAAAAAAAACAAAAAAAAAAADBQAAAAx0aWNrZXJMZW5ndGgDAwUAAAAOaXNMZXR0ZXIxVmFsaWQFAAAADmlzTGV0dGVyMlZhbGlkBwUAAAAOaXNMZXR0ZXIzVmFsaWQHAwkAAAAAAAACAAAAAAAAAAAEBQAAAAx0aWNrZXJMZW5ndGgDAwMFAAAADmlzTGV0dGVyMVZhbGlkBQAAAA5pc0xldHRlcjJWYWxpZAcFAAAADmlzTGV0dGVyM1ZhbGlkBwUAAAAOaXNMZXR0ZXI0VmFsaWQHAwkAAAAAAAACAAAAAAAAAAAFBQAAAAx0aWNrZXJMZW5ndGgDAwMDBQAAAA5pc0xldHRlcjFWYWxpZAUAAAAOaXNMZXR0ZXIyVmFsaWQHBQAAAA5pc0xldHRlcjNWYWxpZAcFAAAADmlzTGV0dGVyNFZhbGlkBwUAAAAOaXNMZXR0ZXI1VmFsaWQHAwkAAAAAAAACAAAAAAAAAAAGBQAAAAx0aWNrZXJMZW5ndGgDAwMDAwUAAAAOaXNMZXR0ZXIxVmFsaWQFAAAADmlzTGV0dGVyMlZhbGlkBwUAAAAOaXNMZXR0ZXIzVmFsaWQHBQAAAA5pc0xldHRlcjRWYWxpZAcFAAAADmlzTGV0dGVyNVZhbGlkBwUAAAAOaXNMZXR0ZXI2VmFsaWQHBwcHAQAAABxpc0Fzc2V0VXBkYXRlQWxsb3dlZEJ5UmF0aW5nAAAAAQAAAAdhc3NldElkBAAAAA5hc3NldFJhdGluZ0tleQkAASwAAAACCQABLAAAAAICAAAADGFzc2V0UmF0aW5nXwUAAAAHYXNzZXRJZAIAAAACXzEEAAAAEGFzc2V0UmF0aW5nVmFsdWUJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MFAAAADmFzc2V0UmF0aW5nS2V5BAAAABNhc3NldFJhdGluZ1RyZXNob2xkCQEAAAAVZ2V0SW50ZWdlckZyb21BY2NvdW50AAAAAgUAAAAYdG9rZW5SYXRpbmdPcmFjbGVBZGRyZXNzAgAAAA50aWNrZXJSYXRpbmdfMQkAAGcAAAACBQAAABBhc3NldFJhdGluZ1ZhbHVlBQAAABNhc3NldFJhdGluZ1RyZXNob2xkAQAAABxpc0Fzc2V0VXBkYXRlQWxsb3dlZEJ5V2VpZ2h0AAAAAQAAAAdhc3NldElkBAAAAA5hc3NldFdlaWdodEtleQkAASwAAAACAgAAAAxhc3NldFdlaWdodF8FAAAAB2Fzc2V0SWQEAAAAEGFzc2V0V2VpZ2h0VmFsdWUJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MFAAAADmFzc2V0V2VpZ2h0S2V5BAAAABNhc3NldFdlaWdodFRyZXNob2xkCQEAAAAVZ2V0SW50ZWdlckZyb21BY2NvdW50AAAAAgUAAAAYdG9rZW5SYXRpbmdPcmFjbGVBZGRyZXNzAgAAAAx0aWNrZXJXZWlnaHQJAABnAAAAAgUAAAAQYXNzZXRXZWlnaHRWYWx1ZQUAAAATYXNzZXRXZWlnaHRUcmVzaG9sZAEAAAAbaXNBc3NldFVwZGF0ZUFsbG93ZWRCeVZvdGVzAAAAAQAAAAdhc3NldElkBAAAAA1hc3NldFZvdGVzS2V5CQABLAAAAAICAAAAC2Fzc2V0Vm90ZXNfBQAAAAdhc3NldElkBAAAAA9hc3NldFZvdGVzVmFsdWUJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MFAAAADWFzc2V0Vm90ZXNLZXkEAAAAEmFzc2V0Vm90ZXNUcmVzaG9sZAkBAAAAFWdldEludGVnZXJGcm9tQWNjb3VudAAAAAIFAAAAGHRva2VuUmF0aW5nT3JhY2xlQWRkcmVzcwIAAAALdGlja2VyVm90ZXMJAABnAAAAAgUAAAAPYXNzZXRWb3Rlc1ZhbHVlBQAAABJhc3NldFZvdGVzVHJlc2hvbGQBAAAAF2lzVXBkYXRlQWxsb3dlZEJ5UmF0aW5nAAAAAQAAAAdhc3NldElkAwMJAQAAABxpc0Fzc2V0VXBkYXRlQWxsb3dlZEJ5UmF0aW5nAAAAAQUAAAAHYXNzZXRJZAkBAAAAHGlzQXNzZXRVcGRhdGVBbGxvd2VkQnlXZWlnaHQAAAABBQAAAAdhc3NldElkBwkBAAAAG2lzQXNzZXRVcGRhdGVBbGxvd2VkQnlWb3RlcwAAAAEFAAAAB2Fzc2V0SWQHAQAAACBnZXRBc3NldElzc3VlckFkZHJlc3NGcm9tQXNzZXRJZAAAAAEAAAAHYXNzZXRJZAkABCUAAAABCAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAD7AAAAAEJAAJZAAAAAQUAAAAHYXNzZXRJZAUAAAAVbm9uRXhpc3RlbnRBc3NldEVycm9yAAAABmlzc3VlcgEAAAAKZ2V0UGF5bWVudAAAAAEAAAABaQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCAUAAAABaQAAAAdwYXltZW50BQAAAA5ub1BheW1lbnRFcnJvcgEAAAAQaXNQYXltZW50SW5XYXZlcwAAAAEAAAABaQQAAAAHcGF5bWVudAkBAAAACmdldFBheW1lbnQAAAABBQAAAAFpAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAYHAQAAAA9pc0Vub3VnaFBheW1lbnQAAAACAAAAAWkAAAAPcmVxdWlyZWRQYXltZW50BAAAAAdwYXltZW50CQEAAAAKZ2V0UGF5bWVudAAAAAEFAAAAAWkDCQAAZwAAAAIIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAAPcmVxdWlyZWRQYXltZW50BgcBAAAAE2lzQ2FsbGVyQXNzZXRJc3N1ZXIAAAACAAAAAWkAAAAHYXNzZXRJZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABFhc3NldElzc3VlckFkcmVzcwkBAAAAIGdldEFzc2V0SXNzdWVyQWRkcmVzc0Zyb21Bc3NldElkAAAAAQUAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAARYXNzZXRJc3N1ZXJBZHJlc3MGBwAAAAMAAAABaQEAAAAMdXBkYXRlVGlja2VyAAAAAgAAAAdhc3NldElkAAAABnRpY2tlcgQAAAAPaXNzdWVyVGlja2VyS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1pc3N1ZXJUaWNrZXJfAgAAAAE8BQAAAAdhc3NldElkAgAAAAE+BAAAABBpc1RpY2tlclJlc2VydmVkCQEAAAANaXNTdWJzdHJFeGlzdAAAAAIFAAAAD3Jlc2VydmVkVGlja2VycwUAAAAGdGlja2VyBAAAAAxpc1RpY2tlckZyZWUEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAcdGlja2VyQ2F0YWxvZ3VlT3JhY2xlQWRkcmVzcwUAAAAGdGlja2VyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXQFAAAAByRtYXRjaDAHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAF0BQAAAAckbWF0Y2gwBgkBAAAABXRocm93AAAAAAQAAAAZaXNUaWNrZXJOb3RBc3NpbmVkVG9Bc3NldAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAA9pc3N1ZXJUaWNrZXJLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABdAUAAAAHJG1hdGNoMAcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAAAXQFAAAAByRtYXRjaDAGCQEAAAAFdGhyb3cAAAAAAwkBAAAAEGlzUGF5bWVudEluV2F2ZXMAAAABBQAAAAFpAwkBAAAAD2lzRW5vdWdoUGF5bWVudAAAAAIFAAAAAWkFAAAAEXRpY2tlclVwZGF0ZVByaWNlAwkBAAAAE2lzQ2FsbGVyQXNzZXRJc3N1ZXIAAAACBQAAAAFpBQAAAAdhc3NldElkAwkBAAAAF2lzVXBkYXRlQWxsb3dlZEJ5UmF0aW5nAAAAAQUAAAAHYXNzZXRJZAMFAAAAGWlzVGlja2VyTm90QXNzaW5lZFRvQXNzZXQDAwUAAAAMaXNUaWNrZXJGcmVlCQEAAAABIQAAAAEFAAAAEGlzVGlja2VyUmVzZXJ2ZWQHAwkBAAAADWlzVmFsaWRUaWNrZXIAAAABBQAAAAZ0aWNrZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD2lzc3VlclRpY2tlcktleQUAAAAGdGlja2VyBQAAAANuaWwJAAACAAAAAQUAAAAgdGlja2VyVmFsaWRhdGlvbldyb25nRm9ybWF0RXJyb3IJAAACAAAAAQUAAAAidGlja2VyVmFsaWRhdGlvblRpY2tlcklzRXhpc3RFcnJvcgkAAAIAAAABBQAAABZ0aWNrZXJJc0ltbXV0YWJsZUVycm9yCQAAAgAAAAEFAAAAJHRpY2tlclZhbGlkYXRpb25Ob3RFbm91Z2hSYXRpbmdFcnJvcgkAAAIAAAABBQAAABdpc3N1ZXJBY2Nlc3NEZW5pZWRFcnJvcgkAAAIAAAABBQAAABVub3RFbm91Z2hQYXltZW50RXJyb3IJAAACAAAAAQUAAAAZbm90U3VwcG9ydGVkQ3VycmVuY3lFcnJvcgAAAAFpAQAAABF1cGRhdGVEZXNjcmlwdGlvbgAAAAIAAAAHYXNzZXRJZAAAAAtkZXNjcmlwdGlvbgQAAAAUaXNzdWVyRGVzY3JpcHRpb25LZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEmlzc3VlckRlc2NyaXB0aW9uXwIAAAABPAUAAAAHYXNzZXRJZAIAAAABPgMJAQAAABBpc1BheW1lbnRJbldhdmVzAAAAAQUAAAABaQMJAQAAAA9pc0Vub3VnaFBheW1lbnQAAAACBQAAAAFpBQAAABZkZXNjcmlwdGlvblVwZGF0ZVByaWNlAwkBAAAAE2lzQ2FsbGVyQXNzZXRJc3N1ZXIAAAACBQAAAAFpBQAAAAdhc3NldElkCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABRpc3N1ZXJEZXNjcmlwdGlvbktleQUAAAALZGVzY3JpcHRpb24FAAAAA25pbAkAAAIAAAABBQAAABdpc3N1ZXJBY2Nlc3NEZW5pZWRFcnJvcgkAAAIAAAABBQAAABVub3RFbm91Z2hQYXltZW50RXJyb3IJAAACAAAAAQUAAAAZbm90U3VwcG9ydGVkQ3VycmVuY3lFcnJvcgAAAAFpAQAAAAp1cGRhdGVMaW5rAAAAAgAAAAdhc3NldElkAAAABGxpbmsEAAAADWlzc3VlckxpbmtLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC2lzc3VlckxpbmtfAgAAAAE8BQAAAAdhc3NldElkAgAAAAE+AwkBAAAAEGlzUGF5bWVudEluV2F2ZXMAAAABBQAAAAFpAwkBAAAAD2lzRW5vdWdoUGF5bWVudAAAAAIFAAAAAWkFAAAAD2xpbmtVcGRhdGVQcmljZQMJAQAAABNpc0NhbGxlckFzc2V0SXNzdWVyAAAAAgUAAAABaQUAAAAHYXNzZXRJZAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANaXNzdWVyTGlua0tleQUAAAAEbGluawUAAAADbmlsCQAAAgAAAAEFAAAAF2lzc3VlckFjY2Vzc0RlbmllZEVycm9yCQAAAgAAAAEFAAAAFW5vdEVub3VnaFBheW1lbnRFcnJvcgkAAAIAAAABBQAAABlub3RTdXBwb3J0ZWRDdXJyZW5jeUVycm9yAAAAAFu5AIM=", "chainId": 84, "height": 669893, "spentComplexity": 0 } View: original | compacted Prev: 4WCH7wZ4BbWfCrh742AVqH1pacZRF5aMYEWby1MeCVgx Next: 57doWTnCgpAQWtBvqTQDEhQMCBYXhGx9maxXkgA81Myy Diff:
OldNewDifferences
2525
2626 let wvs = 100000000
2727
28-let descriptionUpdatePrice = (1 * wvs)
28+let tickerUpdatePrice = (2 * wvs)
2929
30-let linkUpdatePrice = (1 * wvs)
30+let linkUpdatePrice = 50000000
3131
32-let tickerUpdatePrice = (2 * wvs)
32+let descriptionUpdatePrice = 50000000
3333
3434 let tickerMinLength = 1
3535
127127
128128
129129 func isAssetUpdateAllowedByWeight (assetId) = {
130- let assetWeightKey = "assetWeight"
130+ let assetWeightKey = ("assetWeight_" + assetId)
131131 let assetWeightValue = getIntegerFromAccount(tokenRatingOracleAddress, assetWeightKey)
132132 let assetWeightTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "tickerWeight")
133133 (assetWeightValue >= assetWeightTreshold)
135135
136136
137137 func isAssetUpdateAllowedByVotes (assetId) = {
138- let assetVotesKey = "assetVotes"
138+ let assetVotesKey = ("assetVotes_" + assetId)
139139 let assetVotesValue = getIntegerFromAccount(tokenRatingOracleAddress, assetVotesKey)
140140 let assetVotesTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "tickerVotes")
141141 (assetVotesValue >= assetVotesTreshold)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let tickerCatalogueOracleAddress = addressFromStringValue("3MxHxW5VWq4KrWcbhFfxKrafXm4mL6rZHfj")
55
66 let tokenRatingOracleAddress = addressFromStringValue("3NADqHoLMbMTfXdP2TeBBSx5mQXePVj3KZm")
77
88 let notSupportedCurrencyError = "<notSupportedCurrencyError>"
99
1010 let issuerAccessDeniedError = "<issuerAccessDeniedError>"
1111
1212 let notEnoughPaymentError = "<notEnoughPaymentError>"
1313
1414 let tickerValidationNotEnoughRatingError = "<tickerValidationNotEnoughRatingError>"
1515
1616 let tickerValidationTickerIsExistError = "<tickerValidationTickerIsExistError>"
1717
1818 let tickerValidationWrongFormatError = "<tickerValidationWrongFormatError>"
1919
2020 let nonExistentAssetError = "<nonExistentAssetError>"
2121
2222 let noPaymentError = "<noPaymentError>"
2323
2424 let tickerIsImmutableError = "<tickerIsImmutableError>"
2525
2626 let wvs = 100000000
2727
28-let descriptionUpdatePrice = (1 * wvs)
28+let tickerUpdatePrice = (2 * wvs)
2929
30-let linkUpdatePrice = (1 * wvs)
30+let linkUpdatePrice = 50000000
3131
32-let tickerUpdatePrice = (2 * wvs)
32+let descriptionUpdatePrice = 50000000
3333
3434 let tickerMinLength = 1
3535
3636 let tickerMaxLength = 6
3737
3838 let tickerAllowedLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
3939
4040 let reservedTickers = "BTC,ETH,XRP,BCH,LTC,BNB,USDT,EOS,BSV,XMR,XLM,LEO,ADA,TRX,DASH,LINK,XTZ,NEO,MIOTA,ETC,ATOM,XEM,MKR,CRO,USDC,ONT,VSYS,ZEC,DOGE,VET,DCR,HT,BAT,BTG,QTUM,HEDG,TUSD,PAX,EGT,OMG,ALGO,KCS,RVN,LSK,NANO,BTT,BCD,NRG,LAMB,HOT,BCN,DGB,REP,BTS,ZRX,XIN,AOA,IOST,ICX,NET,GNT,PPT,RHOC,SNT,AE,WTC,VERI,R,ZIL,BNT"
4141
4242 func getIntegerFromAccount (accountAddress,key) = match getInteger(accountAddress, key) {
4343 case i: Int =>
4444 i
4545 case _ =>
4646 0
4747 }
4848
4949
5050 func isSubstrExist (str,substr) = match indexOf(str, substr) {
5151 case index: Int =>
5252 true
5353 case index: Unit =>
5454 false
5555 case _ =>
5656 throw()
5757 }
5858
5959
6060 func isValidTicker (ticker) = {
6161 let tickerLetters = split(ticker, "")
6262 let tickerLength = size(tickerLetters)
6363 let isLetter1Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[0])
6464 let isLetter2Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[1])
6565 let isLetter3Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[2])
6666 let isLetter4Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[3])
6767 let isLetter5Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[4])
6868 let isLetter6Valid = isSubstrExist(tickerAllowedLetters, tickerLetters[5])
6969 if ((ticker != ""))
7070 then if (if ((tickerLength >= tickerMinLength))
7171 then (tickerMaxLength >= tickerLength)
7272 else false)
7373 then if ((1 == tickerLength))
7474 then isLetter1Valid
7575 else if ((2 == tickerLength))
7676 then if (isLetter1Valid)
7777 then isLetter2Valid
7878 else false
7979 else if ((3 == tickerLength))
8080 then if (if (isLetter1Valid)
8181 then isLetter2Valid
8282 else false)
8383 then isLetter3Valid
8484 else false
8585 else if ((4 == tickerLength))
8686 then if (if (if (isLetter1Valid)
8787 then isLetter2Valid
8888 else false)
8989 then isLetter3Valid
9090 else false)
9191 then isLetter4Valid
9292 else false
9393 else if ((5 == tickerLength))
9494 then 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 else if ((6 == tickerLength))
104104 then if (if (if (if (if (isLetter1Valid)
105105 then isLetter2Valid
106106 else false)
107107 then isLetter3Valid
108108 else false)
109109 then isLetter4Valid
110110 else false)
111111 then isLetter5Valid
112112 else false)
113113 then isLetter6Valid
114114 else false
115115 else false
116116 else false
117117 else false
118118 }
119119
120120
121121 func isAssetUpdateAllowedByRating (assetId) = {
122122 let assetRatingKey = (("assetRating_" + assetId) + "_1")
123123 let assetRatingValue = getIntegerFromAccount(tokenRatingOracleAddress, assetRatingKey)
124124 let assetRatingTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "tickerRating_1")
125125 (assetRatingValue >= assetRatingTreshold)
126126 }
127127
128128
129129 func isAssetUpdateAllowedByWeight (assetId) = {
130- let assetWeightKey = "assetWeight"
130+ let assetWeightKey = ("assetWeight_" + assetId)
131131 let assetWeightValue = getIntegerFromAccount(tokenRatingOracleAddress, assetWeightKey)
132132 let assetWeightTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "tickerWeight")
133133 (assetWeightValue >= assetWeightTreshold)
134134 }
135135
136136
137137 func isAssetUpdateAllowedByVotes (assetId) = {
138- let assetVotesKey = "assetVotes"
138+ let assetVotesKey = ("assetVotes_" + assetId)
139139 let assetVotesValue = getIntegerFromAccount(tokenRatingOracleAddress, assetVotesKey)
140140 let assetVotesTreshold = getIntegerFromAccount(tokenRatingOracleAddress, "tickerVotes")
141141 (assetVotesValue >= assetVotesTreshold)
142142 }
143143
144144
145145 func isUpdateAllowedByRating (assetId) = if (if (isAssetUpdateAllowedByRating(assetId))
146146 then isAssetUpdateAllowedByWeight(assetId)
147147 else false)
148148 then isAssetUpdateAllowedByVotes(assetId)
149149 else false
150150
151151
152152 func getAssetIssuerAddressFromAssetId (assetId) = toString(valueOrErrorMessage(assetInfo(fromBase58String(assetId)), nonExistentAssetError).issuer)
153153
154154
155155 func getPayment (i) = valueOrErrorMessage(i.payment, noPaymentError)
156156
157157
158158 func isPaymentInWaves (i) = {
159159 let payment = getPayment(i)
160160 if (!(isDefined(payment.assetId)))
161161 then true
162162 else false
163163 }
164164
165165
166166 func isEnoughPayment (i,requiredPayment) = {
167167 let payment = getPayment(i)
168168 if ((payment.amount >= requiredPayment))
169169 then true
170170 else false
171171 }
172172
173173
174174 func isCallerAssetIssuer (i,assetId) = {
175175 let callerAddress = toBase58String(i.caller.bytes)
176176 let assetIssuerAdress = getAssetIssuerAddressFromAssetId(assetId)
177177 if ((callerAddress == assetIssuerAdress))
178178 then true
179179 else false
180180 }
181181
182182
183183 @Callable(i)
184184 func updateTicker (assetId,ticker) = {
185185 let issuerTickerKey = ((("issuerTicker_" + "<") + assetId) + ">")
186186 let isTickerReserved = isSubstrExist(reservedTickers, ticker)
187187 let isTickerFree = match getString(tickerCatalogueOracleAddress, ticker) {
188188 case t: String =>
189189 false
190190 case t: Unit =>
191191 true
192192 case _ =>
193193 throw()
194194 }
195195 let isTickerNotAssinedToAsset = match getString(this, issuerTickerKey) {
196196 case t: String =>
197197 false
198198 case t: Unit =>
199199 true
200200 case _ =>
201201 throw()
202202 }
203203 if (isPaymentInWaves(i))
204204 then if (isEnoughPayment(i, tickerUpdatePrice))
205205 then if (isCallerAssetIssuer(i, assetId))
206206 then if (isUpdateAllowedByRating(assetId))
207207 then if (isTickerNotAssinedToAsset)
208208 then if (if (isTickerFree)
209209 then !(isTickerReserved)
210210 else false)
211211 then if (isValidTicker(ticker))
212212 then WriteSet([DataEntry(issuerTickerKey, ticker)])
213213 else throw(tickerValidationWrongFormatError)
214214 else throw(tickerValidationTickerIsExistError)
215215 else throw(tickerIsImmutableError)
216216 else throw(tickerValidationNotEnoughRatingError)
217217 else throw(issuerAccessDeniedError)
218218 else throw(notEnoughPaymentError)
219219 else throw(notSupportedCurrencyError)
220220 }
221221
222222
223223
224224 @Callable(i)
225225 func updateDescription (assetId,description) = {
226226 let issuerDescriptionKey = ((("issuerDescription_" + "<") + assetId) + ">")
227227 if (isPaymentInWaves(i))
228228 then if (isEnoughPayment(i, descriptionUpdatePrice))
229229 then if (isCallerAssetIssuer(i, assetId))
230230 then WriteSet([DataEntry(issuerDescriptionKey, description)])
231231 else throw(issuerAccessDeniedError)
232232 else throw(notEnoughPaymentError)
233233 else throw(notSupportedCurrencyError)
234234 }
235235
236236
237237
238238 @Callable(i)
239239 func updateLink (assetId,link) = {
240240 let issuerLinkKey = ((("issuerLink_" + "<") + assetId) + ">")
241241 if (isPaymentInWaves(i))
242242 then if (isEnoughPayment(i, linkUpdatePrice))
243243 then if (isCallerAssetIssuer(i, assetId))
244244 then WriteSet([DataEntry(issuerLinkKey, link)])
245245 else throw(issuerAccessDeniedError)
246246 else throw(notEnoughPaymentError)
247247 else throw(notSupportedCurrencyError)
248248 }
249249
250250

github/deemru/w8io/3ef1775 
63.39 ms