2021.09.17 19:17 [2772195] smart account 3PBns59bMvZXnWnsxgtL3oPCujBtTB2PPBc > SELF 0.00000000 Waves

{ "type": 13, "id": "ApdXPS4ZCtM2iVTiaMoBcpha7yrcgwjpyNxv7Y9zCJJx", "fee": 1000000, "feeAssetId": null, "timestamp": 1631895437907, "version": 2, "chainId": 87, "sender": "3PBns59bMvZXnWnsxgtL3oPCujBtTB2PPBc", "senderPublicKey": "2A4wibqMQzyx8jGiLhvPu2mVtnghPGTAuCVPg8JBJvk9", "proofs": [ "kYgUCTXumzvcmsnmHFJYNMy5VeUHtSuYHKc6c4wRVocAnRLadsU9C1t9i3fwJWHXLFUpAyf1o6noCVXXS2jo5SW" ], "script": "base64:AAIFAAAAAAAAABAIAhIAEgASABIAEgQKAggBAAAAFAAAAAABVAAAAAAAAAAAAgAAAAAIYXNzZXRJZHMJAARMAAAAAgEAAAAgpspUmHPcWVP6FPnnTQyyn4Yy8p9KHAWQMpXaTlJMpNQJAARMAAAAAgEAAAAgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEFAAAAA25pbAAAAAANQXNzZXRzV2VpZ2h0cwkABEwAAAACAAAAAAAAAABQCQAETAAAAAIAAAAAAAAAABQFAAAAA25pbAAAAAAVQXNzZXRzV2VpZ2h0c0RlY2ltYWxzAAAAAAAAAAACAAAAABFQb29sVG9rZW5EZWNpbWFscwAAAAAAAAAACAAAAAAIRGVjaW1hbHMJAARMAAAAAgAAAAAAAAAACAkABEwAAAACAAAAAAAAAAAGBQAAAANuaWwAAAAABlNjYWxlcwkABEwAAAACAAAAAAAF9eEACQAETAAAAAIAAAAAAAAPQkAFAAAAA25pbAAAAAADRmVlAAAAAAAAAADIAAAAAAVTY2FsZQAAAAAAAAAnEAAAAAAIRmVlU2NhbGUAAAAAAAAAJxAAAAAADWZlZUFnZ3JlZ2F0b3IJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVdLw2zO+zNYQ1hDURDu7+4hEBdL8njLfDIBAAAADXRyeUdldEludGVnZXIAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAEAAAAMdHJ5R2V0QmluYXJ5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQcAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAQAAAAABAAAAFmdldEN1cnJlbnRUb2tlbkJhbGFuY2UAAAABAAAACXRva2VuVHlwZQQAAAAHdG9rZW5JZAkAAlgAAAABCQABkQAAAAIFAAAACGFzc2V0SWRzBQAAAAl0b2tlblR5cGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8FAAAAB3Rva2VuSWQCAAAACF9iYWxhbmNlAQAAABBjYWxjdWxhdGVQSXNzdWVkAAAAAgAAAAZhbW91bnQAAAAHdG9rZW5JZAQAAAAHUHN1cHBseQkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAQAAAAHQmFsYW5jZQkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAHZ2xvYmFsXwkAAlgAAAABBQAAAAd0b2tlbklkAgAAAAhfYmFsYW5jZQkAAGsAAAADBQAAAAZhbW91bnQFAAAAB1BzdXBwbHkFAAAAB0JhbGFuY2UBAAAADWdldE1pblBJc3N1ZWQAAAABAAAACHBheW1lbnRzCgEAAAAHaGFuZGxlcgAAAAIAAAAFYWNjdW0AAAAHY3VycmVudAQAAAAHUElzc3VlZAkBAAAAEGNhbGN1bGF0ZVBJc3N1ZWQAAAACCAUAAAAHY3VycmVudAAAAAZhbW91bnQJAQAAAAV2YWx1ZQAAAAEIBQAAAAdjdXJyZW50AAAAB2Fzc2V0SWQDAwkAAAAAAAACBQAAAAVhY2N1bQAAAAAAAAAAAAYJAABmAAAAAgUAAAAFYWNjdW0FAAAAB1BJc3N1ZWQFAAAAB1BJc3N1ZWQFAAAABWFjY3VtBAAAAAltaW5QSXNzZWQEAAAADSRsaXN0MTQ3MzE1MDMFAAAACHBheW1lbnRzBAAAAA0kc2l6ZTE0NzMxNTAzCQABkAAAAAEFAAAADSRsaXN0MTQ3MzE1MDMEAAAADSRhY2MwMTQ3MzE1MDMAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplMTQ3MzE1MDMAAAAAAAAAAAAFAAAADSRhY2MwMTQ3MzE1MDMEAAAADSRhY2MxMTQ3MzE1MDMJAQAAAAdoYW5kbGVyAAAAAgUAAAANJGFjYzAxNDczMTUwMwkAAZEAAAACBQAAAA0kbGlzdDE0NzMxNTAzAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTE0NzMxNTAzAAAAAAAAAAABBQAAAA0kYWNjMTE0NzMxNTAzBAAAAA0kYWNjMjE0NzMxNTAzCQEAAAAHaGFuZGxlcgAAAAIFAAAA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MAkAAZEAAAACBQAAAA0kbGlzdDE5MjkxOTYwAAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTE5MjkxOTYwAAAAAAAAAAAHBQAAAA0kYWNjNzE5MjkxOTYwBAAAAA0kYWNjODE5MjkxOTYwCQEAAAAIaGFuZGxlcjIAAAACBQAAAA0kYWNjNzE5MjkxOTYwCQABkQAAAAIFAAAADSRsaXN0MTkyOTE5NjAAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplMTkyOTE5NjAAAAAAAAAAAAgFAAAADSRhY2M4MTkyOTE5NjAEAAAADSRhY2M5MTkyOTE5NjAJAQAAAAhoYW5kbGVyMgAAAAIFAAAADSRhY2M4MTkyOTE5NjAJAAGRAAAAAgUAAAANJGxpc3QxOTI5MTk2MAAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemUxOTI5MTk2MAAAAAAAAAAACQUAAAANJGFjYzkxOTI5MTk2MAQAAAAOJGFjYzEwMTkyOTE5NjAJAQAAAAhoYW5kbGVyMgAAAAIFAAAADSRhY2M5MTkyOTE5NjAJAAGRAAAAAgUAAAANJGxpc3QxOTI5MTk2MAAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemUxOTI5MTk2MAAAAAAAAAAACgUAAAAOJGFjYzEwMTkyOTE5NjAEAAAADiRhY2MxMTE5MjkxOTYwCQEAAAAIaGFuZGxlcjIAAAACBQAAAA4kYWNjMTAxOTI5MTk2MAkAAZEAAAACBQAAAA0kbGlzdDE5MjkxOTYwAAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAGAQAAABNoYW5kbGVQb29sVG9rZW5zQWRkAAAAAwAAAAdQSXNzdWVkAAAACHBheW1lbnRzAAAAC3VzZXJBZGRyZXNzCgEAAAAVZ2V0VG9rZW5QYXltZW50QW1vdW50AAAAAQAAAAd0b2tlbklkCgEAAAAHaGFuZGxlcgAAAAIAAAAFYWNjdW0AAAAHcGF5bWVudAMJAAAAAAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAAHdG9rZW5JZAgFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAAVhY2N1bQQAAAANJGxpc3QyMjY1MjI5NQUAAAAIcGF5bWVudHME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AgUAAAANJGFjYzMzNDk0MzUzNQkAAZEAAAACBQAAAA0kbGlzdDM0OTQzNTM1AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTM0OTQzNTM1AAAAAAAAAAAEBQAAAA0kYWNjNDM0OTQzNTM1BAAAAA0kYWNjNTM0OTQzNTM1CQEAAAARaGFuZGxlVG9rZW5DaGFuZ2UAAAACBQAAAA0kYWNjNDM0OTQzNTM1CQABkQAAAAIFAAAADSRsaXN0MzQ5NDM1MzUAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplMzQ5NDM1MzUAAAAAAAAAAAUFAAAADSRhY2M1MzQ5NDM1MzUEAAAADSRhY2M2MzQ5NDM1MzUJAQAAABFoYW5kbGVUb2tlbkNoYW5nZQAAAAIFAAAADSRhY2M1MzQ5NDM1MzUJAAGRAAAAAgUAAAANJGxpc3QzNDk0MzUzNQAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUzNDk0MzUzNQAAAAAAAAAABgUAAAANJGFjYzYzNDk0MzUzNQQAAAANJGFjYzczNDk0MzUzNQkBAAAAEWhhbmRsZVRva2VuQ2hhbmdlAAAAAgUAAAANJGFjYzYzNDk0MzUzNQkAAZEAAAACBQAAAA0kbGlzdDM0OTQzNTM1AAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTM0OTQzNTM1AAAAAAAAAAAHBQAAAA0kYWNjNzM0OTQzNTM1BAAAAA0kYWNjODM0OTQzNTM1CQEAAAARaGFuZGxlVG9rZW5DaGFuZ2UAAAACBQAAAA0kYWNjNzM0OTQzNTM1CQABkQAAAAIFAAAADSRsaXN0MzQ5NDM1MzUAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplMzQ5NDM1MzUAAAAAAAAAAAgFAAAADSRhY2M4MzQ5NDM1MzUEAAAADSRhY2M5MzQ5NDM1MzUJAQAAABFoYW5kbGVUb2tlbkNoYW5nZQAAAAIFAAAADSRhY2M4MzQ5NDM1MzUJAAGRAAAAAgUAAAANJGxpc3QzNDk0MzUzNQAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemUzNDk0MzUzNQAAAAAAAAAACQUAAAANJGFjYzkzNDk0MzUzNQQAAAAOJGFjYzEwMzQ5NDM1MzUJAQAAABFoYW5kbGVUb2tlbkNoYW5nZQAAAAIFAAAADSRhY2M5MzQ5NDM1MzUJAAGRAAAAAgUAAAANJGxpc3QzNDk0MzUzNQAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemUzNDk0MzUzNQAAAAAAAAAACgUAAAAOJGFjYzEwMzQ5NDM1MzUEAAAADiRhY2MxMTM0OTQzNTM1CQEAAAARaGFuZGxlVG9rZW5DaGFuZ2UAAAACBQAAAA4kYWNjMTAzNDk0MzUzNQkAAZEAAAACBQAAAA0kbGlzdDM0OTQzNTM1AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAADSRsaXN0MzU0MjM1ODQFAAAACGFzc2V0SWRzBAAAAA0kc2l6ZTM1NDIzNTg0CQABkAAAAAEFAAAADSRsaXN0MzU0MjM1ODQEAAAADSRhY2MwMzU0MjM1ODQFAAAAA25pbAMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAAAAUAAAANJGFjYzAzNTQyMzU4NAQAAAANJGFjYzEzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2MwMzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAAAQUAAAANJGFjYzEzNTQyMzU4NAQAAAANJGFjYzIzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2MxMzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAAAgUAAAANJGFjYzIzNTQyMzU4NAQAAAANJGFjYzMzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2MyMzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAAAwUAAAANJGFjYzMzNTQyMzU4NAQAAAANJGFjYzQzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2MzMzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAABAUAAAANJGFjYzQzNTQyMzU4NAQAAAANJGFjYzUzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2M0MzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAABQUAAAANJGFjYzUzNTQyMzU4NAQAAAANJGFjYzYzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2M1MzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAABgUAAAANJGFjYzYzNTQyMzU4NAQAAAANJGFjYzczNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2M2MzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAABgMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAABwUAAAANJGFjYzczNTQyMzU4NAQAAAANJGFjYzgzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2M3MzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAABwMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAACAUAAAANJGFjYzgzNTQyMzU4NAQAAAANJGFjYzkzNTQyMzU4NAkBAAAAEmhhbmRsZVRva2VuQ2hhbmdlMgAAAAIFAAAADSRhY2M4MzU0MjM1ODQJAAGRAAAAAgUAAAANJGxpc3QzNTQyMzU4NAAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemUzNTQyMzU4NAAAAAAAAAAACQUAAAANJGFjYzkzNTQyMzU4NAQAAAAOJGFjYzEwMzU0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YW5kbGVUb2tlblJlZGVlbQAAAAIFAAAADSRhY2MxNDY2NjQ3MDcJAAGRAAAAAgUAAAANJGxpc3Q0NjY2NDcwNwAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemU0NjY2NDcwNwAAAAAAAAAAAgUAAAANJGFjYzI0NjY2NDcwNwQAAAANJGFjYzM0NjY2NDcwNwkBAAAAEWhhbmRsZVRva2VuUmVkZWVtAAAAAgUAAAANJGFjYzI0NjY2NDcwNwkAAZEAAAACBQAAAA0kbGlzdDQ2NjY0NzA3AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTQ2NjY0NzA3AAAAAAAAAAADBQAAAA0kYWNjMzQ2NjY0NzA3BAAAAA0kYWNjNDQ2NjY0NzA3CQEAAAARaGFuZGxlVG9rZW5SZWRlZW0AAAACBQAAAA0kYWNjMzQ2NjY0NzA3CQABkQAAAAIFAAAADSRsaXN0NDY2NjQ3MDcAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplNDY2NjQ3MDcAAAAAAAAAAAQFAAAADSRhY2M0NDY2NjQ3MDcEAAAADSRhY2M1NDY2NjQ3MDcJAQAAABFoYW5kbGVUb2tlblJlZGVlbQAAAAIFAAAADSRhY2M0NDY2NjQ3MDcJAAGRAAAAAgUAAAANJGxpc3Q0NjY2NDcwNwAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemU0NjY2NDcwNwAAAAAAAAAABQUAAAANJGFjYzU0NjY2NDcwNwQAAAANJGFjYzY0NjY2NDcwNwkBAAAAEWhhbmRsZVRva2VuUmVkZWVtAAAAAgUAAAANJGFjYzU0NjY2NDcwNwkAAZEAAAACBQAAAA0kbGlzdDQ2NjY0NzA3AAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTQ2NjY0NzA3AAAAAAAAAAAGBQAAAA0kYWNjNjQ2NjY0NzA3BAAAAA0kYWNjNzQ2NjY0NzA3CQEAAAARaGFuZGxlVG9rZW5SZWRlZW0AAAACBQAAAA0kYWNjNjQ2NjY0NzA3CQABkQAAAAIFAAAADSRsaXN0NDY2NjQ3MDcAAAAAAAAAAAYDCQAAAAAAAAIFAAAADSRzaXplNDY2NjQ3MDcAAAAAAAAAAAcFAAAADSRhY2M3NDY2NjQ3MDcEAAAADSRhY2M4NDY2NjQ3MDcJAQAAABFoYW5kbGVUb2tlblJlZGVlbQAAAAIFAAAADSRhY2M3NDY2NjQ3MDcJAAGRAAAAAgUAAAANJGxpc3Q0NjY2NDcwNwAAAAAAAAAABwMJAAAAAAAAAgUAAAANJHNpemU0NjY2NDcwNwAAAAAAAAAACAUAAAANJGFjYzg0NjY2NDcwNwQAAAANJGFjYzk0NjY2NDcwNwkBAAAAEWhhbmRsZVRva2VuUmVkZWVtAAAAAgUAAAANJGFjYzg0NjY2NDcwNwkAAZEAAAACBQAAAA0kbGlzdDQ2NjY0NzA3AAAAAAAAAAAIAwkAAAAAAAACBQAAAA0kc2l6ZTQ2NjY0NzA3AAAAAAAAAAAJBQAAAA0kYWNjOTQ2NjY0NzA3BAAAAA4kYWNjMTA0NjY2NDcwNwkBAAAAEWhhbmRsZVRva2VuUmVkZWVtAAAAAgUAAAANJGFjYzk0NjY2NDcwNwkAAZEAAAACBQAAAA0kbGlzdDQ2NjY0NzA3AAAAAAAAAAAJAwkAAAAAAAACBQAAAA0kc2l6ZTQ2NjY0NzA3AAAAAAAAAAAKBQAAAA4kYWNjMTA0NjY2NDcwNwQAAAAOJGFjYzExNDY2NjQ3MDcJAQAAABFoYW5kbGVUb2tlblJlZGVlbQAAAAIFAAAADiRhY2MxMDQ2NjY0NzA3CQABkQAAAAIFAAAADSRsaXN0NDY2NjQ3MDcAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAANJGxpc3Q0NzEzNDc1NQUAAAAIYXNzZXRJZHMEAAAADSRzaXplNDcxMzQ3NTUJAAGQAAAAAQUAAAANJGxpc3Q0NzEzNDc1NQQAAAANJGFjYzA0NzEzNDc1NQUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAAABQAAAA0kYWNjMDQ3MTM0NzU1BAAAAA0kYWNjMTQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzA0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAABBQAAAA0kYWNjMTQ3MTM0NzU1BAAAAA0kYWNjMjQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzE0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAACBQAAAA0kYWNjMjQ3MTM0NzU1BAAAAA0kYWNjMzQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzI0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAADBQAAAA0kYWNjMzQ3MTM0NzU1BAAAAA0kYWNjNDQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzM0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAAEBQAAAA0kYWNjNDQ3MTM0NzU1BAAAAA0kYWNjNTQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzQ0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAAFBQAAAA0kYWNjNTQ3MTM0NzU1BAAAAA0kYWNjNjQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzU0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAAGBQAAAA0kYWNjNjQ3MTM0NzU1BAAAAA0kYWNjNzQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzY0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAAHBQAAAA0kYWNjNzQ3MTM0NzU1BAAAAA0kYWNjODQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzc0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAAHAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAAIBQAAAA0kYWNjODQ3MTM0NzU1BAAAAA0kYWNjOTQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAANJGFjYzg0NzEzNDc1NQkAAZEAAAACBQAAAA0kbGlzdDQ3MTM0NzU1AAAAAAAAAAAIAwkAAAAAAAACBQAAAA0kc2l6ZTQ3MTM0NzU1AAAAAAAAAAAJBQAAAA0kYWNjOTQ3MTM0NzU1BAAAAA4kYWNjMTA0NzEzNDc1NQkBAAAAEmhhbmRsZVRva2VuUmVkZWVtMgAAAAIFAAAADSRhY2M5NDcxMzQ3NTUJAAGRAAAAAgUAAAANJGxpc3Q0NzEzNDc1NQAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemU0NzEzNDc1NQAAAAAAAAAACgUAAAAOJGFjYzEwNDcxMzQ3NTUEAAAADiRhY2MxMTQ3MTM0NzU1CQEAAAASaGFuZGxlVG9rZW5SZWRlZW0yAAAAAgUAAAAOJGFjYzEwNDcxMzQ3NTUJAAGRAAAAAgUAAAANJGxpc3Q0NzEzNDc1NQAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwAQAAABJjYWxjdWxhdGVPdXRBbW91bnQAAAADAAAACEFtb3VudEluAAAAB2Fzc2V0SW4AAAAIYXNzZXRPdXQEAAAAB0luZGV4SW4JAQAAAAV2YWx1ZQAAAAEJAARPAAAAAgUAAAAIYXNzZXRJZHMFAAAAB2Fzc2V0SW4EAAAACEluZGV4T3V0CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAACGFzc2V0SWRzBQAAAAhhc3NldE91dAQAAAAJQmFsYW5jZUluCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAdnbG9iYWxfCQACWAAAAAEFAAAAB2Fzc2V0SW4CAAAACF9iYWxhbmNlBAAAAApCYWxhbmNlT3V0CQEAAAAN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AQAAAAdoYW5kbGVyAAAAAgUAAAAOJGFjYzEwNjQwMTY0MzEJAAGRAAAAAgUAAAANJGxpc3Q2NDAxNjQzMQAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwAwkAAGYAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEGdsb2JhbF93YXNJbml0ZWQAAAAAAAAAAAAJAAACAAAAAQIAAAATcG9vbCBhbHJlYWR5IGluaXRlZAQAAAARaW5pdGlhbFBvb2xUb2tlbnMJAQAAABljYWxjdWxhdGVQb29sVG9rZW5zQW1vdW50AAAAAQgFAAAAAWkAAAAIcGF5bWVudHMEAAAADnBvb2xUb2tlbklzc3VlCQAEQwAAAAcCAAAAB1B1enpsZTICAAAAFlB1enpsZSBTd2FwIFBvb2wgVG9rZW4FAAAAEWluaXRpYWxQb29sVG9rZW5zBQAAABFQb29sVG9rZW5EZWNpbWFscwYFAAAABHVuaXQAAAAAAAAAAAAEAAAAC3Bvb2xUb2tlbklkCQAEOAAAAAEFAAAADnBvb2xUb2tlbklzc3VlCQAETgAAAAIJAQAAAAtwcmVwYXJlTGlzdAAAAAAJAARMAAAAAgUAAAAOcG9vbFRva2VuSXNzdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50BQAAABFpbml0aWFsUG9vbFRva2VucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAQZ2xvYmFsX3dhc0luaXRlZAAAAAAAAAAAAQkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkBQAAAAtwb29sVG9rZW5JZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEWluaXRpYWxQb29sVG9rZW5zBQAAAAtwb29sVG9rZW5JZAUAAAADbmlsAAAAAWkBAAAADGFkZExpcXVpZGl0eQAAAAADCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzBQAAAAFUCQAAAgAAAAEJAAEsAAAAAgIAAAA7eW91IG5lZWQgdG8gYXR0YWNoIGFsbCBwb29sIHRva2Vucy4gYW1vdW50IG9mIHBvb2wgdG9rZW5zOiAJAAGkAAAAAQUAAAABVAMJAQAAAAEhAAAAAQkBAAAAE2NoZWNrVG9rZW5zVmFsaWRpdHkAAAABCAUAAAABaQAAAAhwYXltZW50cwkAAAIAAAABAgAAABV3cm9uZyBhc3NldHMgYXR0YWNoZWQEAAAAB1BJc3N1ZWQJAQAAAA1nZXRNaW5QSXNzdWVkAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMEAAAABnJlc3VsdAkBAAAAE2hhbmRsZVBvb2xUb2tlbnNBZGQAAAADBQAAAAdQSXNzdWVkCAUAAAABaQAAAAhwYXltZW50cwgFAAAAAWkAAAAGY2FsbGVyBAAAAAdyZWlzc3VlCQEAAAAHUmVpc3N1ZQAAAAMJAQAAAAx0cnlHZXRCaW5hcnkAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkBQAAAAdQSXNzdWVkBgkABE4AAAACBQAAAAZyZXN1bHQJAARMAAAAAgUAAAAHcmVpc3N1ZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAB1BJc3N1ZWQJAQAAAAx0cnlHZXRCaW5hcnkAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50BQAAAAdQSXNzdWVkBQAAAANuaWwAAAABaQEAAAAPcmVtb3ZlTGlxdWlkaXR5AAAAAAQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkCQEAAAAMdHJ5R2V0QmluYXJ5AAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAkAAAIAAAABAgAAAB5wbGVhc2UgYXR0YWNoIHBvb2wgc2hhcmUgdG9rZW4EAAAACVBSZWRlZW1lZAgFAAAAA3BtdAAAAAZh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", "height": 2772195, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: D9M9i7yfZsdhQACEiow3mZZSywyqmTXEiiYfBpuZuwaW Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let T = 2
5+
6+let assetIds = [base58'CE5cxMvz7865CyFZPFUmDiL4KRkYXP6b6oYgN3vmWdV5', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p']
7+
8+let AssetsWeights = [80, 20]
9+
10+let AssetsWeightsDecimals = 2
11+
12+let PoolTokenDecimals = 8
13+
14+let Decimals = [8, 6]
15+
16+let Scales = [100000000, 1000000]
17+
18+let Fee = 200
19+
20+let Scale = 10000
21+
22+let FeeScale = 10000
23+
24+let feeAggregator = Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd')
25+
26+func tryGetInteger (key) = match getInteger(this, key) {
27+ case b: Int =>
28+ b
29+ case _ =>
30+ 0
31+}
32+
33+
34+func tryGetBinary (key) = match getBinary(this, key) {
35+ case b: ByteVector =>
36+ b
37+ case _ =>
38+ base58''
39+}
40+
41+
42+func getCurrentTokenBalance (tokenType) = {
43+ let tokenId = toBase58String(assetIds[tokenType])
44+ tryGetInteger((("global_" + tokenId) + "_balance"))
45+ }
46+
47+
48+func calculatePIssued (amount,tokenId) = {
49+ let Psupply = tryGetInteger("global_poolToken_amount")
50+ let Balance = tryGetInteger((("global_" + toBase58String(tokenId)) + "_balance"))
51+ fraction(amount, Psupply, Balance)
52+ }
53+
54+
55+func getMinPIssued (payments) = {
56+ func handler (accum,current) = {
57+ let PIssued = calculatePIssued(current.amount, value(current.assetId))
58+ if (if ((accum == 0))
59+ then true
60+ else (accum > PIssued))
61+ then PIssued
62+ else accum
63+ }
64+
65+ let minPIssed = {
66+ let $list14731503 = payments
67+ let $size14731503 = size($list14731503)
68+ let $acc014731503 = 0
69+ if (($size14731503 == 0))
70+ then $acc014731503
71+ else {
72+ let $acc114731503 = handler($acc014731503, $list14731503[0])
73+ if (($size14731503 == 1))
74+ then $acc114731503
75+ else {
76+ let $acc214731503 = handler($acc114731503, $list14731503[1])
77+ if (($size14731503 == 2))
78+ then $acc214731503
79+ else {
80+ let $acc314731503 = handler($acc214731503, $list14731503[2])
81+ if (($size14731503 == 3))
82+ then $acc314731503
83+ else {
84+ let $acc414731503 = handler($acc314731503, $list14731503[3])
85+ if (($size14731503 == 4))
86+ then $acc414731503
87+ else {
88+ let $acc514731503 = handler($acc414731503, $list14731503[4])
89+ if (($size14731503 == 5))
90+ then $acc514731503
91+ else {
92+ let $acc614731503 = handler($acc514731503, $list14731503[5])
93+ if (($size14731503 == 6))
94+ then $acc614731503
95+ else {
96+ let $acc714731503 = handler($acc614731503, $list14731503[6])
97+ if (($size14731503 == 7))
98+ then $acc714731503
99+ else {
100+ let $acc814731503 = handler($acc714731503, $list14731503[7])
101+ if (($size14731503 == 8))
102+ then $acc814731503
103+ else {
104+ let $acc914731503 = handler($acc814731503, $list14731503[8])
105+ if (($size14731503 == 9))
106+ then $acc914731503
107+ else {
108+ let $acc1014731503 = handler($acc914731503, $list14731503[9])
109+ if (($size14731503 == 10))
110+ then $acc1014731503
111+ else {
112+ let $acc1114731503 = handler($acc1014731503, $list14731503[10])
113+ throw("List size exceed 10")
114+ }
115+ }
116+ }
117+ }
118+ }
119+ }
120+ }
121+ }
122+ }
123+ }
124+ }
125+ }
126+ minPIssed
127+ }
128+
129+
130+func checkTokensValidity (payments) = {
131+ func handler1 (accum,payment) = (accum ++ [value(payment.assetId)])
132+
133+ let ids = {
134+ let $list17071739 = payments
135+ let $size17071739 = size($list17071739)
136+ let $acc017071739 = nil
137+ if (($size17071739 == 0))
138+ then $acc017071739
139+ else {
140+ let $acc117071739 = handler1($acc017071739, $list17071739[0])
141+ if (($size17071739 == 1))
142+ then $acc117071739
143+ else {
144+ let $acc217071739 = handler1($acc117071739, $list17071739[1])
145+ if (($size17071739 == 2))
146+ then $acc217071739
147+ else {
148+ let $acc317071739 = handler1($acc217071739, $list17071739[2])
149+ if (($size17071739 == 3))
150+ then $acc317071739
151+ else {
152+ let $acc417071739 = handler1($acc317071739, $list17071739[3])
153+ if (($size17071739 == 4))
154+ then $acc417071739
155+ else {
156+ let $acc517071739 = handler1($acc417071739, $list17071739[4])
157+ if (($size17071739 == 5))
158+ then $acc517071739
159+ else {
160+ let $acc617071739 = handler1($acc517071739, $list17071739[5])
161+ if (($size17071739 == 6))
162+ then $acc617071739
163+ else {
164+ let $acc717071739 = handler1($acc617071739, $list17071739[6])
165+ if (($size17071739 == 7))
166+ then $acc717071739
167+ else {
168+ let $acc817071739 = handler1($acc717071739, $list17071739[7])
169+ if (($size17071739 == 8))
170+ then $acc817071739
171+ else {
172+ let $acc917071739 = handler1($acc817071739, $list17071739[8])
173+ if (($size17071739 == 9))
174+ then $acc917071739
175+ else {
176+ let $acc1017071739 = handler1($acc917071739, $list17071739[9])
177+ if (($size17071739 == 10))
178+ then $acc1017071739
179+ else {
180+ let $acc1117071739 = handler1($acc1017071739, $list17071739[10])
181+ throw("List size exceed 10")
182+ }
183+ }
184+ }
185+ }
186+ }
187+ }
188+ }
189+ }
190+ }
191+ }
192+ }
193+ }
194+ func handler2 (accum,assetId) = if ((indexOf(ids, assetId) != unit))
195+ then (accum + 1)
196+ else throw(("asset not attached: " + toBase58String(assetId)))
197+
198+ let checks = {
199+ let $list19291960 = assetIds
200+ let $size19291960 = size($list19291960)
201+ let $acc019291960 = 0
202+ if (($size19291960 == 0))
203+ then $acc019291960
204+ else {
205+ let $acc119291960 = handler2($acc019291960, $list19291960[0])
206+ if (($size19291960 == 1))
207+ then $acc119291960
208+ else {
209+ let $acc219291960 = handler2($acc119291960, $list19291960[1])
210+ if (($size19291960 == 2))
211+ then $acc219291960
212+ else {
213+ let $acc319291960 = handler2($acc219291960, $list19291960[2])
214+ if (($size19291960 == 3))
215+ then $acc319291960
216+ else {
217+ let $acc419291960 = handler2($acc319291960, $list19291960[3])
218+ if (($size19291960 == 4))
219+ then $acc419291960
220+ else {
221+ let $acc519291960 = handler2($acc419291960, $list19291960[4])
222+ if (($size19291960 == 5))
223+ then $acc519291960
224+ else {
225+ let $acc619291960 = handler2($acc519291960, $list19291960[5])
226+ if (($size19291960 == 6))
227+ then $acc619291960
228+ else {
229+ let $acc719291960 = handler2($acc619291960, $list19291960[6])
230+ if (($size19291960 == 7))
231+ then $acc719291960
232+ else {
233+ let $acc819291960 = handler2($acc719291960, $list19291960[7])
234+ if (($size19291960 == 8))
235+ then $acc819291960
236+ else {
237+ let $acc919291960 = handler2($acc819291960, $list19291960[8])
238+ if (($size19291960 == 9))
239+ then $acc919291960
240+ else {
241+ let $acc1019291960 = handler2($acc919291960, $list19291960[9])
242+ if (($size19291960 == 10))
243+ then $acc1019291960
244+ else {
245+ let $acc1119291960 = handler2($acc1019291960, $list19291960[10])
246+ throw("List size exceed 10")
247+ }
248+ }
249+ }
250+ }
251+ }
252+ }
253+ }
254+ }
255+ }
256+ }
257+ }
258+ }
259+ true
260+ }
261+
262+
263+func handlePoolTokensAdd (PIssued,payments,userAddress) = {
264+ func getTokenPaymentAmount (tokenId) = {
265+ func handler (accum,payment) = if ((payment.assetId == tokenId))
266+ then payment.amount
267+ else accum
268+
269+ let $list22652295 = payments
270+ let $size22652295 = size($list22652295)
271+ let $acc022652295 = 0
272+ if (($size22652295 == 0))
273+ then $acc022652295
274+ else {
275+ let $acc122652295 = handler($acc022652295, $list22652295[0])
276+ if (($size22652295 == 1))
277+ then $acc122652295
278+ else {
279+ let $acc222652295 = handler($acc122652295, $list22652295[1])
280+ if (($size22652295 == 2))
281+ then $acc222652295
282+ else {
283+ let $acc322652295 = handler($acc222652295, $list22652295[2])
284+ if (($size22652295 == 3))
285+ then $acc322652295
286+ else {
287+ let $acc422652295 = handler($acc322652295, $list22652295[3])
288+ if (($size22652295 == 4))
289+ then $acc422652295
290+ else {
291+ let $acc522652295 = handler($acc422652295, $list22652295[4])
292+ if (($size22652295 == 5))
293+ then $acc522652295
294+ else {
295+ let $acc622652295 = handler($acc522652295, $list22652295[5])
296+ if (($size22652295 == 6))
297+ then $acc622652295
298+ else {
299+ let $acc722652295 = handler($acc622652295, $list22652295[6])
300+ if (($size22652295 == 7))
301+ then $acc722652295
302+ else {
303+ let $acc822652295 = handler($acc722652295, $list22652295[7])
304+ if (($size22652295 == 8))
305+ then $acc822652295
306+ else {
307+ let $acc922652295 = handler($acc822652295, $list22652295[8])
308+ if (($size22652295 == 9))
309+ then $acc922652295
310+ else {
311+ let $acc1022652295 = handler($acc922652295, $list22652295[9])
312+ if (($size22652295 == 10))
313+ then $acc1022652295
314+ else {
315+ let $acc1122652295 = handler($acc1022652295, $list22652295[10])
316+ throw("List size exceed 10")
317+ }
318+ }
319+ }
320+ }
321+ }
322+ }
323+ }
324+ }
325+ }
326+ }
327+ }
328+ }
329+
330+ func handleTokenChange (accum,tokenId) = {
331+ let Bk = tryGetInteger((("global_" + toBase58String(tokenId)) + "_balance"))
332+ let PSupply = tryGetInteger("global_poolToken_amount")
333+ let tokenDecimals = tryGetInteger((("static_" + toBase58String(tokenId)) + "_scale"))
334+ let Dk = fraction((fraction((PSupply + PIssued), tokenDecimals, PSupply) - tokenDecimals), Bk, tokenDecimals)
335+ (accum ++ [IntegerEntry((("global_" + toBase58String(tokenId)) + "_balance"), (Bk + Dk))])
336+ }
337+
338+ func handleTokenChange2 (accum,tokenId) = {
339+ let Bk = tryGetInteger((("global_" + toBase58String(tokenId)) + "_balance"))
340+ let PSupply = tryGetInteger("global_poolToken_amount")
341+ let tokenDecimals = tryGetInteger((("static_" + toBase58String(tokenId)) + "_scale"))
342+ let Dk = fraction((fraction((PSupply + PIssued), tokenDecimals, PSupply) - tokenDecimals), Bk, tokenDecimals)
343+ let paymentAmount = getTokenPaymentAmount(tokenId)
344+ let toReturn = ((if ((paymentAmount != 0))
345+ then paymentAmount
346+ else 0) - Dk)
347+ (accum ++ [ScriptTransfer(userAddress, toReturn, tokenId)])
348+ }
349+
350+ ({
351+ let $list34943535 = assetIds
352+ let $size34943535 = size($list34943535)
353+ let $acc034943535 = nil
354+ if (($size34943535 == 0))
355+ then $acc034943535
356+ else {
357+ let $acc134943535 = handleTokenChange($acc034943535, $list34943535[0])
358+ if (($size34943535 == 1))
359+ then $acc134943535
360+ else {
361+ let $acc234943535 = handleTokenChange($acc134943535, $list34943535[1])
362+ if (($size34943535 == 2))
363+ then $acc234943535
364+ else {
365+ let $acc334943535 = handleTokenChange($acc234943535, $list34943535[2])
366+ if (($size34943535 == 3))
367+ then $acc334943535
368+ else {
369+ let $acc434943535 = handleTokenChange($acc334943535, $list34943535[3])
370+ if (($size34943535 == 4))
371+ then $acc434943535
372+ else {
373+ let $acc534943535 = handleTokenChange($acc434943535, $list34943535[4])
374+ if (($size34943535 == 5))
375+ then $acc534943535
376+ else {
377+ let $acc634943535 = handleTokenChange($acc534943535, $list34943535[5])
378+ if (($size34943535 == 6))
379+ then $acc634943535
380+ else {
381+ let $acc734943535 = handleTokenChange($acc634943535, $list34943535[6])
382+ if (($size34943535 == 7))
383+ then $acc734943535
384+ else {
385+ let $acc834943535 = handleTokenChange($acc734943535, $list34943535[7])
386+ if (($size34943535 == 8))
387+ then $acc834943535
388+ else {
389+ let $acc934943535 = handleTokenChange($acc834943535, $list34943535[8])
390+ if (($size34943535 == 9))
391+ then $acc934943535
392+ else {
393+ let $acc1034943535 = handleTokenChange($acc934943535, $list34943535[9])
394+ if (($size34943535 == 10))
395+ then $acc1034943535
396+ else {
397+ let $acc1134943535 = handleTokenChange($acc1034943535, $list34943535[10])
398+ throw("List size exceed 10")
399+ }
400+ }
401+ }
402+ }
403+ }
404+ }
405+ }
406+ }
407+ }
408+ }
409+ }
410+ } ++ {
411+ let $list35423584 = assetIds
412+ let $size35423584 = size($list35423584)
413+ let $acc035423584 = nil
414+ if (($size35423584 == 0))
415+ then $acc035423584
416+ else {
417+ let $acc135423584 = handleTokenChange2($acc035423584, $list35423584[0])
418+ if (($size35423584 == 1))
419+ then $acc135423584
420+ else {
421+ let $acc235423584 = handleTokenChange2($acc135423584, $list35423584[1])
422+ if (($size35423584 == 2))
423+ then $acc235423584
424+ else {
425+ let $acc335423584 = handleTokenChange2($acc235423584, $list35423584[2])
426+ if (($size35423584 == 3))
427+ then $acc335423584
428+ else {
429+ let $acc435423584 = handleTokenChange2($acc335423584, $list35423584[3])
430+ if (($size35423584 == 4))
431+ then $acc435423584
432+ else {
433+ let $acc535423584 = handleTokenChange2($acc435423584, $list35423584[4])
434+ if (($size35423584 == 5))
435+ then $acc535423584
436+ else {
437+ let $acc635423584 = handleTokenChange2($acc535423584, $list35423584[5])
438+ if (($size35423584 == 6))
439+ then $acc635423584
440+ else {
441+ let $acc735423584 = handleTokenChange2($acc635423584, $list35423584[6])
442+ if (($size35423584 == 7))
443+ then $acc735423584
444+ else {
445+ let $acc835423584 = handleTokenChange2($acc735423584, $list35423584[7])
446+ if (($size35423584 == 8))
447+ then $acc835423584
448+ else {
449+ let $acc935423584 = handleTokenChange2($acc835423584, $list35423584[8])
450+ if (($size35423584 == 9))
451+ then $acc935423584
452+ else {
453+ let $acc1035423584 = handleTokenChange2($acc935423584, $list35423584[9])
454+ if (($size35423584 == 10))
455+ then $acc1035423584
456+ else {
457+ let $acc1135423584 = handleTokenChange2($acc1035423584, $list35423584[10])
458+ throw("List size exceed 10")
459+ }
460+ }
461+ }
462+ }
463+ }
464+ }
465+ }
466+ }
467+ }
468+ }
469+ }
470+ })
471+ }
472+
473+
474+func handlePoolTokensRedeem (PRedeemed,userAddress) = {
475+ func handleTokenRedeem (accum,tokenId) = {
476+ let Bk = tryGetInteger((("global_" + toBase58String(tokenId)) + "_balance"))
477+ let PSupply = tryGetInteger("global_poolToken_amount")
478+ let tokenDecimals = tryGetInteger((("static_" + toBase58String(tokenId)) + "_scale"))
479+ let amount = fraction((tokenDecimals - fraction((PSupply - PRedeemed), tokenDecimals, PSupply)), Bk, tokenDecimals)
480+ (accum ++ [IntegerEntry((("global_" + toBase58String(tokenId)) + "_balance"), (Bk - amount))])
481+ }
482+
483+ func handleTokenRedeem2 (accum,tokenId) = {
484+ let Bk = tryGetInteger((("global_" + toBase58String(tokenId)) + "_balance"))
485+ let PSupply = tryGetInteger("global_poolToken_amount")
486+ let tokenDecimals = tryGetInteger((("static_" + toBase58String(tokenId)) + "_scale"))
487+ let amount = fraction((tokenDecimals - fraction((PSupply - PRedeemed), tokenDecimals, PSupply)), Bk, tokenDecimals)
488+ (accum ++ [ScriptTransfer(userAddress, amount, tokenId)])
489+ }
490+
491+ ({
492+ let $list46664707 = assetIds
493+ let $size46664707 = size($list46664707)
494+ let $acc046664707 = nil
495+ if (($size46664707 == 0))
496+ then $acc046664707
497+ else {
498+ let $acc146664707 = handleTokenRedeem($acc046664707, $list46664707[0])
499+ if (($size46664707 == 1))
500+ then $acc146664707
501+ else {
502+ let $acc246664707 = handleTokenRedeem($acc146664707, $list46664707[1])
503+ if (($size46664707 == 2))
504+ then $acc246664707
505+ else {
506+ let $acc346664707 = handleTokenRedeem($acc246664707, $list46664707[2])
507+ if (($size46664707 == 3))
508+ then $acc346664707
509+ else {
510+ let $acc446664707 = handleTokenRedeem($acc346664707, $list46664707[3])
511+ if (($size46664707 == 4))
512+ then $acc446664707
513+ else {
514+ let $acc546664707 = handleTokenRedeem($acc446664707, $list46664707[4])
515+ if (($size46664707 == 5))
516+ then $acc546664707
517+ else {
518+ let $acc646664707 = handleTokenRedeem($acc546664707, $list46664707[5])
519+ if (($size46664707 == 6))
520+ then $acc646664707
521+ else {
522+ let $acc746664707 = handleTokenRedeem($acc646664707, $list46664707[6])
523+ if (($size46664707 == 7))
524+ then $acc746664707
525+ else {
526+ let $acc846664707 = handleTokenRedeem($acc746664707, $list46664707[7])
527+ if (($size46664707 == 8))
528+ then $acc846664707
529+ else {
530+ let $acc946664707 = handleTokenRedeem($acc846664707, $list46664707[8])
531+ if (($size46664707 == 9))
532+ then $acc946664707
533+ else {
534+ let $acc1046664707 = handleTokenRedeem($acc946664707, $list46664707[9])
535+ if (($size46664707 == 10))
536+ then $acc1046664707
537+ else {
538+ let $acc1146664707 = handleTokenRedeem($acc1046664707, $list46664707[10])
539+ throw("List size exceed 10")
540+ }
541+ }
542+ }
543+ }
544+ }
545+ }
546+ }
547+ }
548+ }
549+ }
550+ }
551+ } ++ {
552+ let $list47134755 = assetIds
553+ let $size47134755 = size($list47134755)
554+ let $acc047134755 = nil
555+ if (($size47134755 == 0))
556+ then $acc047134755
557+ else {
558+ let $acc147134755 = handleTokenRedeem2($acc047134755, $list47134755[0])
559+ if (($size47134755 == 1))
560+ then $acc147134755
561+ else {
562+ let $acc247134755 = handleTokenRedeem2($acc147134755, $list47134755[1])
563+ if (($size47134755 == 2))
564+ then $acc247134755
565+ else {
566+ let $acc347134755 = handleTokenRedeem2($acc247134755, $list47134755[2])
567+ if (($size47134755 == 3))
568+ then $acc347134755
569+ else {
570+ let $acc447134755 = handleTokenRedeem2($acc347134755, $list47134755[3])
571+ if (($size47134755 == 4))
572+ then $acc447134755
573+ else {
574+ let $acc547134755 = handleTokenRedeem2($acc447134755, $list47134755[4])
575+ if (($size47134755 == 5))
576+ then $acc547134755
577+ else {
578+ let $acc647134755 = handleTokenRedeem2($acc547134755, $list47134755[5])
579+ if (($size47134755 == 6))
580+ then $acc647134755
581+ else {
582+ let $acc747134755 = handleTokenRedeem2($acc647134755, $list47134755[6])
583+ if (($size47134755 == 7))
584+ then $acc747134755
585+ else {
586+ let $acc847134755 = handleTokenRedeem2($acc747134755, $list47134755[7])
587+ if (($size47134755 == 8))
588+ then $acc847134755
589+ else {
590+ let $acc947134755 = handleTokenRedeem2($acc847134755, $list47134755[8])
591+ if (($size47134755 == 9))
592+ then $acc947134755
593+ else {
594+ let $acc1047134755 = handleTokenRedeem2($acc947134755, $list47134755[9])
595+ if (($size47134755 == 10))
596+ then $acc1047134755
597+ else {
598+ let $acc1147134755 = handleTokenRedeem2($acc1047134755, $list47134755[10])
599+ throw("List size exceed 10")
600+ }
601+ }
602+ }
603+ }
604+ }
605+ }
606+ }
607+ }
608+ }
609+ }
610+ }
611+ })
612+ }
613+
614+
615+func calculateOutAmount (AmountIn,assetIn,assetOut) = {
616+ let IndexIn = value(indexOf(assetIds, assetIn))
617+ let IndexOut = value(indexOf(assetIds, assetOut))
618+ let BalanceIn = tryGetInteger((("global_" + toBase58String(assetIn)) + "_balance"))
619+ let BalanceOut = tryGetInteger((("global_" + toBase58String(assetOut)) + "_balance"))
620+ fraction(BalanceOut, (10000 - pow(((BalanceIn * 10000) / (BalanceIn + AmountIn)), 4, fraction(AssetsWeights[IndexIn], 10000, AssetsWeights[IndexOut]), 4, 4, FLOOR)), 10000)
621+ }
622+
623+
624+@Callable(i)
625+func preInit () = [IntegerEntry((("static_" + toBase58String(assetIds[0])) + "_scale"), Scales[0]), IntegerEntry((("static_" + toBase58String(assetIds[1])) + "_scale"), Scales[1])]
626+
627+
628+
629+@Callable(i)
630+func init () = {
631+ func prepareList () = {
632+ func handler (accum,n) = (accum ++ [IntegerEntry((("global_" + toBase58String(value(n.assetId))) + "_amount"), n.amount)])
633+
634+ let $list58865919 = i.payments
635+ let $size58865919 = size($list58865919)
636+ let $acc058865919 = nil
637+ if (($size58865919 == 0))
638+ then $acc058865919
639+ else {
640+ let $acc158865919 = handler($acc058865919, $list58865919[0])
641+ if (($size58865919 == 1))
642+ then $acc158865919
643+ else {
644+ let $acc258865919 = handler($acc158865919, $list58865919[1])
645+ if (($size58865919 == 2))
646+ then $acc258865919
647+ else {
648+ let $acc358865919 = handler($acc258865919, $list58865919[2])
649+ if (($size58865919 == 3))
650+ then $acc358865919
651+ else {
652+ let $acc458865919 = handler($acc358865919, $list58865919[3])
653+ if (($size58865919 == 4))
654+ then $acc458865919
655+ else {
656+ let $acc558865919 = handler($acc458865919, $list58865919[4])
657+ if (($size58865919 == 5))
658+ then $acc558865919
659+ else {
660+ let $acc658865919 = handler($acc558865919, $list58865919[5])
661+ if (($size58865919 == 6))
662+ then $acc658865919
663+ else {
664+ let $acc758865919 = handler($acc658865919, $list58865919[6])
665+ if (($size58865919 == 7))
666+ then $acc758865919
667+ else {
668+ let $acc858865919 = handler($acc758865919, $list58865919[7])
669+ if (($size58865919 == 8))
670+ then $acc858865919
671+ else {
672+ let $acc958865919 = handler($acc858865919, $list58865919[8])
673+ if (($size58865919 == 9))
674+ then $acc958865919
675+ else {
676+ let $acc1058865919 = handler($acc958865919, $list58865919[9])
677+ if (($size58865919 == 10))
678+ then $acc1058865919
679+ else {
680+ let $acc1158865919 = handler($acc1058865919, $list58865919[10])
681+ throw("List size exceed 10")
682+ }
683+ }
684+ }
685+ }
686+ }
687+ }
688+ }
689+ }
690+ }
691+ }
692+ }
693+ }
694+
695+ func calculatePoolTokensAmount (payments) = {
696+ func handler (accum,pmt) = {
697+ let assetId = value(pmt.assetId)
698+ func handler2 (accum,n) = if ((n == assetId))
699+ then value(indexOf(assetIds, n))
700+ else accum
701+
702+ let Token = {
703+ let $list62416272 = assetIds
704+ let $size62416272 = size($list62416272)
705+ let $acc062416272 = 1
706+ if (($size62416272 == 0))
707+ then $acc062416272
708+ else {
709+ let $acc162416272 = handler2($acc062416272, $list62416272[0])
710+ if (($size62416272 == 1))
711+ then $acc162416272
712+ else {
713+ let $acc262416272 = handler2($acc162416272, $list62416272[1])
714+ if (($size62416272 == 2))
715+ then $acc262416272
716+ else {
717+ let $acc362416272 = handler2($acc262416272, $list62416272[2])
718+ if (($size62416272 == 3))
719+ then $acc362416272
720+ else {
721+ let $acc462416272 = handler2($acc362416272, $list62416272[3])
722+ if (($size62416272 == 4))
723+ then $acc462416272
724+ else {
725+ let $acc562416272 = handler2($acc462416272, $list62416272[4])
726+ if (($size62416272 == 5))
727+ then $acc562416272
728+ else {
729+ let $acc662416272 = handler2($acc562416272, $list62416272[5])
730+ if (($size62416272 == 6))
731+ then $acc662416272
732+ else {
733+ let $acc762416272 = handler2($acc662416272, $list62416272[6])
734+ if (($size62416272 == 7))
735+ then $acc762416272
736+ else {
737+ let $acc862416272 = handler2($acc762416272, $list62416272[7])
738+ if (($size62416272 == 8))
739+ then $acc862416272
740+ else {
741+ let $acc962416272 = handler2($acc862416272, $list62416272[8])
742+ if (($size62416272 == 9))
743+ then $acc962416272
744+ else {
745+ let $acc1062416272 = handler2($acc962416272, $list62416272[9])
746+ if (($size62416272 == 10))
747+ then $acc1062416272
748+ else {
749+ let $acc1162416272 = handler2($acc1062416272, $list62416272[10])
750+ throw("List size exceed 10")
751+ }
752+ }
753+ }
754+ }
755+ }
756+ }
757+ }
758+ }
759+ }
760+ }
761+ }
762+ }
763+ (accum * pow(pmt.amount, Decimals[Token], AssetsWeights[Token], AssetsWeightsDecimals, PoolTokenDecimals, FLOOR))
764+ }
765+
766+ let $list64016431 = payments
767+ let $size64016431 = size($list64016431)
768+ let $acc064016431 = 1
769+ if (($size64016431 == 0))
770+ then $acc064016431
771+ else {
772+ let $acc164016431 = handler($acc064016431, $list64016431[0])
773+ if (($size64016431 == 1))
774+ then $acc164016431
775+ else {
776+ let $acc264016431 = handler($acc164016431, $list64016431[1])
777+ if (($size64016431 == 2))
778+ then $acc264016431
779+ else {
780+ let $acc364016431 = handler($acc264016431, $list64016431[2])
781+ if (($size64016431 == 3))
782+ then $acc364016431
783+ else {
784+ let $acc464016431 = handler($acc364016431, $list64016431[3])
785+ if (($size64016431 == 4))
786+ then $acc464016431
787+ else {
788+ let $acc564016431 = handler($acc464016431, $list64016431[4])
789+ if (($size64016431 == 5))
790+ then $acc564016431
791+ else {
792+ let $acc664016431 = handler($acc564016431, $list64016431[5])
793+ if (($size64016431 == 6))
794+ then $acc664016431
795+ else {
796+ let $acc764016431 = handler($acc664016431, $list64016431[6])
797+ if (($size64016431 == 7))
798+ then $acc764016431
799+ else {
800+ let $acc864016431 = handler($acc764016431, $list64016431[7])
801+ if (($size64016431 == 8))
802+ then $acc864016431
803+ else {
804+ let $acc964016431 = handler($acc864016431, $list64016431[8])
805+ if (($size64016431 == 9))
806+ then $acc964016431
807+ else {
808+ let $acc1064016431 = handler($acc964016431, $list64016431[9])
809+ if (($size64016431 == 10))
810+ then $acc1064016431
811+ else {
812+ let $acc1164016431 = handler($acc1064016431, $list64016431[10])
813+ throw("List size exceed 10")
814+ }
815+ }
816+ }
817+ }
818+ }
819+ }
820+ }
821+ }
822+ }
823+ }
824+ }
825+ }
826+
827+ if ((tryGetInteger("global_wasInited") > 0))
828+ then throw("pool already inited")
829+ else {
830+ let initialPoolTokens = calculatePoolTokensAmount(i.payments)
831+ let poolTokenIssue = Issue("Puzzle2", "Puzzle Swap Pool Token", initialPoolTokens, PoolTokenDecimals, true, unit, 0)
832+ let poolTokenId = calculateAssetId(poolTokenIssue)
833+ (prepareList() ++ [poolTokenIssue, IntegerEntry("global_poolToken_amount", initialPoolTokens), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", poolTokenId), ScriptTransfer(i.caller, initialPoolTokens, poolTokenId)])
834+ }
835+ }
836+
837+
838+
839+@Callable(i)
840+func addLiquidity () = if ((size(i.payments) != T))
841+ then throw(("you need to attach all pool tokens. amount of pool tokens: " + toString(T)))
842+ else if (!(checkTokensValidity(i.payments)))
843+ then throw("wrong assets attached")
844+ else {
845+ let PIssued = getMinPIssued(i.payments)
846+ let result = handlePoolTokensAdd(PIssued, i.payments, i.caller)
847+ let reissue = Reissue(tryGetBinary("global_poolToken_id"), PIssued, true)
848+ (result ++ [reissue, ScriptTransfer(i.caller, PIssued, tryGetBinary("global_poolToken_id")), IntegerEntry("global_poolToken_amount", (tryGetInteger("global_poolToken_amount") + PIssued))])
849+ }
850+
851+
852+
853+@Callable(i)
854+func removeLiquidity () = {
855+ let pmt = i.payments[0]
856+ if ((pmt.assetId != tryGetBinary("global_poolToken_id")))
857+ then throw("please attach pool share token")
858+ else {
859+ let PRedeemed = pmt.amount
860+ let result = handlePoolTokensRedeem(PRedeemed, i.caller)
861+ (result ++ [Burn(tryGetBinary("global_poolToken_id"), PRedeemed), IntegerEntry("global_poolToken_amount", (tryGetInteger("global_poolToken_amount") - PRedeemed))])
862+ }
863+ }
864+
865+
866+
867+@Callable(i)
868+func swap (assetOut,minimum) = {
869+ let pmt = value(i.payments[0])
870+ let AmountIn = value(i.payments[0].amount)
871+ let AssetIn = value(pmt.assetId)
872+ let AssetOut = fromBase58String(assetOut)
873+ let AmountOut = calculateOutAmount(AmountIn, AssetIn, AssetOut)
874+ if ((minimum > AmountOut))
875+ then throw(("amount to recieve it lower than given one: " + toString(AmountOut)))
876+ else if ((0 > (tryGetInteger((("global_" + toBase58String(AssetOut)) + "_balance")) - AmountOut)))
877+ then throw("contract is out of reserves")
878+ else {
879+ let feeAmount = fraction(AmountOut, Fee, FeeScale)
880+ let cleanAmountOut = (AmountOut - feeAmount)
881+[ScriptTransfer(feeAggregator, feeAmount, AssetOut), IntegerEntry((("global_" + toBase58String(AssetOut)) + "_balance"), (tryGetInteger((("global_" + toBase58String(AssetOut)) + "_balance")) - cleanAmountOut)), IntegerEntry((("global_" + toBase58String(AssetIn)) + "_balance"), (tryGetInteger((("global_" + toBase58String(AssetIn)) + "_balance")) + AmountIn)), ScriptTransfer(i.caller, cleanAmountOut, AssetOut)]
882+ }
883+ }
884+
885+
886+@Verifier(tx)
887+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
888+

github/deemru/w8io/786bc32 
53.03 ms