tx · 8tD4CebUWBfq9nu7ZBAQykAdwzq6XbvEGSdNukkYh7ku

3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw:  -0.02000000 Waves

2023.08.20 08:43 [2718537] smart account 3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw > SELF 0.00000000 Waves

{ "type": 13, "id": "8tD4CebUWBfq9nu7ZBAQykAdwzq6XbvEGSdNukkYh7ku", "fee": 2000000, "feeAssetId": null, "timestamp": 1692510236151, "version": 2, "chainId": 84, "sender": "3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw", "senderPublicKey": "Apv79thF7LfxCEFRESoEAeqHQnhmt45geC8enb3ukDX", "proofs": [ "39t2gRDXvGfojDj2fL7qV4uYWYyr3Lnb2sizCkSun5B1kYxDLk9utGKLzApEZRbk7wR248PPseLo6oDkLjNyVogw" ], "script": "base64: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BQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADVRvdGFsVHhuc0NPREUJAABkAAAAAgUAAAAQUHJldmlvdXNUeG5zQ09ERQAAAAAAAAAAAQQAAAASUHJldmlvdXNCdXJuZWRDT0RFBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0J1cm5lZF9DT0RFOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA9Ub3RhbEJ1cm5lZENPREUJAABkAAAAAgUAAAASUHJldmlvdXNCdXJuZWRDT0RFCAUAAAADcG10AAAABmFtb3VudAQAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAAAtnYXBvZmhlaWdodAkAAGUAAAACBQAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQFAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0BAAAABNjaGVja0xpY2Vuc2VCYWxhbmNlCQAD8AAAAAIJAQAAAAdBZGRyZXNzAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAASQ09ERUxJQ0VOU0VBc3NldElEBAAAABFjdXJyZW50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Z2VyRW50cnkAAAACAgAAABJNYXhpbXVtX0RheXNfUmFuZ2UJAABkAAAAAgUAAAAPbWF4aW11bWxvY2tkYXlzAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJNaW5pbXVtX0RheXNfUmFuZ2UJAABkAAAAAgUAAAAPbWluaW11bWxvY2tkYXlzAAAAAAAAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcggFAAAAA3BtdAAAAAZhbW91bnQFAAAAC0NPREVBc3NldElEBQAAAANuaWwJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAtDT0RFQXNzZXRJRAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0J1cm5lZF9DT0RFOgUAAAAPVG90YWxCdXJuZWRDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAJSW5mbGF0aW9uBQAAAAtJbmZsYXRpb25ObwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMQmxvY2tfUGFzc2VkBQAAAAlibG9ja2RpZmYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC0J1cm5fRmFjdG9yBQAAAAtCdXJuX2ZhY3RvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkFAAAAGFN1bXB1cG9mVXNlck5vT2ZEZXBvc2l0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkF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c19PZl8FAAAACmN1cnJlbnRLZXkEAAAAElByZXZpb3VzSXNzdWVkQ09ERQQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAASVG90YWxfSXNzdWVkX0NPREU6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAD1RvdGFsSXNzdWVkQ09ERQkAAGQAAAACBQAAABJQcmV2aW91c0lzc3VlZENPREUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkEAAAAFFByZXZpb3VzQ2xhaW1GZWVJblROBAAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABVUb3RhbF9DbGFpbV9GZWVfSW5fVE4DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAARVG90YWxDbGFpbUZlZUluVE4JAABkAAAAAgUAAAAUUHJldmlvdXNDbGFpbUZlZUluVE4FAAAACENsYWltRmVlBAAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAC2dhcG9maGVpZ2h0CQAAZQAAAAIFAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAUAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADBXcm9uZyBBc3NldCBBdHRhY2hlZCBmb3IgUGF5bWVudCwgcGxlYXNlIEF0dGFjaCAJAAGkAAAAAQUAAAAIQ2xhaW1GZWUCAAAACS8xMF44IFROLgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAhDbGFpbUZlZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAUUGxlYXNlIEF0dGFjaCBFeGFjdCAJAAGkAAAAAQUAAAAIQ2xhaW1GZWUCAAAACS8xMF44IFROLgMJAABmAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVlvdXIgCQABpAAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAPC8xMF44IENPREUgYXJlIFN0aWxsIE1hdHVyaW5nLiBUb2tlbiB3aWxsIGJlIFVubG9ja2VkIGFmdGVyIAkAAaQAAAABCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQCAAAACCBibG9ja3MuAwkAAAAAAAACBQAAABFjaGVja2RlcG9zaXR2YWx1ZQAAAAAAAAAAAAkAAAIAAAABAgAAACtZb3UgSGF2ZSBBbHJlYWR5IFdpdGhkcmF3IHlvdXIgQ09ERSBBbW91bnQuAwkBAAAAAiE9AAAAAgUAAAALZ2Fwb2ZoZWlnaHQAAAAAAAAB+kAJAAACAAAAAQIAAAC8WW91IGFyZSBOb3QgRWxpZ2libGUgdG8gV2l0aGRyYXcgQ09ERS4gSXQgbmVlZCBtaW5pbXVtIDkwIERheXMgU3Rha2luZyBhdCBBNEEgREFwcC4gUHJvYmFibHkgeW91IGFscmVhZHkgaGF2ZSBDbGFpbWVkIFlvdXIgU3Rha2Ugb3IgeW91IE92ZXJ3cml0ZSB0aGUgU21hcnQgQ29udHJhY3Qgd2l0aCBsZXNzIHRoYW4gOTAgZGF5cy4DCQAAZwAAAAIFAAAAEWZldGNoVXNlclN0YWtlQW10AAAAARdlkt//CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfQ09ERV9DbGFpbWVkOgUAAAASdG90YWxyZXdhcmRjbGFpbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfQ09ERToFAAAAD1RvdGFsSXNzdWVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVVG90YWxfQ2xhaW1fRmVlX0luX1ROBQAAABFUb3RhbENsYWltRmVlSW5UTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMRmVlXyVfQ2hhcmdlBQAAAA5GbGF0ZmVlUGVyY2VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKRmVlX0Ftb3VudAUAAAAOdXNlckZsYXRGZWVBbXQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAtDT0RFQXNzZXRJRAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAADnVzZXJGbGF0RmVlQW10BQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABJUcmVhc3VyeUZlZUFkZHJlc3MJAABrAAAAAwUAAAAOdXNlckZsYXRGZWVBbXQAAAAAAAAAAFAAAAAAAAAAAGQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACmRldmFkZHJlc3MJAABrAAAAAwUAAAAOdXNlckZsYXRGZWVBbXQFAAAADGRldmZlZWNoYXJlZAAAAAAAAAAAZAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKDxoMT5DT0RFIFVuU3Rha2VkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfVHhuczoFAAAADVRvdGFsVHhuc0NPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0NPREVfQ2xhaW1lZDoFAAAAEnRvdGFscmV3YXJkY2xhaW1lZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX0NPREU6BQAAAA9Ub3RhbElzc3VlZENPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFVRvdGFsX0NsYWltX0ZlZV9Jbl9UTgUAAAARVG90YWxDbGFpbUZlZUluVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADEZlZV8lX0NoYXJnZQUAAAALRmVlc1BlcmNlbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACkZlZV9BbW91bnQFAAAACnVzZXJGZWVBbXQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAtDT0RFQXNzZXRJRAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAACnVzZXJGZWVBbXQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAElRyZWFzdXJ5RmVlQWRkcmVzcwkAAGsAAAADBQAAAAp1c2VyRmVlQW10AAAAAAAAAABQAAAAAAAAAABkBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAApkZXZhZGRyZXNzCQAAawAAAAMFAAAACnVzZXJGZWVBbXQFAAAADGRldmZlZWNoYXJlZAAAAAAAAAAAZAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKDxoMT5DT0RFIFVuU3Rha2VkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4FAAAAA25pbAAAAAFpAQAAAAxTZXREYXlzUmFuZ2UAAAACAAAAEk1pbmltdW1fRGF5c19SYW5nZQAAABJNYXhpbXVtX0RheXNfUmFuZ2UEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALYWRtaW5yaWdodHMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAEURBcHBfQWRtaW5fUmlnaHRzBAAAAAxNaW5pbXVtX2RheXMAAAAAAAAAAAcEAAAADE1heGltdW1fZGF5cwAAAAAAAAAAyAMJAQAAAAIhPQAAAAIFAAAAC2FkbWlucmlnaHRzBQAAAA1jYWxsZXJhZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACJJIGtub3cgWW91IGFyZSBub3QgQW4gQWRtaW4uIE9ubHkgBQAAAAthZG1pbnJpZ2h0cwIAAAAhIGhhcyByaWdodHMgdG8gY2hhbmdlIERheXMgUmFuZ2UuAwkAAGYAAAACBQAAAAxNaW5pbXVtX2RheXMFAAAAEk1pbmltdW1fRGF5c19SYW5nZQkAAAIAAAABAgAAADxNaW5pbXVtIGRheXMgcmFuZ2UgbXVzdCBiZSBtb3JlIHRoYW4gNiBhbmQgaW4gYmV0d2VlbiA3LTIwMC4DCQAAZgAAAAIFAAAAEk1heGltdW1fRGF5c19SYW5nZQUAAAAMTWF4aW11bV9kYXlzCQAAAgAAAAECAAAAKE1heGltdW0gZGF5cyByYW5nZSBjYW4ndCBleGNlZWQgdGhlIDIwMC4DCQAAZgAAAAIFAAAAEk1pbmltdW1fRGF5c19SYW5nZQUAAAASTWF4aW11bV9EYXlzX1JhbmdlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABeTWluaW11bSBkYXlzIHJhbmdlIGNhbid0IGJlIGV4Y2VlZCB0aGUgdmFsdWUgb2YgTWF4aW11bSBkYXlzIHJhbmdlLiBDaG9vc2UgdGhlIFJhbmdlIGJldHdlZW4gWwkAAaQAAAABBQAAAAxNaW5pbXVtX2RheXMCAAAAAS0JAAGkAAAAAQUAAAAMTWF4aW11bV9kYXlzAgAAAAFdCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJNaW5pbXVtX0RheXNfUmFuZ2UFAAAAEk1pbmltdW1fRGF5c19SYW5nZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASTWF4aW11bV9EYXlzX1JhbmdlBQAAABJNYXhpbXVtX0RheXNfUmFuZ2UFAAAAA25pbAAAAAFpAQAAAAtTZXRDbGFpbUZlZQAAAAEAAAAIQ2xhaW1GZWUEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALYWRtaW5yaWdodHMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAEURBcHBfQWRtaW5fUmlnaHRzBAAAABFNaW5pbXVtX0NsYWltX2ZlZQAAAAAABfXhAAQAAAARTWF4aW11bV9DbGFpbV9mZWUAAAAAF0h26AADCQEAAAACIT0AAAACBQAAAAthZG1pbnJpZ2h0cwUAAAANY2FsbGVyYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAiSSBrbm93IFlvdSBhcmUgbm90IEFuIEFkbWluLiBPbmx5IAUAAAALYWRtaW5yaWdodHMCAAAAICBoYXMgcmlnaHRzIHRvIGNoYW5nZSBDbGFpbSBGZWUuAwkAAGYAAAACBQAAABFNaW5pbXVtX0NsYWltX2ZlZQUAAAAIQ2xhaW1GZWUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFU1pbmltdW0gQ2xhaW0gZmVlIGlzIAkAAaQAAAABBQAAABFNaW5pbXVtX0NsYWltX2ZlZQIAAAARIFROIFtpbnQtZm9ybWF0XS4DCQAAZgAAAAIFAAAACENsYWltRmVlBQAAABFNYXhpbXVtX0NsYWltX2ZlZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlTWF4aW11bSBDbGFpbSBmZWUgY2FuJ3QgYmUgbW9yZSB0aGFuIAkAAaQAAAABBQAAABFNYXhpbXVtX0NsYWltX2ZlZQIAAAARIFROLiBbaW50LWZvcm1hdF0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACUNsYWltX0ZlZQUAAAAIQ2xhaW1GZWUFAAAAA25pbAAAAAFpAQAAABJUcmlnZ2VyRm9yQXV0b1N3YXAAAAABAAAAB0Fzc2V0SUQDCQAAZgAAAAIAAAAAAAAAAAEJAAPwAAAAAgUAAAAEdGhpcwkAAlkAAAABBQAAAAdBc3NldElECQAAAgAAAAEJAAEsAAAAAgUAAAAHQXNzZXRJRAIAAAAkIGhhcyBub3QgRW5vdWdoIEJhbGFuY2UgVG8gVHJhbnNmZXIuAwkAAGYAAAACAAAAAAAAAAABCQABMQAAAAEFAAAAB0Fzc2V0SUQJAAACAAAAAQIAAAAXQXNzZXRJRCBDYW4ndCBiZSBCbGFuay4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAARY29udmVydGVyX2FkZHJlc3MJAAPwAAAAAgUAAAAEdGhpcwkAAlkAAAABBQAAAAdBc3NldElECQACWQAAAAEFAAAAB0Fzc2V0SUQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5UcbH9g==", "height": 2718537, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5zVvbGCqhcC4kLLUx5QFdbKCgGZ6hBzFqunE73LjsF6o Next: 8hkaJXqW4HiXiy7sZPT9pwHyASgLN68F8ZKMGQfvMPCU Diff:
OldNewDifferences
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let Version = "3.0.0"
5+
6+let converter_address = "3JtuUwtQjEXSjERerVhx7ZmfXPPKLnSD332"
57
68 let autobuyback_controller_pubkey = base58'CFS24Rd5VmayXgJRCaGq1CfrQY9aRNbQEMFcM8r6vsUZ'
79
212214
213215
214216 @Callable(i)
215-func SwapWavesToTN () = {
216- let pmt = if ((size(i.payments) == 1))
217- then i.payments[0]
218- else throw("Token is required as Attached payment")
219- let AMM_Address = addressFromStringValue("3JjH6bhCEcN3JduEjACmBvLQ1eQvXSnAuyi")
220- let WAVES = base58'EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y'
221- let pool1 = "TN"
222- let factor = 2001
223- let kBalanceA = "global_TN_balance"
224- let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
225- let kBalanceB = "global_EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y_balance"
226- let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
227- let newbalanceofWAVES = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount))
228- let minAmountToReceive = (A_asset_balance - newbalanceofWAVES)
229- let fee = fraction(minAmountToReceive, factor, 100000)
230- let actualAmountToReceive = (minAmountToReceive - fee)
231- let price = fraction(pmt.amount, 100000000, actualAmountToReceive)
232- let payment = AttachedPayment(WAVES, pmt.amount)
233- let invokeTN = invoke(AMM_Address, "swap", [pool1, actualAmountToReceive], [payment])
234- if ((i.caller != controller_address))
235- then throw((("This Address is not Authorized. Only " + toString(controller_address)) + " is Authorized Address to Sign it."))
236- else if ((invokeTN == invokeTN))
237- then if ((invokeTN == invokeTN))
238- then nil
239- else throw("Strict value is not equal to itself.")
240- else throw("Strict value is not equal to itself.")
241- }
217+func TriggerForAutoSwap (AssetID) = if ((1 > assetBalance(this, fromBase58String(AssetID))))
218+ then throw((AssetID + " has not Enough Balance To Transfer."))
219+ else if ((1 > size(AssetID)))
220+ then throw("AssetID Can't be Blank.")
221+ else [ScriptTransfer(addressFromStringValue(converter_address), assetBalance(this, fromBase58String(AssetID)), fromBase58String(AssetID))]
242222
243223
244224 @Verifier(tx)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let Version = "3.0.0"
5+
6+let converter_address = "3JtuUwtQjEXSjERerVhx7ZmfXPPKLnSD332"
57
68 let autobuyback_controller_pubkey = base58'CFS24Rd5VmayXgJRCaGq1CfrQY9aRNbQEMFcM8r6vsUZ'
79
810 let controller_address = addressFromPublicKey(autobuyback_controller_pubkey)
911
1012 let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
1113
1214 let CODELICENSEAssetID = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
1315
1416 let StakingDapp = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
1517
1618 let TreasuryFeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
1719
1820 let devaddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
1921
2022 let devfeechared = 20
2123
2224 let StartHeight = 1850000
2325
2426 let minimumlockdays = getIntegerValue(this, "Minimum_Days_Range")
2527
2628 let maximumlockdays = getIntegerValue(this, "Maximum_Days_Range")
2729
2830 let Minimum_CODE_Stake_Amount = 100000
2931
3032 let Minimum_Burn_factor = 1000000
3133
3234 let oneday = 1440
3335
3436 let blockdiff = (height - StartHeight)
3537
3638 let InflationNo = (fraction(10000000000, 1, blockdiff) + 6000)
3739
3840 @Callable(i)
3941 func Deposit (days) = {
4042 let pmt = if ((size(i.payments) == 1))
4143 then i.payments[0]
4244 else throw((("No Payments Attached Please Attach " + toBase58String(CODEAssetID)) + " Asset Only."))
4345 let currentKey = toBase58String(i.caller.bytes)
4446 let UserClaimAmount = ((((InflationNo * pmt.amount) * days) / 365) / 1000)
4547 let allowdedpymt = (blockdiff * 100000)
4648 let actualblocks = (oneday * days)
4749 let totallockblocks = (height + actualblocks)
4850 let max_receivable = fraction(maximumlockdays, (allowdedpymt * InflationNo), (365 * 1000))
4951 let Burn_factor = fraction(max_receivable, 1000000, allowdedpymt)
5052 let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") {
5153 case a: Int =>
5254 a
5355 case _ =>
5456 0
5557 }
5658 let TotalTxnsCODE = (PreviousTxnsCODE + 1)
5759 let PreviousBurnedCODE = match getInteger(this, "Total_Burned_CODE:") {
5860 case a: Int =>
5961 a
6062 case _ =>
6163 0
6264 }
6365 let TotalBurnedCODE = (PreviousBurnedCODE + pmt.amount)
6466 let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
6567 let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
6668 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
6769 let checkLicenseBalance = assetBalance(Address(i.caller.bytes), CODELICENSEAssetID)
6870 let currentCODEAmount = match getInteger(this, ("Deposit_Amount_Of_" + currentKey)) {
6971 case a: Int =>
7072 a
7173 case _ =>
7274 0
7375 }
7476 let newCODEAmount = (currentCODEAmount + pmt.amount)
7577 let UserNoOfDeposits = match getInteger(this, ("No_Of_Deposits_" + currentKey)) {
7678 case a: Int =>
7779 a
7880 case _ =>
7981 0
8082 }
8183 let SumpupofUserNoOfDeposits = (UserNoOfDeposits + 1)
8284 let Expansion_Counter = match getInteger(this, "Expansion_Counter") {
8385 case a: Int =>
8486 a
8587 case _ =>
8688 0
8789 }
8890 let NewExpansion_Counter = (Expansion_Counter + 1)
8991 if ((checkLicenseBalance != 1))
9092 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
9193 else if ((checkLicenseBalance > 1))
9294 then throw("You Own Multiple CODE License on Same Address.")
9395 else if ((StartHeight > height))
9496 then throw((("DApp is Not Started Yet please Wait until " + toString((StartHeight - height))) + " blocks"))
9597 else if ((pmt.assetId != CODEAssetID))
9698 then throw((("Incorrect asset attached, please attach " + toBase58String(CODEAssetID)) + " asset only"))
9799 else if ((minimumlockdays >= days))
98100 then throw(((("Choose Locking days in between " + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays)))
99101 else if ((days > maximumlockdays))
100102 then throw(((((("You Entered days to " + toString(days)) + ", Please Enter no. of days in between ") + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays)))
101103 else if ((Minimum_CODE_Stake_Amount > pmt.amount))
102104 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
103105 else if ((pmt.amount > allowdedpymt))
104106 then throw((("You can attach maximum " + toString(allowdedpymt)) + "/10^8 CODE."))
105107 else if ((gapofheight != 129600))
106108 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
107109 else if ((UserNoOfDeposits == 1))
108110 then throw("You Already Have an Active Staking, Please Wait until Mature.")
109111 else if ((Minimum_Burn_factor > Burn_factor))
110112 then [StringEntry("Version", Version), IntegerEntry("Expansion_Counter", NewExpansion_Counter), StringEntry(((toString(NewExpansion_Counter) + "_Expansion_Updator_") + toString(height)), currentKey), StringEntry("message", (((("New Days Range Expended from " + toString(maximumlockdays)) + " To ") + toString((maximumlockdays + 1))) + " Days. Please Restake CODE.")), IntegerEntry("Maximum_Days_Range", (maximumlockdays + 1)), IntegerEntry("Minimum_Days_Range", (minimumlockdays + 1)), ScriptTransfer(i.caller, pmt.amount, CODEAssetID)]
111113 else [Burn(CODEAssetID, pmt.amount), IntegerEntry("Total_Burned_CODE:", TotalBurnedCODE), IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Inflation", InflationNo), IntegerEntry("Block_Passed", blockdiff), IntegerEntry("Burn_Factor", Burn_factor), IntegerEntry(("No_Of_Deposits_" + currentKey), SumpupofUserNoOfDeposits), IntegerEntry(("Deposit_height_Of_" + currentKey), height), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), totallockblocks), IntegerEntry(("Deposit_Amount_Of_" + currentKey), newCODEAmount), IntegerEntry(("Rewards_Of_" + currentKey), UserClaimAmount), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
112114 }
113115
114116
115117
116118 @Callable(i)
117119 func Withdraw () = {
118120 let currentKey = toBase58String(i.caller.bytes)
119121 let MaxA4AAmt = 1200000000000
120122 let MaxFee = 24000000
121123 let divisiblefactor = 19
122124 let fetchUserStakeAmt = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_Amount_Of_" + currentKey)), "Your Address not Found on Staking DApp")
123125 let FlatfeePercent = 500
124126 let FeesPercent = ((MaxFee - (fraction(fetchUserStakeAmt, 1000000, MaxA4AAmt) * 19)) / 10000)
125127 let ClaimFee = getIntegerValue(this, "Claim_Fee")
126128 let pmt = value(i.payments[0])
127129 let checkdepositvalue = getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey))
128130 let userFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FeesPercent) / 10000)
129131 let userFlatFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FlatfeePercent) / 10000)
130132 let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") {
131133 case a: Int =>
132134 a
133135 case _ =>
134136 0
135137 }
136138 let TotalTxnsCODE = (PreviousTxnsCODE + 1)
137139 let fetchRewardData = match getIntegerValue(this, "Total_CODE_Claimed:") {
138140 case a: Int =>
139141 a
140142 case _ =>
141143 0
142144 }
143145 let totalrewardclaimed = (fetchRewardData + getIntegerValue(this, ("Rewards_Of_" + currentKey)))
144146 let PreviousIssuedCODE = match getIntegerValue(this, "Total_Issued_CODE:") {
145147 case a: Int =>
146148 a
147149 case _ =>
148150 0
149151 }
150152 let TotalIssuedCODE = (PreviousIssuedCODE + getIntegerValue(this, ("Rewards_Of_" + currentKey)))
151153 let PreviousClaimFeeInTN = match getIntegerValue(this, "Total_Claim_Fee_In_TN") {
152154 case a: Int =>
153155 a
154156 case _ =>
155157 0
156158 }
157159 let TotalClaimFeeInTN = (PreviousClaimFeeInTN + ClaimFee)
158160 let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
159161 let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
160162 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
161163 if (isDefined(pmt.assetId))
162164 then throw((("Wrong Asset Attached for Payment, please Attach " + toString(ClaimFee)) + "/10^8 TN."))
163165 else if ((pmt.amount != ClaimFee))
164166 then throw((("Please Attach Exact " + toString(ClaimFee)) + "/10^8 TN."))
165167 else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height))
166168 then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + currentKey)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) - height))) + " blocks."))
167169 else if ((checkdepositvalue == 0))
168170 then throw("You Have Already Withdraw your CODE Amount.")
169171 else if ((gapofheight != 129600))
170172 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.")
171173 else if ((fetchUserStakeAmt >= 1199999999999))
172174 then [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), IntegerEntry("Total_Claim_Fee_In_TN", TotalClaimFeeInTN), IntegerEntry("Fee_%_Charge", FlatfeePercent), IntegerEntry("Fee_Amount", userFlatFeeAmt), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, (getIntegerValue(this, ("Rewards_Of_" + currentKey)) - userFlatFeeAmt), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), fraction(userFlatFeeAmt, 80, 100), CODEAssetID), ScriptTransfer(addressFromPublicKey(devaddress), fraction(userFlatFeeAmt, devfeechared, 100), CODEAssetID), IntegerEntry(("No_Of_Deposits_" + currentKey), 0), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Rewards_Of_" + currentKey), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
173175 else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), IntegerEntry("Total_Claim_Fee_In_TN", TotalClaimFeeInTN), IntegerEntry("Fee_%_Charge", FeesPercent), IntegerEntry("Fee_Amount", userFeeAmt), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, (getIntegerValue(this, ("Rewards_Of_" + currentKey)) - userFeeAmt), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), fraction(userFeeAmt, 80, 100), CODEAssetID), ScriptTransfer(addressFromPublicKey(devaddress), fraction(userFeeAmt, devfeechared, 100), CODEAssetID), IntegerEntry(("No_Of_Deposits_" + currentKey), 0), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Rewards_Of_" + currentKey), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
174176 }
175177
176178
177179
178180 @Callable(i)
179181 func SetDaysRange (Minimum_Days_Range,Maximum_Days_Range) = {
180182 let calleraddress = toBase58String(i.caller.bytes)
181183 let adminrights = getStringValue(this, "DApp_Admin_Rights")
182184 let Minimum_days = 7
183185 let Maximum_days = 200
184186 if ((adminrights != calleraddress))
185187 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
186188 else if ((Minimum_days > Minimum_Days_Range))
187189 then throw("Minimum days range must be more than 6 and in between 7-200.")
188190 else if ((Maximum_Days_Range > Maximum_days))
189191 then throw("Maximum days range can't exceed the 200.")
190192 else if ((Minimum_Days_Range > Maximum_Days_Range))
191193 then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(Minimum_days)) + "-") + toString(Maximum_days)) + "]"))
192194 else [IntegerEntry("Minimum_Days_Range", Minimum_Days_Range), IntegerEntry("Maximum_Days_Range", Maximum_Days_Range)]
193195 }
194196
195197
196198
197199 @Callable(i)
198200 func SetClaimFee (ClaimFee) = {
199201 let calleraddress = toBase58String(i.caller.bytes)
200202 let adminrights = getStringValue(this, "DApp_Admin_Rights")
201203 let Minimum_Claim_fee = 100000000
202204 let Maximum_Claim_fee = 100000000000
203205 if ((adminrights != calleraddress))
204206 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Claim Fee."))
205207 else if ((Minimum_Claim_fee > ClaimFee))
206208 then throw((("Minimum Claim fee is " + toString(Minimum_Claim_fee)) + " TN [int-format]."))
207209 else if ((ClaimFee > Maximum_Claim_fee))
208210 then throw((("Maximum Claim fee can't be more than " + toString(Maximum_Claim_fee)) + " TN. [int-format]"))
209211 else [IntegerEntry("Claim_Fee", ClaimFee)]
210212 }
211213
212214
213215
214216 @Callable(i)
215-func SwapWavesToTN () = {
216- let pmt = if ((size(i.payments) == 1))
217- then i.payments[0]
218- else throw("Token is required as Attached payment")
219- let AMM_Address = addressFromStringValue("3JjH6bhCEcN3JduEjACmBvLQ1eQvXSnAuyi")
220- let WAVES = base58'EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y'
221- let pool1 = "TN"
222- let factor = 2001
223- let kBalanceA = "global_TN_balance"
224- let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
225- let kBalanceB = "global_EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y_balance"
226- let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
227- let newbalanceofWAVES = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount))
228- let minAmountToReceive = (A_asset_balance - newbalanceofWAVES)
229- let fee = fraction(minAmountToReceive, factor, 100000)
230- let actualAmountToReceive = (minAmountToReceive - fee)
231- let price = fraction(pmt.amount, 100000000, actualAmountToReceive)
232- let payment = AttachedPayment(WAVES, pmt.amount)
233- let invokeTN = invoke(AMM_Address, "swap", [pool1, actualAmountToReceive], [payment])
234- if ((i.caller != controller_address))
235- then throw((("This Address is not Authorized. Only " + toString(controller_address)) + " is Authorized Address to Sign it."))
236- else if ((invokeTN == invokeTN))
237- then if ((invokeTN == invokeTN))
238- then nil
239- else throw("Strict value is not equal to itself.")
240- else throw("Strict value is not equal to itself.")
241- }
217+func TriggerForAutoSwap (AssetID) = if ((1 > assetBalance(this, fromBase58String(AssetID))))
218+ then throw((AssetID + " has not Enough Balance To Transfer."))
219+ else if ((1 > size(AssetID)))
220+ then throw("AssetID Can't be Blank.")
221+ else [ScriptTransfer(addressFromStringValue(converter_address), assetBalance(this, fromBase58String(AssetID)), fromBase58String(AssetID))]
242222
243223
244224 @Verifier(tx)
245225 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
246226

github/deemru/w8io/026f985 
46.16 ms