tx · B6MPnqNvu7YTFn7hsqwrvLDpeFPSCuAviNf7nNM4z4x9

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.02500000 Waves

2022.07.19 19:09 [2146854] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "B6MPnqNvu7YTFn7hsqwrvLDpeFPSCuAviNf7nNM4z4x9", "fee": 2500000, "feeAssetId": null, "timestamp": 1658246960437, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "4gpRsru355rL9QCiub58nURNPH86ACb77PGrMVM1To8kf32EKpEaqmpBryPxUexdcTUciBHCSrnxUuyZ99bo5HzP" ], "script": "base64:BgI1CAISABIAEgASABIDCgEBEgASAwoBARIAEgASAwoBCBIECgIBARIECgIBARIDCgEIEgMKAQgDAAtTdGFrZWRUb2tlbgEg+a5dhaqgwfNcHhVklvUuRcimKrmAG+DKV13AJarHD1AAC0dvdmVyblRva2VuASABbIXC10DGLlfEc7PFC2dO3zpcxegcWHrOz/9RkZaZLQAJZEFwcEFkbWluAiMzUDc0YnVIdDk4Qm5vakZjYVJFSlp0Yjk4S0R5VW1aR2VtSg4BaQELRGV2V2l0aGRyYXcABApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMDCQAAAgUKY3VycmVudEtleQUJZEFwcEFkbWluBAxEZXZCb3hBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIGRGV2Qm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwkAZgIAAAUMRGV2Qm94QW1vdW50CQACAQISTm90IGVub3VnaCBiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgZEZXZCb3gAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFDERldkJveEFtb3VudAULR292ZXJuVG9rZW4FA25pbAkAAgECLFlvdSBjYW5ub3Qgd2l0aGRyYXcgYXMgeW91ciBhcmUgbm90IHRoZSBEZXYuAWkBFVdpdGhkcmF3V2Vla2x5RWFybmluZwAEGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxNYXhEZXBvc2l0ZXIEByRtYXRjaDAJAJ0IAgUEdGhpcwIMTWF4RGVwb3NpdGVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABBJVc2VyV2Vla2x5RWFybmluZ3MJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgxfV2Vla0Vhcm5pbmcEDFN0YWtlQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgxTdGFrZUJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMECW5ld0Ftb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyV2Vla2x5RWFybmluZ3MDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAADCQBmAgAABQluZXdBbW91bnQJAAIBAh5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgAABQluZXdBbW91bnQJAAIBCQCsAgICQVVzZXIgY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBkZXBvc2l0ZWQgZnVuZHMsIFlvdXIgZGVwb3NpdCBpczogCQCkAwEJAGkCBQluZXdBbW91bnQAgMLXLwkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlcldlZWtseUVhcm5pbmdzAAAJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpNYXhEZXBvc2l0AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQluZXdBbW91bnQFC1N0YWtlZFRva2VuBQNuaWwBaQEKUHVzaFJld2FyZAAEDG1pblB1c2hCbG9jawAKBA1taW5TdGFrZUJsb2NrCQBoAgAHAKALBA5EZWxheUFmdGVyUHVzaAA8BAhXYWl0VGltZQkAaAIAoAsAAQQGbWlucmVmAAMEDkZpcnN0UHVzaFRpbWVyCQBoAgAHAKALBBd1c2VyV2FsbGV0R292ZXJuQmFsYW5jZQkA8AcCCQEHQWRkcmVzcwEICAUBaQZjYWxsZXIFYnl0ZXMFC0dvdmVyblRva2VuBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAhxBdHRhY2hlZCBwYXltZW50IGlzIHJlcXVpcmVkBAhVc2VyUHVzaAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9QdXNoBBRVc2VyTGFzdFB1c2hPbGRWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQhVc2VyUHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLVXNlclJlZnNOdW0JAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgVfcmVmcwQQVXNlclJlZnNOdW1WYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQtVc2VyUmVmc051bQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMJAGYCBRd1c2VyV2FsbGV0R292ZXJuQmFsYW5jZQgFA3BtdAZhbW91bnQDAwkAZgIJAGQCCAUDcG10BmFtb3VudAUUVXNlckxhc3RQdXNoT2xkVmFsdWUFEEhpZ2hlc3RQdXNoVmFsdWUJAAACCAUDcG10B2Fzc2V0SWQFC0dvdmVyblRva2VuBwQRVXNlckxhc3RQdXNoQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhJfVXNlckxhc3RQdXNoQmxvY2sEElVzZXJMYXN0U3Rha2VCbG9jawkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCE19Vc2VyTGFzdFN0YWtlQmxvY2sECVVzZXJTdGFrZQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJIaWdoZXN0UHVzaEFkZHJlc3MEByRtYXRjaDAJAJoIAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBZVc2VyTGFzdFB1c2hCbG9ja1ZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFEVVzZXJMYXN0UHVzaEJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDlVzZXJTdGFrZVZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCVVzZXJTdGFrZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQNRGV2Qm94QmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgZEZXZCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDERldkJveEFtb3VudAkAZAIFDURldkJveEJhbGFuY2UJAGkCCQBoAggFA3BtdAZhbW91bnQABQDoBwQNVXNlclB1c2h2YWx1ZQkAZAIIBQNwbXQGYW1vdW50BRRVc2VyTGFzdFB1c2hPbGRWYWx1ZQQITmV3RGVsYXkDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBQ5GaXJzdFB1c2hUaW1lcgkAZAIFC0FjdHVhbERlbGF5BQ5EZWxheUFmdGVyUHVzaAQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQhOZXdEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFCE5ld0RlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQMDCQBmAgUNVXNlclB1c2h2YWx1ZQAACQBmAgkAZQIFBmhlaWdodAUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUFDW1pblN0YWtlQmxvY2sHAwkAZgIJAGUCBQZoZWlnaHQFFlVzZXJMYXN0UHVzaEJsb2NrVmFsdWUFDG1pblB1c2hCbG9jawMJAGYCBQ5Vc2VyU3Rha2VWYWx1ZQAAAwkAZgIFDVVzZXJQdXNodmFsdWUFEEhpZ2hlc3RQdXNoVmFsdWUDCQBmAgULUHJpemVBbW91bnQAAAMDAwMJAGcCCQBkAgUTUHJpemVIZWlnaHRWYWx1ZU5ldwUITmV3RGVsYXkFBmhlaWdodAYJAGcCBQZoZWlnaHQJAGQCCQBkAgUTUHJpemVIZWlnaHRWYWx1ZU5ldwUITmV3RGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwYJAAACBRBIaWdoZXN0UHVzaFZhbHVlAAADCQBnAgUQVXNlclJlZnNOdW1WYWx1ZQUGbWlucmVmCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQhVc2VyUHVzaAUNVXNlclB1c2h2YWx1ZQkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgILSGlnaGVzdFB1c2gFDVVzZXJQdXNodmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFEVVzZXJMYXN0UHVzaEJsb2NrBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgVEZWxheQUITmV3RGVsYXkJAMwIAgkBDEludGVnZXJFbnRyeQICBkRldkJveAUMRGV2Qm94QW1vdW50BQNuaWwJAAIBCQCsAgIJAKwCAgIRWW91IGhhdmUgdG8gaGF2ZSAJAKQDAQUGbWlucmVmAjwgcmVmZXJyYWxzIGFscmVhZHkgc3Rha2luZyBmb3IgYSBtaW5pbXVtIG9mIDEwIGRheXMsIHRvIHB1c2gEA3R4dAMJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAACT1lvdSBjYW5ub3QgUHVzaCBhZnRlciByZXdhcmRpbmcgUHJpemUgYW5kIGJlZm9yZSBPbmUgZGF5IGhhcyBwYXNzZWQgYWZ0ZXIgYXdhcmQCEFVuZXhwZWN0ZWQgZXJyb3IJAAIBBQN0eHQJAAIBAk5Zb3UgY2Fubm90IHB1c2ggYmVmb3JlIHRoZSByZXdhcmQgaXMgdW5sb2NrZWQsIG5vIHJld2FyZCBoYXMgYmVlbiBkZXRlY3RlZCB5ZXQJAAIBAkNZb3VyIHB1c2ggaW4gdHJvaWthbiB0b2tlbiwgc2hvdWxkIGJlIEhpZ2hlciB0aGFuIGxhc3QgSGlnaGVzdCBQdXNoCQACAQJYVG8gYmUgYWJsZSB0byBwYXJ0aWNpcGF0ZSBpbiBQdXNoaW5nIGZvciB0aGUgcmV3YXJkIHlvdSBuZWVkIHRvIFN0YWtlIEFTSU1JcyBpbiB0aGUgZEFwcAkAAgECNVlvdSBoYXZlIHRvIHdhaXQgMTBtaW4gYmVmb3JlIHlvdSBjYW4gbWFrZSBhIG5ldyBQdXNoCQACAQkArAICAjpZb3VyIFB1c2ggZG90IG5vdCBjb21wbHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczogAl0xLiBQb3NpdGl2ZSBWYWx1ZSBmb3IgUHVzaCBpbiBUcm9pa2FuIFRva2UKIDIuIE11c3QgU3Rha2VkIEFTSU1JIFRva2VuIGZvciBhIG1pbmltdW0gb2Ygd2VlayAJAAIBCQCsAgIJAKwCAgJ2Q2FuIGRlcG9zaXQgb25seSBwb3NpdGl2ZSBhbW91bnRzIG9mIFRyb2lrYW4gVG9rZW4sIG9yIENoZWNrIHlvdXIgV2FsbGV0IGJhbGFuY2UgaW4gVHJvaWthLCB5b3Ugc2hvdWxkIGhhdmUgbW9yZSB0aGFuIAkApAMBBRBIaWdoZXN0UHVzaFZhbHVlAgggdG8gcHVzaAkAAgECpAFZb3UgZG8gbm90IGhhdmUgZW5vdWdoIFRyb2lrYW4gVG9rZW5zIGluIHlvdXIgV2FsbGV0IEJhbGFuY2UsIFBsZWFzZSBIYXJ2ZXN0IGlmIHlvdSBoYXZlIGVhcm5lZCBUcm9pa2FuIHdhbGxldCBvciB0cmFuc2ZlciB0byB5b3VyIHdhbGxldCBuZWNlc3NhcnkgVHJvaWthbiBhbW91bnQgIQFpAQVTdGFrZQAECFdhaXRUaW1lCQBoAgCgCwABBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAhxBdHRhY2hlZCBwYXltZW50IGlzIHJlcXVpcmVkAwMJAGYCCAUDcG10BmFtb3VudAAACQAAAggFA3BtdAdhc3NldElkBQtTdGFrZWRUb2tlbgcEH0dvdmVyblRva2VuU21hcnRDb250cmFjdEJhbGFuY2UJAPAHAgUEdGhpcwULR292ZXJuVG9rZW4EB1VzZXJBUFkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgRfQVBZBAhVc2VyUHVzaAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9QdXNoBBJVc2VyU3Rha2VkVG9rZW5LZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAghfU3Rha2luZwQSVXNlckdvdmVyblRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIJX0Vhcm5pbmdzBBJVc2VyTGFzdFN0YWtlQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfVXNlckxhc3RTdGFrZUJsb2NrBBhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfU3Rha2VkVHJhbnNhY3Rpb25zBA1BZGRyZXNzSGVpZ2h0CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIMX1ByaXplSGVpZ2h0BBBVc2VyV2Vla0Vhcm5pbmdzCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIMX1dlZWtFYXJuaW5nBBVVc2VyU3Rha2VUcmFuc2FjdGlvbnMEByRtYXRjaDAJAJoIAgUEdGhpcwUYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAxNYXhEZXBvc2l0ZXIEByRtYXRjaDAJAJ0IAgUEdGhpcwIMTWF4RGVwb3NpdGVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABA9NYXhEZXBvc2l0QmxvY2sEByRtYXRjaDAJAJoIAgUEdGhpcwIPTWF4RGVwb3NpdEJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABApNYXhEZXBvc2l0BAckbWF0Y2gwCQCaCAIFBHRoaXMCCk1heERlcG9zaXQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEU1heERlcG9zaXRlclZhbHVlAwkAZgIIBQNwbXQGYW1vdW50BQpNYXhEZXBvc2l0CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFDE1heERlcG9zaXRlcgQPTWF4RGVwb3NpdFZhbHVlAwkAZgIIBQNwbXQGYW1vdW50BQpNYXhEZXBvc2l0CAUDcG10BmFtb3VudAUKTWF4RGVwb3NpdAQUTWF4RGVwb3NpdEJsb2NrVmFsdWUDCQBmAggFA3BtdAZhbW91bnQFCk1heERlcG9zaXQFBmhlaWdodAUPTWF4RGVwb3NpdEJsb2NrBA1Vc2VyUHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCFVzZXJQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlAwkAAAIFF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlAAAFBmhlaWdodAUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUEGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAZAIFFVVzZXJTdGFrZVRyYW5zYWN0aW9ucwABBBhjdXJyZW50QW1vdW50U3Rha2VkVG9rZW4EByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlclN0YWtlZFRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBRuZXdBbW91bnRTdGFrZWRUb2tlbgkAZAIFGGN1cnJlbnRBbW91bnRTdGFrZWRUb2tlbggFA3BtdAZhbW91bnQEGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJTdGFrZUJhbGFuY2VBbW91bnQJAGQCBQxTdGFrZUJhbGFuY2UIBQNwbXQGYW1vdW50BAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVVc2VyV2Vla0Vhcm5pbmdzVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUQVXNlcldlZWtFYXJuaW5ncwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQYY3VycmVudEFtb3VudEdvdmVyblRva2VuBAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJHb3Zlcm5Ub2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBIaWdoZXN0UHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCC0hpZ2hlc3RQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJIaWdoZXN0UHVzaEFkZHJlc3MEByRtYXRjaDAJAJ0IAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABBdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcCAAUSSGlnaGVzdFB1c2hBZGRyZXNzBBNQcml6ZUhlaWdodFZhbHVlTmV3AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUGaGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlAwkAZgIAgMLXLwUfR292ZXJuVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQkAAgECPk5vIGVub3VnaCBHb3Zlcm5Ub2tlbiBJbiBDb250cmFjdCwgUGxlYXNlIGRlcG9zaXQgR292ZXJuVG9rZW5zBAZSZXdhcmQDCQAAAgUMU3Rha2VCYWxhbmNlAAAAkE4DCQBmAgUYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zAAoJAGgCCQBoAgCQTgUYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zCQBkAgABCQBpAgUUbmV3QW1vdW50U3Rha2VkVG9rZW4FDFN0YWtlQmFsYW5jZQkAaAIAkE4JAGQCAAEJAGkCBRRuZXdBbW91bnRTdGFrZWRUb2tlbgUMU3Rha2VCYWxhbmNlBAxVc2VyQVBZVmFsdWUDCQBmAgUYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAJAGkCCQBoAgBkBQZSZXdhcmQFGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgAABBRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkAZAIFGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgUGUmV3YXJkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyR292ZXJuVG9rZW5LZXkFFG5ld0Ftb3VudEdvdmVyblRva2VuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyU3Rha2VkVG9rZW5LZXkFFG5ld0Ftb3VudFN0YWtlZFRva2VuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkFGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAzAgCCQEMSW50ZWdlckVudHJ5AgIMU3Rha2VCYWxhbmNlBRJTdGFrZUJhbGFuY2VBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQdVc2VyQVBZBQxVc2VyQVBZVmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJMYXN0U3Rha2VCbG9jawUaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFCFVzZXJQdXNoBQ1Vc2VyUHVzaFZhbHVlCQDMCAIJAQtTdHJpbmdFbnRyeQICDE1heERlcG9zaXRlcgURTWF4RGVwb3NpdGVyVmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQICCk1heERlcG9zaXQFD01heERlcG9zaXRWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIPTWF4RGVwb3NpdEJsb2NrBRRNYXhEZXBvc2l0QmxvY2tWYWx1ZQkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MFF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBVc2VyV2Vla0Vhcm5pbmdzBRVVc2VyV2Vla0Vhcm5pbmdzVmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZSZXdhcmQFC0dvdmVyblRva2VuBQNuaWwJAAIBAhtDYW4gZGVwb3NpdCBvbmx5IFN0YWtlVG9rZW4BaQETV2l0aGRyYXdTdGFrZWRGdW5kcwEGYW1vdW50BAhXYWl0VGltZQkAaAIAoAsAAQQSVXNlckxhc3RTdGFrZUJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwITX1VzZXJMYXN0U3Rha2VCbG9jawQSVXNlclN0YWtlZFRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIIX1N0YWtpbmcEElVzZXJHb3Zlcm5Ub2tlbktleQkArAICCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIBXwkA2AQBBQtHb3Zlcm5Ub2tlbgQaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAPAHAgUEdGhpcwULU3Rha2VkVG9rZW4EF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJMYXN0U3Rha2VCbG9jawMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABBJIaWdoZXN0UHVzaEFkZHJlc3MEByRtYXRjaDAJAJ0IAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABBdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcCAAUSSGlnaGVzdFB1c2hBZGRyZXNzBBNQcml6ZUhlaWdodFZhbHVlTmV3AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUGaGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlBApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlclN0YWtlZFRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAluZXdBbW91bnQJAGUCBQ1jdXJyZW50QW1vdW50BQZhbW91bnQEElN0YWtlQmFsYW5jZUFtb3VudAkAZQIFDFN0YWtlQmFsYW5jZQUGYW1vdW50BBpVc2VyTGFzdFN0YWtlQmxvY2tOZXdWYWx1ZQMJAAACBRJTdGFrZUJhbGFuY2VBbW91bnQAAAAABRdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQMJAGYCAAAFBmFtb3VudAkAAgECHkNhbid0IHdpdGhkcmF3IG5lZ2F0aXZlIGFtb3VudAMJAGYCAAAFCW5ld0Ftb3VudAkAAgEJAKwCAgJBVXNlciBjYW5ub3Qgd2l0aGRyYXcgbW9yZSB0aGFuIGRlcG9zaXRlZCBmdW5kcywgWW91ciBkZXBvc2l0IGlzOiAJAKQDAQkAaQIFDWN1cnJlbnRBbW91bnQAgMLXLwMJAGYCAIDC1y8JAPAHAgUEdGhpcwULR292ZXJuVG9rZW4JAAIBCQCsAgICH05vdCBlbm91Z2ggVHJvaWthIEluIENvbnRyYWN0OiAJAKQDAQkAaQIJAPAHAgUEdGhpcwULR292ZXJuVG9rZW4AgMLXLwkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlckdvdmVyblRva2VuS2V5AIDC1y8JAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJTdGFrZWRUb2tlbktleQUJbmV3QW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxTdGFrZUJhbGFuY2UFElN0YWtlQmFsYW5jZUFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQFE1ByaXplSGVpZ2h0VmFsdWVOZXcJAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJMYXN0U3Rha2VCbG9jawUaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzBRdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAgMLXLwULR292ZXJuVG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFC1N0YWtlZFRva2VuBQNuaWwBaQEWV2l0aGRyYXdCaWdTdGFrZVJld2FyZAAECFdhaXRUaW1lCQBoAgCgCwABBBhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhlfTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrBA9CaWdTdGFrZXJSZXdhcmQJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgpfQmlnU3Rha2VyBBJVc2VyR292ZXJuVG9rZW5LZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAglfRWFybmluZ3MEEkxpbWlXaXRoZHJhd1Jld2FyZAAKBBVVc2VyR292ZXJuVG9rZW5BbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlckdvdmVyblRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABB1MYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEGUJpZ1N0YWtlclJld2FyZFRvdGFsVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwIUQmlnU3Rha2VyUmV3YXJkVG90YWwDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQSSGlnaGVzdFB1c2hBZGRyZXNzBAckbWF0Y2gwCQCdCAIFBHRoaXMCEkhpZ2hlc3RQdXNoQWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAZhbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUPQmlnU3Rha2VyUmV3YXJkAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJTdGFrZUJhbGFuY2VBbW91bnQJAGUCBRlCaWdTdGFrZXJSZXdhcmRUb3RhbFZhbHVlBQZhbW91bnQEEkJpZ1N0YWtlclJld2FyZFRheAMJAGYCAAAJAGgCCQBpAgUVVXNlckdvdmVyblRva2VuQW1vdW50AOgHCQBlAgDoBwkAaQIJAGgCAOgHCQBlAgUGaGVpZ2h0BR1MYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2tWYWx1ZQkAaAIFEkxpbWlXaXRoZHJhd1Jld2FyZACgCwkAaAIA6AcAgMLXLwkAaAIJAGkCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQA6AcJAGUCAOgHCQBpAgkAaAIA6AcJAGUCBQZoZWlnaHQFHUxhc3RCaWdTdGFrZXJSZXdhcmRCbG9ja1ZhbHVlCQBoAgUSTGltaVdpdGhkcmF3UmV3YXJkAKALAwkAZgIAAAUGYW1vdW50CQACAQkArAICCQCsAgIJAKwCAgIfQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50IAkApAMBCQBlAgUVVXNlckdvdmVyblRva2VuQW1vdW50CQBoAgDoBwCAwtcvAgUgLi4uIAkApAMBBQZhbW91bnQDAwMJAGYCCQBoAgDoBwCAwtcvBRVVc2VyR292ZXJuVG9rZW5BbW91bnQGCQBmAgABBQZhbW91bnQGCQBmAgAACQBlAgUVVXNlckdvdmVyblRva2VuQW1vdW50BRJCaWdTdGFrZXJSZXdhcmRUYXgJAAIBCQCsAgICXE5vIEFTSU1JIHJld2FyZCBhdmFpbGFibGUsIG9yIE5vdCBlbm91Z2ggRWFybmVkIFRyb2lrYW4gVG9rZW5zIHRvIGRvIHRyYW5zYWN0aW9uLCB5b3UgaGF2ZTogCQCkAwEJAGkCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQAgMLXLwMJAGYCBRJTdGFrZUJhbGFuY2VBbW91bnQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUPQmlnU3Rha2VyUmV3YXJkAAAJAMwIAgkBDEludGVnZXJFbnRyeQICFEJpZ1N0YWtlclJld2FyZFRvdGFsBRJTdGFrZUJhbGFuY2VBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJHb3Zlcm5Ub2tlbktleQkAZQIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUSQmlnU3Rha2VyUmV3YXJkVGF4CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUYTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrBQZoZWlnaHQJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzBRdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAULU3Rha2VkVG9rZW4FA25pbAkAAgECUkJhbGFuY2UgRXJyb3IsIFRvdGFsIEJpZyBTdGFrZXJzIGNhbm5vdCBiZSBuZWdhdGl2ZSwgT3BlcmF0aW9uIHdvbid0IGJlIGF1dGhvcml6ZWQBaQETSGFydmVzdEdvdmVyblRvaWtlbgEGYW1vdW50BBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQSVXNlckdvdmVyblRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIJX0Vhcm5pbmdzBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jdXJyZW50QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJHb3Zlcm5Ub2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQJbmV3QW1vdW50CQBlAgUNY3VycmVudEFtb3VudAUGYW1vdW50AwkAZgIAAAUGYW1vdW50CQACAQIeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAZgIAAAUJbmV3QW1vdW50CQACAQkArAICAkFVc2VyIGNhbm5vdCB3aXRoZHJhdyBtb3JlIHRoYW4gZGVwb3NpdGVkIGZ1bmRzLCBZb3VyIGRlcG9zaXQgaXM6IAkApAMBCQBpAgUNY3VycmVudEFtb3VudACAwtcvCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyR292ZXJuVG9rZW5LZXkFCW5ld0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFC0dvdmVyblRva2VuBQNuaWwBaQEKZGVsYXlwcml6ZQAECURlbGF5RGF5cwkAaAIAoAsAAQQIV2FpdFRpbWUJAGgCAKALAAEEElVzZXJHb3Zlcm5Ub2tlbktleQkArAICCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIBXwkA2AQBBQtHb3Zlcm5Ub2tlbgQYVXNlcldhbGxldFNHb3Zlcm5CYWxhbmNlCQDwBwIJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwULR292ZXJuVG9rZW4EGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAEEEhpZ2hlc3RQdXNoVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwILSGlnaGVzdFB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEkhpZ2hlc3RQdXNoQWRkcmVzcwQHJG1hdGNoMAkAnQgCBQR0aGlzAhJIaWdoZXN0UHVzaEFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgAEF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlAwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwIABRJIaWdoZXN0UHVzaEFkZHJlc3MEE1ByaXplSGVpZ2h0VmFsdWVOZXcDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBQZoZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUED0FjdHVhbERlbGF5Q29zdAQHJG1hdGNoMAkAmggCBQR0aGlzAglEZWxheUNvc3QDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAoEA3BtdAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkAAgECHEF0dGFjaGVkIHBheW1lbnQgaXMgcmVxdWlyZWQEDURldkJveEJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIGRGV2Qm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwMJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQJAAACCAUDcG10B2Fzc2V0SWQFC0dvdmVyblRva2VuBwMJAGYCBQtQcml6ZUFtb3VudAAABBVVc2VyR292ZXJuVG9rZW5BbW91bnQIBQNwbXQGYW1vdW50BAxEZXZCb3hBbW91bnQJAGQCBQ1EZXZCb3hCYWxhbmNlCQBpAgkAaAIIBQNwbXQGYW1vdW50AAUA6AcEDE5ld0RlbGF5Q29zdAMJAAACBQ9BY3R1YWxEZWxheUNvc3QAAACAlOvcAwkAaAIAAgUPQWN0dWFsRGVsYXlDb3N0AwkAZwIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUMTmV3RGVsYXlDb3N0BAhOZXdEZWxheQkAZAIFC0FjdHVhbERlbGF5BQlEZWxheURheXMJAMwIAgkBDEludGVnZXJFbnRyeQICBURlbGF5BQhOZXdEZWxheQkAzAgCCQEMSW50ZWdlckVudHJ5AgIJRGVsYXlDb3N0BQxOZXdEZWxheUNvc3QJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgZEZXZCb3gFDERldkJveEFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MFF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlBQNuaWwJAAIBCQCsAgIJAKwCAgJJVG8gZGVsYXkgdGhlIHJlbGVhc2Ugb2YgdGhlIHJld2FyZCBPTkUgREFZIGxhdGVyIHRoYW4gZXhwZWN0ZWQsIHlvdSBuZWVkIAkApAMBBQxOZXdEZWxheUNvc3QCB1RST0lLQXMJAAIBAl5Zb3UgY2Fubm90IGRlbGF5IHRoZSByZXdhcmQgYmVmb3JlIHJld2FyZCBpcyByZWNlaXZlZCEgUGxlYXNlIHdhaXQgdW50aWwgYSByZXdhcmQgaXMgYXZhaWxhYmxlCQACAQIpQ2FuIFVzZSBvbmx5IFRyb2lrYSBUb2tlbiB0byBEZWxheSBSZXdhcmQBaQEKQ2xhaW1Qcml6ZQAEElVzZXJTdGFrZWRUb2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBAhVc2VyUHVzaAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9QdXNoBBJVc2VyTGFzdFN0YWtlQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfVXNlckxhc3RTdGFrZUJsb2NrBA1taW5TdGFrZUJsb2NrCQBoAgCgCwAHBAZtaW5yZWYAAwQXQ29udHJhY3RHb3ZUb2tlbkJhbGFuY2UJAPAHAgUEdGhpcwULR292ZXJuVG9rZW4EGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABA1Vc2VyUHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCFVzZXJQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFVVzZXJTdGFrZWRUb2tlbkFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyU3Rha2VkVG9rZW5LZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZVdpbm5lcgQHJG1hdGNoMAkAnQgCBQR0aGlzAhJIaWdoZXN0UHVzaEFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgAEC1ByaXplSGVpZ2h0BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBIaWdoZXN0UHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCC0hpZ2hlc3RQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtVc2VyUmVmc051bQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9yZWZzBBBVc2VyUmVmc051bVZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFC1VzZXJSZWZzTnVtAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwMJAAACBQtQcml6ZUFtb3VudAAABgkAZgIAgMivoCUFF0NvbnRyYWN0R292VG9rZW5CYWxhbmNlCQACAQJJTm8gcHJpemUgdG8gQ2xhaW0gb3IgTm90IGVub3VnaCBHb3Zlcm4gVG9rZW4gZW4gQ29udHJhY3QgKE1pbiAxMDAgVHJvaWthKQMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwULUHJpemVXaW5uZXIJAAIBAjZZb3UgYXJlIG5vdCB0aGUgd2lubmVyIGhlbmNlIGNhbm5vdCBjbGFpbSB0aGUgcmV3YXJkICADAwkAZgIAgMLXLwUVVXNlclN0YWtlZFRva2VuQW1vdW50CQBmAgUNbWluU3Rha2VCbG9jawUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUHCQACAQIuWW91IGhhdmUgdG8gU3Rha2UgQVNJTUkgVG9rZW4gdG8gY2xhaW0gcmV3YXJkIAMDCQBmAgUGaGVpZ2h0CQBkAgULUHJpemVIZWlnaHQFC0FjdHVhbERlbGF5CQBnAgUNVXNlclB1c2hWYWx1ZQUQSGlnaGVzdFB1c2hWYWx1ZQcDCQBnAgUQVXNlclJlZnNOdW1WYWx1ZQUGbWlucmVmCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQtQcml6ZVdpbm5lcgULUHJpemVBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICB0Z1bmRCb3gAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgILSGlnaGVzdFB1c2gAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUIVXNlclB1c2gAAAkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MCAAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIFRGVsYXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIJRGVsYXlDb3N0AAAJAMwIAgkBC1N0cmluZ0VudHJ5AgIKTGFzdFdpbm5lcgULUHJpemVXaW5uZXIJAMwIAgkBDEludGVnZXJFbnRyeQICCUxhc3RQcml6ZQULUHJpemVBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQtQcml6ZUFtb3VudAULU3Rha2VkVG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAICU69wDBQtHb3Zlcm5Ub2tlbgUDbmlsCQACAQkArAICCQCsAgICEllvdSBoYXZlIHRvIGhhdmUgIAkApAMBBQZtaW5yZWYCRyAgcmVmZXJyYWxzIGFscmVhZHkgc3Rha2luZyBmb3IgYSBtaW5pbXVtIG9mIDEwIGRheXMgdG8gQ2xhaW0gdGhlIHByaXplCQACAQJhWW91IGhhdmUgdG8gYmUgdGhlIHVzZXIgd2l0aCB0aGUgaGlnaGVzdCBQdXNoIGFuZCB3YWl0IHRpbGwgY291bnRvd24gaXMgZmluaXNoZWQsIHRvIGNsYWltIFJld2FyZAFpAQlBZGRtZW50b3IBBk1lbnRvcgQRVXNlck1lbnRvckFkZHJlc3MJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgdfTWVudG9yAwkBAiE9AgUGTWVudG9yAgAJAMwIAgkBC1N0cmluZ0VudHJ5AgURVXNlck1lbnRvckFkZHJlc3MFBk1lbnRvcgUDbmlsCQACAQIgTWVudG9yJ3MgQWRkcmVzcyBjYW5ub3QgYmUgZW1wdHkBaQEQVXBkYXRlVHdpdHRzQ29zdAIUTGlrZVBhY2thZ2VBU0lNSUNvc3QWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdAMJAAACCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFCWRBcHBBZG1pbgkAzAgCCQEMSW50ZWdlckVudHJ5AgIUTGlrZVBhY2thZ2VBU0lNSUNvc3QFFExpa2VQYWNrYWdlQVNJTUlDb3N0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZMaWtlUGFja2FnZVRST0lLQU5Db3N0BRZMaWtlUGFja2FnZVRST0lLQU5Db3N0BQNuaWwJAAIBAhhPbmx5IGF2YWlsYWJsZSBmb3IgQWRtaW4BaQEPR2V0TGlrZXNQYWNrYWdlAg1Ud2l0dGVyVXNlcklkB1R3aXR0SWQEG0xpa2VQYWNrYWdlVFJPSUtBTkNvc3RWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAhZMaWtlUGFja2FnZVRST0lLQU5Db3N0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCFExpa2VQYWNrYWdlQVNJTUlDb3N0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwACCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAhxBdHRhY2hlZCBwYXltZW50IGlzIHJlcXVpcmVkAwMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFC1N0YWtlZFRva2VuCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAQdhc3NldElkBQtHb3Zlcm5Ub2tlbgcDCQBnAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQFGUxpa2VQYWNrYWdlQVNJTUlDb3N0VmFsdWUDCQBnAggJAJEDAggFAWkIcGF5bWVudHMAAQZhbW91bnQFG0xpa2VQYWNrYWdlVFJPSUtBTkNvc3RWYWx1ZQQKSW5mbHVlbmNlcgkArAICCQCsAgIJAKQDAQUNVHdpdHRlclVzZXJJZAIMX1R3aXR0Mkxpa2VfCQCkAwEFB1R3aXR0SWQEEUluZmx1ZW5jZXJCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCkluZmx1ZW5jZXIDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAADCQAAAgURSW5mbHVlbmNlckJhbGFuY2UAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKQDAQUNVHdpdHRlclVzZXJJZAIMX1R3aXR0Mkxpa2VfCQCkAwEFB1R3aXR0SWQJAGkCCQBoAgBfBRlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlAGQJAMwIAgkBDEludGVnZXJFbnRyeQICEExpa2VUd2l0dHNEZXZCb3gJAGkCCQBoAgAFBRlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlAGQFA25pbAkAAgECZkNhbm5vdCBhY3F1aXJlIGEgbmV3IHBhY2thZ2UsIHRoZSBwcmlvciBsaWtlIHBhY2thZ2UgaGFzIHRvIGJlIGRyYWluZWQgdG8gYmUgYWJsZSB0byBhY3F1aXJlIGEgbmV3IG9uZQkAAgEJAKwCAgIaVFJPSUtBTiBBbW91bnQgc2hvdWxkIGJlIDoJAKQDAQkAaQIFGUxpa2VQYWNrYWdlQVNJTUlDb3N0VmFsdWUAgMLXLwkAAgEJAKwCAgIYQVNJTUkgQW1vdW50IHNob3VsZCBiZSA6CQCkAwEJAGkCBRtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUAgMLXLwkAAgECMFBheW1lbnRzIHNob3VsZCBiZSBib3RoIEFTSU1JIGFuZCBUUk9JS0FOIHRva2VucwFpARdHZXRNeUxpa2VkVHdpdHRzUmV3YXJkcwEGVXNlcklkBBhVc2VyRWFybmVkTGlrZVR3aXR0QVNJTUkEByRtYXRjaDAJAJoIAgUEdGhpcwkArAICBQZVc2VySWQCDF9MaWtlX0Ftb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQcVXNlckVhcm5lZGRBcHBSVFR3aXR0VFJPSUtBTgQHJG1hdGNoMAkAmggCBQR0aGlzCQCsAgIFBlVzZXJJZAIWX1Ryb2lrYW5kQXBwX1JUX0Ftb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMDCQBnAgUYVXNlckVhcm5lZExpa2VUd2l0dEFTSU1JCQBoAgABAIDC1y8JAGcCBRxVc2VyRWFybmVkZEFwcFJUVHdpdHRUUk9JS0FOCQBoAgABAIDC1y8HCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBlVzZXJJZAIWX1Ryb2lrYW5kQXBwX1JUX0Ftb3VudAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBlVzZXJJZAIMX0xpa2VfQW1vdW50AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRhVc2VyRWFybmVkTGlrZVR3aXR0QVNJTUkFC1N0YWtlZFRva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUcVXNlckVhcm5lZGRBcHBSVFR3aXR0VFJPSUtBTgULR292ZXJuVG9rZW4FA25pbAkAAgECO01pbmltdW0gZWFybmluZ3MgdG8gd2l0aGRyYXcgYXJlOiAxMDAgQVNJTUkgYW5kIDUwIFRyb2lrYW5zAWkBFUxpbmtUd2l0dGVyQWNjMldhbGxldAENVHdpdHRlclVzZXJJZAQTVHdpdHRlckxpbmtlZFdhbGxldAQHJG1hdGNoMAkAnQgCBQR0aGlzCQCsAgIFDVR3aXR0ZXJVc2VySWQCB19XYWxsZXQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgROb25lAwkAAAIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwUTVHdpdHRlckxpbmtlZFdhbGxldAkAAgECOllvdSBhbHJlYWR5IGhhdmUgeW91ciB3YWxsZXQgbGlua2VkIHRvIHRoZSBUd2l0dGVyIGFjY291bnQDAwkBAiE9AgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBRNUd2l0dGVyTGlua2VkV2FsbGV0CQECIT0CBRNUd2l0dGVyTGlua2VkV2FsbGV0AgROb25lBwkAAgECSVRoZSB3YWxsZXQgeW91IGFyZSB1c2luZyBpcyBub3QgdGhlIGxpbmtlZCBXYWxsZXQgdG8gdGhpcyBUd2l0dGVyIGFjY291bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQ1Ud2l0dGVyVXNlcklkAgdfV2FsbGV0CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFA25pbACfNYIx", "height": 2146854, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7db296TdSDtxQ1aGsiUKGe6d1ajzxETUwyGbtqQDs644 Next: QezNWzwaroNcHwRVJK6jFzFMWYwfTtyErcF8cXepTnT Diff:
OldNewDifferences
55
66 let b = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
77
8-let c = (1 * 100000000)
8+let c = "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"
99
10-let d = (5 * 100000000)
11-
12-@Callable(e)
10+@Callable(d)
1311 func DevWithdraw () = {
14- let f = toBase58String(e.caller.bytes)
15- if ((f == "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"))
12+ let e = toBase58String(d.caller.bytes)
13+ if ((e == c))
1614 then {
17- let g = {
18- let h = getInteger(this, "DevBox")
19- if ($isInstanceOf(h, "Int"))
15+ let f = {
16+ let g = getInteger(this, "DevBox")
17+ if ($isInstanceOf(g, "Int"))
2018 then {
21- let i = h
22- i
19+ let h = g
20+ h
2321 }
2422 else 0
2523 }
26- if ((0 > g))
24+ if ((0 > f))
2725 then throw("Not enough balance")
28- else [IntegerEntry("DevBox", 0), ScriptTransfer(e.caller, g, b)]
26+ else [IntegerEntry("DevBox", 0), ScriptTransfer(d.caller, f, b)]
2927 }
3028 else throw("You cannot withdraw as your are not the Dev.")
3129 }
3230
3331
3432
35-@Callable(e)
33+@Callable(d)
3634 func WithdrawWeeklyEarning () = {
37- let j = assetBalance(this, a)
38- let k = {
39- let h = getString(this, "MaxDepositer")
40- if ($isInstanceOf(h, "String"))
35+ let i = assetBalance(this, a)
36+ let j = {
37+ let g = getString(this, "MaxDepositer")
38+ if ($isInstanceOf(g, "String"))
4139 then {
42- let i = h
43- i
40+ let h = g
41+ h
4442 }
4543 else ""
4644 }
47- let l = (toBase58String(e.caller.bytes) + "_WeekEarning")
45+ let k = (toBase58String(d.caller.bytes) + "_WeekEarning")
46+ let l = {
47+ let g = getInteger(this, "StakeBalance")
48+ if ($isInstanceOf(g, "Int"))
49+ then {
50+ let h = g
51+ h
52+ }
53+ else 0
54+ }
4855 let m = {
49- let h = getInteger(this, "StakeBalance")
50- if ($isInstanceOf(h, "Int"))
56+ let g = getInteger(this, "FundBox")
57+ if ($isInstanceOf(g, "Int"))
5158 then {
52- let i = h
53- i
59+ let h = g
60+ h
5461 }
5562 else 0
5663 }
5764 let n = {
58- let h = getInteger(this, "FundBox")
59- if ($isInstanceOf(h, "Int"))
65+ let g = getInteger(this, "PrizeHeight")
66+ if ($isInstanceOf(g, "Int"))
6067 then {
61- let i = h
62- i
68+ let h = g
69+ h
6370 }
6471 else 0
6572 }
66- let o = {
67- let h = getInteger(this, "PrizeHeight")
68- if ($isInstanceOf(h, "Int"))
73+ let o = if (if ((n == 0))
74+ then (m == 0)
75+ else false)
76+ then 0
77+ else if (if ((n == 0))
78+ then (m != 0)
79+ else false)
80+ then height
81+ else if (if ((n != 0))
82+ then (m != 0)
83+ else false)
84+ then n
85+ else 0
86+ let e = toBase58String(d.caller.bytes)
87+ let p = {
88+ let g = getInteger(this, k)
89+ if ($isInstanceOf(g, "Int"))
6990 then {
70- let i = h
71- i
91+ let h = g
92+ h
7293 }
7394 else 0
7495 }
75- let p = if (if ((o == 0))
76- then (n == 0)
77- else false)
78- then 0
79- else if (if ((o == 0))
80- then (n != 0)
81- else false)
82- then height
83- else if (if ((o != 0))
84- then (n != 0)
85- else false)
86- then o
87- else 0
88- let f = toBase58String(e.caller.bytes)
89- let q = {
90- let h = getInteger(this, l)
91- if ($isInstanceOf(h, "Int"))
92- then {
93- let i = h
94- i
95- }
96- else 0
97- }
98- if ((0 > q))
96+ if ((0 > p))
9997 then throw("Can't withdraw negative amount")
100- else if ((0 > q))
101- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((q / 100000000))))
102- else [IntegerEntry(l, 0), IntegerEntry("PrizeHeight", p), IntegerEntry("MaxDeposit", 0), ScriptTransfer(e.caller, q, a)]
98+ else if ((0 > p))
99+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((p / 100000000))))
100+ else [IntegerEntry(k, 0), IntegerEntry("PrizeHeight", o), IntegerEntry("MaxDeposit", 0), ScriptTransfer(d.caller, p, a)]
103101 }
104102
105103
106104
107-@Callable(e)
105+@Callable(d)
108106 func PushReward () = {
109- let r = 10
110- let s = (7 * 1440)
111- let t = 60
112- let u = (1440 * 1)
113- let v = 3
114- let w = (7 * 1440)
115- let x = assetBalance(Address(e.caller.bytes), b)
116- let y = if ((size(e.payments) == 1))
117- then e.payments[0]
107+ let q = 10
108+ let r = (7 * 1440)
109+ let s = 60
110+ let t = (1440 * 1)
111+ let u = 3
112+ let v = (7 * 1440)
113+ let w = assetBalance(Address(d.caller.bytes), b)
114+ let x = if ((size(d.payments) == 1))
115+ then d.payments[0]
118116 else throw("Attached payment is required")
119- let z = (toBase58String(e.caller.bytes) + "_Push")
120- let A = {
121- let h = getInteger(this, z)
122- if ($isInstanceOf(h, "Int"))
117+ let y = (toBase58String(d.caller.bytes) + "_Push")
118+ let z = {
119+ let g = getInteger(this, y)
120+ if ($isInstanceOf(g, "Int"))
123121 then {
124- let i = h
125- i
122+ let h = g
123+ h
126124 }
127125 else 0
128126 }
129- let B = (toBase58String(e.caller.bytes) + "_refs")
130- let C = {
131- let h = getInteger(this, B)
132- if ($isInstanceOf(h, "Int"))
127+ let A = (toBase58String(d.caller.bytes) + "_refs")
128+ let B = {
129+ let g = getInteger(this, A)
130+ if ($isInstanceOf(g, "Int"))
133131 then {
134- let i = h
135- i
132+ let h = g
133+ h
136134 }
137135 else 0
138136 }
139- let D = {
140- let h = getInteger(this, "HighestPush")
141- if ($isInstanceOf(h, "Int"))
137+ let C = {
138+ let g = getInteger(this, "HighestPush")
139+ if ($isInstanceOf(g, "Int"))
142140 then {
143- let i = h
144- i
141+ let h = g
142+ h
145143 }
146144 else 0
147145 }
148- if ((x > y.amount))
149- then if (if (((y.amount + A) > D))
150- then (y.assetId == b)
146+ if ((w > x.amount))
147+ then if (if (((x.amount + z) > C))
148+ then (x.assetId == b)
151149 else false)
152150 then {
153- let E = (toBase58String(e.caller.bytes) + "_UserLastPushBlock")
154- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
155- let G = (toBase58String(e.caller.bytes) + "_Staking")
156- let j = assetBalance(this, a)
151+ let D = (toBase58String(d.caller.bytes) + "_UserLastPushBlock")
152+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
153+ let F = (toBase58String(d.caller.bytes) + "_Staking")
154+ let i = assetBalance(this, a)
155+ let l = {
156+ let g = getInteger(this, "StakeBalance")
157+ if ($isInstanceOf(g, "Int"))
158+ then {
159+ let h = g
160+ h
161+ }
162+ else 0
163+ }
157164 let m = {
158- let h = getInteger(this, "StakeBalance")
159- if ($isInstanceOf(h, "Int"))
165+ let g = getInteger(this, "FundBox")
166+ if ($isInstanceOf(g, "Int"))
160167 then {
161- let i = h
162- i
168+ let h = g
169+ h
163170 }
164171 else 0
165172 }
166173 let n = {
167- let h = getInteger(this, "FundBox")
168- if ($isInstanceOf(h, "Int"))
174+ let g = getInteger(this, "PrizeHeight")
175+ if ($isInstanceOf(g, "Int"))
169176 then {
170- let i = h
171- i
177+ let h = g
178+ h
172179 }
173180 else 0
174181 }
175- let o = {
176- let h = getInteger(this, "PrizeHeight")
177- if ($isInstanceOf(h, "Int"))
182+ let o = if (if ((n == 0))
183+ then (m == 0)
184+ else false)
185+ then 0
186+ else if (if ((n == 0))
187+ then (m != 0)
188+ else false)
189+ then height
190+ else if (if ((n != 0))
191+ then (m != 0)
192+ else false)
193+ then n
194+ else 0
195+ let G = {
196+ let g = getInteger(this, "Delay")
197+ if ($isInstanceOf(g, "Int"))
178198 then {
179- let i = h
180- i
199+ let h = g
200+ h
181201 }
182202 else 0
183203 }
184- let p = if (if ((o == 0))
185- then (n == 0)
186- else false)
187- then 0
188- else if (if ((o == 0))
189- then (n != 0)
190- else false)
191- then height
192- else if (if ((o != 0))
193- then (n != 0)
194- else false)
195- then o
196- else 0
197204 let H = {
198- let h = getInteger(this, "Delay")
199- if ($isInstanceOf(h, "Int"))
205+ let g = getInteger(this, "HighestPushAddress")
206+ if ($isInstanceOf(g, "Int"))
200207 then {
201- let i = h
202- i
208+ let h = g
209+ h
203210 }
204211 else 0
205212 }
206213 let I = {
207- let h = getInteger(this, "HighestPushAddress")
208- if ($isInstanceOf(h, "Int"))
214+ let g = getInteger(this, D)
215+ if ($isInstanceOf(g, "Int"))
209216 then {
210- let i = h
211- i
217+ let h = g
218+ h
212219 }
213220 else 0
214221 }
215222 let J = {
216- let h = getInteger(this, E)
217- if ($isInstanceOf(h, "Int"))
223+ let g = getInteger(this, E)
224+ if ($isInstanceOf(g, "Int"))
218225 then {
219- let i = h
220- i
226+ let h = g
227+ h
221228 }
222229 else 0
223230 }
224231 let K = {
225- let h = getInteger(this, F)
226- if ($isInstanceOf(h, "Int"))
232+ let g = getInteger(this, F)
233+ if ($isInstanceOf(g, "Int"))
227234 then {
228- let i = h
229- i
235+ let h = g
236+ h
230237 }
231238 else 0
232239 }
233240 let L = {
234- let h = getInteger(this, G)
235- if ($isInstanceOf(h, "Int"))
241+ let g = getInteger(this, "DevBox")
242+ if ($isInstanceOf(g, "Int"))
236243 then {
237- let i = h
238- i
244+ let h = g
245+ h
239246 }
240247 else 0
241248 }
242- let M = {
243- let h = getInteger(this, "DevBox")
244- if ($isInstanceOf(h, "Int"))
245- then {
246- let i = h
247- i
248- }
249- else 0
250- }
251- let g = (M + ((y.amount * 5) / 1000))
252- let N = (y.amount + A)
253- let O = if (if ((height > ((p + H) + u)))
254- then (D > 0)
249+ let f = (L + ((x.amount * 5) / 1000))
250+ let M = (x.amount + z)
251+ let N = if (if ((height > ((o + G) + t)))
252+ then (C > 0)
255253 else false)
256- then w
257- else (H + t)
258- let P = if (if ((height > ((p + O) + u)))
259- then (D > 0)
254+ then v
255+ else (G + s)
256+ let O = if (if ((height > ((o + N) + t)))
257+ then (C > 0)
260258 else false)
261259 then ""
262- else I
263- let Q = if (if ((height > ((p + O) + u)))
264- then (D > 0)
260+ else H
261+ let P = if (if ((height > ((o + N) + t)))
262+ then (C > 0)
265263 else false)
266264 then height
267- else p
268- if (if ((N > 0))
269- then ((height - K) > s)
265+ else o
266+ if (if ((M > 0))
267+ then ((height - J) > r)
270268 else false)
271- then if (((height - J) > r))
272- then if ((L > 0))
273- then if ((N > D))
274- then if ((n > 0))
275- then if (if (if (if (((Q + O) >= height))
269+ then if (((height - I) > q))
270+ then if ((K > 0))
271+ then if ((M > C))
272+ then if ((m > 0))
273+ then if (if (if (if (((P + N) >= height))
276274 then true
277- else (height >= ((Q + O) + u)))
278- then (D > 0)
275+ else (height >= ((P + N) + t)))
276+ then (C > 0)
279277 else false)
280278 then true
281- else (D == 0))
282- then if ((C >= v))
283- then [IntegerEntry(z, N), StringEntry("HighestPushAddress", toBase58String(e.caller.bytes)), IntegerEntry("HighestPush", N), IntegerEntry(E, height), IntegerEntry("PrizeHeight", Q), IntegerEntry("Delay", O), IntegerEntry("DevBox", g)]
284- else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days, to push"))
279+ else (C == 0))
280+ then if ((B >= u))
281+ then [IntegerEntry(y, M), StringEntry("HighestPushAddress", toBase58String(d.caller.bytes)), IntegerEntry("HighestPush", M), IntegerEntry(D, height), IntegerEntry("PrizeHeight", P), IntegerEntry("Delay", N), IntegerEntry("DevBox", f)]
282+ else throw((("You have to have " + toString(u)) + " referrals already staking for a minimum of 10 days, to push"))
285283 else {
286- let R = if ((D > 0))
284+ let Q = if ((C > 0))
287285 then "You cannot Push after rewarding Prize and before One day has passed after award"
288286 else "Unexpected error"
289- throw(R)
287+ throw(Q)
290288 }
291289 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
292290 else throw("Your push in troikan token, should be Higher than last Highest Push")
295293 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
296294 2. Must Staked ASIMI Token for a minimum of week "))
297295 }
298- else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(D)) + " to push"))
296+ else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(C)) + " to push"))
299297 else throw("You do not have enough Troikan Tokens in your Wallet Balance, Please Harvest if you have earned Troikan wallet or transfer to your wallet necessary Troikan amount !")
300298 }
301299
302300
303301
304-@Callable(e)
302+@Callable(d)
305303 func Stake () = {
306- let u = (1440 * 1)
307- let y = if ((size(e.payments) == 1))
308- then e.payments[0]
304+ let t = (1440 * 1)
305+ let x = if ((size(d.payments) == 1))
306+ then d.payments[0]
309307 else throw("Attached payment is required")
310- if (if ((y.amount > 0))
311- then (y.assetId == a)
308+ if (if ((x.amount > 0))
309+ then (x.assetId == a)
312310 else false)
313311 then {
314- let S = assetBalance(this, b)
315- let T = (toBase58String(e.caller.bytes) + "_APY")
316- let z = (toBase58String(e.caller.bytes) + "_Push")
317- let U = (toBase58String(e.caller.bytes) + "_Staking")
318- let V = (toBase58String(e.caller.bytes) + "_Earnings")
319- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
320- let W = (toBase58String(e.caller.bytes) + "_StakedTransactions")
321- let X = (toBase58String(e.caller.bytes) + "_PrizeHeight")
322- let Y = (toBase58String(e.caller.bytes) + "_WeekEarning")
323- let Z = {
324- let h = getInteger(this, W)
325- if ($isInstanceOf(h, "Int"))
312+ let R = assetBalance(this, b)
313+ let S = (toBase58String(d.caller.bytes) + "_APY")
314+ let y = (toBase58String(d.caller.bytes) + "_Push")
315+ let T = (toBase58String(d.caller.bytes) + "_Staking")
316+ let U = (toBase58String(d.caller.bytes) + "_Earnings")
317+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
318+ let V = (toBase58String(d.caller.bytes) + "_StakedTransactions")
319+ let W = (toBase58String(d.caller.bytes) + "_PrizeHeight")
320+ let X = (toBase58String(d.caller.bytes) + "_WeekEarning")
321+ let Y = {
322+ let g = getInteger(this, V)
323+ if ($isInstanceOf(g, "Int"))
326324 then {
327- let i = h
328- i
325+ let h = g
326+ h
329327 }
330328 else 0
331329 }
332- let k = {
333- let h = getString(this, "MaxDepositer")
334- if ($isInstanceOf(h, "String"))
330+ let j = {
331+ let g = getString(this, "MaxDepositer")
332+ if ($isInstanceOf(g, "String"))
335333 then {
336- let i = h
337- i
334+ let h = g
335+ h
338336 }
339337 else ""
340338 }
341- let aa = {
342- let h = getInteger(this, "MaxDepositBlock")
343- if ($isInstanceOf(h, "Int"))
339+ let Z = {
340+ let g = getInteger(this, "MaxDepositBlock")
341+ if ($isInstanceOf(g, "Int"))
344342 then {
345- let i = h
346- i
343+ let h = g
344+ h
347345 }
348346 else 0
349347 }
350- let ab = {
351- let h = getInteger(this, "MaxDeposit")
352- if ($isInstanceOf(h, "Int"))
348+ let aa = {
349+ let g = getInteger(this, "MaxDeposit")
350+ if ($isInstanceOf(g, "Int"))
353351 then {
354- let i = h
355- i
352+ let h = g
353+ h
356354 }
357355 else 0
358356 }
359- let ac = if ((y.amount > ab))
360- then toBase58String(e.caller.bytes)
361- else k
362- let ad = if ((y.amount > ab))
363- then y.amount
364- else ab
365- let ae = if ((y.amount > ab))
357+ let ab = if ((x.amount > aa))
358+ then toBase58String(d.caller.bytes)
359+ else j
360+ let ac = if ((x.amount > aa))
361+ then x.amount
362+ else aa
363+ let ad = if ((x.amount > aa))
366364 then height
367- else aa
368- let af = {
369- let h = getInteger(this, z)
370- if ($isInstanceOf(h, "Int"))
365+ else Z
366+ let ae = {
367+ let g = getInteger(this, y)
368+ if ($isInstanceOf(g, "Int"))
371369 then {
372- let i = h
373- i
370+ let h = g
371+ h
374372 }
375373 else 0
376374 }
377- let K = {
378- let h = getInteger(this, F)
379- if ($isInstanceOf(h, "Int"))
375+ let J = {
376+ let g = getInteger(this, E)
377+ if ($isInstanceOf(g, "Int"))
380378 then {
381- let i = h
382- i
379+ let h = g
380+ h
383381 }
384382 else 0
385383 }
386- let ag = if ((K == 0))
384+ let af = if ((J == 0))
387385 then height
388- else K
389- let ah = (Z + 1)
390- let ai = {
391- let h = getInteger(this, U)
392- if ($isInstanceOf(h, "Int"))
386+ else J
387+ let ag = (Y + 1)
388+ let ah = {
389+ let g = getInteger(this, T)
390+ if ($isInstanceOf(g, "Int"))
393391 then {
394- let i = h
395- i
392+ let h = g
393+ h
396394 }
397395 else 0
398396 }
399- let aj = (ai + y.amount)
400- let j = assetBalance(this, a)
401- let m = {
402- let h = getInteger(this, "StakeBalance")
403- if ($isInstanceOf(h, "Int"))
397+ let ai = (ah + x.amount)
398+ let i = assetBalance(this, a)
399+ let l = {
400+ let g = getInteger(this, "StakeBalance")
401+ if ($isInstanceOf(g, "Int"))
404402 then {
405- let i = h
406- i
403+ let h = g
404+ h
407405 }
408406 else 0
409407 }
410- let ak = (m + y.amount)
411- let n = {
412- let h = getInteger(this, "FundBox")
413- if ($isInstanceOf(h, "Int"))
408+ let aj = (l + x.amount)
409+ let m = {
410+ let g = getInteger(this, "FundBox")
411+ if ($isInstanceOf(g, "Int"))
414412 then {
415- let i = h
416- i
413+ let h = g
414+ h
415+ }
416+ else 0
417+ }
418+ let ak = {
419+ let g = getInteger(this, X)
420+ if ($isInstanceOf(g, "Int"))
421+ then {
422+ let h = g
423+ h
417424 }
418425 else 0
419426 }
420427 let al = {
421- let h = getInteger(this, Y)
422- if ($isInstanceOf(h, "Int"))
428+ let g = getInteger(this, U)
429+ if ($isInstanceOf(g, "Int"))
423430 then {
424- let i = h
425- i
431+ let h = g
432+ h
426433 }
427434 else 0
428435 }
429- let am = {
430- let h = getInteger(this, V)
431- if ($isInstanceOf(h, "Int"))
436+ let n = {
437+ let g = getInteger(this, "PrizeHeight")
438+ if ($isInstanceOf(g, "Int"))
432439 then {
433- let i = h
434- i
440+ let h = g
441+ h
435442 }
436443 else 0
437444 }
438- let o = {
439- let h = getInteger(this, "PrizeHeight")
440- if ($isInstanceOf(h, "Int"))
445+ let o = if (if ((n == 0))
446+ then (m == 0)
447+ else false)
448+ then 0
449+ else if (if ((n == 0))
450+ then (m != 0)
451+ else false)
452+ then height
453+ else if (if ((n != 0))
454+ then (m != 0)
455+ else false)
456+ then n
457+ else 0
458+ let G = {
459+ let g = getInteger(this, "Delay")
460+ if ($isInstanceOf(g, "Int"))
441461 then {
442- let i = h
443- i
462+ let h = g
463+ h
444464 }
445465 else 0
446466 }
447- let p = if (if ((o == 0))
448- then (n == 0)
449- else false)
450- then 0
451- else if (if ((o == 0))
452- then (n != 0)
453- else false)
454- then height
455- else if (if ((o != 0))
456- then (n != 0)
457- else false)
458- then o
459- else 0
460- let H = {
461- let h = getInteger(this, "Delay")
462- if ($isInstanceOf(h, "Int"))
467+ let C = {
468+ let g = getInteger(this, "HighestPush")
469+ if ($isInstanceOf(g, "Int"))
463470 then {
464- let i = h
465- i
471+ let h = g
472+ h
466473 }
467474 else 0
468475 }
469- let D = {
470- let h = getInteger(this, "HighestPush")
471- if ($isInstanceOf(h, "Int"))
476+ let H = {
477+ let g = getString(this, "HighestPushAddress")
478+ if ($isInstanceOf(g, "String"))
472479 then {
473- let i = h
474- i
475- }
476- else 0
477- }
478- let I = {
479- let h = getString(this, "HighestPushAddress")
480- if ($isInstanceOf(h, "String"))
481- then {
482- let i = h
483- i
480+ let h = g
481+ h
484482 }
485483 else ""
486484 }
487- let P = if (if ((height > ((p + H) + u)))
488- then (D > 0)
485+ let O = if (if ((height > ((o + G) + t)))
486+ then (C > 0)
489487 else false)
490488 then ""
491- else I
492- let Q = if (if ((height > ((p + H) + u)))
493- then (D > 0)
489+ else H
490+ let P = if (if ((height > ((o + G) + t)))
491+ then (C > 0)
494492 else false)
495493 then height
496- else p
497- if ((100000000 > S))
494+ else o
495+ if ((100000000 > R))
498496 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
499497 else {
500- let an = if ((m == 0))
498+ let am = if ((l == 0))
501499 then 10000
502- else if ((ah > 10))
503- then ((10000 * ah) * (1 + (aj / m)))
504- else (10000 * (1 + (aj / m)))
505- let ao = if ((am > 0))
506- then ((100 * an) / am)
500+ else if ((ag > 10))
501+ then ((10000 * ag) * (1 + (ai / l)))
502+ else (10000 * (1 + (ai / l)))
503+ let an = if ((al > 0))
504+ then ((100 * am) / al)
507505 else 0
508- let ap = (am + an)
509-[IntegerEntry(V, ap), IntegerEntry(U, aj), IntegerEntry(W, ah), IntegerEntry("StakeBalance", ak), IntegerEntry("PrizeHeight", Q), IntegerEntry(T, ao), IntegerEntry(F, ag), IntegerEntry(z, af), StringEntry("MaxDepositer", ac), IntegerEntry("MaxDeposit", ad), IntegerEntry("MaxDepositBlock", ae), StringEntry("HighestPushAddress", P), IntegerEntry(Y, al), ScriptTransfer(e.caller, an, b)]
506+ let ao = (al + am)
507+[IntegerEntry(U, ao), IntegerEntry(T, ai), IntegerEntry(V, ag), IntegerEntry("StakeBalance", aj), IntegerEntry("PrizeHeight", P), IntegerEntry(S, an), IntegerEntry(E, af), IntegerEntry(y, ae), StringEntry("MaxDepositer", ab), IntegerEntry("MaxDeposit", ac), IntegerEntry("MaxDepositBlock", ad), StringEntry("HighestPushAddress", O), IntegerEntry(X, ak), ScriptTransfer(d.caller, am, b)]
510508 }
511509 }
512510 else throw("Can deposit only StakeToken")
514512
515513
516514
517-@Callable(e)
518-func WithdrawStakedFunds (aq) = {
519- let u = (1440 * 1)
520- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
521- let U = (toBase58String(e.caller.bytes) + "_Staking")
522- let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
523- let j = assetBalance(this, a)
524- let K = {
525- let h = getInteger(this, F)
526- if ($isInstanceOf(h, "Int"))
515+@Callable(d)
516+func WithdrawStakedFunds (ap) = {
517+ let t = (1440 * 1)
518+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
519+ let T = (toBase58String(d.caller.bytes) + "_Staking")
520+ let U = ((toBase58String(d.caller.bytes) + "_") + toBase58String(b))
521+ let i = assetBalance(this, a)
522+ let J = {
523+ let g = getInteger(this, E)
524+ if ($isInstanceOf(g, "Int"))
527525 then {
528- let i = h
529- i
526+ let h = g
527+ h
528+ }
529+ else 0
530+ }
531+ let l = {
532+ let g = getInteger(this, "StakeBalance")
533+ if ($isInstanceOf(g, "Int"))
534+ then {
535+ let h = g
536+ h
530537 }
531538 else 0
532539 }
533540 let m = {
534- let h = getInteger(this, "StakeBalance")
535- if ($isInstanceOf(h, "Int"))
541+ let g = getInteger(this, "FundBox")
542+ if ($isInstanceOf(g, "Int"))
536543 then {
537- let i = h
538- i
544+ let h = g
545+ h
539546 }
540547 else 0
541548 }
542549 let n = {
543- let h = getInteger(this, "FundBox")
544- if ($isInstanceOf(h, "Int"))
550+ let g = getInteger(this, "PrizeHeight")
551+ if ($isInstanceOf(g, "Int"))
545552 then {
546- let i = h
547- i
553+ let h = g
554+ h
548555 }
549556 else 0
550557 }
551- let o = {
552- let h = getInteger(this, "PrizeHeight")
553- if ($isInstanceOf(h, "Int"))
558+ let G = {
559+ let g = getInteger(this, "Delay")
560+ if ($isInstanceOf(g, "Int"))
554561 then {
555- let i = h
556- i
562+ let h = g
563+ h
564+ }
565+ else 0
566+ }
567+ let C = {
568+ let g = getInteger(this, "HighestPush")
569+ if ($isInstanceOf(g, "Int"))
570+ then {
571+ let h = g
572+ h
573+ }
574+ else 0
575+ }
576+ let o = if (if ((n == 0))
577+ then (m == 0)
578+ else false)
579+ then 0
580+ else if (if ((n == 0))
581+ then (m != 0)
582+ else false)
583+ then height
584+ else if (if ((n != 0))
585+ then (m != 0)
586+ else false)
587+ then n
588+ else 0
589+ let H = {
590+ let g = getString(this, "HighestPushAddress")
591+ if ($isInstanceOf(g, "String"))
592+ then {
593+ let h = g
594+ h
595+ }
596+ else ""
597+ }
598+ let O = if (if ((height > ((o + G) + t)))
599+ then (C > 0)
600+ else false)
601+ then ""
602+ else H
603+ let P = if (if ((height > ((o + G) + t)))
604+ then (C > 0)
605+ else false)
606+ then height
607+ else o
608+ let e = toBase58String(d.caller.bytes)
609+ let aq = {
610+ let g = getInteger(this, T)
611+ if ($isInstanceOf(g, "Int"))
612+ then {
613+ let h = g
614+ h
615+ }
616+ else 0
617+ }
618+ let p = (aq - ap)
619+ let aj = (l - ap)
620+ let af = if ((aj == 0))
621+ then 0
622+ else J
623+ if ((0 > ap))
624+ then throw("Can't withdraw negative amount")
625+ else if ((0 > p))
626+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((aq / 100000000))))
627+ else if ((100000000 > assetBalance(this, b)))
628+ then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, b) / 100000000))))
629+ else [IntegerEntry(U, 100000000), IntegerEntry(T, p), IntegerEntry("StakeBalance", aj), IntegerEntry("PrizeHeight", P), IntegerEntry(E, af), StringEntry("HighestPushAddress", O), ScriptTransfer(d.caller, 100000000, b), ScriptTransfer(d.caller, ap, a)]
630+ }
631+
632+
633+
634+@Callable(d)
635+func WithdrawBigStakeReward () = {
636+ let t = (1440 * 1)
637+ let ar = (toBase58String(d.caller.bytes) + "_LastBigStakerRewardBlock")
638+ let as = (toBase58String(d.caller.bytes) + "_BigStaker")
639+ let U = (toBase58String(d.caller.bytes) + "_Earnings")
640+ let at = 10
641+ let au = {
642+ let g = getInteger(this, U)
643+ if ($isInstanceOf(g, "Int"))
644+ then {
645+ let h = g
646+ h
647+ }
648+ else 0
649+ }
650+ let av = {
651+ let g = getInteger(this, ar)
652+ if ($isInstanceOf(g, "Int"))
653+ then {
654+ let h = g
655+ h
656+ }
657+ else 0
658+ }
659+ let aw = {
660+ let g = getInteger(this, "BigStakerRewardTotal")
661+ if ($isInstanceOf(g, "Int"))
662+ then {
663+ let h = g
664+ h
665+ }
666+ else 0
667+ }
668+ let m = {
669+ let g = getInteger(this, "FundBox")
670+ if ($isInstanceOf(g, "Int"))
671+ then {
672+ let h = g
673+ h
674+ }
675+ else 0
676+ }
677+ let n = {
678+ let g = getInteger(this, "PrizeHeight")
679+ if ($isInstanceOf(g, "Int"))
680+ then {
681+ let h = g
682+ h
683+ }
684+ else 0
685+ }
686+ let o = if (if ((n == 0))
687+ then (m == 0)
688+ else false)
689+ then 0
690+ else if (if ((n == 0))
691+ then (m != 0)
692+ else false)
693+ then height
694+ else if (if ((n != 0))
695+ then (m != 0)
696+ else false)
697+ then n
698+ else 0
699+ let G = {
700+ let g = getInteger(this, "Delay")
701+ if ($isInstanceOf(g, "Int"))
702+ then {
703+ let h = g
704+ h
705+ }
706+ else 0
707+ }
708+ let C = {
709+ let g = getInteger(this, "HighestPush")
710+ if ($isInstanceOf(g, "Int"))
711+ then {
712+ let h = g
713+ h
557714 }
558715 else 0
559716 }
560717 let H = {
561- let h = getInteger(this, "Delay")
562- if ($isInstanceOf(h, "Int"))
718+ let g = getString(this, "HighestPushAddress")
719+ if ($isInstanceOf(g, "String"))
563720 then {
564- let i = h
565- i
721+ let h = g
722+ h
723+ }
724+ else ""
725+ }
726+ let O = if (if ((height > ((o + G) + t)))
727+ then (C > 0)
728+ else false)
729+ then ""
730+ else H
731+ let P = if (if ((height > ((o + G) + t)))
732+ then (C > 0)
733+ else false)
734+ then height
735+ else o
736+ let e = toBase58String(d.caller.bytes)
737+ let ap = {
738+ let g = getInteger(this, as)
739+ if ($isInstanceOf(g, "Int"))
740+ then {
741+ let h = g
742+ h
566743 }
567744 else 0
568745 }
569- let D = {
570- let h = getInteger(this, "HighestPush")
571- if ($isInstanceOf(h, "Int"))
572- then {
573- let i = h
574- i
575- }
576- else 0
577- }
578- let p = if (if ((o == 0))
579- then (n == 0)
580- else false)
581- then 0
582- else if (if ((o == 0))
583- then (n != 0)
584- else false)
585- then height
586- else if (if ((o != 0))
587- then (n != 0)
588- else false)
589- then o
590- else 0
591- let I = {
592- let h = getString(this, "HighestPushAddress")
593- if ($isInstanceOf(h, "String"))
594- then {
595- let i = h
596- i
597- }
598- else ""
599- }
600- let P = if (if ((height > ((p + H) + u)))
601- then (D > 0)
602- else false)
603- then ""
604- else I
605- let Q = if (if ((height > ((p + H) + u)))
606- then (D > 0)
607- else false)
608- then height
609- else p
610- let f = toBase58String(e.caller.bytes)
611- let ar = {
612- let h = getInteger(this, U)
613- if ($isInstanceOf(h, "Int"))
614- then {
615- let i = h
616- i
617- }
618- else 0
619- }
620- let q = (ar - aq)
621- let ak = (m - aq)
622- let ag = if ((ak == 0))
623- then 0
624- else K
625- if ((0 > aq))
626- then throw("Can't withdraw negative amount")
627- else if ((0 > q))
628- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
629- else if ((100000000 > assetBalance(this, b)))
630- then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, b) / 100000000))))
631- else [IntegerEntry(V, 100000000), IntegerEntry(U, q), IntegerEntry("StakeBalance", ak), IntegerEntry("PrizeHeight", Q), IntegerEntry(F, ag), StringEntry("HighestPushAddress", P), ScriptTransfer(e.caller, 100000000, b), ScriptTransfer(e.caller, aq, a)]
632- }
633-
634-
635-
636-@Callable(e)
637-func WithdrawBigStakeReward () = {
638- let u = (1440 * 1)
639- let as = (toBase58String(e.caller.bytes) + "_LastBigStakerRewardBlock")
640- let at = (toBase58String(e.caller.bytes) + "_BigStaker")
641- let V = (toBase58String(e.caller.bytes) + "_Earnings")
642- let au = 10
643- let av = {
644- let h = getInteger(this, V)
645- if ($isInstanceOf(h, "Int"))
646- then {
647- let i = h
648- i
649- }
650- else 0
651- }
652- let aw = {
653- let h = getInteger(this, as)
654- if ($isInstanceOf(h, "Int"))
655- then {
656- let i = h
657- i
658- }
659- else 0
660- }
661- let ax = {
662- let h = getInteger(this, "BigStakerRewardTotal")
663- if ($isInstanceOf(h, "Int"))
664- then {
665- let i = h
666- i
667- }
668- else 0
669- }
670- let n = {
671- let h = getInteger(this, "FundBox")
672- if ($isInstanceOf(h, "Int"))
673- then {
674- let i = h
675- i
676- }
677- else 0
678- }
679- let o = {
680- let h = getInteger(this, "PrizeHeight")
681- if ($isInstanceOf(h, "Int"))
682- then {
683- let i = h
684- i
685- }
686- else 0
687- }
688- let p = if (if ((o == 0))
689- then (n == 0)
690- else false)
691- then 0
692- else if (if ((o == 0))
693- then (n != 0)
694- else false)
695- then height
696- else if (if ((o != 0))
697- then (n != 0)
698- else false)
699- then o
700- else 0
701- let H = {
702- let h = getInteger(this, "Delay")
703- if ($isInstanceOf(h, "Int"))
704- then {
705- let i = h
706- i
707- }
708- else 0
709- }
710- let D = {
711- let h = getInteger(this, "HighestPush")
712- if ($isInstanceOf(h, "Int"))
713- then {
714- let i = h
715- i
716- }
717- else 0
718- }
719- let I = {
720- let h = getString(this, "HighestPushAddress")
721- if ($isInstanceOf(h, "String"))
722- then {
723- let i = h
724- i
725- }
726- else ""
727- }
728- let P = if (if ((height > ((p + H) + u)))
729- then (D > 0)
730- else false)
731- then ""
732- else I
733- let Q = if (if ((height > ((p + H) + u)))
734- then (D > 0)
735- else false)
736- then height
737- else p
738- let f = toBase58String(e.caller.bytes)
739- let aq = {
740- let h = getInteger(this, at)
741- if ($isInstanceOf(h, "Int"))
742- then {
743- let i = h
744- i
745- }
746- else 0
747- }
748- let ak = (ax - aq)
749- let ay = if ((0 > ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))))
746+ let aj = (aw - ap)
747+ let ax = if ((0 > ((au / 1000) * (1000 - ((1000 * (height - av)) / (at * 1440))))))
750748 then (1000 * 100000000)
751- else ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))
752- if ((0 > aq))
753- then throw(((("Can't withdraw negative amount " + toString((av - (1000 * 100000000)))) + " ... ") + toString(aq)))
754- else if (if (if (((1000 * 100000000) > av))
749+ else ((au / 1000) * (1000 - ((1000 * (height - av)) / (at * 1440))))
750+ if ((0 > ap))
751+ then throw(((("Can't withdraw negative amount " + toString((au - (1000 * 100000000)))) + " ... ") + toString(ap)))
752+ else if (if (if (((1000 * 100000000) > au))
755753 then true
756- else (1 > aq))
754+ else (1 > ap))
757755 then true
758- else (0 > (av - ay)))
759- then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you have: " + toString((av / 100000000))))
760- else if ((ak > 0))
761- then [IntegerEntry(at, 0), IntegerEntry("BigStakerRewardTotal", ak), IntegerEntry(V, (av - ay)), IntegerEntry("PrizeHeight", p), IntegerEntry(as, height), StringEntry("HighestPushAddress", P), ScriptTransfer(e.caller, aq, a)]
756+ else (0 > (au - ax)))
757+ then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you have: " + toString((au / 100000000))))
758+ else if ((aj > 0))
759+ then [IntegerEntry(as, 0), IntegerEntry("BigStakerRewardTotal", aj), IntegerEntry(U, (au - ax)), IntegerEntry("PrizeHeight", o), IntegerEntry(ar, height), StringEntry("HighestPushAddress", O), ScriptTransfer(d.caller, ap, a)]
762760 else throw("Balance Error, Total Big Stakers cannot be negative, Operation won't be authorized")
763761 }
764762
765763
766764
767-@Callable(e)
768-func HarvestGovernToiken (aq) = {
769- let j = assetBalance(this, a)
770- let V = (toBase58String(e.caller.bytes) + "_Earnings")
765+@Callable(d)
766+func HarvestGovernToiken (ap) = {
767+ let i = assetBalance(this, a)
768+ let U = (toBase58String(d.caller.bytes) + "_Earnings")
769+ let l = {
770+ let g = getInteger(this, "StakeBalance")
771+ if ($isInstanceOf(g, "Int"))
772+ then {
773+ let h = g
774+ h
775+ }
776+ else 0
777+ }
771778 let m = {
772- let h = getInteger(this, "StakeBalance")
773- if ($isInstanceOf(h, "Int"))
779+ let g = getInteger(this, "FundBox")
780+ if ($isInstanceOf(g, "Int"))
774781 then {
775- let i = h
776- i
782+ let h = g
783+ h
777784 }
778785 else 0
779786 }
780787 let n = {
781- let h = getInteger(this, "FundBox")
782- if ($isInstanceOf(h, "Int"))
788+ let g = getInteger(this, "PrizeHeight")
789+ if ($isInstanceOf(g, "Int"))
783790 then {
784- let i = h
785- i
791+ let h = g
792+ h
786793 }
787794 else 0
788795 }
789- let o = {
790- let h = getInteger(this, "PrizeHeight")
791- if ($isInstanceOf(h, "Int"))
796+ let o = if (if ((n == 0))
797+ then (m == 0)
798+ else false)
799+ then 0
800+ else if (if ((n == 0))
801+ then (m != 0)
802+ else false)
803+ then height
804+ else if (if ((n != 0))
805+ then (m != 0)
806+ else false)
807+ then n
808+ else 0
809+ let e = toBase58String(d.caller.bytes)
810+ let aq = {
811+ let g = getInteger(this, U)
812+ if ($isInstanceOf(g, "Int"))
792813 then {
793- let i = h
794- i
814+ let h = g
815+ h
795816 }
796817 else 0
797818 }
798- let p = if (if ((o == 0))
799- then (n == 0)
800- else false)
801- then 0
802- else if (if ((o == 0))
803- then (n != 0)
804- else false)
805- then height
806- else if (if ((o != 0))
807- then (n != 0)
808- else false)
809- then o
810- else 0
811- let f = toBase58String(e.caller.bytes)
812- let ar = {
813- let h = getInteger(this, V)
814- if ($isInstanceOf(h, "Int"))
815- then {
816- let i = h
817- i
818- }
819- else 0
820- }
821- let q = (ar - aq)
822- if ((0 > aq))
819+ let p = (aq - ap)
820+ if ((0 > ap))
823821 then throw("Can't withdraw negative amount")
824- else if ((0 > q))
825- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
826- else [IntegerEntry(V, q), IntegerEntry("PrizeHeight", p), ScriptTransfer(e.caller, aq, b)]
822+ else if ((0 > p))
823+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((aq / 100000000))))
824+ else [IntegerEntry(U, p), IntegerEntry("PrizeHeight", o), ScriptTransfer(d.caller, ap, b)]
827825 }
828826
829827
830828
831-@Callable(e)
829+@Callable(d)
832830 func delayprize () = {
833- let az = (1440 * 1)
834- let u = (1440 * 1)
835- let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
836- let aA = assetBalance(Address(e.caller.bytes), b)
837- let j = assetBalance(this, a)
831+ let ay = (1440 * 1)
832+ let t = (1440 * 1)
833+ let U = ((toBase58String(d.caller.bytes) + "_") + toBase58String(b))
834+ let az = assetBalance(Address(d.caller.bytes), b)
835+ let i = assetBalance(this, a)
836+ let l = {
837+ let g = getInteger(this, "StakeBalance")
838+ if ($isInstanceOf(g, "Int"))
839+ then {
840+ let h = g
841+ h
842+ }
843+ else 0
844+ }
838845 let m = {
839- let h = getInteger(this, "StakeBalance")
840- if ($isInstanceOf(h, "Int"))
846+ let g = getInteger(this, "FundBox")
847+ if ($isInstanceOf(g, "Int"))
841848 then {
842- let i = h
843- i
849+ let h = g
850+ h
844851 }
845852 else 0
846853 }
847854 let n = {
848- let h = getInteger(this, "FundBox")
849- if ($isInstanceOf(h, "Int"))
855+ let g = getInteger(this, "PrizeHeight")
856+ if ($isInstanceOf(g, "Int"))
850857 then {
851- let i = h
852- i
858+ let h = g
859+ h
853860 }
854861 else 0
855862 }
856- let o = {
857- let h = getInteger(this, "PrizeHeight")
858- if ($isInstanceOf(h, "Int"))
863+ let G = {
864+ let g = getInteger(this, "Delay")
865+ if ($isInstanceOf(g, "Int"))
859866 then {
860- let i = h
861- i
867+ let h = g
868+ h
869+ }
870+ else 0
871+ }
872+ let o = if (if ((n == 0))
873+ then (m == 0)
874+ else false)
875+ then 0
876+ else if (if ((n == 0))
877+ then (m != 0)
878+ else false)
879+ then height
880+ else if (if ((n != 0))
881+ then (m != 0)
882+ else false)
883+ then n
884+ else 0
885+ let C = {
886+ let g = getInteger(this, "HighestPush")
887+ if ($isInstanceOf(g, "Int"))
888+ then {
889+ let h = g
890+ h
862891 }
863892 else 0
864893 }
865894 let H = {
866- let h = getInteger(this, "Delay")
867- if ($isInstanceOf(h, "Int"))
895+ let g = getString(this, "HighestPushAddress")
896+ if ($isInstanceOf(g, "String"))
868897 then {
869- let i = h
870- i
898+ let h = g
899+ h
900+ }
901+ else ""
902+ }
903+ let O = if (if ((height > ((o + G) + t)))
904+ then (C > 0)
905+ else false)
906+ then ""
907+ else H
908+ let P = if (if ((height > ((o + G) + t)))
909+ then (C > 0)
910+ else false)
911+ then height
912+ else o
913+ let aA = {
914+ let g = getInteger(this, "DelayCost")
915+ if ($isInstanceOf(g, "Int"))
916+ then {
917+ let h = g
918+ h
919+ }
920+ else 10
921+ }
922+ let x = if ((size(d.payments) == 1))
923+ then d.payments[0]
924+ else throw("Attached payment is required")
925+ let L = {
926+ let g = getInteger(this, "DevBox")
927+ if ($isInstanceOf(g, "Int"))
928+ then {
929+ let h = g
930+ h
871931 }
872932 else 0
873933 }
874- let p = if (if ((o == 0))
875- then (n == 0)
934+ if (if (isDefined(x.assetId))
935+ then (x.assetId == b)
876936 else false)
877- then 0
878- else if (if ((o == 0))
879- then (n != 0)
880- else false)
881- then height
882- else if (if ((o != 0))
883- then (n != 0)
884- else false)
885- then o
886- else 0
887- let D = {
888- let h = getInteger(this, "HighestPush")
889- if ($isInstanceOf(h, "Int"))
937+ then if ((m > 0))
890938 then {
891- let i = h
892- i
893- }
894- else 0
895- }
896- let I = {
897- let h = getString(this, "HighestPushAddress")
898- if ($isInstanceOf(h, "String"))
899- then {
900- let i = h
901- i
902- }
903- else ""
904- }
905- let P = if (if ((height > ((p + H) + u)))
906- then (D > 0)
907- else false)
908- then ""
909- else I
910- let Q = if (if ((height > ((p + H) + u)))
911- then (D > 0)
912- else false)
913- then height
914- else p
915- let aB = {
916- let h = getInteger(this, "DelayCost")
917- if ($isInstanceOf(h, "Int"))
918- then {
919- let i = h
920- i
921- }
922- else 10
923- }
924- let y = if ((size(e.payments) == 1))
925- then e.payments[0]
926- else throw("Attached payment is required")
927- let M = {
928- let h = getInteger(this, "DevBox")
929- if ($isInstanceOf(h, "Int"))
930- then {
931- let i = h
932- i
933- }
934- else 0
935- }
936- if (if (isDefined(y.assetId))
937- then (y.assetId == b)
938- else false)
939- then if ((n > 0))
940- then {
941- let av = y.amount
942- let g = (M + ((y.amount * 5) / 1000))
943- let aC = if ((aB == 0))
939+ let au = x.amount
940+ let f = (L + ((x.amount * 5) / 1000))
941+ let aB = if ((aA == 0))
944942 then 1000000000
945- else (2 * aB)
946- if ((av >= aC))
943+ else (2 * aA)
944+ if ((au >= aB))
947945 then {
948- let O = (H + az)
949-[IntegerEntry("Delay", O), IntegerEntry("DelayCost", aC), IntegerEntry("PrizeHeight", Q), IntegerEntry("DevBox", g), StringEntry("HighestPushAddress", P)]
946+ let N = (G + ay)
947+[IntegerEntry("Delay", N), IntegerEntry("DelayCost", aB), IntegerEntry("PrizeHeight", P), IntegerEntry("DevBox", f), StringEntry("HighestPushAddress", O)]
950948 }
951- else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(aC)) + "TROIKAs"))
949+ else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(aB)) + "TROIKAs"))
952950 }
953951 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
954952 else throw("Can Use only Troika Token to Delay Reward")
956954
957955
958956
959-@Callable(e)
957+@Callable(d)
960958 func ClaimPrize () = {
961- let U = (toBase58String(e.caller.bytes) + "_Staking")
962- let z = (toBase58String(e.caller.bytes) + "_Push")
963- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
964- let s = (1440 * 7)
965- let v = 3
966- let aD = assetBalance(this, b)
967- let j = assetBalance(this, a)
968- let m = {
969- let h = getInteger(this, "StakeBalance")
970- if ($isInstanceOf(h, "Int"))
959+ let T = (toBase58String(d.caller.bytes) + "_Staking")
960+ let y = (toBase58String(d.caller.bytes) + "_Push")
961+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
962+ let r = (1440 * 7)
963+ let u = 3
964+ let aC = assetBalance(this, b)
965+ let i = assetBalance(this, a)
966+ let l = {
967+ let g = getInteger(this, "StakeBalance")
968+ if ($isInstanceOf(g, "Int"))
971969 then {
972- let i = h
973- i
970+ let h = g
971+ h
974972 }
975973 else 0
976974 }
977- let n = {
978- let h = getInteger(this, "FundBox")
979- if ($isInstanceOf(h, "Int"))
975+ let m = {
976+ let g = getInteger(this, "FundBox")
977+ if ($isInstanceOf(g, "Int"))
980978 then {
981- let i = h
982- i
979+ let h = g
980+ h
983981 }
984982 else 0
985983 }
986- let af = {
987- let h = getInteger(this, z)
988- if ($isInstanceOf(h, "Int"))
984+ let ae = {
985+ let g = getInteger(this, y)
986+ if ($isInstanceOf(g, "Int"))
989987 then {
990- let i = h
991- i
988+ let h = g
989+ h
992990 }
993991 else 0
994992 }
995- let K = {
996- let h = getInteger(this, F)
997- if ($isInstanceOf(h, "Int"))
993+ let J = {
994+ let g = getInteger(this, E)
995+ if ($isInstanceOf(g, "Int"))
998996 then {
999- let i = h
1000- i
997+ let h = g
998+ h
999+ }
1000+ else 0
1001+ }
1002+ let aD = {
1003+ let g = getInteger(this, T)
1004+ if ($isInstanceOf(g, "Int"))
1005+ then {
1006+ let h = g
1007+ h
1008+ }
1009+ else 0
1010+ }
1011+ let G = {
1012+ let g = getInteger(this, "Delay")
1013+ if ($isInstanceOf(g, "Int"))
1014+ then {
1015+ let h = g
1016+ h
10011017 }
10021018 else 0
10031019 }
10041020 let aE = {
1005- let h = getInteger(this, U)
1006- if ($isInstanceOf(h, "Int"))
1021+ let g = getString(this, "HighestPushAddress")
1022+ if ($isInstanceOf(g, "String"))
10071023 then {
1008- let i = h
1009- i
1024+ let h = g
1025+ h
1026+ }
1027+ else ""
1028+ }
1029+ let aF = {
1030+ let g = getInteger(this, "PrizeHeight")
1031+ if ($isInstanceOf(g, "Int"))
1032+ then {
1033+ let h = g
1034+ h
10101035 }
10111036 else 0
10121037 }
1013- let H = {
1014- let h = getInteger(this, "Delay")
1015- if ($isInstanceOf(h, "Int"))
1038+ let C = {
1039+ let g = getInteger(this, "HighestPush")
1040+ if ($isInstanceOf(g, "Int"))
10161041 then {
1017- let i = h
1018- i
1042+ let h = g
1043+ h
10191044 }
10201045 else 0
10211046 }
1022- let aF = {
1023- let h = getString(this, "HighestPushAddress")
1024- if ($isInstanceOf(h, "String"))
1047+ let A = (toBase58String(d.caller.bytes) + "_refs")
1048+ let B = {
1049+ let g = getInteger(this, A)
1050+ if ($isInstanceOf(g, "Int"))
10251051 then {
1026- let i = h
1027- i
1028- }
1029- else ""
1030- }
1031- let aG = {
1032- let h = getInteger(this, "PrizeHeight")
1033- if ($isInstanceOf(h, "Int"))
1034- then {
1035- let i = h
1036- i
1052+ let h = g
1053+ h
10371054 }
10381055 else 0
10391056 }
1040- let D = {
1041- let h = getInteger(this, "HighestPush")
1042- if ($isInstanceOf(h, "Int"))
1043- then {
1044- let i = h
1045- i
1046- }
1047- else 0
1048- }
1049- let B = (toBase58String(e.caller.bytes) + "_refs")
1050- let C = {
1051- let h = getInteger(this, B)
1052- if ($isInstanceOf(h, "Int"))
1053- then {
1054- let i = h
1055- i
1056- }
1057- else 0
1058- }
1059- if (if ((n == 0))
1057+ if (if ((m == 0))
10601058 then true
1061- else (10000000000 > aD))
1059+ else (10000000000 > aC))
10621060 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
1063- else if ((toBase58String(e.caller.bytes) != aF))
1061+ else if ((toBase58String(d.caller.bytes) != aE))
10641062 then throw("You are not the winner hence cannot claim the reward ")
1065- else if (if ((100000000 > aE))
1066- then (s > K)
1063+ else if (if ((100000000 > aD))
1064+ then (r > J)
10671065 else false)
10681066 then throw("You have to Stake ASIMI Token to claim reward ")
1069- else if (if ((height > (aG + H)))
1070- then (af >= D)
1067+ else if (if ((height > (aF + G)))
1068+ then (ae >= C)
10711069 else false)
1072- then if ((C >= v))
1073- then [IntegerEntry(aF, n), IntegerEntry("FundBox", 0), IntegerEntry("HighestPush", 0), IntegerEntry(z, 0), StringEntry("HighestPushAddress", ""), IntegerEntry("PrizeHeight", 0), IntegerEntry("Delay", 0), IntegerEntry("DelayCost", 0), StringEntry("LastWinner", aF), IntegerEntry("LastPrize", n), ScriptTransfer(e.caller, n, a), ScriptTransfer(e.caller, 1000000000, b)]
1074- else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days to Claim the prize"))
1070+ then if ((B >= u))
1071+ then [IntegerEntry(aE, m), IntegerEntry("FundBox", 0), IntegerEntry("HighestPush", 0), IntegerEntry(y, 0), StringEntry("HighestPushAddress", ""), IntegerEntry("PrizeHeight", 0), IntegerEntry("Delay", 0), IntegerEntry("DelayCost", 0), StringEntry("LastWinner", aE), IntegerEntry("LastPrize", m), ScriptTransfer(d.caller, m, a), ScriptTransfer(d.caller, 1000000000, b)]
1072+ else throw((("You have to have " + toString(u)) + " referrals already staking for a minimum of 10 days to Claim the prize"))
10751073 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
10761074 }
10771075
10781076
10791077
1080-@Callable(e)
1081-func Addmentor (aH) = {
1082- let aI = (toBase58String(e.caller.bytes) + "_Mentor")
1083- if ((aH != ""))
1084- then [StringEntry(aI, aH)]
1078+@Callable(d)
1079+func Addmentor (aG) = {
1080+ let aH = (toBase58String(d.caller.bytes) + "_Mentor")
1081+ if ((aG != ""))
1082+ then [StringEntry(aH, aG)]
10851083 else throw("Mentor's Address cannot be empty")
10861084 }
10871085
10881086
10891087
1090-@Callable(e)
1091-func GetLikesPackage (aJ,aK) = {
1092- let aL = {
1093- let h = getInteger(this, "LikePackageTROIKANCost")
1094- if ($isInstanceOf(h, "Int"))
1088+@Callable(d)
1089+func UpdateTwittsCost (aI,aJ) = if ((toBase58String(d.caller.bytes) == c))
1090+ then [IntegerEntry("LikePackageASIMICost", aI), IntegerEntry("LikePackageTROIKANCost", aJ)]
1091+ else throw("Only available for Admin")
1092+
1093+
1094+
1095+@Callable(d)
1096+func GetLikesPackage (aK,aL) = {
1097+ let aM = {
1098+ let g = getInteger(this, "LikePackageTROIKANCost")
1099+ if ($isInstanceOf(g, "Int"))
10951100 then {
1096- let i = h
1097- i
1101+ let h = g
1102+ h
10981103 }
10991104 else 0
11001105 }
1101- let aM = {
1102- let h = getInteger(this, "LikePackageASIMICost")
1103- if ($isInstanceOf(h, "Int"))
1106+ let aN = {
1107+ let g = getInteger(this, "LikePackageASIMICost")
1108+ if ($isInstanceOf(g, "Int"))
11041109 then {
1105- let i = h
1106- i
1110+ let h = g
1111+ h
11071112 }
11081113 else 0
11091114 }
1110- let y = if ((size(e.payments) == 2))
1111- then e.payments[0]
1115+ let x = if ((size(d.payments) == 2))
1116+ then d.payments[0]
11121117 else throw("Attached payment is required")
1113- if (if ((e.payments[0].assetId == a))
1114- then (e.payments[1].assetId == b)
1118+ if (if ((d.payments[0].assetId == a))
1119+ then (d.payments[1].assetId == b)
11151120 else false)
1116- then if ((e.payments[0].amount >= aM))
1117- then if ((e.payments[1].amount >= aL))
1121+ then if ((d.payments[0].amount >= aN))
1122+ then if ((d.payments[1].amount >= aM))
11181123 then {
1119- let aN = ((toString(aJ) + "_Twitt2Like_") + toString(aK))
1120- let aO = {
1121- let h = getInteger(this, aN)
1122- if ($isInstanceOf(h, "Int"))
1124+ let aO = ((toString(aK) + "_Twitt2Like_") + toString(aL))
1125+ let aP = {
1126+ let g = getInteger(this, aO)
1127+ if ($isInstanceOf(g, "Int"))
11231128 then {
1124- let i = h
1125- i
1129+ let h = g
1130+ h
11261131 }
11271132 else 0
11281133 }
1129- if ((aO == 0))
1130- then [IntegerEntry(((toString(aJ) + "_Twitt2Like_") + toString(aK)), ((95 * c) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * c) / 100))]
1134+ if ((aP == 0))
1135+ then [IntegerEntry(((toString(aK) + "_Twitt2Like_") + toString(aL)), ((95 * aN) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * aN) / 100))]
11311136 else throw("Cannot acquire a new package, the prior like package has to be drained to be able to acquire a new one")
11321137 }
1133- else throw(("TROIKAN Amount should be :" + toString((c / 100000000))))
1134- else throw(("ASIMI Amount should be :" + toString((d / 100000000))))
1138+ else throw(("TROIKAN Amount should be :" + toString((aN / 100000000))))
1139+ else throw(("ASIMI Amount should be :" + toString((aM / 100000000))))
11351140 else throw("Payments should be both ASIMI and TROIKAN tokens")
11361141 }
11371142
11381143
11391144
1140-@Callable(e)
1141-func GetMyLikedTwittsRewards (aP) = {
1142- let aQ = {
1143- let h = getInteger(this, (aP + "_Like_Amount"))
1144- if ($isInstanceOf(h, "Int"))
1145+@Callable(d)
1146+func GetMyLikedTwittsRewards (aQ) = {
1147+ let aR = {
1148+ let g = getInteger(this, (aQ + "_Like_Amount"))
1149+ if ($isInstanceOf(g, "Int"))
11451150 then {
1146- let i = h
1147- i
1151+ let h = g
1152+ h
11481153 }
11491154 else 0
11501155 }
1151- let aR = {
1152- let h = getInteger(this, (aP + "_TroikandApp_RT_Amount"))
1153- if ($isInstanceOf(h, "Int"))
1156+ let aS = {
1157+ let g = getInteger(this, (aQ + "_TroikandApp_RT_Amount"))
1158+ if ($isInstanceOf(g, "Int"))
11541159 then {
1155- let i = h
1156- i
1160+ let h = g
1161+ h
11571162 }
11581163 else 0
11591164 }
1160- if (if ((aQ >= (1 * 100000000)))
1161- then (aR >= (1 * 100000000))
1165+ if (if ((aR >= (1 * 100000000)))
1166+ then (aS >= (1 * 100000000))
11621167 else false)
1163- then [IntegerEntry((aP + "_TroikandApp_RT_Amount"), 0), IntegerEntry((aP + "_Like_Amount"), 0), ScriptTransfer(e.caller, aQ, a), ScriptTransfer(e.caller, aR, b)]
1168+ then [IntegerEntry((aQ + "_TroikandApp_RT_Amount"), 0), IntegerEntry((aQ + "_Like_Amount"), 0), ScriptTransfer(d.caller, aR, a), ScriptTransfer(d.caller, aS, b)]
11641169 else throw("Minimum earnings to withdraw are: 100 ASIMI and 50 Troikans")
11651170 }
11661171
11671172
11681173
1169-@Callable(e)
1170-func LinkTwitterAcc2Wallet (aJ) = {
1171- let aS = {
1172- let h = getString(this, (aJ + "_Wallet"))
1173- if ($isInstanceOf(h, "String"))
1174+@Callable(d)
1175+func LinkTwitterAcc2Wallet (aK) = {
1176+ let aT = {
1177+ let g = getString(this, (aK + "_Wallet"))
1178+ if ($isInstanceOf(g, "String"))
11741179 then {
1175- let i = h
1176- i
1180+ let h = g
1181+ h
11771182 }
11781183 else "None"
11791184 }
1180- if ((toBase58String(e.caller.bytes) == aS))
1185+ if ((toBase58String(d.caller.bytes) == aT))
11811186 then throw("You already have your wallet linked to the Twitter account")
1182- else if (if ((toBase58String(e.caller.bytes) != aS))
1183- then (aS != "None")
1187+ else if (if ((toBase58String(d.caller.bytes) != aT))
1188+ then (aT != "None")
11841189 else false)
11851190 then throw("The wallet you are using is not the linked Wallet to this Twitter account")
1186- else [StringEntry((aJ + "_Wallet"), toBase58String(e.caller.bytes))]
1191+ else [StringEntry((aK + "_Wallet"), toBase58String(d.caller.bytes))]
11871192 }
11881193
11891194
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
55
66 let b = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
77
8-let c = (1 * 100000000)
8+let c = "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"
99
10-let d = (5 * 100000000)
11-
12-@Callable(e)
10+@Callable(d)
1311 func DevWithdraw () = {
14- let f = toBase58String(e.caller.bytes)
15- if ((f == "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"))
12+ let e = toBase58String(d.caller.bytes)
13+ if ((e == c))
1614 then {
17- let g = {
18- let h = getInteger(this, "DevBox")
19- if ($isInstanceOf(h, "Int"))
15+ let f = {
16+ let g = getInteger(this, "DevBox")
17+ if ($isInstanceOf(g, "Int"))
2018 then {
21- let i = h
22- i
19+ let h = g
20+ h
2321 }
2422 else 0
2523 }
26- if ((0 > g))
24+ if ((0 > f))
2725 then throw("Not enough balance")
28- else [IntegerEntry("DevBox", 0), ScriptTransfer(e.caller, g, b)]
26+ else [IntegerEntry("DevBox", 0), ScriptTransfer(d.caller, f, b)]
2927 }
3028 else throw("You cannot withdraw as your are not the Dev.")
3129 }
3230
3331
3432
35-@Callable(e)
33+@Callable(d)
3634 func WithdrawWeeklyEarning () = {
37- let j = assetBalance(this, a)
38- let k = {
39- let h = getString(this, "MaxDepositer")
40- if ($isInstanceOf(h, "String"))
35+ let i = assetBalance(this, a)
36+ let j = {
37+ let g = getString(this, "MaxDepositer")
38+ if ($isInstanceOf(g, "String"))
4139 then {
42- let i = h
43- i
40+ let h = g
41+ h
4442 }
4543 else ""
4644 }
47- let l = (toBase58String(e.caller.bytes) + "_WeekEarning")
45+ let k = (toBase58String(d.caller.bytes) + "_WeekEarning")
46+ let l = {
47+ let g = getInteger(this, "StakeBalance")
48+ if ($isInstanceOf(g, "Int"))
49+ then {
50+ let h = g
51+ h
52+ }
53+ else 0
54+ }
4855 let m = {
49- let h = getInteger(this, "StakeBalance")
50- if ($isInstanceOf(h, "Int"))
56+ let g = getInteger(this, "FundBox")
57+ if ($isInstanceOf(g, "Int"))
5158 then {
52- let i = h
53- i
59+ let h = g
60+ h
5461 }
5562 else 0
5663 }
5764 let n = {
58- let h = getInteger(this, "FundBox")
59- if ($isInstanceOf(h, "Int"))
65+ let g = getInteger(this, "PrizeHeight")
66+ if ($isInstanceOf(g, "Int"))
6067 then {
61- let i = h
62- i
68+ let h = g
69+ h
6370 }
6471 else 0
6572 }
66- let o = {
67- let h = getInteger(this, "PrizeHeight")
68- if ($isInstanceOf(h, "Int"))
73+ let o = if (if ((n == 0))
74+ then (m == 0)
75+ else false)
76+ then 0
77+ else if (if ((n == 0))
78+ then (m != 0)
79+ else false)
80+ then height
81+ else if (if ((n != 0))
82+ then (m != 0)
83+ else false)
84+ then n
85+ else 0
86+ let e = toBase58String(d.caller.bytes)
87+ let p = {
88+ let g = getInteger(this, k)
89+ if ($isInstanceOf(g, "Int"))
6990 then {
70- let i = h
71- i
91+ let h = g
92+ h
7293 }
7394 else 0
7495 }
75- let p = if (if ((o == 0))
76- then (n == 0)
77- else false)
78- then 0
79- else if (if ((o == 0))
80- then (n != 0)
81- else false)
82- then height
83- else if (if ((o != 0))
84- then (n != 0)
85- else false)
86- then o
87- else 0
88- let f = toBase58String(e.caller.bytes)
89- let q = {
90- let h = getInteger(this, l)
91- if ($isInstanceOf(h, "Int"))
92- then {
93- let i = h
94- i
95- }
96- else 0
97- }
98- if ((0 > q))
96+ if ((0 > p))
9997 then throw("Can't withdraw negative amount")
100- else if ((0 > q))
101- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((q / 100000000))))
102- else [IntegerEntry(l, 0), IntegerEntry("PrizeHeight", p), IntegerEntry("MaxDeposit", 0), ScriptTransfer(e.caller, q, a)]
98+ else if ((0 > p))
99+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((p / 100000000))))
100+ else [IntegerEntry(k, 0), IntegerEntry("PrizeHeight", o), IntegerEntry("MaxDeposit", 0), ScriptTransfer(d.caller, p, a)]
103101 }
104102
105103
106104
107-@Callable(e)
105+@Callable(d)
108106 func PushReward () = {
109- let r = 10
110- let s = (7 * 1440)
111- let t = 60
112- let u = (1440 * 1)
113- let v = 3
114- let w = (7 * 1440)
115- let x = assetBalance(Address(e.caller.bytes), b)
116- let y = if ((size(e.payments) == 1))
117- then e.payments[0]
107+ let q = 10
108+ let r = (7 * 1440)
109+ let s = 60
110+ let t = (1440 * 1)
111+ let u = 3
112+ let v = (7 * 1440)
113+ let w = assetBalance(Address(d.caller.bytes), b)
114+ let x = if ((size(d.payments) == 1))
115+ then d.payments[0]
118116 else throw("Attached payment is required")
119- let z = (toBase58String(e.caller.bytes) + "_Push")
120- let A = {
121- let h = getInteger(this, z)
122- if ($isInstanceOf(h, "Int"))
117+ let y = (toBase58String(d.caller.bytes) + "_Push")
118+ let z = {
119+ let g = getInteger(this, y)
120+ if ($isInstanceOf(g, "Int"))
123121 then {
124- let i = h
125- i
122+ let h = g
123+ h
126124 }
127125 else 0
128126 }
129- let B = (toBase58String(e.caller.bytes) + "_refs")
130- let C = {
131- let h = getInteger(this, B)
132- if ($isInstanceOf(h, "Int"))
127+ let A = (toBase58String(d.caller.bytes) + "_refs")
128+ let B = {
129+ let g = getInteger(this, A)
130+ if ($isInstanceOf(g, "Int"))
133131 then {
134- let i = h
135- i
132+ let h = g
133+ h
136134 }
137135 else 0
138136 }
139- let D = {
140- let h = getInteger(this, "HighestPush")
141- if ($isInstanceOf(h, "Int"))
137+ let C = {
138+ let g = getInteger(this, "HighestPush")
139+ if ($isInstanceOf(g, "Int"))
142140 then {
143- let i = h
144- i
141+ let h = g
142+ h
145143 }
146144 else 0
147145 }
148- if ((x > y.amount))
149- then if (if (((y.amount + A) > D))
150- then (y.assetId == b)
146+ if ((w > x.amount))
147+ then if (if (((x.amount + z) > C))
148+ then (x.assetId == b)
151149 else false)
152150 then {
153- let E = (toBase58String(e.caller.bytes) + "_UserLastPushBlock")
154- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
155- let G = (toBase58String(e.caller.bytes) + "_Staking")
156- let j = assetBalance(this, a)
151+ let D = (toBase58String(d.caller.bytes) + "_UserLastPushBlock")
152+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
153+ let F = (toBase58String(d.caller.bytes) + "_Staking")
154+ let i = assetBalance(this, a)
155+ let l = {
156+ let g = getInteger(this, "StakeBalance")
157+ if ($isInstanceOf(g, "Int"))
158+ then {
159+ let h = g
160+ h
161+ }
162+ else 0
163+ }
157164 let m = {
158- let h = getInteger(this, "StakeBalance")
159- if ($isInstanceOf(h, "Int"))
165+ let g = getInteger(this, "FundBox")
166+ if ($isInstanceOf(g, "Int"))
160167 then {
161- let i = h
162- i
168+ let h = g
169+ h
163170 }
164171 else 0
165172 }
166173 let n = {
167- let h = getInteger(this, "FundBox")
168- if ($isInstanceOf(h, "Int"))
174+ let g = getInteger(this, "PrizeHeight")
175+ if ($isInstanceOf(g, "Int"))
169176 then {
170- let i = h
171- i
177+ let h = g
178+ h
172179 }
173180 else 0
174181 }
175- let o = {
176- let h = getInteger(this, "PrizeHeight")
177- if ($isInstanceOf(h, "Int"))
182+ let o = if (if ((n == 0))
183+ then (m == 0)
184+ else false)
185+ then 0
186+ else if (if ((n == 0))
187+ then (m != 0)
188+ else false)
189+ then height
190+ else if (if ((n != 0))
191+ then (m != 0)
192+ else false)
193+ then n
194+ else 0
195+ let G = {
196+ let g = getInteger(this, "Delay")
197+ if ($isInstanceOf(g, "Int"))
178198 then {
179- let i = h
180- i
199+ let h = g
200+ h
181201 }
182202 else 0
183203 }
184- let p = if (if ((o == 0))
185- then (n == 0)
186- else false)
187- then 0
188- else if (if ((o == 0))
189- then (n != 0)
190- else false)
191- then height
192- else if (if ((o != 0))
193- then (n != 0)
194- else false)
195- then o
196- else 0
197204 let H = {
198- let h = getInteger(this, "Delay")
199- if ($isInstanceOf(h, "Int"))
205+ let g = getInteger(this, "HighestPushAddress")
206+ if ($isInstanceOf(g, "Int"))
200207 then {
201- let i = h
202- i
208+ let h = g
209+ h
203210 }
204211 else 0
205212 }
206213 let I = {
207- let h = getInteger(this, "HighestPushAddress")
208- if ($isInstanceOf(h, "Int"))
214+ let g = getInteger(this, D)
215+ if ($isInstanceOf(g, "Int"))
209216 then {
210- let i = h
211- i
217+ let h = g
218+ h
212219 }
213220 else 0
214221 }
215222 let J = {
216- let h = getInteger(this, E)
217- if ($isInstanceOf(h, "Int"))
223+ let g = getInteger(this, E)
224+ if ($isInstanceOf(g, "Int"))
218225 then {
219- let i = h
220- i
226+ let h = g
227+ h
221228 }
222229 else 0
223230 }
224231 let K = {
225- let h = getInteger(this, F)
226- if ($isInstanceOf(h, "Int"))
232+ let g = getInteger(this, F)
233+ if ($isInstanceOf(g, "Int"))
227234 then {
228- let i = h
229- i
235+ let h = g
236+ h
230237 }
231238 else 0
232239 }
233240 let L = {
234- let h = getInteger(this, G)
235- if ($isInstanceOf(h, "Int"))
241+ let g = getInteger(this, "DevBox")
242+ if ($isInstanceOf(g, "Int"))
236243 then {
237- let i = h
238- i
244+ let h = g
245+ h
239246 }
240247 else 0
241248 }
242- let M = {
243- let h = getInteger(this, "DevBox")
244- if ($isInstanceOf(h, "Int"))
245- then {
246- let i = h
247- i
248- }
249- else 0
250- }
251- let g = (M + ((y.amount * 5) / 1000))
252- let N = (y.amount + A)
253- let O = if (if ((height > ((p + H) + u)))
254- then (D > 0)
249+ let f = (L + ((x.amount * 5) / 1000))
250+ let M = (x.amount + z)
251+ let N = if (if ((height > ((o + G) + t)))
252+ then (C > 0)
255253 else false)
256- then w
257- else (H + t)
258- let P = if (if ((height > ((p + O) + u)))
259- then (D > 0)
254+ then v
255+ else (G + s)
256+ let O = if (if ((height > ((o + N) + t)))
257+ then (C > 0)
260258 else false)
261259 then ""
262- else I
263- let Q = if (if ((height > ((p + O) + u)))
264- then (D > 0)
260+ else H
261+ let P = if (if ((height > ((o + N) + t)))
262+ then (C > 0)
265263 else false)
266264 then height
267- else p
268- if (if ((N > 0))
269- then ((height - K) > s)
265+ else o
266+ if (if ((M > 0))
267+ then ((height - J) > r)
270268 else false)
271- then if (((height - J) > r))
272- then if ((L > 0))
273- then if ((N > D))
274- then if ((n > 0))
275- then if (if (if (if (((Q + O) >= height))
269+ then if (((height - I) > q))
270+ then if ((K > 0))
271+ then if ((M > C))
272+ then if ((m > 0))
273+ then if (if (if (if (((P + N) >= height))
276274 then true
277- else (height >= ((Q + O) + u)))
278- then (D > 0)
275+ else (height >= ((P + N) + t)))
276+ then (C > 0)
279277 else false)
280278 then true
281- else (D == 0))
282- then if ((C >= v))
283- then [IntegerEntry(z, N), StringEntry("HighestPushAddress", toBase58String(e.caller.bytes)), IntegerEntry("HighestPush", N), IntegerEntry(E, height), IntegerEntry("PrizeHeight", Q), IntegerEntry("Delay", O), IntegerEntry("DevBox", g)]
284- else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days, to push"))
279+ else (C == 0))
280+ then if ((B >= u))
281+ then [IntegerEntry(y, M), StringEntry("HighestPushAddress", toBase58String(d.caller.bytes)), IntegerEntry("HighestPush", M), IntegerEntry(D, height), IntegerEntry("PrizeHeight", P), IntegerEntry("Delay", N), IntegerEntry("DevBox", f)]
282+ else throw((("You have to have " + toString(u)) + " referrals already staking for a minimum of 10 days, to push"))
285283 else {
286- let R = if ((D > 0))
284+ let Q = if ((C > 0))
287285 then "You cannot Push after rewarding Prize and before One day has passed after award"
288286 else "Unexpected error"
289- throw(R)
287+ throw(Q)
290288 }
291289 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
292290 else throw("Your push in troikan token, should be Higher than last Highest Push")
293291 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
294292 else throw("You have to wait 10min before you can make a new Push")
295293 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
296294 2. Must Staked ASIMI Token for a minimum of week "))
297295 }
298- else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(D)) + " to push"))
296+ else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(C)) + " to push"))
299297 else throw("You do not have enough Troikan Tokens in your Wallet Balance, Please Harvest if you have earned Troikan wallet or transfer to your wallet necessary Troikan amount !")
300298 }
301299
302300
303301
304-@Callable(e)
302+@Callable(d)
305303 func Stake () = {
306- let u = (1440 * 1)
307- let y = if ((size(e.payments) == 1))
308- then e.payments[0]
304+ let t = (1440 * 1)
305+ let x = if ((size(d.payments) == 1))
306+ then d.payments[0]
309307 else throw("Attached payment is required")
310- if (if ((y.amount > 0))
311- then (y.assetId == a)
308+ if (if ((x.amount > 0))
309+ then (x.assetId == a)
312310 else false)
313311 then {
314- let S = assetBalance(this, b)
315- let T = (toBase58String(e.caller.bytes) + "_APY")
316- let z = (toBase58String(e.caller.bytes) + "_Push")
317- let U = (toBase58String(e.caller.bytes) + "_Staking")
318- let V = (toBase58String(e.caller.bytes) + "_Earnings")
319- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
320- let W = (toBase58String(e.caller.bytes) + "_StakedTransactions")
321- let X = (toBase58String(e.caller.bytes) + "_PrizeHeight")
322- let Y = (toBase58String(e.caller.bytes) + "_WeekEarning")
323- let Z = {
324- let h = getInteger(this, W)
325- if ($isInstanceOf(h, "Int"))
312+ let R = assetBalance(this, b)
313+ let S = (toBase58String(d.caller.bytes) + "_APY")
314+ let y = (toBase58String(d.caller.bytes) + "_Push")
315+ let T = (toBase58String(d.caller.bytes) + "_Staking")
316+ let U = (toBase58String(d.caller.bytes) + "_Earnings")
317+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
318+ let V = (toBase58String(d.caller.bytes) + "_StakedTransactions")
319+ let W = (toBase58String(d.caller.bytes) + "_PrizeHeight")
320+ let X = (toBase58String(d.caller.bytes) + "_WeekEarning")
321+ let Y = {
322+ let g = getInteger(this, V)
323+ if ($isInstanceOf(g, "Int"))
326324 then {
327- let i = h
328- i
325+ let h = g
326+ h
329327 }
330328 else 0
331329 }
332- let k = {
333- let h = getString(this, "MaxDepositer")
334- if ($isInstanceOf(h, "String"))
330+ let j = {
331+ let g = getString(this, "MaxDepositer")
332+ if ($isInstanceOf(g, "String"))
335333 then {
336- let i = h
337- i
334+ let h = g
335+ h
338336 }
339337 else ""
340338 }
341- let aa = {
342- let h = getInteger(this, "MaxDepositBlock")
343- if ($isInstanceOf(h, "Int"))
339+ let Z = {
340+ let g = getInteger(this, "MaxDepositBlock")
341+ if ($isInstanceOf(g, "Int"))
344342 then {
345- let i = h
346- i
343+ let h = g
344+ h
347345 }
348346 else 0
349347 }
350- let ab = {
351- let h = getInteger(this, "MaxDeposit")
352- if ($isInstanceOf(h, "Int"))
348+ let aa = {
349+ let g = getInteger(this, "MaxDeposit")
350+ if ($isInstanceOf(g, "Int"))
353351 then {
354- let i = h
355- i
352+ let h = g
353+ h
356354 }
357355 else 0
358356 }
359- let ac = if ((y.amount > ab))
360- then toBase58String(e.caller.bytes)
361- else k
362- let ad = if ((y.amount > ab))
363- then y.amount
364- else ab
365- let ae = if ((y.amount > ab))
357+ let ab = if ((x.amount > aa))
358+ then toBase58String(d.caller.bytes)
359+ else j
360+ let ac = if ((x.amount > aa))
361+ then x.amount
362+ else aa
363+ let ad = if ((x.amount > aa))
366364 then height
367- else aa
368- let af = {
369- let h = getInteger(this, z)
370- if ($isInstanceOf(h, "Int"))
365+ else Z
366+ let ae = {
367+ let g = getInteger(this, y)
368+ if ($isInstanceOf(g, "Int"))
371369 then {
372- let i = h
373- i
370+ let h = g
371+ h
374372 }
375373 else 0
376374 }
377- let K = {
378- let h = getInteger(this, F)
379- if ($isInstanceOf(h, "Int"))
375+ let J = {
376+ let g = getInteger(this, E)
377+ if ($isInstanceOf(g, "Int"))
380378 then {
381- let i = h
382- i
379+ let h = g
380+ h
383381 }
384382 else 0
385383 }
386- let ag = if ((K == 0))
384+ let af = if ((J == 0))
387385 then height
388- else K
389- let ah = (Z + 1)
390- let ai = {
391- let h = getInteger(this, U)
392- if ($isInstanceOf(h, "Int"))
386+ else J
387+ let ag = (Y + 1)
388+ let ah = {
389+ let g = getInteger(this, T)
390+ if ($isInstanceOf(g, "Int"))
393391 then {
394- let i = h
395- i
392+ let h = g
393+ h
396394 }
397395 else 0
398396 }
399- let aj = (ai + y.amount)
400- let j = assetBalance(this, a)
401- let m = {
402- let h = getInteger(this, "StakeBalance")
403- if ($isInstanceOf(h, "Int"))
397+ let ai = (ah + x.amount)
398+ let i = assetBalance(this, a)
399+ let l = {
400+ let g = getInteger(this, "StakeBalance")
401+ if ($isInstanceOf(g, "Int"))
404402 then {
405- let i = h
406- i
403+ let h = g
404+ h
407405 }
408406 else 0
409407 }
410- let ak = (m + y.amount)
411- let n = {
412- let h = getInteger(this, "FundBox")
413- if ($isInstanceOf(h, "Int"))
408+ let aj = (l + x.amount)
409+ let m = {
410+ let g = getInteger(this, "FundBox")
411+ if ($isInstanceOf(g, "Int"))
414412 then {
415- let i = h
416- i
413+ let h = g
414+ h
415+ }
416+ else 0
417+ }
418+ let ak = {
419+ let g = getInteger(this, X)
420+ if ($isInstanceOf(g, "Int"))
421+ then {
422+ let h = g
423+ h
417424 }
418425 else 0
419426 }
420427 let al = {
421- let h = getInteger(this, Y)
422- if ($isInstanceOf(h, "Int"))
428+ let g = getInteger(this, U)
429+ if ($isInstanceOf(g, "Int"))
423430 then {
424- let i = h
425- i
431+ let h = g
432+ h
426433 }
427434 else 0
428435 }
429- let am = {
430- let h = getInteger(this, V)
431- if ($isInstanceOf(h, "Int"))
436+ let n = {
437+ let g = getInteger(this, "PrizeHeight")
438+ if ($isInstanceOf(g, "Int"))
432439 then {
433- let i = h
434- i
440+ let h = g
441+ h
435442 }
436443 else 0
437444 }
438- let o = {
439- let h = getInteger(this, "PrizeHeight")
440- if ($isInstanceOf(h, "Int"))
445+ let o = if (if ((n == 0))
446+ then (m == 0)
447+ else false)
448+ then 0
449+ else if (if ((n == 0))
450+ then (m != 0)
451+ else false)
452+ then height
453+ else if (if ((n != 0))
454+ then (m != 0)
455+ else false)
456+ then n
457+ else 0
458+ let G = {
459+ let g = getInteger(this, "Delay")
460+ if ($isInstanceOf(g, "Int"))
441461 then {
442- let i = h
443- i
462+ let h = g
463+ h
444464 }
445465 else 0
446466 }
447- let p = if (if ((o == 0))
448- then (n == 0)
449- else false)
450- then 0
451- else if (if ((o == 0))
452- then (n != 0)
453- else false)
454- then height
455- else if (if ((o != 0))
456- then (n != 0)
457- else false)
458- then o
459- else 0
460- let H = {
461- let h = getInteger(this, "Delay")
462- if ($isInstanceOf(h, "Int"))
467+ let C = {
468+ let g = getInteger(this, "HighestPush")
469+ if ($isInstanceOf(g, "Int"))
463470 then {
464- let i = h
465- i
471+ let h = g
472+ h
466473 }
467474 else 0
468475 }
469- let D = {
470- let h = getInteger(this, "HighestPush")
471- if ($isInstanceOf(h, "Int"))
476+ let H = {
477+ let g = getString(this, "HighestPushAddress")
478+ if ($isInstanceOf(g, "String"))
472479 then {
473- let i = h
474- i
475- }
476- else 0
477- }
478- let I = {
479- let h = getString(this, "HighestPushAddress")
480- if ($isInstanceOf(h, "String"))
481- then {
482- let i = h
483- i
480+ let h = g
481+ h
484482 }
485483 else ""
486484 }
487- let P = if (if ((height > ((p + H) + u)))
488- then (D > 0)
485+ let O = if (if ((height > ((o + G) + t)))
486+ then (C > 0)
489487 else false)
490488 then ""
491- else I
492- let Q = if (if ((height > ((p + H) + u)))
493- then (D > 0)
489+ else H
490+ let P = if (if ((height > ((o + G) + t)))
491+ then (C > 0)
494492 else false)
495493 then height
496- else p
497- if ((100000000 > S))
494+ else o
495+ if ((100000000 > R))
498496 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
499497 else {
500- let an = if ((m == 0))
498+ let am = if ((l == 0))
501499 then 10000
502- else if ((ah > 10))
503- then ((10000 * ah) * (1 + (aj / m)))
504- else (10000 * (1 + (aj / m)))
505- let ao = if ((am > 0))
506- then ((100 * an) / am)
500+ else if ((ag > 10))
501+ then ((10000 * ag) * (1 + (ai / l)))
502+ else (10000 * (1 + (ai / l)))
503+ let an = if ((al > 0))
504+ then ((100 * am) / al)
507505 else 0
508- let ap = (am + an)
509-[IntegerEntry(V, ap), IntegerEntry(U, aj), IntegerEntry(W, ah), IntegerEntry("StakeBalance", ak), IntegerEntry("PrizeHeight", Q), IntegerEntry(T, ao), IntegerEntry(F, ag), IntegerEntry(z, af), StringEntry("MaxDepositer", ac), IntegerEntry("MaxDeposit", ad), IntegerEntry("MaxDepositBlock", ae), StringEntry("HighestPushAddress", P), IntegerEntry(Y, al), ScriptTransfer(e.caller, an, b)]
506+ let ao = (al + am)
507+[IntegerEntry(U, ao), IntegerEntry(T, ai), IntegerEntry(V, ag), IntegerEntry("StakeBalance", aj), IntegerEntry("PrizeHeight", P), IntegerEntry(S, an), IntegerEntry(E, af), IntegerEntry(y, ae), StringEntry("MaxDepositer", ab), IntegerEntry("MaxDeposit", ac), IntegerEntry("MaxDepositBlock", ad), StringEntry("HighestPushAddress", O), IntegerEntry(X, ak), ScriptTransfer(d.caller, am, b)]
510508 }
511509 }
512510 else throw("Can deposit only StakeToken")
513511 }
514512
515513
516514
517-@Callable(e)
518-func WithdrawStakedFunds (aq) = {
519- let u = (1440 * 1)
520- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
521- let U = (toBase58String(e.caller.bytes) + "_Staking")
522- let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
523- let j = assetBalance(this, a)
524- let K = {
525- let h = getInteger(this, F)
526- if ($isInstanceOf(h, "Int"))
515+@Callable(d)
516+func WithdrawStakedFunds (ap) = {
517+ let t = (1440 * 1)
518+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
519+ let T = (toBase58String(d.caller.bytes) + "_Staking")
520+ let U = ((toBase58String(d.caller.bytes) + "_") + toBase58String(b))
521+ let i = assetBalance(this, a)
522+ let J = {
523+ let g = getInteger(this, E)
524+ if ($isInstanceOf(g, "Int"))
527525 then {
528- let i = h
529- i
526+ let h = g
527+ h
528+ }
529+ else 0
530+ }
531+ let l = {
532+ let g = getInteger(this, "StakeBalance")
533+ if ($isInstanceOf(g, "Int"))
534+ then {
535+ let h = g
536+ h
530537 }
531538 else 0
532539 }
533540 let m = {
534- let h = getInteger(this, "StakeBalance")
535- if ($isInstanceOf(h, "Int"))
541+ let g = getInteger(this, "FundBox")
542+ if ($isInstanceOf(g, "Int"))
536543 then {
537- let i = h
538- i
544+ let h = g
545+ h
539546 }
540547 else 0
541548 }
542549 let n = {
543- let h = getInteger(this, "FundBox")
544- if ($isInstanceOf(h, "Int"))
550+ let g = getInteger(this, "PrizeHeight")
551+ if ($isInstanceOf(g, "Int"))
545552 then {
546- let i = h
547- i
553+ let h = g
554+ h
548555 }
549556 else 0
550557 }
551- let o = {
552- let h = getInteger(this, "PrizeHeight")
553- if ($isInstanceOf(h, "Int"))
558+ let G = {
559+ let g = getInteger(this, "Delay")
560+ if ($isInstanceOf(g, "Int"))
554561 then {
555- let i = h
556- i
562+ let h = g
563+ h
564+ }
565+ else 0
566+ }
567+ let C = {
568+ let g = getInteger(this, "HighestPush")
569+ if ($isInstanceOf(g, "Int"))
570+ then {
571+ let h = g
572+ h
573+ }
574+ else 0
575+ }
576+ let o = if (if ((n == 0))
577+ then (m == 0)
578+ else false)
579+ then 0
580+ else if (if ((n == 0))
581+ then (m != 0)
582+ else false)
583+ then height
584+ else if (if ((n != 0))
585+ then (m != 0)
586+ else false)
587+ then n
588+ else 0
589+ let H = {
590+ let g = getString(this, "HighestPushAddress")
591+ if ($isInstanceOf(g, "String"))
592+ then {
593+ let h = g
594+ h
595+ }
596+ else ""
597+ }
598+ let O = if (if ((height > ((o + G) + t)))
599+ then (C > 0)
600+ else false)
601+ then ""
602+ else H
603+ let P = if (if ((height > ((o + G) + t)))
604+ then (C > 0)
605+ else false)
606+ then height
607+ else o
608+ let e = toBase58String(d.caller.bytes)
609+ let aq = {
610+ let g = getInteger(this, T)
611+ if ($isInstanceOf(g, "Int"))
612+ then {
613+ let h = g
614+ h
615+ }
616+ else 0
617+ }
618+ let p = (aq - ap)
619+ let aj = (l - ap)
620+ let af = if ((aj == 0))
621+ then 0
622+ else J
623+ if ((0 > ap))
624+ then throw("Can't withdraw negative amount")
625+ else if ((0 > p))
626+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((aq / 100000000))))
627+ else if ((100000000 > assetBalance(this, b)))
628+ then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, b) / 100000000))))
629+ else [IntegerEntry(U, 100000000), IntegerEntry(T, p), IntegerEntry("StakeBalance", aj), IntegerEntry("PrizeHeight", P), IntegerEntry(E, af), StringEntry("HighestPushAddress", O), ScriptTransfer(d.caller, 100000000, b), ScriptTransfer(d.caller, ap, a)]
630+ }
631+
632+
633+
634+@Callable(d)
635+func WithdrawBigStakeReward () = {
636+ let t = (1440 * 1)
637+ let ar = (toBase58String(d.caller.bytes) + "_LastBigStakerRewardBlock")
638+ let as = (toBase58String(d.caller.bytes) + "_BigStaker")
639+ let U = (toBase58String(d.caller.bytes) + "_Earnings")
640+ let at = 10
641+ let au = {
642+ let g = getInteger(this, U)
643+ if ($isInstanceOf(g, "Int"))
644+ then {
645+ let h = g
646+ h
647+ }
648+ else 0
649+ }
650+ let av = {
651+ let g = getInteger(this, ar)
652+ if ($isInstanceOf(g, "Int"))
653+ then {
654+ let h = g
655+ h
656+ }
657+ else 0
658+ }
659+ let aw = {
660+ let g = getInteger(this, "BigStakerRewardTotal")
661+ if ($isInstanceOf(g, "Int"))
662+ then {
663+ let h = g
664+ h
665+ }
666+ else 0
667+ }
668+ let m = {
669+ let g = getInteger(this, "FundBox")
670+ if ($isInstanceOf(g, "Int"))
671+ then {
672+ let h = g
673+ h
674+ }
675+ else 0
676+ }
677+ let n = {
678+ let g = getInteger(this, "PrizeHeight")
679+ if ($isInstanceOf(g, "Int"))
680+ then {
681+ let h = g
682+ h
683+ }
684+ else 0
685+ }
686+ let o = if (if ((n == 0))
687+ then (m == 0)
688+ else false)
689+ then 0
690+ else if (if ((n == 0))
691+ then (m != 0)
692+ else false)
693+ then height
694+ else if (if ((n != 0))
695+ then (m != 0)
696+ else false)
697+ then n
698+ else 0
699+ let G = {
700+ let g = getInteger(this, "Delay")
701+ if ($isInstanceOf(g, "Int"))
702+ then {
703+ let h = g
704+ h
705+ }
706+ else 0
707+ }
708+ let C = {
709+ let g = getInteger(this, "HighestPush")
710+ if ($isInstanceOf(g, "Int"))
711+ then {
712+ let h = g
713+ h
557714 }
558715 else 0
559716 }
560717 let H = {
561- let h = getInteger(this, "Delay")
562- if ($isInstanceOf(h, "Int"))
718+ let g = getString(this, "HighestPushAddress")
719+ if ($isInstanceOf(g, "String"))
563720 then {
564- let i = h
565- i
721+ let h = g
722+ h
723+ }
724+ else ""
725+ }
726+ let O = if (if ((height > ((o + G) + t)))
727+ then (C > 0)
728+ else false)
729+ then ""
730+ else H
731+ let P = if (if ((height > ((o + G) + t)))
732+ then (C > 0)
733+ else false)
734+ then height
735+ else o
736+ let e = toBase58String(d.caller.bytes)
737+ let ap = {
738+ let g = getInteger(this, as)
739+ if ($isInstanceOf(g, "Int"))
740+ then {
741+ let h = g
742+ h
566743 }
567744 else 0
568745 }
569- let D = {
570- let h = getInteger(this, "HighestPush")
571- if ($isInstanceOf(h, "Int"))
572- then {
573- let i = h
574- i
575- }
576- else 0
577- }
578- let p = if (if ((o == 0))
579- then (n == 0)
580- else false)
581- then 0
582- else if (if ((o == 0))
583- then (n != 0)
584- else false)
585- then height
586- else if (if ((o != 0))
587- then (n != 0)
588- else false)
589- then o
590- else 0
591- let I = {
592- let h = getString(this, "HighestPushAddress")
593- if ($isInstanceOf(h, "String"))
594- then {
595- let i = h
596- i
597- }
598- else ""
599- }
600- let P = if (if ((height > ((p + H) + u)))
601- then (D > 0)
602- else false)
603- then ""
604- else I
605- let Q = if (if ((height > ((p + H) + u)))
606- then (D > 0)
607- else false)
608- then height
609- else p
610- let f = toBase58String(e.caller.bytes)
611- let ar = {
612- let h = getInteger(this, U)
613- if ($isInstanceOf(h, "Int"))
614- then {
615- let i = h
616- i
617- }
618- else 0
619- }
620- let q = (ar - aq)
621- let ak = (m - aq)
622- let ag = if ((ak == 0))
623- then 0
624- else K
625- if ((0 > aq))
626- then throw("Can't withdraw negative amount")
627- else if ((0 > q))
628- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
629- else if ((100000000 > assetBalance(this, b)))
630- then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, b) / 100000000))))
631- else [IntegerEntry(V, 100000000), IntegerEntry(U, q), IntegerEntry("StakeBalance", ak), IntegerEntry("PrizeHeight", Q), IntegerEntry(F, ag), StringEntry("HighestPushAddress", P), ScriptTransfer(e.caller, 100000000, b), ScriptTransfer(e.caller, aq, a)]
632- }
633-
634-
635-
636-@Callable(e)
637-func WithdrawBigStakeReward () = {
638- let u = (1440 * 1)
639- let as = (toBase58String(e.caller.bytes) + "_LastBigStakerRewardBlock")
640- let at = (toBase58String(e.caller.bytes) + "_BigStaker")
641- let V = (toBase58String(e.caller.bytes) + "_Earnings")
642- let au = 10
643- let av = {
644- let h = getInteger(this, V)
645- if ($isInstanceOf(h, "Int"))
646- then {
647- let i = h
648- i
649- }
650- else 0
651- }
652- let aw = {
653- let h = getInteger(this, as)
654- if ($isInstanceOf(h, "Int"))
655- then {
656- let i = h
657- i
658- }
659- else 0
660- }
661- let ax = {
662- let h = getInteger(this, "BigStakerRewardTotal")
663- if ($isInstanceOf(h, "Int"))
664- then {
665- let i = h
666- i
667- }
668- else 0
669- }
670- let n = {
671- let h = getInteger(this, "FundBox")
672- if ($isInstanceOf(h, "Int"))
673- then {
674- let i = h
675- i
676- }
677- else 0
678- }
679- let o = {
680- let h = getInteger(this, "PrizeHeight")
681- if ($isInstanceOf(h, "Int"))
682- then {
683- let i = h
684- i
685- }
686- else 0
687- }
688- let p = if (if ((o == 0))
689- then (n == 0)
690- else false)
691- then 0
692- else if (if ((o == 0))
693- then (n != 0)
694- else false)
695- then height
696- else if (if ((o != 0))
697- then (n != 0)
698- else false)
699- then o
700- else 0
701- let H = {
702- let h = getInteger(this, "Delay")
703- if ($isInstanceOf(h, "Int"))
704- then {
705- let i = h
706- i
707- }
708- else 0
709- }
710- let D = {
711- let h = getInteger(this, "HighestPush")
712- if ($isInstanceOf(h, "Int"))
713- then {
714- let i = h
715- i
716- }
717- else 0
718- }
719- let I = {
720- let h = getString(this, "HighestPushAddress")
721- if ($isInstanceOf(h, "String"))
722- then {
723- let i = h
724- i
725- }
726- else ""
727- }
728- let P = if (if ((height > ((p + H) + u)))
729- then (D > 0)
730- else false)
731- then ""
732- else I
733- let Q = if (if ((height > ((p + H) + u)))
734- then (D > 0)
735- else false)
736- then height
737- else p
738- let f = toBase58String(e.caller.bytes)
739- let aq = {
740- let h = getInteger(this, at)
741- if ($isInstanceOf(h, "Int"))
742- then {
743- let i = h
744- i
745- }
746- else 0
747- }
748- let ak = (ax - aq)
749- let ay = if ((0 > ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))))
746+ let aj = (aw - ap)
747+ let ax = if ((0 > ((au / 1000) * (1000 - ((1000 * (height - av)) / (at * 1440))))))
750748 then (1000 * 100000000)
751- else ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))
752- if ((0 > aq))
753- then throw(((("Can't withdraw negative amount " + toString((av - (1000 * 100000000)))) + " ... ") + toString(aq)))
754- else if (if (if (((1000 * 100000000) > av))
749+ else ((au / 1000) * (1000 - ((1000 * (height - av)) / (at * 1440))))
750+ if ((0 > ap))
751+ then throw(((("Can't withdraw negative amount " + toString((au - (1000 * 100000000)))) + " ... ") + toString(ap)))
752+ else if (if (if (((1000 * 100000000) > au))
755753 then true
756- else (1 > aq))
754+ else (1 > ap))
757755 then true
758- else (0 > (av - ay)))
759- then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you have: " + toString((av / 100000000))))
760- else if ((ak > 0))
761- then [IntegerEntry(at, 0), IntegerEntry("BigStakerRewardTotal", ak), IntegerEntry(V, (av - ay)), IntegerEntry("PrizeHeight", p), IntegerEntry(as, height), StringEntry("HighestPushAddress", P), ScriptTransfer(e.caller, aq, a)]
756+ else (0 > (au - ax)))
757+ then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you have: " + toString((au / 100000000))))
758+ else if ((aj > 0))
759+ then [IntegerEntry(as, 0), IntegerEntry("BigStakerRewardTotal", aj), IntegerEntry(U, (au - ax)), IntegerEntry("PrizeHeight", o), IntegerEntry(ar, height), StringEntry("HighestPushAddress", O), ScriptTransfer(d.caller, ap, a)]
762760 else throw("Balance Error, Total Big Stakers cannot be negative, Operation won't be authorized")
763761 }
764762
765763
766764
767-@Callable(e)
768-func HarvestGovernToiken (aq) = {
769- let j = assetBalance(this, a)
770- let V = (toBase58String(e.caller.bytes) + "_Earnings")
765+@Callable(d)
766+func HarvestGovernToiken (ap) = {
767+ let i = assetBalance(this, a)
768+ let U = (toBase58String(d.caller.bytes) + "_Earnings")
769+ let l = {
770+ let g = getInteger(this, "StakeBalance")
771+ if ($isInstanceOf(g, "Int"))
772+ then {
773+ let h = g
774+ h
775+ }
776+ else 0
777+ }
771778 let m = {
772- let h = getInteger(this, "StakeBalance")
773- if ($isInstanceOf(h, "Int"))
779+ let g = getInteger(this, "FundBox")
780+ if ($isInstanceOf(g, "Int"))
774781 then {
775- let i = h
776- i
782+ let h = g
783+ h
777784 }
778785 else 0
779786 }
780787 let n = {
781- let h = getInteger(this, "FundBox")
782- if ($isInstanceOf(h, "Int"))
788+ let g = getInteger(this, "PrizeHeight")
789+ if ($isInstanceOf(g, "Int"))
783790 then {
784- let i = h
785- i
791+ let h = g
792+ h
786793 }
787794 else 0
788795 }
789- let o = {
790- let h = getInteger(this, "PrizeHeight")
791- if ($isInstanceOf(h, "Int"))
796+ let o = if (if ((n == 0))
797+ then (m == 0)
798+ else false)
799+ then 0
800+ else if (if ((n == 0))
801+ then (m != 0)
802+ else false)
803+ then height
804+ else if (if ((n != 0))
805+ then (m != 0)
806+ else false)
807+ then n
808+ else 0
809+ let e = toBase58String(d.caller.bytes)
810+ let aq = {
811+ let g = getInteger(this, U)
812+ if ($isInstanceOf(g, "Int"))
792813 then {
793- let i = h
794- i
814+ let h = g
815+ h
795816 }
796817 else 0
797818 }
798- let p = if (if ((o == 0))
799- then (n == 0)
800- else false)
801- then 0
802- else if (if ((o == 0))
803- then (n != 0)
804- else false)
805- then height
806- else if (if ((o != 0))
807- then (n != 0)
808- else false)
809- then o
810- else 0
811- let f = toBase58String(e.caller.bytes)
812- let ar = {
813- let h = getInteger(this, V)
814- if ($isInstanceOf(h, "Int"))
815- then {
816- let i = h
817- i
818- }
819- else 0
820- }
821- let q = (ar - aq)
822- if ((0 > aq))
819+ let p = (aq - ap)
820+ if ((0 > ap))
823821 then throw("Can't withdraw negative amount")
824- else if ((0 > q))
825- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
826- else [IntegerEntry(V, q), IntegerEntry("PrizeHeight", p), ScriptTransfer(e.caller, aq, b)]
822+ else if ((0 > p))
823+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((aq / 100000000))))
824+ else [IntegerEntry(U, p), IntegerEntry("PrizeHeight", o), ScriptTransfer(d.caller, ap, b)]
827825 }
828826
829827
830828
831-@Callable(e)
829+@Callable(d)
832830 func delayprize () = {
833- let az = (1440 * 1)
834- let u = (1440 * 1)
835- let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
836- let aA = assetBalance(Address(e.caller.bytes), b)
837- let j = assetBalance(this, a)
831+ let ay = (1440 * 1)
832+ let t = (1440 * 1)
833+ let U = ((toBase58String(d.caller.bytes) + "_") + toBase58String(b))
834+ let az = assetBalance(Address(d.caller.bytes), b)
835+ let i = assetBalance(this, a)
836+ let l = {
837+ let g = getInteger(this, "StakeBalance")
838+ if ($isInstanceOf(g, "Int"))
839+ then {
840+ let h = g
841+ h
842+ }
843+ else 0
844+ }
838845 let m = {
839- let h = getInteger(this, "StakeBalance")
840- if ($isInstanceOf(h, "Int"))
846+ let g = getInteger(this, "FundBox")
847+ if ($isInstanceOf(g, "Int"))
841848 then {
842- let i = h
843- i
849+ let h = g
850+ h
844851 }
845852 else 0
846853 }
847854 let n = {
848- let h = getInteger(this, "FundBox")
849- if ($isInstanceOf(h, "Int"))
855+ let g = getInteger(this, "PrizeHeight")
856+ if ($isInstanceOf(g, "Int"))
850857 then {
851- let i = h
852- i
858+ let h = g
859+ h
853860 }
854861 else 0
855862 }
856- let o = {
857- let h = getInteger(this, "PrizeHeight")
858- if ($isInstanceOf(h, "Int"))
863+ let G = {
864+ let g = getInteger(this, "Delay")
865+ if ($isInstanceOf(g, "Int"))
859866 then {
860- let i = h
861- i
867+ let h = g
868+ h
869+ }
870+ else 0
871+ }
872+ let o = if (if ((n == 0))
873+ then (m == 0)
874+ else false)
875+ then 0
876+ else if (if ((n == 0))
877+ then (m != 0)
878+ else false)
879+ then height
880+ else if (if ((n != 0))
881+ then (m != 0)
882+ else false)
883+ then n
884+ else 0
885+ let C = {
886+ let g = getInteger(this, "HighestPush")
887+ if ($isInstanceOf(g, "Int"))
888+ then {
889+ let h = g
890+ h
862891 }
863892 else 0
864893 }
865894 let H = {
866- let h = getInteger(this, "Delay")
867- if ($isInstanceOf(h, "Int"))
895+ let g = getString(this, "HighestPushAddress")
896+ if ($isInstanceOf(g, "String"))
868897 then {
869- let i = h
870- i
898+ let h = g
899+ h
900+ }
901+ else ""
902+ }
903+ let O = if (if ((height > ((o + G) + t)))
904+ then (C > 0)
905+ else false)
906+ then ""
907+ else H
908+ let P = if (if ((height > ((o + G) + t)))
909+ then (C > 0)
910+ else false)
911+ then height
912+ else o
913+ let aA = {
914+ let g = getInteger(this, "DelayCost")
915+ if ($isInstanceOf(g, "Int"))
916+ then {
917+ let h = g
918+ h
919+ }
920+ else 10
921+ }
922+ let x = if ((size(d.payments) == 1))
923+ then d.payments[0]
924+ else throw("Attached payment is required")
925+ let L = {
926+ let g = getInteger(this, "DevBox")
927+ if ($isInstanceOf(g, "Int"))
928+ then {
929+ let h = g
930+ h
871931 }
872932 else 0
873933 }
874- let p = if (if ((o == 0))
875- then (n == 0)
934+ if (if (isDefined(x.assetId))
935+ then (x.assetId == b)
876936 else false)
877- then 0
878- else if (if ((o == 0))
879- then (n != 0)
880- else false)
881- then height
882- else if (if ((o != 0))
883- then (n != 0)
884- else false)
885- then o
886- else 0
887- let D = {
888- let h = getInteger(this, "HighestPush")
889- if ($isInstanceOf(h, "Int"))
937+ then if ((m > 0))
890938 then {
891- let i = h
892- i
893- }
894- else 0
895- }
896- let I = {
897- let h = getString(this, "HighestPushAddress")
898- if ($isInstanceOf(h, "String"))
899- then {
900- let i = h
901- i
902- }
903- else ""
904- }
905- let P = if (if ((height > ((p + H) + u)))
906- then (D > 0)
907- else false)
908- then ""
909- else I
910- let Q = if (if ((height > ((p + H) + u)))
911- then (D > 0)
912- else false)
913- then height
914- else p
915- let aB = {
916- let h = getInteger(this, "DelayCost")
917- if ($isInstanceOf(h, "Int"))
918- then {
919- let i = h
920- i
921- }
922- else 10
923- }
924- let y = if ((size(e.payments) == 1))
925- then e.payments[0]
926- else throw("Attached payment is required")
927- let M = {
928- let h = getInteger(this, "DevBox")
929- if ($isInstanceOf(h, "Int"))
930- then {
931- let i = h
932- i
933- }
934- else 0
935- }
936- if (if (isDefined(y.assetId))
937- then (y.assetId == b)
938- else false)
939- then if ((n > 0))
940- then {
941- let av = y.amount
942- let g = (M + ((y.amount * 5) / 1000))
943- let aC = if ((aB == 0))
939+ let au = x.amount
940+ let f = (L + ((x.amount * 5) / 1000))
941+ let aB = if ((aA == 0))
944942 then 1000000000
945- else (2 * aB)
946- if ((av >= aC))
943+ else (2 * aA)
944+ if ((au >= aB))
947945 then {
948- let O = (H + az)
949-[IntegerEntry("Delay", O), IntegerEntry("DelayCost", aC), IntegerEntry("PrizeHeight", Q), IntegerEntry("DevBox", g), StringEntry("HighestPushAddress", P)]
946+ let N = (G + ay)
947+[IntegerEntry("Delay", N), IntegerEntry("DelayCost", aB), IntegerEntry("PrizeHeight", P), IntegerEntry("DevBox", f), StringEntry("HighestPushAddress", O)]
950948 }
951- else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(aC)) + "TROIKAs"))
949+ else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(aB)) + "TROIKAs"))
952950 }
953951 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
954952 else throw("Can Use only Troika Token to Delay Reward")
955953 }
956954
957955
958956
959-@Callable(e)
957+@Callable(d)
960958 func ClaimPrize () = {
961- let U = (toBase58String(e.caller.bytes) + "_Staking")
962- let z = (toBase58String(e.caller.bytes) + "_Push")
963- let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
964- let s = (1440 * 7)
965- let v = 3
966- let aD = assetBalance(this, b)
967- let j = assetBalance(this, a)
968- let m = {
969- let h = getInteger(this, "StakeBalance")
970- if ($isInstanceOf(h, "Int"))
959+ let T = (toBase58String(d.caller.bytes) + "_Staking")
960+ let y = (toBase58String(d.caller.bytes) + "_Push")
961+ let E = (toBase58String(d.caller.bytes) + "_UserLastStakeBlock")
962+ let r = (1440 * 7)
963+ let u = 3
964+ let aC = assetBalance(this, b)
965+ let i = assetBalance(this, a)
966+ let l = {
967+ let g = getInteger(this, "StakeBalance")
968+ if ($isInstanceOf(g, "Int"))
971969 then {
972- let i = h
973- i
970+ let h = g
971+ h
974972 }
975973 else 0
976974 }
977- let n = {
978- let h = getInteger(this, "FundBox")
979- if ($isInstanceOf(h, "Int"))
975+ let m = {
976+ let g = getInteger(this, "FundBox")
977+ if ($isInstanceOf(g, "Int"))
980978 then {
981- let i = h
982- i
979+ let h = g
980+ h
983981 }
984982 else 0
985983 }
986- let af = {
987- let h = getInteger(this, z)
988- if ($isInstanceOf(h, "Int"))
984+ let ae = {
985+ let g = getInteger(this, y)
986+ if ($isInstanceOf(g, "Int"))
989987 then {
990- let i = h
991- i
988+ let h = g
989+ h
992990 }
993991 else 0
994992 }
995- let K = {
996- let h = getInteger(this, F)
997- if ($isInstanceOf(h, "Int"))
993+ let J = {
994+ let g = getInteger(this, E)
995+ if ($isInstanceOf(g, "Int"))
998996 then {
999- let i = h
1000- i
997+ let h = g
998+ h
999+ }
1000+ else 0
1001+ }
1002+ let aD = {
1003+ let g = getInteger(this, T)
1004+ if ($isInstanceOf(g, "Int"))
1005+ then {
1006+ let h = g
1007+ h
1008+ }
1009+ else 0
1010+ }
1011+ let G = {
1012+ let g = getInteger(this, "Delay")
1013+ if ($isInstanceOf(g, "Int"))
1014+ then {
1015+ let h = g
1016+ h
10011017 }
10021018 else 0
10031019 }
10041020 let aE = {
1005- let h = getInteger(this, U)
1006- if ($isInstanceOf(h, "Int"))
1021+ let g = getString(this, "HighestPushAddress")
1022+ if ($isInstanceOf(g, "String"))
10071023 then {
1008- let i = h
1009- i
1024+ let h = g
1025+ h
1026+ }
1027+ else ""
1028+ }
1029+ let aF = {
1030+ let g = getInteger(this, "PrizeHeight")
1031+ if ($isInstanceOf(g, "Int"))
1032+ then {
1033+ let h = g
1034+ h
10101035 }
10111036 else 0
10121037 }
1013- let H = {
1014- let h = getInteger(this, "Delay")
1015- if ($isInstanceOf(h, "Int"))
1038+ let C = {
1039+ let g = getInteger(this, "HighestPush")
1040+ if ($isInstanceOf(g, "Int"))
10161041 then {
1017- let i = h
1018- i
1042+ let h = g
1043+ h
10191044 }
10201045 else 0
10211046 }
1022- let aF = {
1023- let h = getString(this, "HighestPushAddress")
1024- if ($isInstanceOf(h, "String"))
1047+ let A = (toBase58String(d.caller.bytes) + "_refs")
1048+ let B = {
1049+ let g = getInteger(this, A)
1050+ if ($isInstanceOf(g, "Int"))
10251051 then {
1026- let i = h
1027- i
1028- }
1029- else ""
1030- }
1031- let aG = {
1032- let h = getInteger(this, "PrizeHeight")
1033- if ($isInstanceOf(h, "Int"))
1034- then {
1035- let i = h
1036- i
1052+ let h = g
1053+ h
10371054 }
10381055 else 0
10391056 }
1040- let D = {
1041- let h = getInteger(this, "HighestPush")
1042- if ($isInstanceOf(h, "Int"))
1043- then {
1044- let i = h
1045- i
1046- }
1047- else 0
1048- }
1049- let B = (toBase58String(e.caller.bytes) + "_refs")
1050- let C = {
1051- let h = getInteger(this, B)
1052- if ($isInstanceOf(h, "Int"))
1053- then {
1054- let i = h
1055- i
1056- }
1057- else 0
1058- }
1059- if (if ((n == 0))
1057+ if (if ((m == 0))
10601058 then true
1061- else (10000000000 > aD))
1059+ else (10000000000 > aC))
10621060 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
1063- else if ((toBase58String(e.caller.bytes) != aF))
1061+ else if ((toBase58String(d.caller.bytes) != aE))
10641062 then throw("You are not the winner hence cannot claim the reward ")
1065- else if (if ((100000000 > aE))
1066- then (s > K)
1063+ else if (if ((100000000 > aD))
1064+ then (r > J)
10671065 else false)
10681066 then throw("You have to Stake ASIMI Token to claim reward ")
1069- else if (if ((height > (aG + H)))
1070- then (af >= D)
1067+ else if (if ((height > (aF + G)))
1068+ then (ae >= C)
10711069 else false)
1072- then if ((C >= v))
1073- then [IntegerEntry(aF, n), IntegerEntry("FundBox", 0), IntegerEntry("HighestPush", 0), IntegerEntry(z, 0), StringEntry("HighestPushAddress", ""), IntegerEntry("PrizeHeight", 0), IntegerEntry("Delay", 0), IntegerEntry("DelayCost", 0), StringEntry("LastWinner", aF), IntegerEntry("LastPrize", n), ScriptTransfer(e.caller, n, a), ScriptTransfer(e.caller, 1000000000, b)]
1074- else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days to Claim the prize"))
1070+ then if ((B >= u))
1071+ then [IntegerEntry(aE, m), IntegerEntry("FundBox", 0), IntegerEntry("HighestPush", 0), IntegerEntry(y, 0), StringEntry("HighestPushAddress", ""), IntegerEntry("PrizeHeight", 0), IntegerEntry("Delay", 0), IntegerEntry("DelayCost", 0), StringEntry("LastWinner", aE), IntegerEntry("LastPrize", m), ScriptTransfer(d.caller, m, a), ScriptTransfer(d.caller, 1000000000, b)]
1072+ else throw((("You have to have " + toString(u)) + " referrals already staking for a minimum of 10 days to Claim the prize"))
10751073 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
10761074 }
10771075
10781076
10791077
1080-@Callable(e)
1081-func Addmentor (aH) = {
1082- let aI = (toBase58String(e.caller.bytes) + "_Mentor")
1083- if ((aH != ""))
1084- then [StringEntry(aI, aH)]
1078+@Callable(d)
1079+func Addmentor (aG) = {
1080+ let aH = (toBase58String(d.caller.bytes) + "_Mentor")
1081+ if ((aG != ""))
1082+ then [StringEntry(aH, aG)]
10851083 else throw("Mentor's Address cannot be empty")
10861084 }
10871085
10881086
10891087
1090-@Callable(e)
1091-func GetLikesPackage (aJ,aK) = {
1092- let aL = {
1093- let h = getInteger(this, "LikePackageTROIKANCost")
1094- if ($isInstanceOf(h, "Int"))
1088+@Callable(d)
1089+func UpdateTwittsCost (aI,aJ) = if ((toBase58String(d.caller.bytes) == c))
1090+ then [IntegerEntry("LikePackageASIMICost", aI), IntegerEntry("LikePackageTROIKANCost", aJ)]
1091+ else throw("Only available for Admin")
1092+
1093+
1094+
1095+@Callable(d)
1096+func GetLikesPackage (aK,aL) = {
1097+ let aM = {
1098+ let g = getInteger(this, "LikePackageTROIKANCost")
1099+ if ($isInstanceOf(g, "Int"))
10951100 then {
1096- let i = h
1097- i
1101+ let h = g
1102+ h
10981103 }
10991104 else 0
11001105 }
1101- let aM = {
1102- let h = getInteger(this, "LikePackageASIMICost")
1103- if ($isInstanceOf(h, "Int"))
1106+ let aN = {
1107+ let g = getInteger(this, "LikePackageASIMICost")
1108+ if ($isInstanceOf(g, "Int"))
11041109 then {
1105- let i = h
1106- i
1110+ let h = g
1111+ h
11071112 }
11081113 else 0
11091114 }
1110- let y = if ((size(e.payments) == 2))
1111- then e.payments[0]
1115+ let x = if ((size(d.payments) == 2))
1116+ then d.payments[0]
11121117 else throw("Attached payment is required")
1113- if (if ((e.payments[0].assetId == a))
1114- then (e.payments[1].assetId == b)
1118+ if (if ((d.payments[0].assetId == a))
1119+ then (d.payments[1].assetId == b)
11151120 else false)
1116- then if ((e.payments[0].amount >= aM))
1117- then if ((e.payments[1].amount >= aL))
1121+ then if ((d.payments[0].amount >= aN))
1122+ then if ((d.payments[1].amount >= aM))
11181123 then {
1119- let aN = ((toString(aJ) + "_Twitt2Like_") + toString(aK))
1120- let aO = {
1121- let h = getInteger(this, aN)
1122- if ($isInstanceOf(h, "Int"))
1124+ let aO = ((toString(aK) + "_Twitt2Like_") + toString(aL))
1125+ let aP = {
1126+ let g = getInteger(this, aO)
1127+ if ($isInstanceOf(g, "Int"))
11231128 then {
1124- let i = h
1125- i
1129+ let h = g
1130+ h
11261131 }
11271132 else 0
11281133 }
1129- if ((aO == 0))
1130- then [IntegerEntry(((toString(aJ) + "_Twitt2Like_") + toString(aK)), ((95 * c) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * c) / 100))]
1134+ if ((aP == 0))
1135+ then [IntegerEntry(((toString(aK) + "_Twitt2Like_") + toString(aL)), ((95 * aN) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * aN) / 100))]
11311136 else throw("Cannot acquire a new package, the prior like package has to be drained to be able to acquire a new one")
11321137 }
1133- else throw(("TROIKAN Amount should be :" + toString((c / 100000000))))
1134- else throw(("ASIMI Amount should be :" + toString((d / 100000000))))
1138+ else throw(("TROIKAN Amount should be :" + toString((aN / 100000000))))
1139+ else throw(("ASIMI Amount should be :" + toString((aM / 100000000))))
11351140 else throw("Payments should be both ASIMI and TROIKAN tokens")
11361141 }
11371142
11381143
11391144
1140-@Callable(e)
1141-func GetMyLikedTwittsRewards (aP) = {
1142- let aQ = {
1143- let h = getInteger(this, (aP + "_Like_Amount"))
1144- if ($isInstanceOf(h, "Int"))
1145+@Callable(d)
1146+func GetMyLikedTwittsRewards (aQ) = {
1147+ let aR = {
1148+ let g = getInteger(this, (aQ + "_Like_Amount"))
1149+ if ($isInstanceOf(g, "Int"))
11451150 then {
1146- let i = h
1147- i
1151+ let h = g
1152+ h
11481153 }
11491154 else 0
11501155 }
1151- let aR = {
1152- let h = getInteger(this, (aP + "_TroikandApp_RT_Amount"))
1153- if ($isInstanceOf(h, "Int"))
1156+ let aS = {
1157+ let g = getInteger(this, (aQ + "_TroikandApp_RT_Amount"))
1158+ if ($isInstanceOf(g, "Int"))
11541159 then {
1155- let i = h
1156- i
1160+ let h = g
1161+ h
11571162 }
11581163 else 0
11591164 }
1160- if (if ((aQ >= (1 * 100000000)))
1161- then (aR >= (1 * 100000000))
1165+ if (if ((aR >= (1 * 100000000)))
1166+ then (aS >= (1 * 100000000))
11621167 else false)
1163- then [IntegerEntry((aP + "_TroikandApp_RT_Amount"), 0), IntegerEntry((aP + "_Like_Amount"), 0), ScriptTransfer(e.caller, aQ, a), ScriptTransfer(e.caller, aR, b)]
1168+ then [IntegerEntry((aQ + "_TroikandApp_RT_Amount"), 0), IntegerEntry((aQ + "_Like_Amount"), 0), ScriptTransfer(d.caller, aR, a), ScriptTransfer(d.caller, aS, b)]
11641169 else throw("Minimum earnings to withdraw are: 100 ASIMI and 50 Troikans")
11651170 }
11661171
11671172
11681173
1169-@Callable(e)
1170-func LinkTwitterAcc2Wallet (aJ) = {
1171- let aS = {
1172- let h = getString(this, (aJ + "_Wallet"))
1173- if ($isInstanceOf(h, "String"))
1174+@Callable(d)
1175+func LinkTwitterAcc2Wallet (aK) = {
1176+ let aT = {
1177+ let g = getString(this, (aK + "_Wallet"))
1178+ if ($isInstanceOf(g, "String"))
11741179 then {
1175- let i = h
1176- i
1180+ let h = g
1181+ h
11771182 }
11781183 else "None"
11791184 }
1180- if ((toBase58String(e.caller.bytes) == aS))
1185+ if ((toBase58String(d.caller.bytes) == aT))
11811186 then throw("You already have your wallet linked to the Twitter account")
1182- else if (if ((toBase58String(e.caller.bytes) != aS))
1183- then (aS != "None")
1187+ else if (if ((toBase58String(d.caller.bytes) != aT))
1188+ then (aT != "None")
11841189 else false)
11851190 then throw("The wallet you are using is not the linked Wallet to this Twitter account")
1186- else [StringEntry((aJ + "_Wallet"), toBase58String(e.caller.bytes))]
1191+ else [StringEntry((aK + "_Wallet"), toBase58String(d.caller.bytes))]
11871192 }
11881193
11891194

github/deemru/w8io/873ac7e 
264.40 ms