tx · BnxhjRvsFxx5GWYAGufgqtCv1BbJxM2tH3hs67eYkZd7

3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h:  -0.01100000 Waves

2024.02.12 18:53 [2973243] smart account 3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h > SELF 0.00000000 Waves

{ "type": 13, "id": "BnxhjRvsFxx5GWYAGufgqtCv1BbJxM2tH3hs67eYkZd7", "fee": 1100000, "feeAssetId": null, "timestamp": 1707753278988, "version": 2, "chainId": 84, "sender": "3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h", "senderPublicKey": "3z8Q6Zu3KppVmn6fJJvrLc1Wo3krVHSvfaNcerm82md2", "proofs": [ "44gWbr1hoa99SMgSeBrDVutpkDNHzEaQtMBxkDWGprtrFpubuWnFnfv3zZtZndhfn54bNExfNZVxf23kcr5rttJy" ], "script": "base64:BgIvCAISAwoBARIDCgEIEgMKAQgSBAoCCAgSAwoBCBIECgIIARIECgIIARIDCgEBEgAeAAxjb250cmFjdEZpbGUCEWwybXBfbGVhc2luZy5yaWRlAANTRVACAl9fAQh0aHJvd0VycgEDbXNnCQACAQkArAICCQCsAgIFDGNvbnRyYWN0RmlsZQICOiAFA21zZwAKa2V5QXNzZXRJZAkAuQkCCQDMCAICAiVzCQDMCAICB2Fzc2V0SWQFA25pbAUDU0VQABFrZXlQZXJpb2RPZmZzZXRJZAkAuQkCCQDMCAICAiVzCQDMCAICCG9mZnNldElkBQNuaWwFA1NFUAAVa2V5UGVyaW9kT2Zmc2V0SGVpZ2h0CQC5CQIJAMwIAgICJXMJAMwIAgIMb2Zmc2V0SGVpZ2h0BQNuaWwFA1NFUAAPa2V5UGVyaW9kTGVuZ3RoCQC5CQIJAMwIAgICJXMJAMwIAgIMcGVyaW9kTGVuZ3RoBQNuaWwFA1NFUAAOcGVyaW9kT2Zmc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwURa2V5UGVyaW9kT2Zmc2V0SWQAAAAMcGVyaW9kTGVuZ3RoCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFD2tleVBlcmlvZExlbmd0aACQTgAScGVyaW9kT2Zmc2V0SGVpZ2h0CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFFWtleVBlcmlvZE9mZnNldEhlaWdodAD///////////8BAA9jdXJyZW50UGVyaW9kSWQDAwkAZgIFBmhlaWdodAUScGVyaW9kT2Zmc2V0SGVpZ2h0CQECIT0CBRJwZXJpb2RPZmZzZXRIZWlnaHQA////////////AQcJAGQCCQBpAgkAZQIFBmhlaWdodAUScGVyaW9kT2Zmc2V0SGVpZ2h0BQxwZXJpb2RMZW5ndGgFDnBlcmlvZE9mZnNldElkCQCWAwEJAMwIAgAACQDMCAIJAGUCBQ5wZXJpb2RPZmZzZXRJZAABBQNuaWwAE2N1cnJlbnRQZXJpb2RIZWlnaHQJAGQCBRJwZXJpb2RPZmZzZXRIZWlnaHQJAGgCCQBlAgUPY3VycmVudFBlcmlvZElkBQ5wZXJpb2RPZmZzZXRJZAUMcGVyaW9kTGVuZ3RoABBuZXh0UGVyaW9kSGVpZ2h0CQBkAgUTY3VycmVudFBlcmlvZEhlaWdodAUMcGVyaW9kTGVuZ3RoARJrZXlMZWFzaW5nTm9kZURhdGEBC25vZGVBZGRyZXNzCQC5CQIJAMwIAgICJXMJAMwIAgULbm9kZUFkZHJlc3MFA25pbAUDU0VQAQ5rZXlVc2VyVG9DbGFpbQELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICB3RvQ2xhaW0JAMwIAgULdXNlckFkZHJlc3MFA25pbAUDU0VQARZrZXlVc2VyTGVhc2luZ05vZGVEYXRhAgt1c2VyQWRkcmVzcwtub2RlQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgULbm9kZUFkZHJlc3MJAMwIAgULdXNlckFkZHJlc3MFA25pbAUDU0VQAA1hc3NldElkU3RyaW5nCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFCmtleUFzc2V0SWQCBVdBVkVTAAxhc3NldElkQnl0ZXMDCQAAAgUNYXNzZXRJZFN0cmluZwIFV0FWRVMFBHVuaXQJANkEAQUNYXNzZXRJZFN0cmluZwEOaXNWYWxpZEFkZHJlc3MBB2FkZHJlc3MEByRtYXRjaDAJAKYIAQUHYWRkcmVzcwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBgcBE2dldExlYXNpbmdOb2RlRW50cnkDC25vZGVBZGRyZXNzDWN1cnJlbnRMZWFzZWQKbmV4dExlYXNlZAQLdmFsdWVTdHJpbmcJALkJAgkAzAgCAgglZCVkJWQlZAkAzAgCCQCkAwEFE2N1cnJlbnRQZXJpb2RIZWlnaHQJAMwIAgkApAMBBQ1jdXJyZW50TGVhc2VkCQDMCAIJAKQDAQUQbmV4dFBlcmlvZEhlaWdodAkAzAgCCQCkAwEFCm5leHRMZWFzZWQFA25pbAUDU0VQCQELU3RyaW5nRW50cnkCCQESa2V5TGVhc2luZ05vZGVEYXRhAQULbm9kZUFkZHJlc3MFC3ZhbHVlU3RyaW5nARJnZXRMZWFzaW5nTm9kZURhdGEBC25vZGVBZGRyZXNzBBhsZWFzaW5nTm9kZURhdGFTdHJpbmdSYXcJAJ0IAgUEdGhpcwkBEmtleUxlYXNpbmdOb2RlRGF0YQEFC25vZGVBZGRyZXNzBAckbWF0Y2gwBRhsZWFzaW5nTm9kZURhdGFTdHJpbmdSYXcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAJkcwUHJG1hdGNoMAQIZGF0YUxpc3QJALUJAgUCZHMFA1NFUAQRbm9kZUN1cnJlbnRQZXJpb2QJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAABBBFub2RlQ3VycmVudExlYXNlZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCGRhdGFMaXN0AAIEDm5vZGVOZXh0UGVyaW9kCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QAAwQObm9kZU5leHRMZWFzZWQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAAEAwkAZgIFDm5vZGVOZXh0UGVyaW9kBQZoZWlnaHQJAJQKAgURbm9kZUN1cnJlbnRMZWFzZWQFDm5vZGVOZXh0TGVhc2VkCQCUCgIFDm5vZGVOZXh0TGVhc2VkBQ5ub2RlTmV4dExlYXNlZAkAlAoCAAAAAAETZ2V0VXNlckxlYXNpbmdFbnRyeQQLbm9kZUFkZHJlc3MLdXNlckFkZHJlc3MRdXNlckN1cnJlbnRMZWFzZWQOdXNlck5leHRMZWFzZWQEC3ZhbHVlU3RyaW5nCQC5CQIJAMwIAgIIJWQlZCVkJWQJAMwIAgkApAMBBRNjdXJyZW50UGVyaW9kSGVpZ2h0CQDMCAIJAKQDAQURdXNlckN1cnJlbnRMZWFzZWQJAMwIAgkApAMBBRBuZXh0UGVyaW9kSGVpZ2h0CQDMCAIJAKQDAQUOdXNlck5leHRMZWFzZWQFA25pbAUDU0VQCQELU3RyaW5nRW50cnkCCQEWa2V5VXNlckxlYXNpbmdOb2RlRGF0YQIFC3VzZXJBZGRyZXNzBQtub2RlQWRkcmVzcwULdmFsdWVTdHJpbmcBEmdldFVzZXJMZWFzaW5nRGF0YQILbm9kZUFkZHJlc3MLdXNlckFkZHJlc3MEGGxlYXNpbmdVc2VyRGF0YVN0cmluZ1JhdwkAnQgCBQR0aGlzCQEWa2V5VXNlckxlYXNpbmdOb2RlRGF0YQIFC3VzZXJBZGRyZXNzBQtub2RlQWRkcmVzcwQHJG1hdGNoMAUYbGVhc2luZ1VzZXJEYXRhU3RyaW5nUmF3AwkAAQIFByRtYXRjaDACBlN0cmluZwQCZHMFByRtYXRjaDAECGRhdGFMaXN0CQC1CQIFAmRzBQNTRVAEEXVzZXJDdXJyZW50UGVyaW9kCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QAAQQRdXNlckN1cnJlbnRMZWFzZWQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAACBA51c2VyTmV4dFBlcmlvZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCGRhdGFMaXN0AAMEDnVzZXJOZXh0TGVhc2VkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QABAMJAGYCBQ51c2VyTmV4dFBlcmlvZAUGaGVpZ2h0CQCUCgIFEXVzZXJDdXJyZW50TGVhc2VkBQ51c2VyTmV4dExlYXNlZAkAlAoCBQ51c2VyTmV4dExlYXNlZAUOdXNlck5leHRMZWFzZWQJAJQKAgAAAAABE2dldFVzZXJUb0NsYWltRW50cnkDC3VzZXJBZGRyZXNzB3RvQ2xhaW0IdG9VbmxvY2sEC3ZhbHVlU3RyaW5nCQC5CQIJAMwIAgIIJWQlZCVkJWQJAMwIAgkApAMBBRNjdXJyZW50UGVyaW9kSGVpZ2h0CQDMCAIJAKQDAQUHdG9DbGFpbQkAzAgCCQCkAwEFEG5leHRQZXJpb2RIZWlnaHQJAMwIAgkApAMBBQh0b1VubG9jawUDbmlsBQNTRVAJAQtTdHJpbmdFbnRyeQIJAQ5rZXlVc2VyVG9DbGFpbQEFC3VzZXJBZGRyZXNzBQt2YWx1ZVN0cmluZwEVZ2V0VXNlclRvQ2xhaW1CYWxhbmNlAQt1c2VyQWRkcmVzcwQYdXNlclRvQ2xhaW1EYXRhU3RyaW5nUmF3CQCdCAIFBHRoaXMJAQ5rZXlVc2VyVG9DbGFpbQEFC3VzZXJBZGRyZXNzBAckbWF0Y2gwBRh1c2VyVG9DbGFpbURhdGFTdHJpbmdSYXcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAJkcwUHJG1hdGNoMAQIZGF0YUxpc3QJALUJAgUCZHMFA1NFUAQNY3VycmVudFBlcmlvZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCGRhdGFMaXN0AAEEB3RvQ2xhaW0JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAACBApuZXh0UGVyaW9kCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QAAwQIdG9VbmxvY2sJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAAEAwkAZgIFCm5leHRQZXJpb2QFBmhlaWdodAkAlAoCBQd0b0NsYWltBQh0b1VubG9jawkAlAoCCQBkAgUHdG9DbGFpbQUIdG9VbmxvY2sAAAkAlAoCAAAAAAEPZ2V0U3Rha2VBY3Rpb25zAwtub2RlQWRkcmVzcwt1c2VyQWRkcmVzcwFpBAZjaGVja3MJAMwIAgMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEGCQEIdGhyb3dFcnIBAiBwYXltZW50IHNpemUgc2hvdWxkIGJlIGV4YWN0bHkgMQkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUMYXNzZXRJZEJ5dGVzBgkBCHRocm93RXJyAQkAuQkCCQDMCAICGnBheW1lbnQgYXNzZXRJZCBzaG91bGQgYmU6CQDMCAIFDWFzc2V0SWRTdHJpbmcFA25pbAIBIAkAzAgCAwkBDmlzVmFsaWRBZGRyZXNzAQULbm9kZUFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIabm9kZSBhZGRyZXNzIGlzIG5vdCB2YWxpZDoJAMwIAgULbm9kZUFkZHJlc3MFA25pbAIBIAkAzAgCAwkBDmlzVmFsaWRBZGRyZXNzAQULdXNlckFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIadXNlciBhZGRyZXNzIGlzIG5vdCB2YWxpZDoJAMwIAgULdXNlckFkZHJlc3MFA25pbAIBIAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBBF1c2VyTGVhc2luZ0Ftb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECyR0MDU1MDk1NTgyCQESZ2V0TGVhc2luZ05vZGVEYXRhAQULbm9kZUFkZHJlc3MEEW5vZGVDdXJyZW50TGVhc2VkCAULJHQwNTUwOTU1ODICXzEEDm5vZGVOZXh0TGVhc2VkCAULJHQwNTUwOTU1ODICXzIEEG5ld05vZGVOZXh0TGVhc2UJAGQCBQ5ub2RlTmV4dExlYXNlZAURdXNlckxlYXNpbmdBbW91bnQECyR0MDU2NTA1NzM2CQESZ2V0VXNlckxlYXNpbmdEYXRhAgULbm9kZUFkZHJlc3MFC3VzZXJBZGRyZXNzBBF1c2VyQ3VycmVudExlYXNlZAgFCyR0MDU2NTA1NzM2Al8xBA51c2VyTmV4dExlYXNlZAgFCyR0MDU2NTA1NzM2Al8yBBFuZXdVc2VyTmV4dExlYXNlZAkAZAIFDnVzZXJOZXh0TGVhc2VkBRF1c2VyTGVhc2luZ0Ftb3VudAkAzAgCCQETZ2V0TGVhc2luZ05vZGVFbnRyeQMFC25vZGVBZGRyZXNzBRFub2RlQ3VycmVudExlYXNlZAUQbmV3Tm9kZU5leHRMZWFzZQkAzAgCCQETZ2V0VXNlckxlYXNpbmdFbnRyeQQFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwURdXNlckN1cnJlbnRMZWFzZWQFEW5ld1VzZXJOZXh0TGVhc2VkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEWdldFVuc3Rha2VBY3Rpb25zAwtub2RlQWRkcmVzcwt1c2VyQWRkcmVzcw11bnN0YWtlQW1vdW50BAskdDA2MDgwNjE1MwkBEmdldExlYXNpbmdOb2RlRGF0YQEFC25vZGVBZGRyZXNzBBFub2RlQ3VycmVudExlYXNlZAgFCyR0MDYwODA2MTUzAl8xBA5ub2RlTmV4dExlYXNlZAgFCyR0MDYwODA2MTUzAl8yBAskdDA2MTU4NjI0NAkBEmdldFVzZXJMZWFzaW5nRGF0YQIFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwQRdXNlckN1cnJlbnRMZWFzZWQIBQskdDA2MTU4NjI0NAJfMQQOdXNlck5leHRMZWFzZWQIBQskdDA2MTU4NjI0NAJfMgQGY2hlY2tzCQDMCAIDCQBmAgUNdW5zdGFrZUFtb3VudAAABgkBCHRocm93RXJyAQIndW5zdGFrZSBhbW91bnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwCQDMCAIDCQBnAgUOdXNlck5leHRMZWFzZWQFDXVuc3Rha2VBbW91bnQGCQEIdGhyb3dFcnIBAjl1bnN0YWtlIGFtb3VudCBzaG91bGQgYmUgbGVzcyBvciBlcXVhbCB1c2VyIHN0YWtlZCBhbW91bnQJAMwIAgMJAGcCBQ5ub2RlTmV4dExlYXNlZAUNdW5zdGFrZUFtb3VudAYJAQh0aHJvd0VycgECOXVuc3Rha2UgYW1vdW50IHNob3VsZCBiZSBsZXNzIG9yIGVxdWFsIG5vZGUgc3Rha2VkIGFtb3VudAkAzAgCAwkBDmlzVmFsaWRBZGRyZXNzAQULbm9kZUFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIabm9kZSBhZGRyZXNzIGlzIG5vdCB2YWxpZDoJAMwIAgULbm9kZUFkZHJlc3MFA25pbAIBIAkAzAgCAwkBDmlzVmFsaWRBZGRyZXNzAQULdXNlckFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIadXNlciBhZGRyZXNzIGlzIG5vdCB2YWxpZDoJAMwIAgULdXNlckFkZHJlc3MFA25pbAIBIAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBBBuZXdOb2RlTmV4dExlYXNlCQBlAgUObm9kZU5leHRMZWFzZWQFDXVuc3Rha2VBbW91bnQEEW5ld1VzZXJOZXh0TGVhc2VkCQBlAgUOdXNlck5leHRMZWFzZWQFDXVuc3Rha2VBbW91bnQECyR0MDY5Mzc3MDQyCQEVZ2V0VXNlclRvQ2xhaW1CYWxhbmNlAQULdXNlckFkZHJlc3MEB3RvQ2xhaW0IBQskdDA2OTM3NzA0MgJfMQQIdG9VbmxvY2sIBQskdDA2OTM3NzA0MgJfMgQLbmV3VG9VbmxvY2sJAGQCBQh0b1VubG9jawUNdW5zdGFrZUFtb3VudAkAzAgCCQETZ2V0TGVhc2luZ05vZGVFbnRyeQMFC25vZGVBZGRyZXNzBRFub2RlQ3VycmVudExlYXNlZAUQbmV3Tm9kZU5leHRMZWFzZQkAzAgCCQETZ2V0VXNlckxlYXNpbmdFbnRyeQQFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwURdXNlckN1cnJlbnRMZWFzZWQFEW5ld1VzZXJOZXh0TGVhc2VkCQDMCAIJARNnZXRVc2VyVG9DbGFpbUVudHJ5AwULdXNlckFkZHJlc3MFB3RvQ2xhaW0FC25ld1RvVW5sb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BF2dldENsYWltVW5sb2NrZWRBY3Rpb25zAgt1c2VyQWRkcmVzcwtjbGFpbUFtb3VudAQLJHQwNzQxNzc0NzcJARVnZXRVc2VyVG9DbGFpbUJhbGFuY2UBBQt1c2VyQWRkcmVzcwQHdG9DbGFpbQgFCyR0MDc0MTc3NDc3Al8xBAh0b1VubG9jawgFCyR0MDc0MTc3NDc3Al8yBAZjaGVja3MJAMwIAgMJAGYCBQtjbGFpbUFtb3VudAAABgkBCHRocm93RXJyAQIlY2xhaW0gYW1vdW50IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMAkAzAgCAwkAZwIFB3RvQ2xhaW0FC2NsYWltQW1vdW50BgkBCHRocm93RXJyAQI0Y2xhaW0gYW1vdW50IHNob3VsZCBiZSBsZXNzIG9yIGVxdWFsIHVubG9ja2VkIGFtb3VudAkAzAgCAwkBDmlzVmFsaWRBZGRyZXNzAQULdXNlckFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIadXNlciBhZGRyZXNzIGlzIG5vdCB2YWxpZDoJAMwIAgULdXNlckFkZHJlc3MFA25pbAIBIAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBApuZXdUb0NsYWltCQBlAgUHdG9DbGFpbQULY2xhaW1BbW91bnQJAMwIAgkBE2dldFVzZXJUb0NsYWltRW50cnkDBQt1c2VyQWRkcmVzcwUKbmV3VG9DbGFpbQUIdG9VbmxvY2sJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQULdXNlckFkZHJlc3MFC2NsYWltQW1vdW50BQxhc3NldElkQnl0ZXMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEbZ2V0U3Rha2VGcm9tVW5sb2NrZWRBY3Rpb25zAwtub2RlQWRkcmVzcwt1c2VyQWRkcmVzcxF1c2VyTGVhc2luZ0Ftb3VudAQLJHQwODExNzgxNzcJARVnZXRVc2VyVG9DbGFpbUJhbGFuY2UBBQt1c2VyQWRkcmVzcwQHdG9DbGFpbQgFCyR0MDgxMTc4MTc3Al8xBAh0b1VubG9jawgFCyR0MDgxMTc4MTc3Al8yBAlhdmFpbGFibGUJAGQCBQh0b1VubG9jawUHdG9DbGFpbQQGY2hlY2tzCQDMCAIDCQBmAgURdXNlckxlYXNpbmdBbW91bnQAAAYJAQh0aHJvd0VycgECH2Ftb3VudCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAJAMwIAgMJAGcCBQlhdmFpbGFibGUFEXVzZXJMZWFzaW5nQW1vdW50BgkBCHRocm93RXJyAQIrYW1vdW50IHNob3VsZCBiZSBsZXNzIG9yIGVxdWFsIHRvIGF2YWlsYWJsZQkAzAgCAwkBDmlzVmFsaWRBZGRyZXNzAQULbm9kZUFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIabm9kZSBhZGRyZXNzIGlzIG5vdCB2YWxpZDoJAMwIAgULbm9kZUFkZHJlc3MFA25pbAIBIAkAzAgCAwkBDmlzVmFsaWRBZGRyZXNzAQULdXNlckFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIadXNlciBhZGRyZXNzIGlzIG5vdCB2YWxpZDoJAMwIAgULdXNlckFkZHJlc3MFA25pbAIBIAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAskdDA4NjU0ODcyNwkBEmdldExlYXNpbmdOb2RlRGF0YQEFC25vZGVBZGRyZXNzBBFub2RlQ3VycmVudExlYXNlZAgFCyR0MDg2NTQ4NzI3Al8xBA5ub2RlTmV4dExlYXNlZAgFCyR0MDg2NTQ4NzI3Al8yBBBuZXdOb2RlTmV4dExlYXNlCQBkAgUObm9kZU5leHRMZWFzZWQFEXVzZXJMZWFzaW5nQW1vdW50BAskdDA4Nzk1ODg4MQkBEmdldFVzZXJMZWFzaW5nRGF0YQIFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwQRdXNlckN1cnJlbnRMZWFzZWQIBQskdDA4Nzk1ODg4MQJfMQQOdXNlck5leHRMZWFzZWQIBQskdDA4Nzk1ODg4MQJfMgQRbmV3VXNlck5leHRMZWFzZWQJAGQCBQ51c2VyTmV4dExlYXNlZAURdXNlckxlYXNpbmdBbW91bnQEC25ld1RvVW5sb2NrCQCWAwEJAMwIAgAACQDMCAIJAGUCBQh0b1VubG9jawURdXNlckxlYXNpbmdBbW91bnQFA25pbAQKbmV3VG9DbGFpbQkAlwMBCQDMCAIFB3RvQ2xhaW0JAMwIAgkAZAIFB3RvQ2xhaW0JAGUCBQh0b1VubG9jawURdXNlckxlYXNpbmdBbW91bnQFA25pbAkAzAgCCQETZ2V0TGVhc2luZ05vZGVFbnRyeQMFC25vZGVBZGRyZXNzBRFub2RlQ3VycmVudExlYXNlZAUQbmV3Tm9kZU5leHRMZWFzZQkAzAgCCQETZ2V0VXNlckxlYXNpbmdFbnRyeQQFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwURdXNlckN1cnJlbnRMZWFzZWQFEW5ld1VzZXJOZXh0TGVhc2VkCQDMCAIJARNnZXRVc2VyVG9DbGFpbUVudHJ5AwULdXNlckFkZHJlc3MFCm5ld1RvQ2xhaW0FC25ld1RvVW5sb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BHGdldFNldE5ld1BlcmlvZExlbmd0aEFjdGlvbnMBD25ld1BlcmlvZExlbmd0aAQFY2hlY2sJAMwIAgMJAGYCBQ9uZXdQZXJpb2RMZW5ndGgAAAYJAQh0aHJvd0VycgECJnBlcmlvZCBsZW5ndGggc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwBQNuaWwDCQAAAgUFY2hlY2sFBWNoZWNrAwkAAAIFEnBlcmlvZE9mZnNldEhlaWdodAD///////////8BCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9rZXlQZXJpb2RMZW5ndGgFD25ld1BlcmlvZExlbmd0aAkAzAgCCQEMSW50ZWdlckVudHJ5AgUVa2V5UGVyaW9kT2Zmc2V0SGVpZ2h0BQZoZWlnaHQFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgURa2V5UGVyaW9kT2Zmc2V0SWQJAGQCBQ9jdXJyZW50UGVyaW9kSWQAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgUVa2V5UGVyaW9kT2Zmc2V0SGVpZ2h0BRBuZXh0UGVyaW9kSGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9rZXlQZXJpb2RMZW5ndGgFD25ld1BlcmlvZExlbmd0aAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQFpARJzZXROZXdQZXJpb2RMZW5ndGgBD25ld1BlcmlvZExlbmd0aAkBHGdldFNldE5ld1BlcmlvZExlbmd0aEFjdGlvbnMBBQ9uZXdQZXJpb2RMZW5ndGgBaQETZ2V0Tm9kZURhdGFSRUFET05MWQELbm9kZUFkZHJlc3MEDSR0MDEwMTA4MTAxNzIJARJnZXRMZWFzaW5nTm9kZURhdGEBBQtub2RlQWRkcmVzcwQMY3VycmVudExlYXNlCAUNJHQwMTAxMDgxMDE3MgJfMQQKbmV4dExlYXNlZAgFDSR0MDEwMTA4MTAxNzICXzIJAJQKAgUDbmlsCQCXCgUFE2N1cnJlbnRQZXJpb2RIZWlnaHQFDGN1cnJlbnRMZWFzZQUQbmV4dFBlcmlvZEhlaWdodAUKbmV4dExlYXNlZAUGaGVpZ2h0AWkBE2dldFVzZXJEYXRhUkVBRE9OTFkBC3VzZXJBZGRyZXNzBA0kdDAxMDMyODEwMzg4CQEVZ2V0VXNlclRvQ2xhaW1CYWxhbmNlAQULdXNlckFkZHJlc3MEB3RvQ2xhaW0IBQ0kdDAxMDMyODEwMzg4Al8xBAh0b1VubG9jawgFDSR0MDEwMzI4MTAzODgCXzIJAJQKAgUDbmlsCQCXCgUFE2N1cnJlbnRQZXJpb2RIZWlnaHQFB3RvQ2xhaW0FEG5leHRQZXJpb2RIZWlnaHQFCHRvVW5sb2NrBQZoZWlnaHQBaQEIc3Rha2VGb3ICC25vZGVBZGRyZXNzC3VzZXJBZGRyZXNzCQEPZ2V0U3Rha2VBY3Rpb25zAwULbm9kZUFkZHJlc3MFC3VzZXJBZGRyZXNzBQFpAWkBBXN0YWtlAQtub2RlQWRkcmVzcwQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCQEPZ2V0U3Rha2VBY3Rpb25zAwULbm9kZUFkZHJlc3MFC3VzZXJBZGRyZXNzBQFpAWkBEXN0YWtlRnJvbVVubG9ja2VkAgtub2RlQWRkcmVzcwZhbW91bnQEC3VzZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgkBG2dldFN0YWtlRnJvbVVubG9ja2VkQWN0aW9ucwMFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwUGYW1vdW50AWkBB3Vuc3Rha2UCC25vZGVBZGRyZXNzBmFtb3VudAQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCQERZ2V0VW5zdGFrZUFjdGlvbnMDBQtub2RlQWRkcmVzcwULdXNlckFkZHJlc3MFBmFtb3VudAFpAQVjbGFpbQEGYW1vdW50BAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIJARdnZXRDbGFpbVVubG9ja2VkQWN0aW9ucwIFC3VzZXJBZGRyZXNzBQZhbW91bnQBaQEIY2xhaW1BbGwABAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEDSR0MDExMzA2MTEzNjYJARVnZXRVc2VyVG9DbGFpbUJhbGFuY2UBBQt1c2VyQWRkcmVzcwQHdG9DbGFpbQgFDSR0MDExMzA2MTEzNjYCXzEECHRvVW5sb2NrCAUNJHQwMTEzMDYxMTM2NgJfMgQGY2hlY2tzCQDMCAIDCQBmAgUHdG9DbGFpbQAABgkBCHRocm93RXJyAQIQbm90aGluZyB0byBjbGFpbQUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzCQEXZ2V0Q2xhaW1VbmxvY2tlZEFjdGlvbnMCBQt1c2VyQWRkcmVzcwUHdG9DbGFpbQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgCRieHP", "height": 2973243, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 78wCSZXshmt5KwAVGPkv6nGCgo7PRKLS1Wa3roxGAkZi Next: ovpcsZnbKjoEq79eq2Ycohf1Zj8USiv3BW2zLRdw1PQ Diff:
OldNewDifferences
238238 let ag = (N + ac)
239239 let am = max([0, (U - ac)])
240240 let aq = min([T, (T + (U - ac))])
241-[z(p, I, K), L(p, r, M, ag), S(r, aq, am)]
241+[z(p, I, ae), L(p, r, M, ag), S(r, aq, am)]
242242 }
243243 else throw("Strict value is not equal to itself.")
244244 }
251251 if ((ay == ay))
252252 then if ((k == -1))
253253 then [IntegerEntry(h, ax), IntegerEntry(g, height)]
254- else {
255- let az = (l + 1)
256- let aA = ((j * (az - i)) + k)
257-[IntegerEntry(f, az), IntegerEntry(g, aA), IntegerEntry(h, ax)]
258- }
254+ else [IntegerEntry(f, (l + 1)), IntegerEntry(g, n), IntegerEntry(h, ax)]
259255 else throw("Strict value is not equal to itself.")
260256 }
261257
267263
268264 @Callable(aa)
269265 func getNodeDataREADONLY (p) = {
270- let aB = D(p)
271- let aC = aB._1
272- let B = aB._2
273- $Tuple2(nil, $Tuple5(m, aC, n, B, height))
266+ let az = D(p)
267+ let aA = az._1
268+ let B = az._2
269+ $Tuple2(nil, $Tuple5(m, aA, n, B, height))
274270 }
275271
276272
277273
278274 @Callable(aa)
279275 func getUserDataREADONLY (r) = {
280- let aD = V(r)
281- let T = aD._1
282- let U = aD._2
276+ let aB = V(r)
277+ let T = aB._1
278+ let U = aB._2
283279 $Tuple2(nil, $Tuple5(m, T, n, U, height))
284280 }
285281
299295
300296
301297 @Callable(aa)
302-func stakeFromUnlocked (p,aE) = {
298+func stakeFromUnlocked (p,aC) = {
303299 let r = toString(aa.caller)
304- ar(p, r, aE)
300+ ar(p, r, aC)
305301 }
306302
307303
308304
309305 @Callable(aa)
310-func unstake (p,aE) = {
306+func unstake (p,aC) = {
311307 let r = toString(aa.caller)
312- ah(p, r, aE)
308+ ah(p, r, aC)
313309 }
314310
315311
316312
317313 @Callable(aa)
318-func claim (aE) = {
314+func claim (aC) = {
319315 let r = toString(aa.caller)
320- an(r, aE)
316+ an(r, aC)
321317 }
322318
323319
325321 @Callable(aa)
326322 func claimAll () = {
327323 let r = toString(aa.caller)
328- let aF = V(r)
329- let T = aF._1
330- let U = aF._2
331- an(r, T)
324+ let aD = V(r)
325+ let T = aD._1
326+ let U = aD._2
327+ let ab = [if ((T > 0))
328+ then true
329+ else c("nothing to claim")]
330+ if ((ab == ab))
331+ then an(r, T)
332+ else throw("Strict value is not equal to itself.")
332333 }
333334
334335
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "l2mp_leasing.ride"
55
66 let b = "__"
77
88 func c (d) = throw(((a + ": ") + d))
99
1010
1111 let e = makeString(["%s", "assetId"], b)
1212
1313 let f = makeString(["%s", "offsetId"], b)
1414
1515 let g = makeString(["%s", "offsetHeight"], b)
1616
1717 let h = makeString(["%s", "periodLength"], b)
1818
1919 let i = valueOrElse(getInteger(this, f), 0)
2020
2121 let j = valueOrElse(getInteger(this, h), 10000)
2222
2323 let k = valueOrElse(getInteger(this, g), -1)
2424
2525 let l = if (if ((height > k))
2626 then (k != -1)
2727 else false)
2828 then (((height - k) / j) + i)
2929 else max([0, (i - 1)])
3030
3131 let m = (k + ((l - i) * j))
3232
3333 let n = (m + j)
3434
3535 func o (p) = makeString(["%s", p], b)
3636
3737
3838 func q (r) = makeString(["%s%s", "toClaim", r], b)
3939
4040
4141 func s (r,p) = makeString(["%s%s", p, r], b)
4242
4343
4444 let t = valueOrElse(getString(this, e), "WAVES")
4545
4646 let u = if ((t == "WAVES"))
4747 then unit
4848 else fromBase58String(t)
4949
5050 func v (w) = {
5151 let x = addressFromString(w)
5252 if ($isInstanceOf(x, "Address"))
5353 then {
5454 let y = x
5555 true
5656 }
5757 else false
5858 }
5959
6060
6161 func z (p,A,B) = {
6262 let C = makeString(["%d%d%d%d", toString(m), toString(A), toString(n), toString(B)], b)
6363 StringEntry(o(p), C)
6464 }
6565
6666
6767 func D (p) = {
6868 let E = getString(this, o(p))
6969 let x = E
7070 if ($isInstanceOf(x, "String"))
7171 then {
7272 let F = x
7373 let G = split(F, b)
7474 let H = parseIntValue(G[1])
7575 let I = parseIntValue(G[2])
7676 let J = parseIntValue(G[3])
7777 let K = parseIntValue(G[4])
7878 if ((J > height))
7979 then $Tuple2(I, K)
8080 else $Tuple2(K, K)
8181 }
8282 else $Tuple2(0, 0)
8383 }
8484
8585
8686 func L (p,r,M,N) = {
8787 let C = makeString(["%d%d%d%d", toString(m), toString(M), toString(n), toString(N)], b)
8888 StringEntry(s(r, p), C)
8989 }
9090
9191
9292 func O (p,r) = {
9393 let P = getString(this, s(r, p))
9494 let x = P
9595 if ($isInstanceOf(x, "String"))
9696 then {
9797 let F = x
9898 let G = split(F, b)
9999 let Q = parseIntValue(G[1])
100100 let M = parseIntValue(G[2])
101101 let R = parseIntValue(G[3])
102102 let N = parseIntValue(G[4])
103103 if ((R > height))
104104 then $Tuple2(M, N)
105105 else $Tuple2(N, N)
106106 }
107107 else $Tuple2(0, 0)
108108 }
109109
110110
111111 func S (r,T,U) = {
112112 let C = makeString(["%d%d%d%d", toString(m), toString(T), toString(n), toString(U)], b)
113113 StringEntry(q(r), C)
114114 }
115115
116116
117117 func V (r) = {
118118 let W = getString(this, q(r))
119119 let x = W
120120 if ($isInstanceOf(x, "String"))
121121 then {
122122 let F = x
123123 let G = split(F, b)
124124 let X = parseIntValue(G[1])
125125 let T = parseIntValue(G[2])
126126 let Y = parseIntValue(G[3])
127127 let U = parseIntValue(G[4])
128128 if ((Y > height))
129129 then $Tuple2(T, U)
130130 else $Tuple2((T + U), 0)
131131 }
132132 else $Tuple2(0, 0)
133133 }
134134
135135
136136 func Z (p,r,aa) = {
137137 let ab = [if ((size(aa.payments) == 1))
138138 then true
139139 else c("payment size should be exactly 1"), if ((aa.payments[0].assetId == u))
140140 then true
141141 else c(makeString(["payment assetId should be:", t], " ")), if (v(p))
142142 then true
143143 else c(makeString(["node address is not valid:", p], " ")), if (v(r))
144144 then true
145145 else c(makeString(["user address is not valid:", r], " "))]
146146 if ((ab == ab))
147147 then {
148148 let ac = aa.payments[0].amount
149149 let ad = D(p)
150150 let I = ad._1
151151 let K = ad._2
152152 let ae = (K + ac)
153153 let af = O(p, r)
154154 let M = af._1
155155 let N = af._2
156156 let ag = (N + ac)
157157 [z(p, I, ae), L(p, r, M, ag)]
158158 }
159159 else throw("Strict value is not equal to itself.")
160160 }
161161
162162
163163 func ah (p,r,ai) = {
164164 let aj = D(p)
165165 let I = aj._1
166166 let K = aj._2
167167 let ak = O(p, r)
168168 let M = ak._1
169169 let N = ak._2
170170 let ab = [if ((ai > 0))
171171 then true
172172 else c("unstake amount should be greater than 0"), if ((N >= ai))
173173 then true
174174 else c("unstake amount should be less or equal user staked amount"), if ((K >= ai))
175175 then true
176176 else c("unstake amount should be less or equal node staked amount"), if (v(p))
177177 then true
178178 else c(makeString(["node address is not valid:", p], " ")), if (v(r))
179179 then true
180180 else c(makeString(["user address is not valid:", r], " "))]
181181 if ((ab == ab))
182182 then {
183183 let ae = (K - ai)
184184 let ag = (N - ai)
185185 let al = V(r)
186186 let T = al._1
187187 let U = al._2
188188 let am = (U + ai)
189189 [z(p, I, ae), L(p, r, M, ag), S(r, T, am)]
190190 }
191191 else throw("Strict value is not equal to itself.")
192192 }
193193
194194
195195 func an (r,ao) = {
196196 let ap = V(r)
197197 let T = ap._1
198198 let U = ap._2
199199 let ab = [if ((ao > 0))
200200 then true
201201 else c("claim amount should be greater than 0"), if ((T >= ao))
202202 then true
203203 else c("claim amount should be less or equal unlocked amount"), if (v(r))
204204 then true
205205 else c(makeString(["user address is not valid:", r], " "))]
206206 if ((ab == ab))
207207 then {
208208 let aq = (T - ao)
209209 [S(r, aq, U), ScriptTransfer(addressFromStringValue(r), ao, u)]
210210 }
211211 else throw("Strict value is not equal to itself.")
212212 }
213213
214214
215215 func ar (p,r,ac) = {
216216 let as = V(r)
217217 let T = as._1
218218 let U = as._2
219219 let at = (U + T)
220220 let ab = [if ((ac > 0))
221221 then true
222222 else c("amount should be greater than 0"), if ((at >= ac))
223223 then true
224224 else c("amount should be less or equal to available"), if (v(p))
225225 then true
226226 else c(makeString(["node address is not valid:", p], " ")), if (v(r))
227227 then true
228228 else c(makeString(["user address is not valid:", r], " "))]
229229 if ((ab == ab))
230230 then {
231231 let au = D(p)
232232 let I = au._1
233233 let K = au._2
234234 let ae = (K + ac)
235235 let av = O(p, r)
236236 let M = av._1
237237 let N = av._2
238238 let ag = (N + ac)
239239 let am = max([0, (U - ac)])
240240 let aq = min([T, (T + (U - ac))])
241-[z(p, I, K), L(p, r, M, ag), S(r, aq, am)]
241+[z(p, I, ae), L(p, r, M, ag), S(r, aq, am)]
242242 }
243243 else throw("Strict value is not equal to itself.")
244244 }
245245
246246
247247 func aw (ax) = {
248248 let ay = [if ((ax > 0))
249249 then true
250250 else c("period length should be greater than 0")]
251251 if ((ay == ay))
252252 then if ((k == -1))
253253 then [IntegerEntry(h, ax), IntegerEntry(g, height)]
254- else {
255- let az = (l + 1)
256- let aA = ((j * (az - i)) + k)
257-[IntegerEntry(f, az), IntegerEntry(g, aA), IntegerEntry(h, ax)]
258- }
254+ else [IntegerEntry(f, (l + 1)), IntegerEntry(g, n), IntegerEntry(h, ax)]
259255 else throw("Strict value is not equal to itself.")
260256 }
261257
262258
263259 @Callable(aa)
264260 func setNewPeriodLength (ax) = aw(ax)
265261
266262
267263
268264 @Callable(aa)
269265 func getNodeDataREADONLY (p) = {
270- let aB = D(p)
271- let aC = aB._1
272- let B = aB._2
273- $Tuple2(nil, $Tuple5(m, aC, n, B, height))
266+ let az = D(p)
267+ let aA = az._1
268+ let B = az._2
269+ $Tuple2(nil, $Tuple5(m, aA, n, B, height))
274270 }
275271
276272
277273
278274 @Callable(aa)
279275 func getUserDataREADONLY (r) = {
280- let aD = V(r)
281- let T = aD._1
282- let U = aD._2
276+ let aB = V(r)
277+ let T = aB._1
278+ let U = aB._2
283279 $Tuple2(nil, $Tuple5(m, T, n, U, height))
284280 }
285281
286282
287283
288284 @Callable(aa)
289285 func stakeFor (p,r) = Z(p, r, aa)
290286
291287
292288
293289 @Callable(aa)
294290 func stake (p) = {
295291 let r = toString(aa.caller)
296292 Z(p, r, aa)
297293 }
298294
299295
300296
301297 @Callable(aa)
302-func stakeFromUnlocked (p,aE) = {
298+func stakeFromUnlocked (p,aC) = {
303299 let r = toString(aa.caller)
304- ar(p, r, aE)
300+ ar(p, r, aC)
305301 }
306302
307303
308304
309305 @Callable(aa)
310-func unstake (p,aE) = {
306+func unstake (p,aC) = {
311307 let r = toString(aa.caller)
312- ah(p, r, aE)
308+ ah(p, r, aC)
313309 }
314310
315311
316312
317313 @Callable(aa)
318-func claim (aE) = {
314+func claim (aC) = {
319315 let r = toString(aa.caller)
320- an(r, aE)
316+ an(r, aC)
321317 }
322318
323319
324320
325321 @Callable(aa)
326322 func claimAll () = {
327323 let r = toString(aa.caller)
328- let aF = V(r)
329- let T = aF._1
330- let U = aF._2
331- an(r, T)
324+ let aD = V(r)
325+ let T = aD._1
326+ let U = aD._2
327+ let ab = [if ((T > 0))
328+ then true
329+ else c("nothing to claim")]
330+ if ((ab == ab))
331+ then an(r, T)
332+ else throw("Strict value is not equal to itself.")
332333 }
333334
334335

github/deemru/w8io/169f3d6 
41.34 ms