tx · EvHo7gvesgTyH9Hww9tamPharBS3YokaMrHCNMtXcC6U

3N3xK7o8iTZDHaPBBvHi3JJWJz6C7Tymcft:  -0.05000000 Waves

2023.10.06 13:29 [2786640] smart account 3N3xK7o8iTZDHaPBBvHi3JJWJz6C7Tymcft > SELF 0.00000000 Waves

{ "type": 13, "id": "EvHo7gvesgTyH9Hww9tamPharBS3YokaMrHCNMtXcC6U", "fee": 5000000, "feeAssetId": null, "timestamp": 1696588257724, "version": 1, "sender": "3N3xK7o8iTZDHaPBBvHi3JJWJz6C7Tymcft", "senderPublicKey": "CYAsf6Hy74tD5cPSfLqMdiQBbK5CjvLYASmDYzAZh8ju", "proofs": [ "3mHeoWkbAhiejb8w2XQMuDw9j29gNsrAA6puS8x8R5Qfr3zgc9d3yPtbYWG8vM74tpVD8CkxzFfyxG9j9rBMs4Jm" ], "script": "base64:BgJjCAISDAoKCAEBAQEBAQgICBIECgIIARIECgIICBIECgIICBIDCgEIEgMKAQgSBQoDCAEBEgMKAQgSBAoCCAESAwoBCBIDCgEIEgMKAQgSBAoCCAgSBAoCCAgSAwoBCBIDCgEIMwEQd3JpdGVDb25zdFN0cmluZwIDa2V5BXZhbHVlAwkBASEBCQEJaXNEZWZpbmVkAQkAnQgCBQR0aGlzBQNrZXkJAQtTdHJpbmdFbnRyeQIFA2tleQUFdmFsdWUJAAIBCQCsAgICFWFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5AQh3cml0ZUludAIDa2V5BXZhbHVlAwkAZgIAAAUFdmFsdWUJAAIBCQCsAgIJAKwCAgkArAICAhd3cml0aW5nIG5lZ2F0aXZlIHZhbHVlIAkApAMBBQV2YWx1ZQIJIGZvciBrZXkgBQNrZXkJAQxJbnRlZ2VyRW50cnkCBQNrZXkFBXZhbHVlAQhjaGFuZ2VCeQIDa2V5BXZhbHVlCQEId3JpdGVJbnQCBQNrZXkJAGQCCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFA2tleQAABQV2YWx1ZQEFYXNJbnQBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50CQACAQIZd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAEHYXNzZXRJZAEDc3RyAwkAAAIFA3N0cgIFV0FWRVMFBHVuaXQJANkEAQUDc3RyABJjb25maWdBZGRyZXNzU3RvcmUCBmNvbmZpZwANY29uZmlnQWRkcmVzcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBRJjb25maWdBZGRyZXNzU3RvcmUCImNoaWxkcmVuOiBjb25maWcgYWRkcmVzcyBub3QgZm91bmQCFmludmFsaWQgY29uZmlnIGFkZHJlc3MBB2FsbG93ZWQBAm9wCQD8BwQFDWNvbmZpZ0FkZHJlc3MCCW9wQWxsb3dlZAkAzAgCBQJvcAUDbmlsBQNuaWwABkhFSUdIVAUGaGVpZ2h0AApwd3JBc3NldElkCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAgxwb3dlckFzc2V0SWQCFnB3ciBhc3NldCBpZCBub3QgZm91bmQACHNsYXNoZXJzCQELdmFsdWVPckVsc2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MJAKwCAgkApQgBBQR0aGlzAglfc2xhc2hlcnMCAAANbWFpbkFkZHJlc3NlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ1jb25maWdBZGRyZXNzAg5tYWluX2FkZHJlc3NlcwIAAQtwZXJpb2RTdG9yZQEFY2hpbGQJAKwCAgIHcGVyaW9kXwUFY2hpbGQBBnBlcmlvZAEFY2hpbGQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBC3BlcmlvZFN0b3JlAQUFY2hpbGQAAAEKb3duZXJTdG9yZQEFY2hpbGQJAKwCAgIGb3duZXJfBQVjaGlsZAENdHJlYXN1cnlTdG9yZQEFY2hpbGQJAKwCAgIJdHJlYXN1cnlfBQVjaGlsZAENbG9ja1RpbWVTdG9yZQEFY2hpbGQJAKwCAgIJbG9ja1RpbWVfBQVjaGlsZAETcGVyaW9kTG9ja1RpbWVTdG9yZQIFY2hpbGQGcGVyaW9kCQCsAgIJAKwCAgkArAICAgdwZXJpb2RfCQCkAwEFBnBlcmlvZAIKX2xvY2tUaW1lXwUFY2hpbGQBEXNraW5SZXF1aXJlZFN0b3JlAQVjaGlsZAkArAICAg5za2luX3JlcXVpcmVkXwUFY2hpbGQBDHNraW5NYXhTdG9yZQEFY2hpbGQJAKwCAgIJc2tpbl9tYXhfBQVjaGlsZAETaW52ZXN0bWVudHNNYXhTdG9yZQEFY2hpbGQJAKwCAgIQaW52ZXN0bWVudHNfbWF4XwUFY2hpbGQBEm1pbkNvbW1pdG1lbnRTdG9yZQEFY2hpbGQJAKwCAgIObWluX2NvbW1pdG1lbnQFBWNoaWxkAQ5za2luVG90YWxTdG9yZQEFY2hpbGQJAKwCAgILc2tpbl90b3RhbF8FBWNoaWxkAA1wd3JUb3RhbFN0b3JlAglwd3JfdG90YWwBGGludmVzdG1lbnRzUmVxdWlyZWRTdG9yZQEFY2hpbGQJAKwCAgIVaW52ZXN0bWVudHNfcmVxdWlyZWRfBQVjaGlsZAEVaW52ZXN0bWVudHNUb3RhbFN0b3JlAQVjaGlsZAkArAICAhJpbnZlc3RtZW50c190b3RhbF8FBWNoaWxkARtpbnZlc3RtZW50c1BlcmlvZFRvdGFsU3RvcmUBBWNoaWxkCQCsAgIJAKwCAgkArAICAgdwZXJpb2RfCQCkAwEJAQZwZXJpb2QBBQVjaGlsZAITX2ludmVzdG1lbnRzX3RvdGFsXwUFY2hpbGQBFWludmVzdG1lbnRzVG9rZW5TdG9yZQEFY2hpbGQJAKwCAgISaW52ZXN0bWVudHNfdG9rZW5fBQVjaGlsZAEQY29tbWl0bWVudHNTdG9yZQEFY2hpbGQJAKwCAgIMY29tbWl0bWVudHNfBQVjaGlsZAERY3JlYXRlSGVpZ2h0U3RvcmUBBWNoaWxkCQCsAgICDmNyZWF0ZV9oZWlnaHRfBQVjaGlsZAEQc3RhcnRIZWlnaHRTdG9yZQEFY2hpbGQJAKwCAgINc3RhcnRfaGVpZ2h0XwUFY2hpbGQBFnN0YXJ0UGVyaW9kSGVpZ2h0U3RvcmUCBWNoaWxkBnBlcmlvZAkArAICCQCsAgIJAKwCAgIHcGVyaW9kXwkApAMBBQZwZXJpb2QCDl9zdGFydF9oZWlnaHRfBQVjaGlsZAEbc3RhcnRQZXJpb2RBZnRlckhlaWdodFN0b3JlAgVjaGlsZAZwZXJpb2QJAKwCAgkArAICCQCsAgICB3BlcmlvZF8JAKQDAQUGcGVyaW9kAhRfc3RhcnRfYWZ0ZXJfaGVpZ2h0XwUFY2hpbGQBHXN0YXJ0Q3VycmVudFBlcmlvZEhlaWdodFN0b3JlAQVjaGlsZAkBFnN0YXJ0UGVyaW9kSGVpZ2h0U3RvcmUCBQVjaGlsZAkBBnBlcmlvZAEFBWNoaWxkARFjYW5jZWxIZWlnaHRTdG9yZQEFY2hpbGQJAKwCAgIOY2FuY2VsX2hlaWdodF8FBWNoaWxkARBpbnZlc3RtZW50c1Rva2VuAQVjaGlsZAkBB2Fzc2V0SWQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBFWludmVzdG1lbnRzVG9rZW5TdG9yZQEFBWNoaWxkAh5pbnZlc3RtZW50cyBhc3NldCBpZCBub3QgZm91bmQBDXVzZXJTa2luU3RvcmUCBWNoaWxkBHVzZXIJAKwCAgkArAICCQCsAgICBXNraW5fBQVjaGlsZAIBXwUEdXNlcgEUdXNlclNraW5IaXN0b3J5U3RvcmUCBWNoaWxkBHVzZXIJAKwCAgkBDXVzZXJTa2luU3RvcmUCBQVjaGlsZAUEdXNlcgIIX2hpc3RvcnkBDWludmVzdG9yU3RvcmUCBWNoaWxkCGludmVzdG9yCQCsAgIJAKwCAgkArAICAglpbnZlc3Rvcl8FBWNoaWxkAgFfBQhpbnZlc3RvcgEQYXNzZXJ0Tm90U3RhcnRlZAEFY2hpbGQDCQEJaXNEZWZpbmVkAQkAnwgBCQEQc3RhcnRIZWlnaHRTdG9yZQEFBWNoaWxkCQACAQIPYWxyZWFkeSBzdGFydGVkBwESYXNzZXJ0Tm90Q2FuY2VsbGVkAQVjaGlsZAMJAQlpc0RlZmluZWQBCQCfCAEJARFjYW5jZWxIZWlnaHRTdG9yZQEFBWNoaWxkCQACAQIQYWxyZWFkeSBjYW5jZWxlZAcBFmFzc2VydE5vdFN0YXJ0ZWRQZXJpb2QBBWNoaWxkAwkAAAIJAQZwZXJpb2QBBQVjaGlsZAAACQEQYXNzZXJ0Tm90U3RhcnRlZAEFBWNoaWxkAwkBCWlzRGVmaW5lZAEJAJ8IAQkBHXN0YXJ0Q3VycmVudFBlcmlvZEhlaWdodFN0b3JlAQUFY2hpbGQJAAIBAhZwZXJpb2QgYWxyZWFkeSBzdGFydGVkBwEOdXNlckNvbW1pdG1lbnQCBWNoaWxkBHVzZXIJAJ8IAQkBDXVzZXJTa2luU3RvcmUCBQVjaGlsZAUEdXNlcgEPY3VycmVudFVzZXJTa2luAgVjaGlsZAR1c2VyCQELdmFsdWVPckVsc2UCCQEOdXNlckNvbW1pdG1lbnQCBQVjaGlsZAUEdXNlcgAAAQhsb2NrVGltZQIFY2hpbGQGcGVyaW9kCQELdmFsdWVPckVsc2UCCQCfCAEJARNwZXJpb2RMb2NrVGltZVN0b3JlAgUFY2hpbGQFBnBlcmlvZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJAQ1sb2NrVGltZVN0b3JlAQUFY2hpbGQCEW5vIGNoaWxkIGxvY2tUaW1lAQx1bmxvY2tIZWlnaHQBBWNoaWxkBAFwCQEGcGVyaW9kAQUFY2hpbGQEC3BlcmlvZFN0YXJ0CQCfCAEJARZzdGFydFBlcmlvZEhlaWdodFN0b3JlAgUFY2hpbGQFAXADCQEJaXNEZWZpbmVkAQULcGVyaW9kU3RhcnQJAGQCCQEFdmFsdWUBBQtwZXJpb2RTdGFydAkBCGxvY2tUaW1lAgUFY2hpbGQFAXAECnByZXZQZXJpb2QJAGUCBQFwAAEECmNoaWxkU3RhcnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEQc3RhcnRIZWlnaHRTdG9yZQEFBWNoaWxkAhVubyBjaGlsZCBzdGFydCBoZWlnaHQJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEJARZzdGFydFBlcmlvZEhlaWdodFN0b3JlAgUFY2hpbGQFCnByZXZQZXJpb2QFCmNoaWxkU3RhcnQJAQhsb2NrVGltZQIFBWNoaWxkBQpwcmV2UGVyaW9kAQh0cmVhc3VyeQEFY2hpbGQJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBDXRyZWFzdXJ5U3RvcmUBBQVjaGlsZAUFY2hpbGQBA2ludAEDa2V5CQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUDa2V5AAABA3N0cgEDa2V5CQELdmFsdWVPckVsc2UCCQCiCAEFA2tleQIAAQ1hZHZpc2VQcm9qZWN0AQVjaGlsZAQBcAkBBnBlcmlvZAEFBWNoaWxkBAlwZXJpb2RTdHIJAKQDAQUBcAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIIaGVpZ2h0OiAJAKQDAQUGSEVJR0hUAgssIHByb2plY3Q6IAUFY2hpbGQCCSwgb3duZXI6IAkBA3N0cgEJAQpvd25lclN0b3JlAQUFY2hpbGQCDCwgdHJlYXN1cnk6IAkBCHRyZWFzdXJ5AQUFY2hpbGQCDSwgbG9ja190aW1lOiAJAQNpbnQBCQENbG9ja1RpbWVTdG9yZQEFBWNoaWxkAhEsIHNraW5fcmVxdWlyZWQ6IAkBA2ludAEJARFza2luUmVxdWlyZWRTdG9yZQEFBWNoaWxkAgwsIHNraW5fbWF4OiAJAQNpbnQBCQEMc2tpbk1heFN0b3JlAQUFY2hpbGQCEiwgbWluX2NvbW1pdG1lbnQ6IAkBA2ludAEJARJtaW5Db21taXRtZW50U3RvcmUBBQVjaGlsZAIOLCBza2luX3RvdGFsOiAJAQNpbnQBCQEOc2tpblRvdGFsU3RvcmUBBQVjaGlsZAIYLCBpbnZlc3RtZW50c19yZXF1aXJlZDogCQEDaW50AQkBGGludmVzdG1lbnRzUmVxdWlyZWRTdG9yZQEFBWNoaWxkAhMsIGludmVzdG1lbnRzX21heDogCQEDaW50AQkBE2ludmVzdG1lbnRzTWF4U3RvcmUBBQVjaGlsZAIVLCBpbnZlc3RtZW50c190b3RhbDogCQEDaW50AQkBFWludmVzdG1lbnRzVG90YWxTdG9yZQEFBWNoaWxkAhUsIGludmVzdG1lbnRzX3Rva2VuOiAJAQNzdHIBCQEVaW52ZXN0bWVudHNUb2tlblN0b3JlAQUFY2hpbGQCDywgY29tbWl0bWVudHM6IAkBA3N0cgEJARBjb21taXRtZW50c1N0b3JlAQUFY2hpbGQCESwgY3JlYXRlX2hlaWdodDogCQEDaW50AQkBEWNyZWF0ZUhlaWdodFN0b3JlAQUFY2hpbGQCECwgc3RhcnRfaGVpZ2h0OiAJAKQDAQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEQc3RhcnRIZWlnaHRTdG9yZQEFBWNoaWxkAP///////////wECESwgY2FuY2VsX2hlaWdodDogCQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEWNhbmNlbEhlaWdodFN0b3JlAQUFY2hpbGQA////////////AQIKLCBwZXJpb2Q6IAUJcGVyaW9kU3RyAgksIHBlcmlvZF8FCXBlcmlvZFN0cgIVX3N0YXJ0X2FmdGVyX2hlaWdodDogCQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBG3N0YXJ0UGVyaW9kQWZ0ZXJIZWlnaHRTdG9yZQIFBWNoaWxkBQFwAP///////////wECCSwgcGVyaW9kXwUJcGVyaW9kU3RyAg9fc3RhcnRfaGVpZ2h0OiAJAKQDAQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEdc3RhcnRDdXJyZW50UGVyaW9kSGVpZ2h0U3RvcmUBBQVjaGlsZAD///////////8BAgksIHBlcmlvZF8FCXBlcmlvZFN0cgIMX2xvY2tfdGltZTogCQCkAwEJAQhsb2NrVGltZQIFBWNoaWxkBQFwAhEsIHVubG9ja19oZWlnaHQ6IAkApAMBCQEMdW5sb2NrSGVpZ2h0AQUFY2hpbGQCHCwgcGVyaW9kX2ludmVzdG1lbnRzX3RvdGFsOiAJAQNpbnQBCQEbaW52ZXN0bWVudHNQZXJpb2RUb3RhbFN0b3JlAQUFY2hpbGQBEWFkdmlzZVVzZXJQcm9qZWN0AgVjaGlsZAR1c2VyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAghoZWlnaHQ6IAkApAMBBQZIRUlHSFQCCywgcHJvamVjdDogBQVjaGlsZAIHLCBza2luOgkApAMBCQEPY3VycmVudFVzZXJTa2luAgUFY2hpbGQFBHVzZXICCCwgcG93ZXI6CQCkAwEJAQt2YWx1ZU9yRWxzZQIJAQ51c2VyQ29tbWl0bWVudAIFBWNoaWxkBQR1c2VyAAACDywgaW52ZXN0bWVudHM6IAkBA2ludAEJAQ1pbnZlc3RvclN0b3JlAgUFY2hpbGQFBHVzZXIQAWkBCnByb2plY3RGb3IKBW93bmVyBHNraW4HbWF4U2tpbg1taW5Db21taXRtZW50CGxvY2tUaW1lC2ludmVzdG1lbnRzDm1heEludmVzdG1lbnRzEGludmVzdG1lbnRzVG9rZW4LY29tbWl0bWVudHMFY2hpbGQEAWEJAQdhbGxvd2VkAQIKcHJvamVjdEZvcgMJAAACBQFhBQFhAwkBASEBCQEIY29udGFpbnMCBQ1tYWluQWRkcmVzc2VzCQClCAEIBQFpBmNhbGxlcgkAAgECBmRlbmllZAQBdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEFBWNoaWxkAhhpbnZhbGlkIHRyZWFzdXJ5IGFkZHJlc3MDCQAAAgUBdAUBdAQFdG9rZW4JAQdhc3NldElkAQUQaW52ZXN0bWVudHNUb2tlbgMJAAACBQV0b2tlbgUFdG9rZW4DAwkAZgIFB21heFNraW4AAAkAZgIFBHNraW4FB21heFNraW4HCQACAQIPaW52YWxpZCBtYXhTa2luAwMJAGYCBQ5tYXhJbnZlc3RtZW50cwAACQBmAgULaW52ZXN0bWVudHMFDm1heEludmVzdG1lbnRzBwkAAgECFmludmFsaWQgbWF4SW52ZXN0bWVudHMJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCCQEKb3duZXJTdG9yZQEFBWNoaWxkBQVvd25lcgkAzAgCCQEId3JpdGVJbnQCCQERY3JlYXRlSGVpZ2h0U3RvcmUBBQVjaGlsZAUGSEVJR0hUCQDMCAIJAQh3cml0ZUludAIJARFza2luUmVxdWlyZWRTdG9yZQEFBWNoaWxkBQRza2luCQDMCAIJAQh3cml0ZUludAIJAQxza2luTWF4U3RvcmUBBQVjaGlsZAUHbWF4U2tpbgkAzAgCCQEId3JpdGVJbnQCCQESbWluQ29tbWl0bWVudFN0b3JlAQUFY2hpbGQFDW1pbkNvbW1pdG1lbnQJAMwIAgkBCHdyaXRlSW50AgkBDWxvY2tUaW1lU3RvcmUBBQVjaGlsZAUIbG9ja1RpbWUJAMwIAgkBCHdyaXRlSW50AgkBGGludmVzdG1lbnRzUmVxdWlyZWRTdG9yZQEFBWNoaWxkBQtpbnZlc3RtZW50cwkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwIJARVpbnZlc3RtZW50c1Rva2VuU3RvcmUBBQVjaGlsZAUQaW52ZXN0bWVudHNUb2tlbgkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwIJARBjb21taXRtZW50c1N0b3JlAQUFY2hpbGQFC2NvbW1pdG1lbnRzCQDMCAIJARB3cml0ZUNvbnN0U3RyaW5nAgkBDXRyZWFzdXJ5U3RvcmUBBQVjaGlsZAUFY2hpbGQJAMwIAgkBCHdyaXRlSW50AgkBE2ludmVzdG1lbnRzTWF4U3RvcmUBBQVjaGlsZAUObWF4SW52ZXN0bWVudHMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ1pbmNyZXJhc2VTa2luAgVjaGlsZA1za2luSW5jcmVtZW50BAFhCQEHYWxsb3dlZAECDWluY3JlcmFzZVNraW4DCQAAAgUBYQUBYQQBcwMJARBhc3NlcnROb3RTdGFydGVkAQUFY2hpbGQJARJhc3NlcnROb3RDYW5jZWxsZWQBBQVjaGlsZAcDCQAAAgUBcwUBcwMJAGcCAAAFDXNraW5JbmNyZW1lbnQJAAIBAjJpbnZhbGlkIGFyZ3VtZW50OiBza2luSW5jcmVtZW50IHNob3VsZCBiZSBwb3NpdGl2ZQQFb3duZXIJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQpvd25lclN0b3JlAQUFY2hpbGQDCQECIT0CCQClCAEIBQFpBmNhbGxlcgUFb3duZXIJAAIBAgZkZW5pZWQJAMwIAgkBCGNoYW5nZUJ5AgkBEXNraW5SZXF1aXJlZFN0b3JlAQUFY2hpbGQFDXNraW5JbmNyZW1lbnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQljb21taXRGb3ICBWNoaWxkB2FkZHJlc3MEAWEJAQdhbGxvd2VkAQIJY29tbWl0Rm9yAwkAAAIFAWEFAWEEAXMJARZhc3NlcnROb3RTdGFydGVkUGVyaW9kAQUFY2hpbGQDCQAAAgUBcwUBcwQBcAkAkQMCCAUBaQhwYXltZW50cwAAAwkBAiE9AggFAXAHYXNzZXRJZAUKcHdyQXNzZXRJZAkAAgECL2ludmFsaWQgYXR0YWNoZWQgcGF5bWVudDogJHBvd2VyIHRva2VuIGV4cGVjdGVkBApjb21taXRtZW50CAUBcAZhbW91bnQEDW1pbkNvbW1pdG1lbnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQESbWluQ29tbWl0bWVudFN0b3JlAQUFY2hpbGQCE0NoaWxkIERBTyBub3QgZm91bmQDCQBmAgUNbWluQ29tbWl0bWVudAUKY29tbWl0bWVudAkAAgEJAKwCAgITTWluLiBjb21taXRtZW50IGlzIAkApAMBBQ1taW5Db21taXRtZW50BA9za2luVG90YWxTdG9yZTEJAQ5za2luVG90YWxTdG9yZQEFBWNoaWxkBAxuZXdTa2luVG90YWwJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEFD3NraW5Ub3RhbFN0b3JlMQAABQpjb21taXRtZW50BAdza2luTWF4CQELdmFsdWVPckVsc2UCCQCfCAEJAQxza2luTWF4U3RvcmUBBQVjaGlsZAAAAwMJAGYCBQdza2luTWF4AAAJAGYCBQxuZXdTa2luVG90YWwFB3NraW5NYXgHCQACAQkArAICAhxUb3RhbCBtYXguIHNraW4gaXMgcmVhY2hlZDogCQCkAwEFB3NraW5NYXgJAMwIAgkBCGNoYW5nZUJ5AgkBDXVzZXJTa2luU3RvcmUCBQVjaGlsZAUHYWRkcmVzcwUKY29tbWl0bWVudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUPc2tpblRvdGFsU3RvcmUxBQxuZXdTa2luVG90YWwJAMwIAgkBCGNoYW5nZUJ5AgUNcHdyVG90YWxTdG9yZQUKY29tbWl0bWVudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDmNvbW1pdEZvck1pbmVyAgVjaGlsZAdhZGRyZXNzBAFhCQEHYWxsb3dlZAECDmNvbW1pdEZvck1pbmVyAwkAAAIFAWEFAWEDCQEBIQEJAQhjb250YWlucwIFDW1haW5BZGRyZXNzZXMJAKUIAQgFAWkGY2FsbGVyCQACAQIGZGVuaWVkBAFwCQCRAwIIBQFpCHBheW1lbnRzAAADAwkBAiE9AggFAXAHYXNzZXRJZAUKcHdyQXNzZXRJZAYJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECLGludmFsaWQgcGF5bWVudHM6IG9ubHkgJHBvd2VyIHRva2VuIGV4cGVjdGVkBApjb21taXRtZW50CAUBcAZhbW91bnQJAMwIAgkBCGNoYW5nZUJ5AgkBDXVzZXJTa2luU3RvcmUCBQVjaGlsZAUHYWRkcmVzcwUKY29tbWl0bWVudAkAzAgCCQEIY2hhbmdlQnkCCQEOc2tpblRvdGFsU3RvcmUBBQVjaGlsZAUKY29tbWl0bWVudAkAzAgCCQEIY2hhbmdlQnkCBQ1wd3JUb3RhbFN0b3JlBQpjb21taXRtZW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEGaW52ZXN0AQVjaGlsZAQBYQkBB2FsbG93ZWQBAgZpbnZlc3QDCQAAAgUBYQUBYQQBcwkBFmFzc2VydE5vdFN0YXJ0ZWRQZXJpb2QBBQVjaGlsZAMJAAACBQFzBQFzBAV0b2tlbgkBEGludmVzdG1lbnRzVG9rZW4BBQVjaGlsZAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUFdG9rZW4JAAIBAhxpbnZhbGlkIGludmVzdG1lbnRzIGFzc2V0IGlkBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAdtYXhpbXVtCQELdmFsdWVPckVsc2UCCQCfCAEJARNpbnZlc3RtZW50c01heFN0b3JlAQUFY2hpbGQAAAoBBWRhdGFzAQFhCQDMCAIJAQhjaGFuZ2VCeQIJAQ1pbnZlc3RvclN0b3JlAgUFY2hpbGQJAKUIAQgFAWkGY2FsbGVyBQFhCQDMCAIJAQhjaGFuZ2VCeQIJARVpbnZlc3RtZW50c1RvdGFsU3RvcmUBBQVjaGlsZAUBYQkAzAgCCQEIY2hhbmdlQnkCCQEbaW52ZXN0bWVudHNQZXJpb2RUb3RhbFN0b3JlAQUFY2hpbGQFAWEFA25pbAMJAGYCBQdtYXhpbXVtAAAECnRvdGFsU3RvcmUJARVpbnZlc3RtZW50c1RvdGFsU3RvcmUBBQVjaGlsZAQFdG90YWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUKdG90YWxTdG9yZQAABAppbnZlc3RtZW5zCQCXAwEJAMwIAgUGYW1vdW50CQDMCAIJAGUCBQdtYXhpbXVtBQV0b3RhbAUDbmlsAwkAZwIAAAUKaW52ZXN0bWVucwkAAgEJAKwCAgIjVG90YWwgbWF4LiBpbnZlc3RtZW50cyBpcyByZWFjaGVkOiAJAKQDAQUHbWF4aW11bQQKY2hhcmdlQmFjawkAZQIFBmFtb3VudAUKaW52ZXN0bWVucwMJAGYCBQpjaGFyZ2VCYWNrAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQpjaGFyZ2VCYWNrBQV0b2tlbgkBBWRhdGFzAQUKaW52ZXN0bWVucwkBBWRhdGFzAQUKaW52ZXN0bWVucwkBBWRhdGFzAQUGYW1vdW50CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBXN0YXJ0AQVjaGlsZAQGcGF1c2VkCQEHYWxsb3dlZAECBXN0YXJ0AwkAAAIFBnBhdXNlZAUGcGF1c2VkBAFzAwkBEGFzc2VydE5vdFN0YXJ0ZWQBBQVjaGlsZAkBEmFzc2VydE5vdENhbmNlbGxlZAEFBWNoaWxkBwMJAAACBQFzBQFzBAl0b3RhbFNraW4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBDnNraW5Ub3RhbFN0b3JlAQUFY2hpbGQAAAQMc2tpblJlcXVpcmVkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBEXNraW5SZXF1aXJlZFN0b3JlAQUFY2hpbGQCFGNoaWxkIG5vdCByZWdpc3RlcmVkAwkAZgIFDHNraW5SZXF1aXJlZAUJdG90YWxTa2luCQACAQIbbm90IGVub3VnaCBza2luIGluIHRoZSBnYW1lBBB0b3RhbEludmVzdG1lbnRzCQELdmFsdWVPckVsc2UCCQCfCAEJARVpbnZlc3RtZW50c1RvdGFsU3RvcmUBBQVjaGlsZAAAAwkAZgIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARhpbnZlc3RtZW50c1JlcXVpcmVkU3RvcmUBBQVjaGlsZAUQdG90YWxJbnZlc3RtZW50cwkAAgECFm5vdCBlbm91Z2ggaW52ZXN0bWVudHMJAMwIAgkBDEludGVnZXJFbnRyeQIJARBzdGFydEhlaWdodFN0b3JlAQUFY2hpbGQFBkhFSUdIVAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBCQEIdHJlYXN1cnkBBQVjaGlsZAUQdG90YWxJbnZlc3RtZW50cwkBEGludmVzdG1lbnRzVG9rZW4BBQVjaGlsZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDmluaXROZXh0UGVyaW9kAwVjaGlsZBNibG9ja0JldHdlZW5QZXJpb2RzCGxvY2tUaW1lBAZwYXVzZWQJAQdhbGxvd2VkAQIOaW5pdE5leHRQZXJpb2QDCQAAAgUGcGF1c2VkBQZwYXVzZWQDAwkBAiE9AgkApQgBCAUBaQZjYWxsZXIJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQpvd25lclN0b3JlAQUFY2hpbGQJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwcJAAIBAgZkZW5pZWQDCQBmAgAABRNibG9ja0JldHdlZW5QZXJpb2RzCQACAQIuYmxvY2tCZXR3ZWVuUGVyaW9kcyBzaG91bGQgYmUgcG9zaXRpdmUgb3IgemVybwMJAGYCAAEFCGxvY2tUaW1lCQACAQIbbG9ja1RpbWUgc2hvdWxkIGJlIHBvc2l0aXZlBA11bmxvY2tIZWlnaHRfCQEMdW5sb2NrSGVpZ2h0AQUFY2hpbGQDCQBmAgUNdW5sb2NrSGVpZ2h0XwUGSEVJR0hUCQACAQIeY3VycmVudCBwZXJpb2QgaXMgc3RpbGwgYWN0aXZlBAFwCQEGcGVyaW9kAQUFY2hpbGQDAwkAZgIFAXAAAAkBASEBCQEJaXNEZWZpbmVkAQkBFnN0YXJ0UGVyaW9kSGVpZ2h0U3RvcmUCBQVjaGlsZAUBcAcJAAIBAh9uZXh0IHBlcmlvZCBhbHJlYWR5IGluaXRpYWxpemVkBAluZXdQZXJpb2QJAGQCBQFwAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQtwZXJpb2RTdG9yZQEFBWNoaWxkBQluZXdQZXJpb2QJAMwIAgkBDEludGVnZXJFbnRyeQIJARtzdGFydFBlcmlvZEFmdGVySGVpZ2h0U3RvcmUCBQVjaGlsZAUJbmV3UGVyaW9kCQBkAgUNdW5sb2NrSGVpZ2h0XwUTYmxvY2tCZXR3ZWVuUGVyaW9kcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE3BlcmlvZExvY2tUaW1lU3RvcmUCBQVjaGlsZAUJbmV3UGVyaW9kBQhsb2NrVGltZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3N0YXJ0UGVyaW9kAQVjaGlsZAQGcGF1c2VkCQEHYWxsb3dlZAECC3N0YXJ0UGVyaW9kAwkAAAIFBnBhdXNlZAUGcGF1c2VkBAFzCQEWYXNzZXJ0Tm90U3RhcnRlZFBlcmlvZAEFBWNoaWxkAwkAAAIFAXMFAXMEB3BlcmlvZF8JAQZwZXJpb2QBBQVjaGlsZAQPc3RhcnRBZnRlclN0b3JlCQEbc3RhcnRQZXJpb2RBZnRlckhlaWdodFN0b3JlAgUFY2hpbGQFB3BlcmlvZF8ECnN0YXJ0QWZ0ZXIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBBQ9zdGFydEFmdGVyU3RvcmUJAKwCAgIPa2V5IG5vdCBmb3VuZDogBQ9zdGFydEFmdGVyU3RvcmUDCQBmAgUKc3RhcnRBZnRlcgUGSEVJR0hUCQACAQIJdG9vIGVhcmx5BAl0b3RhbFNraW4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBDnNraW5Ub3RhbFN0b3JlAQUFY2hpbGQAAAQMc2tpblJlcXVpcmVkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBEXNraW5SZXF1aXJlZFN0b3JlAQUFY2hpbGQCFGNoaWxkIG5vdCByZWdpc3RlcmVkAwkAZgIFDHNraW5SZXF1aXJlZAUJdG90YWxTa2luCQACAQIbbm90IGVub3VnaCBza2luIGluIHRoZSBnYW1lBBFwZXJpb2RJbnZlc3RtZW50cwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEbaW52ZXN0bWVudHNQZXJpb2RUb3RhbFN0b3JlAQUFY2hpbGQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHXN0YXJ0Q3VycmVudFBlcmlvZEhlaWdodFN0b3JlAQUFY2hpbGQFBkhFSUdIVAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQVjaGlsZAURcGVyaW9kSW52ZXN0bWVudHMJARBpbnZlc3RtZW50c1Rva2VuAQUFY2hpbGQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVzbGFzaAIFY2hpbGQGYW1vdW50BAZwYXVzZWQJAQdhbGxvd2VkAQIBLwMJAAACBQZwYXVzZWQFBnBhdXNlZAMJAQEhAQkBCGNvbnRhaW5zAgUIc2xhc2hlcnMJAKUIAQgFAWkGY2FsbGVyCQACAQIGZGVuaWVkAwkBASEBCQEJaXNEZWZpbmVkAQkAnwgBCQEQc3RhcnRIZWlnaHRTdG9yZQEFBWNoaWxkCQACAQILbm90IHN0YXJ0ZWQJAMwIAgkBCGNoYW5nZUJ5AgkBDnNraW5Ub3RhbFN0b3JlAQUFY2hpbGQJAQEtAQUGYW1vdW50CQDMCAIJAQRCdXJuAgUKcHdyQXNzZXRJZAUGYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIY29tcGxldGUBBWNoaWxkBAZwYXVzZWQJAQdhbGxvd2VkAQIIY29tcGxldGUDCQAAAgUGcGF1c2VkBQZwYXVzZWQEDXVubG9ja0hlaWdodF8JAQx1bmxvY2tIZWlnaHQBBQVjaGlsZAMJAGYCBQ11bmxvY2tIZWlnaHRfBQZIRUlHSFQJAAIBAgxzdGlsbCBsb2NrZWQEBHVzZXIJAKUIAQgFAWkGY2FsbGVyBARza2luCQEPY3VycmVudFVzZXJTa2luAgUFY2hpbGQFBHVzZXIDCQAAAgUEc2tpbgAACQACAQIbeW91IGhhZCBubyBza2luIGluIHRoZSBnYW1lBAV0b3RhbAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBDnNraW5Ub3RhbFN0b3JlAQUFY2hpbGQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQRza2luBQpwd3JBc3NldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ11c2VyU2tpblN0b3JlAgUFY2hpbGQFBHVzZXIJAMwIAgkBCGNoYW5nZUJ5AgkBDnNraW5Ub3RhbFN0b3JlAQUFY2hpbGQJAQEtAQUEc2tpbgkAzAgCCQEIY2hhbmdlQnkCBQ1wd3JUb3RhbFN0b3JlCQEBLQEFBHNraW4JAMwIAgkBDEludGVnZXJFbnRyeQIJARR1c2VyU2tpbkhpc3RvcnlTdG9yZQIFBWNoaWxkBQR1c2VyBQRza2luBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEGY2FuY2VsAQVjaGlsZAQGcGF1c2VkCQEHYWxsb3dlZAECBmNhbmNlbAMJAAACBQZwYXVzZWQFBnBhdXNlZAQBcwMJARBhc3NlcnROb3RTdGFydGVkAQUFY2hpbGQGCQESYXNzZXJ0Tm90Q2FuY2VsbGVkAQUFY2hpbGQDCQAAAgUBcwUBcwMJAQIhPQIJAKUIAQgFAWkGY2FsbGVyCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEKb3duZXJTdG9yZQEFBWNoaWxkCQACAQIUZGVuaWVkLiBub3QgYW4gb3duZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJARFjYW5jZWxIZWlnaHRTdG9yZQEFBWNoaWxkBQZIRUlHSFQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQp1bmRvSW52ZXN0AQVjaGlsZAQGcGF1c2VkCQEHYWxsb3dlZAECCnVuZG9JbnZlc3QDCQAAAgUGcGF1c2VkBQZwYXVzZWQEAXMJARBhc3NlcnROb3RTdGFydGVkAQUFY2hpbGQDCQAAAgUBcwUBcwQRaW52ZXN0bWVudHNTdG9yZTEJAQ1pbnZlc3RvclN0b3JlAgUFY2hpbGQJAKUIAQgFAWkGY2FsbGVyBAtpbnZlc3RtZW50cwkBC3ZhbHVlT3JFbHNlAgkAnwgBBRFpbnZlc3RtZW50c1N0b3JlMQAAAwkAAAIFC2ludmVzdG1lbnRzAAAJAAIBAg5ubyBpbnZlc3RtZW50cwkAzAgCCQELRGVsZXRlRW50cnkBBRFpbnZlc3RtZW50c1N0b3JlMQkAzAgCCQEIY2hhbmdlQnkCCQEVaW52ZXN0bWVudHNUb3RhbFN0b3JlAQUFY2hpbGQJAQEtAQULaW52ZXN0bWVudHMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQtpbnZlc3RtZW50cwkBEGludmVzdG1lbnRzVG9rZW4BBQVjaGlsZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDXVuZG9Db21taXRGb3ICBWNoaWxkB2FkZHJlc3MEBnBhdXNlZAkBB2FsbG93ZWQBAg11bmRvQ29tbWl0Rm9yAwkAAAIFBnBhdXNlZAUGcGF1c2VkAwkBASEBCQEIY29udGFpbnMCBQ1tYWluQWRkcmVzc2VzCQClCAEIBQFpBmNhbGxlcgkAAgECBmRlbmllZAQBcwkBEGFzc2VydE5vdFN0YXJ0ZWQBBQVjaGlsZAMJAAACBQFzBQFzBA51c2VyU2tpblN0b3JlMQkBDXVzZXJTa2luU3RvcmUCBQVjaGlsZAUHYWRkcmVzcwQEc2tpbgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQ51c2VyU2tpblN0b3JlMQAAAwkAAAIFBHNraW4AAAkAAgECB25vIHNraW4JAJQKAgkAzAgCCQELRGVsZXRlRW50cnkBBQ51c2VyU2tpblN0b3JlMQkAzAgCCQEIY2hhbmdlQnkCCQEOc2tpblRvdGFsU3RvcmUBBQVjaGlsZAkBAS0BBQRza2luCQDMCAIJAQhjaGFuZ2VCeQIFDXB3clRvdGFsU3RvcmUJAQEtAQUEc2tpbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBHNraW4FCnB3ckFzc2V0SWQFA25pbAUEc2tpbgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQl1c2VyUG93ZXICBWNoaWxkBHVzZXIJAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQEOdXNlckNvbW1pdG1lbnQCBQVjaGlsZAUEdXNlcgAAAWkBCnRvdGFsUG93ZXIBBWNoaWxkCQCUCgIFA25pbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJAQ5za2luVG90YWxTdG9yZQEFBWNoaWxkAht0b3RhbFBvd2VyOiBjaGlsZCBub3QgZm91bmQBaQEEaW5pdAEEY29uZgkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwIFEmNvbmZpZ0FkZHJlc3NTdG9yZQUEY29uZgUDbmlsAHKlyJo=", "chainId": 84, "height": 2786640, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func a (b,c) = if (!(isDefined(getString(this, b))))
5+ then StringEntry(b, c)
6+ else throw(("already initialized: " + b))
7+
8+
9+func d (b,c) = if ((0 > c))
10+ then throw(((("writing negative value " + toString(c)) + " for key ") + b))
11+ else IntegerEntry(b, c)
12+
13+
14+func e (b,c) = d(b, (valueOrElse(getInteger(this, b), 0) + c))
15+
16+
17+func f (c) = {
18+ let g = c
19+ if ($isInstanceOf(g, "Int"))
20+ then {
21+ let h = g
22+ h
23+ }
24+ else throw("wrong type, expected: Int")
25+ }
26+
27+
28+func i (j) = if ((j == "WAVES"))
29+ then unit
30+ else fromBase58String(j)
31+
32+
33+let k = "config"
34+
35+let l = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, k), "children: config address not found")), "invalid config address")
36+
37+func m (n) = invoke(l, "opAllowed", [n], nil)
38+
39+
40+let o = height
41+
42+let p = fromBase58String(valueOrErrorMessage(getString(l, "powerAssetId"), "pwr asset id not found"))
43+
44+let q = valueOrElse(getString(l, (toString(this) + "_slashers")), "")
45+
46+let r = valueOrElse(getString(l, "main_addresses"), "")
47+
48+func s (t) = ("period_" + t)
49+
50+
51+func u (t) = valueOrElse(getInteger(s(t)), 0)
52+
53+
54+func v (t) = ("owner_" + t)
55+
56+
57+func w (t) = ("treasury_" + t)
58+
59+
60+func x (t) = ("lockTime_" + t)
61+
62+
63+func y (t,u) = ((("period_" + toString(u)) + "_lockTime_") + t)
64+
65+
66+func z (t) = ("skin_required_" + t)
67+
68+
69+func A (t) = ("skin_max_" + t)
70+
71+
72+func B (t) = ("investments_max_" + t)
73+
74+
75+func C (t) = ("min_commitment" + t)
76+
77+
78+func D (t) = ("skin_total_" + t)
79+
80+
81+let E = "pwr_total"
82+
83+func F (t) = ("investments_required_" + t)
84+
85+
86+func G (t) = ("investments_total_" + t)
87+
88+
89+func H (t) = ((("period_" + toString(u(t))) + "_investments_total_") + t)
90+
91+
92+func I (t) = ("investments_token_" + t)
93+
94+
95+func J (t) = ("commitments_" + t)
96+
97+
98+func K (t) = ("create_height_" + t)
99+
100+
101+func L (t) = ("start_height_" + t)
102+
103+
104+func M (t,u) = ((("period_" + toString(u)) + "_start_height_") + t)
105+
106+
107+func N (t,u) = ((("period_" + toString(u)) + "_start_after_height_") + t)
108+
109+
110+func O (t) = M(t, u(t))
111+
112+
113+func P (t) = ("cancel_height_" + t)
114+
115+
116+func Q (t) = i(valueOrErrorMessage(getString(I(t)), "investments asset id not found"))
117+
118+
119+func R (t,S) = ((("skin_" + t) + "_") + S)
120+
121+
122+func T (t,S) = (R(t, S) + "_history")
123+
124+
125+func U (t,V) = ((("investor_" + t) + "_") + V)
126+
127+
128+func W (t) = if (isDefined(getInteger(L(t))))
129+ then throw("already started")
130+ else false
131+
132+
133+func X (t) = if (isDefined(getInteger(P(t))))
134+ then throw("already canceled")
135+ else false
136+
137+
138+func Y (t) = if ((u(t) == 0))
139+ then W(t)
140+ else if (isDefined(getInteger(O(t))))
141+ then throw("period already started")
142+ else false
143+
144+
145+func Z (t,S) = getInteger(R(t, S))
146+
147+
148+func aa (t,S) = valueOrElse(Z(t, S), 0)
149+
150+
151+func ab (t,u) = valueOrElse(getInteger(y(t, u)), valueOrErrorMessage(getInteger(x(t)), "no child lockTime"))
152+
153+
154+func ac (t) = {
155+ let ad = u(t)
156+ let ae = getInteger(M(t, ad))
157+ if (isDefined(ae))
158+ then (value(ae) + ab(t, ad))
159+ else {
160+ let af = (ad - 1)
161+ let ag = valueOrErrorMessage(getInteger(L(t)), "no child start height")
162+ (valueOrElse(getInteger(M(t, af)), ag) + ab(t, af))
163+ }
164+ }
165+
166+
167+func ah (t) = valueOrElse(getString(w(t)), t)
168+
169+
170+func h (b) = toString(valueOrElse(getInteger(b), 0))
171+
172+
173+func j (b) = valueOrElse(getString(b), "")
174+
175+
176+func ai (t) = {
177+ let ad = u(t)
178+ let aj = toString(ad)
179+ ((((((((((((((((((((((((((((((((((((((((((((((((((("height: " + toString(o)) + ", project: ") + t) + ", owner: ") + j(v(t))) + ", treasury: ") + ah(t)) + ", lock_time: ") + h(x(t))) + ", skin_required: ") + h(z(t))) + ", skin_max: ") + h(A(t))) + ", min_commitment: ") + h(C(t))) + ", skin_total: ") + h(D(t))) + ", investments_required: ") + h(F(t))) + ", investments_max: ") + h(B(t))) + ", investments_total: ") + h(G(t))) + ", investments_token: ") + j(I(t))) + ", commitments: ") + j(J(t))) + ", create_height: ") + h(K(t))) + ", start_height: ") + toString(valueOrElse(getInteger(L(t)), -1))) + ", cancel_height: ") + toString(valueOrElse(getInteger(P(t)), -1))) + ", period: ") + aj) + ", period_") + aj) + "_start_after_height: ") + toString(valueOrElse(getInteger(N(t, ad)), -1))) + ", period_") + aj) + "_start_height: ") + toString(valueOrElse(getInteger(O(t)), -1))) + ", period_") + aj) + "_lock_time: ") + toString(ab(t, ad))) + ", unlock_height: ") + toString(ac(t))) + ", period_investments_total: ") + h(H(t)))
180+ }
181+
182+
183+func ak (t,S) = ((((((((("height: " + toString(o)) + ", project: ") + t) + ", skin:") + toString(aa(t, S))) + ", power:") + toString(valueOrElse(Z(t, S), 0))) + ", investments: ") + h(U(t, S)))
184+
185+
186+@Callable(al)
187+func projectFor (am,an,ao,ap,ab,aq,ar,Q,as,t) = {
188+ let at = m("projectFor")
189+ if ((at == at))
190+ then if (!(contains(r, toString(al.caller))))
191+ then throw("denied")
192+ else {
193+ let au = valueOrErrorMessage(addressFromString(t), "invalid treasury address")
194+ if ((au == au))
195+ then {
196+ let av = i(Q)
197+ if ((av == av))
198+ then if (if ((ao > 0))
199+ then (an > ao)
200+ else false)
201+ then throw("invalid maxSkin")
202+ else if (if ((ar > 0))
203+ then (aq > ar)
204+ else false)
205+ then throw("invalid maxInvestments")
206+ else [a(v(t), am), d(K(t), o), d(z(t), an), d(A(t), ao), d(C(t), ap), d(x(t), ab), d(F(t), aq), a(I(t), Q), a(J(t), as), a(w(t), t), d(B(t), ar)]
207+ else throw("Strict value is not equal to itself.")
208+ }
209+ else throw("Strict value is not equal to itself.")
210+ }
211+ else throw("Strict value is not equal to itself.")
212+ }
213+
214+
215+
216+@Callable(al)
217+func increraseSkin (t,aw) = {
218+ let at = m("increraseSkin")
219+ if ((at == at))
220+ then {
221+ let ax = if (W(t))
222+ then X(t)
223+ else false
224+ if ((ax == ax))
225+ then if ((0 >= aw))
226+ then throw("invalid argument: skinIncrement should be positive")
227+ else {
228+ let am = getStringValue(v(t))
229+ if ((toString(al.caller) != am))
230+ then throw("denied")
231+ else [e(z(t), aw)]
232+ }
233+ else throw("Strict value is not equal to itself.")
234+ }
235+ else throw("Strict value is not equal to itself.")
236+ }
237+
238+
239+
240+@Callable(al)
241+func commitFor (t,ay) = {
242+ let at = m("commitFor")
243+ if ((at == at))
244+ then {
245+ let ax = Y(t)
246+ if ((ax == ax))
247+ then {
248+ let ad = al.payments[0]
249+ if ((ad.assetId != p))
250+ then throw("invalid attached payment: $power token expected")
251+ else {
252+ let az = ad.amount
253+ let ap = valueOrErrorMessage(getInteger(C(t)), "Child DAO not found")
254+ if ((ap > az))
255+ then throw(("Min. commitment is " + toString(ap)))
256+ else {
257+ let aA = D(t)
258+ let aB = (valueOrElse(getInteger(aA), 0) + az)
259+ let aC = valueOrElse(getInteger(A(t)), 0)
260+ if (if ((aC > 0))
261+ then (aB > aC)
262+ else false)
263+ then throw(("Total max. skin is reached: " + toString(aC)))
264+ else [e(R(t, ay), az), IntegerEntry(aA, aB), e(E, az)]
265+ }
266+ }
267+ }
268+ else throw("Strict value is not equal to itself.")
269+ }
270+ else throw("Strict value is not equal to itself.")
271+ }
272+
273+
274+
275+@Callable(al)
276+func commitForMiner (t,ay) = {
277+ let at = m("commitForMiner")
278+ if ((at == at))
279+ then if (!(contains(r, toString(al.caller))))
280+ then throw("denied")
281+ else {
282+ let ad = al.payments[0]
283+ if (if ((ad.assetId != p))
284+ then true
285+ else (size(al.payments) != 1))
286+ then throw("invalid payments: only $power token expected")
287+ else {
288+ let az = ad.amount
289+[e(R(t, ay), az), e(D(t), az), e(E, az)]
290+ }
291+ }
292+ else throw("Strict value is not equal to itself.")
293+ }
294+
295+
296+
297+@Callable(al)
298+func invest (t) = {
299+ let at = m("invest")
300+ if ((at == at))
301+ then {
302+ let ax = Y(t)
303+ if ((ax == ax))
304+ then {
305+ let av = Q(t)
306+ if ((al.payments[0].assetId != av))
307+ then throw("invalid investments asset id")
308+ else {
309+ let aD = al.payments[0].amount
310+ let aE = valueOrElse(getInteger(B(t)), 0)
311+ func aF (at) = [e(U(t, toString(al.caller)), at), e(G(t), at), e(H(t), at)]
312+
313+ if ((aE > 0))
314+ then {
315+ let aG = G(t)
316+ let aH = valueOrElse(getInteger(aG), 0)
317+ let aI = min([aD, (aE - aH)])
318+ if ((0 >= aI))
319+ then throw(("Total max. investments is reached: " + toString(aE)))
320+ else {
321+ let aJ = (aD - aI)
322+ if ((aJ > 0))
323+ then [ScriptTransfer(al.caller, aJ, av), aF(aI)]
324+ else aF(aI)
325+ }
326+ }
327+ else aF(aD)
328+ }
329+ }
330+ else throw("Strict value is not equal to itself.")
331+ }
332+ else throw("Strict value is not equal to itself.")
333+ }
334+
335+
336+
337+@Callable(al)
338+func start (t) = {
339+ let aK = m("start")
340+ if ((aK == aK))
341+ then {
342+ let ax = if (W(t))
343+ then X(t)
344+ else false
345+ if ((ax == ax))
346+ then {
347+ let aL = valueOrElse(getInteger(D(t)), 0)
348+ let aM = valueOrErrorMessage(getInteger(z(t)), "child not registered")
349+ if ((aM > aL))
350+ then throw("not enough skin in the game")
351+ else {
352+ let aN = valueOrElse(getInteger(G(t)), 0)
353+ if ((getIntegerValue(F(t)) > aN))
354+ then throw("not enough investments")
355+ else [IntegerEntry(L(t), o), ScriptTransfer(addressFromStringValue(ah(t)), aN, Q(t))]
356+ }
357+ }
358+ else throw("Strict value is not equal to itself.")
359+ }
360+ else throw("Strict value is not equal to itself.")
361+ }
362+
363+
364+
365+@Callable(al)
366+func initNextPeriod (t,aO,ab) = {
367+ let aK = m("initNextPeriod")
368+ if ((aK == aK))
369+ then if (if ((toString(al.caller) != getStringValue(v(t))))
370+ then (al.caller != this)
371+ else false)
372+ then throw("denied")
373+ else if ((0 > aO))
374+ then throw("blockBetweenPeriods should be positive or zero")
375+ else if ((1 > ab))
376+ then throw("lockTime should be positive")
377+ else {
378+ let aP = ac(t)
379+ if ((aP > o))
380+ then throw("current period is still active")
381+ else {
382+ let ad = u(t)
383+ if (if ((ad > 0))
384+ then !(isDefined(M(t, ad)))
385+ else false)
386+ then throw("next period already initialized")
387+ else {
388+ let aQ = (ad + 1)
389+[IntegerEntry(s(t), aQ), IntegerEntry(N(t, aQ), (aP + aO)), IntegerEntry(y(t, aQ), ab)]
390+ }
391+ }
392+ }
393+ else throw("Strict value is not equal to itself.")
394+ }
395+
396+
397+
398+@Callable(al)
399+func startPeriod (t) = {
400+ let aK = m("startPeriod")
401+ if ((aK == aK))
402+ then {
403+ let ax = Y(t)
404+ if ((ax == ax))
405+ then {
406+ let aR = u(t)
407+ let aS = N(t, aR)
408+ let aT = valueOrErrorMessage(getInteger(aS), ("key not found: " + aS))
409+ if ((aT > o))
410+ then throw("too early")
411+ else {
412+ let aL = valueOrElse(getInteger(D(t)), 0)
413+ let aM = valueOrErrorMessage(getInteger(z(t)), "child not registered")
414+ if ((aM > aL))
415+ then throw("not enough skin in the game")
416+ else {
417+ let aU = valueOrElse(getInteger(H(t)), 0)
418+[IntegerEntry(O(t), o), ScriptTransfer(addressFromStringValue(t), aU, Q(t))]
419+ }
420+ }
421+ }
422+ else throw("Strict value is not equal to itself.")
423+ }
424+ else throw("Strict value is not equal to itself.")
425+ }
426+
427+
428+
429+@Callable(al)
430+func slash (t,aD) = {
431+ let aK = m("/")
432+ if ((aK == aK))
433+ then if (!(contains(q, toString(al.caller))))
434+ then throw("denied")
435+ else if (!(isDefined(getInteger(L(t)))))
436+ then throw("not started")
437+ else [e(D(t), -(aD)), Burn(p, aD)]
438+ else throw("Strict value is not equal to itself.")
439+ }
440+
441+
442+
443+@Callable(al)
444+func complete (t) = {
445+ let aK = m("complete")
446+ if ((aK == aK))
447+ then {
448+ let aP = ac(t)
449+ if ((aP > o))
450+ then throw("still locked")
451+ else {
452+ let S = toString(al.caller)
453+ let an = aa(t, S)
454+ if ((an == 0))
455+ then throw("you had no skin in the game")
456+ else {
457+ let aH = getIntegerValue(D(t))
458+[ScriptTransfer(al.caller, an, p), DeleteEntry(R(t, S)), e(D(t), -(an)), e(E, -(an)), IntegerEntry(T(t, S), an)]
459+ }
460+ }
461+ }
462+ else throw("Strict value is not equal to itself.")
463+ }
464+
465+
466+
467+@Callable(al)
468+func cancel (t) = {
469+ let aK = m("cancel")
470+ if ((aK == aK))
471+ then {
472+ let ax = if (W(t))
473+ then true
474+ else X(t)
475+ if ((ax == ax))
476+ then if ((toString(al.caller) != getStringValue(v(t))))
477+ then throw("denied. not an owner")
478+ else [IntegerEntry(P(t), o)]
479+ else throw("Strict value is not equal to itself.")
480+ }
481+ else throw("Strict value is not equal to itself.")
482+ }
483+
484+
485+
486+@Callable(al)
487+func undoInvest (t) = {
488+ let aK = m("undoInvest")
489+ if ((aK == aK))
490+ then {
491+ let ax = W(t)
492+ if ((ax == ax))
493+ then {
494+ let aV = U(t, toString(al.caller))
495+ let aq = valueOrElse(getInteger(aV), 0)
496+ if ((aq == 0))
497+ then throw("no investments")
498+ else [DeleteEntry(aV), e(G(t), -(aq)), ScriptTransfer(al.caller, aq, Q(t))]
499+ }
500+ else throw("Strict value is not equal to itself.")
501+ }
502+ else throw("Strict value is not equal to itself.")
503+ }
504+
505+
506+
507+@Callable(al)
508+func undoCommitFor (t,ay) = {
509+ let aK = m("undoCommitFor")
510+ if ((aK == aK))
511+ then if (!(contains(r, toString(al.caller))))
512+ then throw("denied")
513+ else {
514+ let ax = W(t)
515+ if ((ax == ax))
516+ then {
517+ let aW = R(t, ay)
518+ let an = valueOrElse(getInteger(aW), 0)
519+ if ((an == 0))
520+ then throw("no skin")
521+ else $Tuple2([DeleteEntry(aW), e(D(t), -(an)), e(E, -(an)), ScriptTransfer(al.caller, an, p)], an)
522+ }
523+ else throw("Strict value is not equal to itself.")
524+ }
525+ else throw("Strict value is not equal to itself.")
526+ }
527+
528+
529+
530+@Callable(al)
531+func userPower (t,S) = $Tuple2(nil, valueOrElse(Z(t, S), 0))
532+
533+
534+
535+@Callable(al)
536+func totalPower (t) = $Tuple2(nil, valueOrErrorMessage(getInteger(D(t)), "totalPower: child not found"))
537+
538+
539+
540+@Callable(al)
541+func init (aX) = [a(k, aX)]
542+
543+

github/deemru/w8io/fabc49c 
35.42 ms