tx · 5zVvbGCqhcC4kLLUx5QFdbKCgGZ6hBzFqunE73LjsF6o 3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw: -0.02000000 Waves 2023.08.20 07:34 [2718460] smart account 3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw > SELF 0.00000000 Waves
{ "type": 13, "id": "5zVvbGCqhcC4kLLUx5QFdbKCgGZ6hBzFqunE73LjsF6o", "fee": 2000000, "feeAssetId": null, "timestamp": 1692506100962, "version": 2, "chainId": 84, "sender": "3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw", "senderPublicKey": "Apv79thF7LfxCEFRESoEAeqHQnhmt45geC8enb3ukDX", "proofs": [ "49m68CzRWGXFcgE7gGfkhwF4FCDbg6ajVWoMobarHBcfhA83r9X8iRFyFtVtSgJ97o98W3NTd4rRQqyCNoxEhd9x" ], "script": "base64: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bnNDT0RFCQAAZAAAAAIFAAAAEFByZXZpb3VzVHhuc0NPREUAAAAAAAAAAAEEAAAAElByZXZpb3VzQnVybmVkQ09ERQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABJUb3RhbF9CdXJuZWRfQ09ERToDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAPVG90YWxCdXJuZWRDT0RFCQAAZAAAAAIFAAAAElByZXZpb3VzQnVybmVkQ09ERQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAALZ2Fwb2ZoZWlnaHQJAABlAAAAAgUAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0BQAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAQAAAATY2hlY2tMaWNlbnNlQmFsYW5jZQkAA/AAAAACCQEAAAAHQWRkcmVzcwAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAEkNPREVMSUNFTlNFQXNzZXRJRAQAAAARY3VycmVudENPREVBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3Vu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AAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASTWluaW11bV9EYXlzX1JhbmdlCQAAZAAAAAIFAAAAD21pbmltdW1sb2NrZGF5cwAAAAAAAAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAtDT0RFQXNzZXRJRAUAAAADbmlsCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALQ09ERUFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9CdXJuZWRfQ09ERToFAAAAD1RvdGFsQnVybmVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfVHhuczoFAAAADVRvdGFsVHhuc0NPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACUluZmxhdGlvbgUAAAALSW5mbGF0aW9uTm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADEJsb2NrX1Bhc3NlZAUAAAAJYmxvY2tkaWZmCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtCdXJuX0ZhY3RvcgUAAAALQnVybl9mYWN0b3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5BQAAABhTdW1wdXBvZlVzZXJOb09mRGVwb3NpdHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA90b3RhbGxvY2tibG9ja3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVw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ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9DT0RFOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA9Ub3RhbElzc3VlZENPREUJAABkAAAAAgUAAAASUHJldmlvdXNJc3N1ZWRDT0RFCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BAAAABRQcmV2aW91c0NsYWltRmVlSW5UTgQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAVVG90YWxfQ2xhaW1fRmVlX0luX1ROAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEVRvdGFsQ2xhaW1GZWVJblROCQAAZAAAAAIFAAAAFFByZXZpb3VzQ2xhaW1GZWVJblROBQAAAAhDbGFpbUZlZQQAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAAAtnYXBvZmhlaWdodAkAAGUAAAACBQAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQFAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAwV3JvbmcgQXNzZXQgQXR0YWNoZWQgZm9yIFBheW1lbnQsIHBsZWFzZSBBdHRhY2ggCQABpAAAAAEFAAAACENsYWltRmVlAgAAAAkvMTBeOCBUTi4DCQEAAAACIT0AAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAIQ2xhaW1GZWUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFFBsZWFzZSBBdHRhY2ggRXhhY3QgCQABpAAAAAEFAAAACENsYWltRmVlAgAAAAkvMTBeOCBUTi4DCQAAZgAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVZb3VyIAkAAaQAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AgAAADwvMTBeOCBDT0RFIGFyZSBTdGlsbCBNYXR1cmluZy4gVG9rZW4gd2lsbCBiZSBVbmxvY2tlZCBhZnRlciAJAAGkAAAAAQkAAGUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0AgAAAAggYmxvY2tzLgMJAAAAAAAAAgUAAAARY2hlY2tkZXBvc2l0dmFsdWUAAAAAAAAAAAAJAAACAAAAAQIAAAArWW91IEhhdmUgQWxyZWFkeSBXaXRoZHJhdyB5b3VyIENPREUgQW1vdW50LgMJAQAAAAIhPQAAAAIFAAAAC2dhcG9maGVpZ2h0AAAAAAAAAfpACQAAAgAAAAECAAAAvFlvdSBhcmUgTm90IEVsaWdpYmxlIHRvIFdpdGhkcmF3IENPREUuIEl0IG5lZWQgbWluaW11bSA5MCBEYXlzIFN0YWtpbmcgYXQgQTRBIERBcHAuIFByb2JhYmx5IHlvdSBhbHJlYWR5IGhhdmUgQ2xhaW1lZCBZb3VyIFN0YWtlIG9yIHlvdSBPdmVyd3JpdGUgdGhlIFNtYXJ0IENvbnRyYWN0IHdpdGggbGVzcyB0aGFuIDkwIGRheXMuAwkAAGcAAAACBQAAABFmZXRjaFVzZXJTdGFrZUFtdAAAAAEXZZLf/wkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfVHhuczoFAAAADVRvdGFsVHhuc0NPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0NPREVfQ2xhaW1lZDoFAAAAEnRvdGFscmV3YXJkY2xhaW1lZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX0NPREU6BQAAAA9Ub3RhbElzc3VlZENPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFVRvdGFsX0NsYWltX0ZlZV9Jbl9UTgUAAAARVG90YWxDbGFpbUZlZUluVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADEZlZV8lX0NoYXJnZQUAAAAORmxhdGZlZVBlcmNlbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACkZlZV9BbW91bnQFAAAADnVzZXJGbGF0RmVlQW10CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALQ09ERUFzc2V0SUQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA51c2VyRmxhdEZlZUFtdAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAASVHJlYXN1cnlGZWVBZGRyZXNzCQAAawAAAAMFAAAADnVzZXJGbGF0RmVlQW10AAAAAAAAAABQAAAAAAAAAABkBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAApkZXZhZGRyZXNzCQAAawAAAAMFAAAADnVzZXJGbGF0RmVlQW10BQAAAAxkZXZmZWVjaGFyZWQAAAAAAAAAAGQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAD05vX09mX0RlcG9zaXRzXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACg8aDE+Q09ERSBVblN0YWtlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+BQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX1R4bnM6BQAAAA1Ub3RhbFR4bnNDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9DT0RFX0NsYWltZWQ6BQAAABJ0b3RhbHJld2FyZGNsYWltZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9DT0RFOgUAAAAPVG90YWxJc3N1ZWRDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVUb3RhbF9DbGFpbV9GZWVfSW5fVE4FAAAAEVRvdGFsQ2xhaW1GZWVJblROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxGZWVfJV9DaGFyZ2UFAAAAC0ZlZXNQZXJjZW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApGZWVfQW1vdW50BQAAAAp1c2VyRmVlQW10CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALQ09ERUFzc2V0SUQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAp1c2VyRmVlQW10BQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABJUcmVhc3VyeUZlZUFkZHJlc3MJAABrAAAAAwUAAAAKdXNlckZlZUFtdAAAAAAAAAAAUAAAAAAAAAAAZAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKZGV2YWRkcmVzcwkAAGsAAAADBQAAAAp1c2VyRmVlQW10BQAAAAxkZXZmZWVjaGFyZWQAAAAAAAAAAGQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAD05vX09mX0RlcG9zaXRzXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACg8aDE+Q09ERSBVblN0YWtlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+BQAAAANuaWwAAAABaQEAAAAMU2V0RGF5c1JhbmdlAAAAAgAAABJNaW5pbXVtX0RheXNfUmFuZ2UAAAASTWF4aW11bV9EYXlzX1JhbmdlBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC2FkbWlucmlnaHRzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAABFEQXBwX0FkbWluX1JpZ2h0cwQAAAAMTWluaW11bV9kYXlzAAAAAAAAAAAHBAAAAAxNYXhpbXVtX2RheXMAAAAAAAAAAMgDCQEAAAACIT0AAAACBQAAAAthZG1pbnJpZ2h0cwUAAAANY2FsbGVyYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAiSSBrbm93IFlvdSBhcmUgbm90IEFuIEFkbWluLiBPbmx5IAUAAAALYWRtaW5yaWdodHMCAAAAISBoYXMgcmlnaHRzIHRvIGNoYW5nZSBEYXlzIFJhbmdlLgMJAABmAAAAAgUAAAAMTWluaW11bV9kYXlzBQAAABJNaW5pbXVtX0RheXNfUmFuZ2UJAAACAAAAAQIAAAA8TWluaW11bSBkYXlzIHJhbmdlIG11c3QgYmUgbW9yZSB0aGFuIDYgYW5kIGluIGJldHdlZW4gNy0yMDAuAwkAAGYAAAACBQAAABJNYXhpbXVtX0RheXNfUmFuZ2UFAAAADE1heGltdW1fZGF5cwkAAAIAAAABAgAAAChNYXhpbXVtIGRheXMgcmFuZ2UgY2FuJ3QgZXhjZWVkIHRoZSAyMDAuAwkAAGYAAAACBQAAABJNaW5pbXVtX0RheXNfUmFuZ2UFAAAAEk1heGltdW1fRGF5c19SYW5nZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAXk1pbmltdW0gZGF5cyByYW5nZSBjYW4ndCBiZSBleGNlZWQgdGhlIHZhbHVlIG9mIE1heGltdW0gZGF5cyByYW5nZS4gQ2hvb3NlIHRoZSBSYW5nZSBiZXR3ZWVuIFsJAAGkAAAAAQUAAAAMTWluaW11bV9kYXlzAgAAAAEtCQABpAAAAAEFAAAADE1heGltdW1fZGF5cwIAAAABXQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASTWluaW11bV9EYXlzX1JhbmdlBQAAABJNaW5pbXVtX0RheXNfUmFuZ2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEk1heGltdW1fRGF5c19SYW5nZQUAAAASTWF4aW11bV9EYXlzX1JhbmdlBQAAAANuaWwAAAABaQEAAAALU2V0Q2xhaW1GZWUAAAABAAAACENsYWltRmVlBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC2FkbWlucmlnaHRzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAABFEQXBwX0FkbWluX1JpZ2h0cwQAAAARTWluaW11bV9DbGFpbV9mZWUAAAAAAAX14QAEAAAAEU1heGltdW1fQ2xhaW1fZmVlAAAAABdIdugAAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAACAgaGFzIHJpZ2h0cyB0byBjaGFuZ2UgQ2xhaW0gRmVlLgMJAABmAAAAAgUAAAARTWluaW11bV9DbGFpbV9mZWUFAAAACENsYWltRmVlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABVNaW5pbXVtIENsYWltIGZlZSBpcyAJAAGkAAAAAQUAAAARTWluaW11bV9DbGFpbV9mZWUCAAAAESBUTiBbaW50LWZvcm1hdF0uAwkAAGYAAAACBQAAAAhDbGFpbUZlZQUAAAARTWF4aW11bV9DbGFpbV9mZWUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJU1heGltdW0gQ2xhaW0gZmVlIGNhbid0IGJlIG1vcmUgdGhhbiAJAAGkAAAAAQUAAAARTWF4aW11bV9DbGFpbV9mZWUCAAAAESBUTi4gW2ludC1mb3JtYXRdCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlDbGFpbV9GZWUFAAAACENsYWltRmVlBQAAAANuaWwAAAABaQEAAAANU3dhcFdhdmVzVG9UTgAAAAAEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAACVUb2tlbiBpcyByZXF1aXJlZCBhcyBBdHRhY2hlZCBwYXltZW50BAAAAAtBTU1fQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM0pqSDZiaENFY04zSmR1RWpBQ21CdkxRMWVRdlhTbkF1eWkEAAAABVdBVkVTAQAAACDP/74B1d4jjFgihGpnkOPBwPYiuXsdK1Tqg2sFWwuhfgQAAAAFcG9vbDECAAAAAlROBAAAAAZmYWN0b3IAAAAAAAAAB9EEAAAACWtCYWxhbmNlQQIAAAARZ2xvYmFsX1ROX2JhbGFuY2UEAAAAD0FfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAALQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQQQAAAAJa0JhbGFuY2VCAgAAADtnbG9iYWxfRXp3YUY1OHNzQUxjVUNaOUZieWVEMUdUU3Rlb1pBUVpFRFRxQkFYSGZxOHlfYmFsYW5jZQQAAAAPQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VCBAAAABFuZXdiYWxhbmNlb2ZXQVZFUwkAAGsAAAADBQAAAA9CX2Fzc2V0X2JhbGFuY2UFAAAAD0FfYXNzZXRfYmFsYW5jZQkAAGQAAAACBQAAAA9CX2Fzc2V0X2JhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABJtaW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAPQV9hc3NldF9iYWxhbmNlBQAAABFuZXdiYWxhbmNlb2ZXQVZFUwQAAAADZmVlCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAGZmFjdG9yAAAAAAAAAYagBAAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAANmZWUEAAAABXByaWNlCQAAawAAAAMIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAF9eEABQAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAVXQVZFUwgFAAAAA3BtdAAAAAZhbW91bnQEAAAACGludm9rZVROCQAD/AAAAAQFAAAAC0FNTV9BZGRyZXNzAgAAAARzd2FwCQAETAAAAAIFAAAABXBvb2wxCQAETAAAAAIFAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQUAAAADbmlsCQAETAAAAAIFAAAAB3BheW1lbnQFAAAAA25pbAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAASY29udHJvbGxlcl9hZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACVUaGlzIEFkZHJlc3MgaXMgbm90IEF1dGhvcml6ZWQuIE9ubHkgCQAEJQAAAAEFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAAAAAAAAAgUAAAAIaW52b2tlVE4FAAAACGludm9rZVROAwkAAAAAAAACBQAAAAhpbnZva2VUTgUAAAAIaW52b2tlVE4FAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXlcnBJV", "height": 2718460, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 8tD4CebUWBfq9nu7ZBAQykAdwzq6XbvEGSdNukkYh7ku Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "3.0.0" | |
5 | + | ||
6 | + | let b = base58'CFS24Rd5VmayXgJRCaGq1CfrQY9aRNbQEMFcM8r6vsUZ' | |
7 | + | ||
8 | + | let c = addressFromPublicKey(b) | |
9 | + | ||
10 | + | let d = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB' | |
11 | + | ||
12 | + | let e = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX' | |
13 | + | ||
14 | + | let f = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J' | |
15 | + | ||
16 | + | let g = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR' | |
17 | + | ||
18 | + | let h = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene' | |
19 | + | ||
20 | + | let i = 20 | |
21 | + | ||
22 | + | let j = 1850000 | |
23 | + | ||
24 | + | let k = getIntegerValue(this, "Minimum_Days_Range") | |
25 | + | ||
26 | + | let l = getIntegerValue(this, "Maximum_Days_Range") | |
27 | + | ||
28 | + | let m = 100000 | |
29 | + | ||
30 | + | let n = 1000000 | |
31 | + | ||
32 | + | let o = 1440 | |
33 | + | ||
34 | + | let p = (height - j) | |
35 | + | ||
36 | + | let q = (fraction(10000000000, 1, p) + 6000) | |
37 | + | ||
38 | + | @Callable(r) | |
39 | + | func Deposit (s) = { | |
40 | + | let t = if ((size(r.payments) == 1)) | |
41 | + | then r.payments[0] | |
42 | + | else throw((("No Payments Attached Please Attach " + toBase58String(d)) + " Asset Only.")) | |
43 | + | let u = toBase58String(r.caller.bytes) | |
44 | + | let v = ((((q * t.amount) * s) / 365) / 1000) | |
45 | + | let w = (p * 100000) | |
46 | + | let x = (o * s) | |
47 | + | let y = (height + x) | |
48 | + | let z = fraction(l, (w * q), (365 * 1000)) | |
49 | + | let A = fraction(z, 1000000, w) | |
50 | + | let B = { | |
51 | + | let C = getIntegerValue(this, "Total_Txns:") | |
52 | + | if ($isInstanceOf(C, "Int")) | |
53 | + | then { | |
54 | + | let D = C | |
55 | + | D | |
56 | + | } | |
57 | + | else 0 | |
58 | + | } | |
59 | + | let E = (B + 1) | |
60 | + | let F = { | |
61 | + | let C = getInteger(this, "Total_Burned_CODE:") | |
62 | + | if ($isInstanceOf(C, "Int")) | |
63 | + | then { | |
64 | + | let D = C | |
65 | + | D | |
66 | + | } | |
67 | + | else 0 | |
68 | + | } | |
69 | + | let G = (F + t.amount) | |
70 | + | let H = valueOrErrorMessage(getInteger(addressFromPublicKey(f), ("Deposit_height_Of_" + u)), "Your Address not Found on Staking DApp") | |
71 | + | let I = valueOrErrorMessage(getInteger(addressFromPublicKey(f), ("Total_Lock_Blocks_Of_" + u)), "Your Address not Found on Staking DApp") | |
72 | + | let J = (I - H) | |
73 | + | let K = assetBalance(Address(r.caller.bytes), e) | |
74 | + | let L = { | |
75 | + | let C = getInteger(this, ("Deposit_Amount_Of_" + u)) | |
76 | + | if ($isInstanceOf(C, "Int")) | |
77 | + | then { | |
78 | + | let D = C | |
79 | + | D | |
80 | + | } | |
81 | + | else 0 | |
82 | + | } | |
83 | + | let M = (L + t.amount) | |
84 | + | let N = { | |
85 | + | let C = getInteger(this, ("No_Of_Deposits_" + u)) | |
86 | + | if ($isInstanceOf(C, "Int")) | |
87 | + | then { | |
88 | + | let D = C | |
89 | + | D | |
90 | + | } | |
91 | + | else 0 | |
92 | + | } | |
93 | + | let O = (N + 1) | |
94 | + | let P = { | |
95 | + | let C = getInteger(this, "Expansion_Counter") | |
96 | + | if ($isInstanceOf(C, "Int")) | |
97 | + | then { | |
98 | + | let D = C | |
99 | + | D | |
100 | + | } | |
101 | + | else 0 | |
102 | + | } | |
103 | + | let Q = (P + 1) | |
104 | + | if ((K != 1)) | |
105 | + | then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.") | |
106 | + | else if ((K > 1)) | |
107 | + | then throw("You Own Multiple CODE License on Same Address.") | |
108 | + | else if ((j > height)) | |
109 | + | then throw((("DApp is Not Started Yet please Wait until " + toString((j - height))) + " blocks")) | |
110 | + | else if ((t.assetId != d)) | |
111 | + | then throw((("Incorrect asset attached, please attach " + toBase58String(d)) + " asset only")) | |
112 | + | else if ((k >= s)) | |
113 | + | then throw(((("Choose Locking days in between " + toString((k + 1))) + " to ") + toString(l))) | |
114 | + | else if ((s > l)) | |
115 | + | then throw(((((("You Entered days to " + toString(s)) + ", Please Enter no. of days in between ") + toString((k + 1))) + " to ") + toString(l))) | |
116 | + | else if ((m > t.amount)) | |
117 | + | then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.") | |
118 | + | else if ((t.amount > w)) | |
119 | + | then throw((("You can attach maximum " + toString(w)) + "/10^8 CODE.")) | |
120 | + | else if ((J != 129600)) | |
121 | + | then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.") | |
122 | + | else if ((N == 1)) | |
123 | + | then throw("You Already Have an Active Staking, Please Wait until Mature.") | |
124 | + | else if ((n > A)) | |
125 | + | then [StringEntry("Version", a), IntegerEntry("Expansion_Counter", Q), StringEntry(((toString(Q) + "_Expansion_Updator_") + toString(height)), u), StringEntry("message", (((("New Days Range Expended from " + toString(l)) + " To ") + toString((l + 1))) + " Days. Please Restake CODE.")), IntegerEntry("Maximum_Days_Range", (l + 1)), IntegerEntry("Minimum_Days_Range", (k + 1)), ScriptTransfer(r.caller, t.amount, d)] | |
126 | + | else [Burn(d, t.amount), IntegerEntry("Total_Burned_CODE:", G), IntegerEntry("Total_Txns:", E), IntegerEntry("Inflation", q), IntegerEntry("Block_Passed", p), IntegerEntry("Burn_Factor", A), IntegerEntry(("No_Of_Deposits_" + u), O), IntegerEntry(("Deposit_height_Of_" + u), height), IntegerEntry(("Total_Lock_Blocks_Of_" + u), y), IntegerEntry(("Deposit_Amount_Of_" + u), M), IntegerEntry(("Rewards_Of_" + u), v), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")] | |
127 | + | } | |
128 | + | ||
129 | + | ||
130 | + | ||
131 | + | @Callable(r) | |
132 | + | func Withdraw () = { | |
133 | + | let u = toBase58String(r.caller.bytes) | |
134 | + | let R = 1200000000000 | |
135 | + | let S = 24000000 | |
136 | + | let T = 19 | |
137 | + | let U = valueOrErrorMessage(getInteger(addressFromPublicKey(f), ("Deposit_Amount_Of_" + u)), "Your Address not Found on Staking DApp") | |
138 | + | let V = 500 | |
139 | + | let W = ((S - (fraction(U, 1000000, R) * 19)) / 10000) | |
140 | + | let X = getIntegerValue(this, "Claim_Fee") | |
141 | + | let t = value(r.payments[0]) | |
142 | + | let Y = getIntegerValue(this, ("Deposit_Amount_Of_" + u)) | |
143 | + | let Z = (((getIntegerValue(this, ("Rewards_Of_" + u)) - Y) * W) / 10000) | |
144 | + | let aa = (((getIntegerValue(this, ("Rewards_Of_" + u)) - Y) * V) / 10000) | |
145 | + | let B = { | |
146 | + | let C = getIntegerValue(this, "Total_Txns:") | |
147 | + | if ($isInstanceOf(C, "Int")) | |
148 | + | then { | |
149 | + | let D = C | |
150 | + | D | |
151 | + | } | |
152 | + | else 0 | |
153 | + | } | |
154 | + | let E = (B + 1) | |
155 | + | let ab = { | |
156 | + | let C = getIntegerValue(this, "Total_CODE_Claimed:") | |
157 | + | if ($isInstanceOf(C, "Int")) | |
158 | + | then { | |
159 | + | let D = C | |
160 | + | D | |
161 | + | } | |
162 | + | else 0 | |
163 | + | } | |
164 | + | let ac = (ab + getIntegerValue(this, ("Rewards_Of_" + u))) | |
165 | + | let ad = { | |
166 | + | let C = getIntegerValue(this, "Total_Issued_CODE:") | |
167 | + | if ($isInstanceOf(C, "Int")) | |
168 | + | then { | |
169 | + | let D = C | |
170 | + | D | |
171 | + | } | |
172 | + | else 0 | |
173 | + | } | |
174 | + | let ae = (ad + getIntegerValue(this, ("Rewards_Of_" + u))) | |
175 | + | let af = { | |
176 | + | let C = getIntegerValue(this, "Total_Claim_Fee_In_TN") | |
177 | + | if ($isInstanceOf(C, "Int")) | |
178 | + | then { | |
179 | + | let D = C | |
180 | + | D | |
181 | + | } | |
182 | + | else 0 | |
183 | + | } | |
184 | + | let ag = (af + X) | |
185 | + | let H = valueOrErrorMessage(getInteger(addressFromPublicKey(f), ("Deposit_height_Of_" + u)), "Your Address not Found on Staking DApp") | |
186 | + | let I = valueOrErrorMessage(getInteger(addressFromPublicKey(f), ("Total_Lock_Blocks_Of_" + u)), "Your Address not Found on Staking DApp") | |
187 | + | let J = (I - H) | |
188 | + | if (isDefined(t.assetId)) | |
189 | + | then throw((("Wrong Asset Attached for Payment, please Attach " + toString(X)) + "/10^8 TN.")) | |
190 | + | else if ((t.amount != X)) | |
191 | + | then throw((("Please Attach Exact " + toString(X)) + "/10^8 TN.")) | |
192 | + | else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + u)) > height)) | |
193 | + | then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + u)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + u)) - height))) + " blocks.")) | |
194 | + | else if ((Y == 0)) | |
195 | + | then throw("You Have Already Withdraw your CODE Amount.") | |
196 | + | else if ((J != 129600)) | |
197 | + | then throw("You are Not Eligible to Withdraw CODE. It need minimum 90 Days Staking at A4A DApp. Probably you already have Claimed Your Stake or you Overwrite the Smart Contract with less than 90 days.") | |
198 | + | else if ((U >= 1199999999999)) | |
199 | + | then [IntegerEntry("Total_Txns:", E), IntegerEntry("Total_CODE_Claimed:", ac), IntegerEntry("Total_Issued_CODE:", ae), IntegerEntry("Total_Claim_Fee_In_TN", ag), IntegerEntry("Fee_%_Charge", V), IntegerEntry("Fee_Amount", aa), Reissue(d, getIntegerValue(this, ("Rewards_Of_" + u)), true), ScriptTransfer(r.caller, (getIntegerValue(this, ("Rewards_Of_" + u)) - aa), d), ScriptTransfer(addressFromPublicKey(g), fraction(aa, 80, 100), d), ScriptTransfer(addressFromPublicKey(h), fraction(aa, i, 100), d), IntegerEntry(("No_Of_Deposits_" + u), 0), IntegerEntry(("Deposit_height_Of_" + u), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + u), 0), IntegerEntry(("Deposit_Amount_Of_" + u), 0), IntegerEntry(("Rewards_Of_" + u), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")] | |
200 | + | else [IntegerEntry("Total_Txns:", E), IntegerEntry("Total_CODE_Claimed:", ac), IntegerEntry("Total_Issued_CODE:", ae), IntegerEntry("Total_Claim_Fee_In_TN", ag), IntegerEntry("Fee_%_Charge", W), IntegerEntry("Fee_Amount", Z), Reissue(d, getIntegerValue(this, ("Rewards_Of_" + u)), true), ScriptTransfer(r.caller, (getIntegerValue(this, ("Rewards_Of_" + u)) - Z), d), ScriptTransfer(addressFromPublicKey(g), fraction(Z, 80, 100), d), ScriptTransfer(addressFromPublicKey(h), fraction(Z, i, 100), d), IntegerEntry(("No_Of_Deposits_" + u), 0), IntegerEntry(("Deposit_height_Of_" + u), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + u), 0), IntegerEntry(("Deposit_Amount_Of_" + u), 0), IntegerEntry(("Rewards_Of_" + u), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")] | |
201 | + | } | |
202 | + | ||
203 | + | ||
204 | + | ||
205 | + | @Callable(r) | |
206 | + | func SetDaysRange (ah,ai) = { | |
207 | + | let aj = toBase58String(r.caller.bytes) | |
208 | + | let ak = getStringValue(this, "DApp_Admin_Rights") | |
209 | + | let al = 7 | |
210 | + | let am = 200 | |
211 | + | if ((ak != aj)) | |
212 | + | then throw((("I know You are not An Admin. Only " + ak) + " has rights to change Days Range.")) | |
213 | + | else if ((al > ah)) | |
214 | + | then throw("Minimum days range must be more than 6 and in between 7-200.") | |
215 | + | else if ((ai > am)) | |
216 | + | then throw("Maximum days range can't exceed the 200.") | |
217 | + | else if ((ah > ai)) | |
218 | + | then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(al)) + "-") + toString(am)) + "]")) | |
219 | + | else [IntegerEntry("Minimum_Days_Range", ah), IntegerEntry("Maximum_Days_Range", ai)] | |
220 | + | } | |
221 | + | ||
222 | + | ||
223 | + | ||
224 | + | @Callable(r) | |
225 | + | func SetClaimFee (X) = { | |
226 | + | let aj = toBase58String(r.caller.bytes) | |
227 | + | let ak = getStringValue(this, "DApp_Admin_Rights") | |
228 | + | let an = 100000000 | |
229 | + | let ao = 100000000000 | |
230 | + | if ((ak != aj)) | |
231 | + | then throw((("I know You are not An Admin. Only " + ak) + " has rights to change Claim Fee.")) | |
232 | + | else if ((an > X)) | |
233 | + | then throw((("Minimum Claim fee is " + toString(an)) + " TN [int-format].")) | |
234 | + | else if ((X > ao)) | |
235 | + | then throw((("Maximum Claim fee can't be more than " + toString(ao)) + " TN. [int-format]")) | |
236 | + | else [IntegerEntry("Claim_Fee", X)] | |
237 | + | } | |
238 | + | ||
239 | + | ||
240 | + | ||
241 | + | @Callable(r) | |
242 | + | func SwapWavesToTN () = { | |
243 | + | let t = if ((size(r.payments) == 1)) | |
244 | + | then r.payments[0] | |
245 | + | else throw("Token is required as Attached payment") | |
246 | + | let ap = addressFromStringValue("3JjH6bhCEcN3JduEjACmBvLQ1eQvXSnAuyi") | |
247 | + | let aq = base58'EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y' | |
248 | + | let ar = "TN" | |
249 | + | let as = 2001 | |
250 | + | let at = "global_TN_balance" | |
251 | + | let au = getIntegerValue(ap, at) | |
252 | + | let av = "global_EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y_balance" | |
253 | + | let aw = getIntegerValue(ap, av) | |
254 | + | let ax = fraction(aw, au, (aw + t.amount)) | |
255 | + | let ay = (au - ax) | |
256 | + | let az = fraction(ay, as, 100000) | |
257 | + | let aA = (ay - az) | |
258 | + | let aB = fraction(t.amount, 100000000, aA) | |
259 | + | let aC = AttachedPayment(aq, t.amount) | |
260 | + | let aD = invoke(ap, "swap", [ar, aA], [aC]) | |
261 | + | if ((r.caller != c)) | |
262 | + | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
263 | + | else if ((aD == aD)) | |
264 | + | then if ((aD == aD)) | |
265 | + | then nil | |
266 | + | else throw("Strict value is not equal to itself.") | |
267 | + | else throw("Strict value is not equal to itself.") | |
268 | + | } | |
269 | + | ||
270 | + | ||
271 | + | @Verifier(aE) | |
272 | + | func aF () = sigVerify(aE.bodyBytes, aE.proofs[0], aE.senderPublicKey) | |
273 | + |
github/deemru/w8io/169f3d6 66.85 ms ◑